diff --git a/app/build.gradle b/app/build.gradle index c5cf1b8..1bb4d9f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,48 +1,50 @@ -plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' -} - -kotlin { - jvmToolchain(17) -} - -android { - compileSdk 34 - namespace "otus.gpb.homework.fragments" - - defaultConfig { - applicationId "otus.gpb.homework.fragments" - minSdk 26 - targetSdk 34 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = '17' - } -} - -dependencies { - - implementation 'androidx.core:core-ktx:1.7.0' - implementation 'androidx.appcompat:appcompat:1.5.1' - implementation 'com.google.android.material:material:1.6.1' - implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +kotlin { + jvmToolchain(17) +} + +android { + compileSdk 35 + namespace "otus.gpb.homework.fragments" + + defaultConfig { + applicationId "otus.gpb.homework.fragments" + minSdk 26 + targetSdk 34 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = '17' + } +} + +dependencies { + + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.appcompat:appcompat:1.5.1' + implementation 'com.google.android.material:material:1.6.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.activity:activity:1.10.0' + implementation 'androidx.fragment:fragment-ktx:1.8.9' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9604b34..2b2aafd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,26 +1,34 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/fragments/Activity_Fragment_A.kt b/app/src/main/java/otus/gpb/homework/fragments/Activity_Fragment_A.kt new file mode 100644 index 0000000..60a62a2 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/fragments/Activity_Fragment_A.kt @@ -0,0 +1,28 @@ +package otus.gpb.homework.fragments + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat + +class Activity_Fragment_A : AppCompatActivity() { + + lateinit private var fragmentA:Fragment_A + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_fragment_a) + + + if (savedInstanceState == null) { + fragmentA = Fragment_A.newInstance() + supportFragmentManager.beginTransaction() + .replace( R.id.ContainerForFragments, fragmentA ) + .addToBackStack("") + .commit() + } + + + } +} \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/fragments/Activity_Fragment_B.kt b/app/src/main/java/otus/gpb/homework/fragments/Activity_Fragment_B.kt new file mode 100644 index 0000000..0f1653a --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/fragments/Activity_Fragment_B.kt @@ -0,0 +1,28 @@ +package otus.gpb.homework.fragments + +import android.content.res.Configuration +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity + +class Activity_Fragment_B : AppCompatActivity() { + + lateinit private var fragmentBA : FragmentBA + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_fragment_b) + + if( resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) { + + if (savedInstanceState == null) { + fragmentBA = FragmentBA.newInstance() + supportFragmentManager.beginTransaction() + .replace(R.id.ContainerForFragments, fragmentBA) + .addToBackStack("") + .commit() + } + else if( supportFragmentManager.backStackEntryCount == 0 ) + finish() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/fragments/FragmentAA.kt b/app/src/main/java/otus/gpb/homework/fragments/FragmentAA.kt new file mode 100644 index 0000000..45f061b --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/fragments/FragmentAA.kt @@ -0,0 +1,52 @@ +package otus.gpb.homework.fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button + +class FragmentAA : Fragment(R.layout.fragment_aa) { + + private var backGroundColor: Int? = null + private lateinit var startAB_Button:Button + private lateinit var fragmentAB: FragmentAB + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + startAB_Button = view.findViewById