diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f318e6c..f416426 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,6 +12,29 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Activities"
- tools:targetApi="31" />
+ tools:targetApi="31">
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/otus/gpb/homework/activities/ActivityA.kt b/app/src/main/java/otus/gpb/homework/activities/ActivityA.kt
new file mode 100644
index 0000000..ec98210
--- /dev/null
+++ b/app/src/main/java/otus/gpb/homework/activities/ActivityA.kt
@@ -0,0 +1,64 @@
+package otus.gpb.homework.activities
+
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.widget.Button
+import androidx.appcompat.app.AppCompatActivity
+
+val TAG: String = "TAG"
+
+class ActivityA : AppCompatActivity() {
+
+ private var buttonToB: Button? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_a)
+
+ buttonToB = findViewById(R.id.button_a)
+ buttonToB?.setOnClickListener {
+ intent = Intent(this, ActivityB::class.java).apply {
+ addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK)
+ }
+ startActivity(intent)
+ }
+ Log.i(TAG, "${javaClass.simpleName}: onCreate")
+ }
+
+ override fun onNewIntent(intent: Intent?) {
+ super.onNewIntent(intent)
+ Log.i(TAG, "${javaClass.simpleName}: onNewIntent")
+ }
+
+ override fun onRestart() {
+ super.onRestart()
+ Log.i(TAG, "${javaClass.simpleName}: onRestart")
+ }
+
+ override fun onStart() {
+ super.onStart()
+ Log.i(TAG, "${javaClass.simpleName}: onStart")
+ }
+
+ override fun onResume() {
+ super.onResume()
+ Log.i(TAG, "${javaClass.simpleName}: onResume")
+ }
+
+ override fun onPause() {
+ super.onPause()
+ Log.i(TAG, "${javaClass.simpleName}: onPause")
+ }
+
+ override fun onStop() {
+ super.onStop()
+ Log.i(TAG, "${javaClass.simpleName}: onStop")
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ Log.i(TAG, "${javaClass.simpleName}: onDestroy")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/otus/gpb/homework/activities/ActivityB.kt b/app/src/main/java/otus/gpb/homework/activities/ActivityB.kt
new file mode 100644
index 0000000..880eb33
--- /dev/null
+++ b/app/src/main/java/otus/gpb/homework/activities/ActivityB.kt
@@ -0,0 +1,58 @@
+package otus.gpb.homework.activities
+
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.widget.Button
+import androidx.appcompat.app.AppCompatActivity
+
+class ActivityB : AppCompatActivity() {
+
+ private var buttonToC: Button? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_b)
+
+ buttonToC = findViewById(R.id.button_b)
+ buttonToC?.setOnClickListener {
+ startActivity(Intent(this, ActivityC::class.java))
+ }
+ Log.i(TAG, "${javaClass.simpleName}: onCreate")
+ }
+
+ override fun onNewIntent(intent: Intent?) {
+ super.onNewIntent(intent)
+ Log.i(TAG, "${javaClass.simpleName}: onNewIntent")
+ }
+
+ override fun onRestart() {
+ super.onRestart()
+ Log.i(TAG, "${javaClass.simpleName}: onRestart")
+ }
+
+ override fun onStart() {
+ super.onStart()
+ Log.i(TAG, "${javaClass.simpleName}: onStart")
+ }
+
+ override fun onResume() {
+ super.onResume()
+ Log.i(TAG, "${javaClass.simpleName}: onResume")
+ }
+
+ override fun onPause() {
+ super.onPause()
+ Log.i(TAG, "${javaClass.simpleName}: onPause")
+ }
+
+ override fun onStop() {
+ super.onStop()
+ Log.i(TAG, "${javaClass.simpleName}: onStop")
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ Log.i(TAG, "${javaClass.simpleName}: onDestroy")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/otus/gpb/homework/activities/ActivityC.kt b/app/src/main/java/otus/gpb/homework/activities/ActivityC.kt
new file mode 100644
index 0000000..9279fd0
--- /dev/null
+++ b/app/src/main/java/otus/gpb/homework/activities/ActivityC.kt
@@ -0,0 +1,81 @@
+package otus.gpb.homework.activities
+
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.widget.Button
+import androidx.appcompat.app.AppCompatActivity
+
+class ActivityC : AppCompatActivity() {
+
+ private var buttonOpenA: Button? = null
+ private var buttonOpenD: Button? = null
+ private var buttonCloseC: Button? = null
+ private var buttonCloseStack: Button? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_c)
+
+ buttonOpenA = findViewById(R.id.button_open_a)
+ buttonOpenA?.setOnClickListener {
+ startActivity(Intent(this, ActivityA::class.java))
+ }
+
+ buttonOpenD = findViewById(R.id.button_open_d)
+ buttonOpenD?.setOnClickListener {
+ intent = Intent(this, ActivityD::class.java).apply {
+ addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+ }
+ startActivity(intent)
+ }
+
+ buttonCloseC = findViewById(R.id.button_close_c)
+ buttonCloseC?.setOnClickListener {
+ finish()
+ }
+
+ buttonCloseStack = findViewById(R.id.button_close_stack)
+ buttonCloseStack?.setOnClickListener {
+ finishAffinity()
+ }
+
+ Log.i(TAG, "${javaClass.simpleName}: onCreate")
+ }
+
+ override fun onNewIntent(intent: Intent?) {
+ super.onNewIntent(intent)
+ Log.i(TAG, "${javaClass.simpleName}: onNewIntent")
+ }
+
+ override fun onRestart() {
+ super.onRestart()
+ Log.i(TAG, "${javaClass.simpleName}: onRestart")
+ }
+
+ override fun onStart() {
+ super.onStart()
+ Log.i(TAG, "${javaClass.simpleName}: onStart")
+ }
+
+ override fun onResume() {
+ super.onResume()
+ Log.i(TAG, "${javaClass.simpleName}: onResume")
+ }
+
+ override fun onPause() {
+ super.onPause()
+ Log.i(TAG, "${javaClass.simpleName}: onPause")
+ }
+
+ override fun onStop() {
+ super.onStop()
+ Log.i(TAG, "${javaClass.simpleName}: onStop")
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ Log.i(TAG, "${javaClass.simpleName}: onDestroy")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/otus/gpb/homework/activities/ActivityD.kt b/app/src/main/java/otus/gpb/homework/activities/ActivityD.kt
new file mode 100644
index 0000000..fa6633a
--- /dev/null
+++ b/app/src/main/java/otus/gpb/homework/activities/ActivityD.kt
@@ -0,0 +1,53 @@
+package otus.gpb.homework.activities
+
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.widget.Button
+import androidx.appcompat.app.AppCompatActivity
+
+class ActivityD : AppCompatActivity() {
+
+ private var buttonToC: Button? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_d)
+ Log.i(TAG, "${javaClass.simpleName}: onCreate")
+ }
+
+ override fun onNewIntent(intent: Intent?) {
+ super.onNewIntent(intent)
+ Log.i(TAG, "${javaClass.simpleName}: onNewIntent")
+ }
+
+ override fun onRestart() {
+ super.onRestart()
+ Log.i(TAG, "${javaClass.simpleName}: onRestart")
+ }
+
+ override fun onStart() {
+ super.onStart()
+ Log.i(TAG, "${javaClass.simpleName}: onStart")
+ }
+
+ override fun onResume() {
+ super.onResume()
+ Log.i(TAG, "${javaClass.simpleName}: onResume")
+ }
+
+ override fun onPause() {
+ super.onPause()
+ Log.i(TAG, "${javaClass.simpleName}: onPause")
+ }
+
+ override fun onStop() {
+ super.onStop()
+ Log.i(TAG, "${javaClass.simpleName}: onStop")
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ Log.i(TAG, "${javaClass.simpleName}: onDestroy")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_a.xml b/app/src/main/res/layout/activity_a.xml
new file mode 100644
index 0000000..08e8de8
--- /dev/null
+++ b/app/src/main/res/layout/activity_a.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_b.xml b/app/src/main/res/layout/activity_b.xml
new file mode 100644
index 0000000..cf4825a
--- /dev/null
+++ b/app/src/main/res/layout/activity_b.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_c.xml b/app/src/main/res/layout/activity_c.xml
new file mode 100644
index 0000000..cd64bed
--- /dev/null
+++ b/app/src/main/res/layout/activity_c.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_d.xml b/app/src/main/res/layout/activity_d.xml
new file mode 100644
index 0000000..9543305
--- /dev/null
+++ b/app/src/main/res/layout/activity_d.xml
@@ -0,0 +1,11 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 08ea3c6..4feb9a4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,11 @@
Activities
+
+ Open ActivityA
+ Open ActivityB
+ Open ActivityC
+ Open ActivityD
+
+ Close ActivityC
+ Close Stack
\ No newline at end of file