diff --git a/path/to/ActivityComponent.kt b/path/to/ActivityComponent.kt
new file mode 100644
index 00000000000..590d0fd54a2
--- /dev/null
+++ b/path/to/ActivityComponent.kt
@@ -0,0 +1,26 @@
+# complete code
+package org.oppia.android.app.activity
+
+import org.oppia.android.app.injector.ActivityComponent
+import org.oppia.android.app.injector.ActivityComponentImpl
+import org.oppia.android.app.injector.ActivityIntentFactories
+import org.oppia.android.app.injector.ActivityIntentFactoriesModule
+import org.oppia.android.app.injector.ActivityModule
+import org.oppia.android.app.injector.ActivityScope
+import org.oppia.android.app.injector.Injector
+
+class ActivityComponent(
+ private val activityIntentFactories: ActivityIntentFactories,
+ private val activityModule: ActivityModule,
+ private val activityScope: ActivityScope,
+ private val injector: Injector
+) : ActivityComponent {
+ override fun get(activity: String): ActivityComponentImpl {
+ return ActivityComponentImpl(
+ activityIntentFactories,
+ activityModule,
+ activityScope,
+ injector
+ )
+ }
+}
\ No newline at end of file
diff --git a/path/to/ActivityComponentImpl.kt b/path/to/ActivityComponentImpl.kt
new file mode 100644
index 00000000000..dab3c798e98
--- /dev/null
+++ b/path/to/ActivityComponentImpl.kt
@@ -0,0 +1,26 @@
+# complete code
+package org.oppia.android.app.activity
+
+import org.oppia.android.app.injector.ActivityComponent
+import org.oppia.android.app.injector.ActivityComponentImpl
+import org.oppia.android.app.injector.ActivityIntentFactories
+import org.oppia.android.app.injector.ActivityIntentFactoriesModule
+import org.oppia.android.app.injector.ActivityModule
+import org.oppia.android.app.injector.ActivityScope
+import org.oppia.android.app.injector.Injector
+
+class ActivityComponentImpl(
+ private val activityIntentFactories: ActivityIntentFactories,
+ private val activityModule: ActivityModule,
+ private val activityScope: ActivityScope,
+ private val injector: Injector
+) : ActivityComponentImpl() {
+ override fun get(activity: String): ActivityComponentImpl {
+ return ActivityComponentImpl(
+ activityIntentFactories,
+ activityModule,
+ activityScope,
+ injector
+ )
+ }
+}
\ No newline at end of file
diff --git a/path/to/AdministratorControlsActivity.kt b/path/to/AdministratorControlsActivity.kt
new file mode 100644
index 00000000000..8a25ed9d179
--- /dev/null
+++ b/path/to/AdministratorControlsActivity.kt
@@ -0,0 +1,11 @@
+# complete code
+package org.oppia.android.app.administratorcontrols
+
+import org.oppia.android.app.injector.InjectableAppCompatActivity
+
+class AdministratorControlsActivity : InjectableAppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_administrator_controls)
+ }
+}
\ No newline at end of file
diff --git a/path/to/AdministratorControlsActivity_strings.xml b/path/to/AdministratorControlsActivity_strings.xml
new file mode 100644
index 00000000000..cd0f43a8a1d
--- /dev/null
+++ b/path/to/AdministratorControlsActivity_strings.xml
@@ -0,0 +1,9 @@
+# complete code
+
+
+
+ Administrator Controls
+ App Version
+ Account Actions
+ Logout
+
\ No newline at end of file
diff --git a/path/to/AppVersionActivity.kt b/path/to/AppVersionActivity.kt
new file mode 100644
index 00000000000..64706941b60
--- /dev/null
+++ b/path/to/AppVersionActivity.kt
@@ -0,0 +1,11 @@
+# complete code
+package org.oppia.android.app.administratorcontrols.appversion
+
+import org.oppia.android.app.injector.InjectableAppCompatActivity
+
+class AppVersionActivity : InjectableAppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_app_version)
+ }
+}
\ No newline at end of file
diff --git a/path/to/AppVersionActivity_strings.xml b/path/to/AppVersionActivity_strings.xml
new file mode 100644
index 00000000000..25c1e8b7eaf
--- /dev/null
+++ b/path/to/AppVersionActivity_strings.xml
@@ -0,0 +1,9 @@
+# complete code
+
+
+
+ App Version
+ App Version
+ Account Actions
+ Logout
+
\ No newline at end of file
diff --git a/path/to/LearnerAnalyticsActivity.kt b/path/to/LearnerAnalyticsActivity.kt
new file mode 100644
index 00000000000..57f4e62eb64
--- /dev/null
+++ b/path/to/LearnerAnalyticsActivity.kt
@@ -0,0 +1,11 @@
+# complete code
+package org.oppia.android.app.administratorcontrols.learneranalytics
+
+import org.oppia.android.app.injector.InjectableAppCompatActivity
+
+class LearnerAnalyticsActivity : InjectableAppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_learner_analytics)
+ }
+}
\ No newline at end of file
diff --git a/path/to/LearnerAnalyticsActivity_strings.xml b/path/to/LearnerAnalyticsActivity_strings.xml
new file mode 100644
index 00000000000..794c1480b22
--- /dev/null
+++ b/path/to/LearnerAnalyticsActivity_strings.xml
@@ -0,0 +1,8 @@
+# complete code
+
+
+
+ Learner Analytics
+ Profile
+ Device ID
+
\ No newline at end of file
diff --git a/path/to/strings.xml b/path/to/strings.xml
new file mode 100644
index 00000000000..6fd8011cd57
--- /dev/null
+++ b/path/to/strings.xml
@@ -0,0 +1,36 @@
+# complete code
+
+
+
+
+ Administrator Controls
+ App Version
+ Account Actions
+ Logout
+
+ App Content
+ Profile Management
+ Account Actions
+ Logout
+
+ Profile Reset Pin
+ Pin
+ Reset
+
+ Profile and Device ID
+ Profile
+ Device ID
+
+ General Availability Upgrade Notice
+ This is a message.
+
+ Progress Database Full
+ This is a message.
+
+ Small
+ Medium
+
+ Test File Name View Component Type
+
+ Dialog Name View Component Type
+
\ No newline at end of file