From ee7139a889cb96aab74ca0ad263ec25958efd430 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Fri, 24 Nov 2023 00:15:17 +0800 Subject: [PATCH] Remove injecting developer options into Settings itself - It can improve performance because we use less injected item - Also use RestrictedPreference instead just checking restrictions, so we follow policy transparency. Note: Renamed DevelopmentSettingsDashboardActivity to DevelopmentSettingsActivity, because DevelopmentSettingsDashboardActivity could in disabled state even after Settings upgrades, use a new name to prevent this issue. Bug: 311604902 Test: manual - turn on / off Developer Options Test: unit test Change-Id: I17be117ae59e59410687e6d08fd5edd034d0508f --- AndroidManifest.xml | 32 +------- res/xml/system_dashboard_fragment.xml | 5 ++ src/com/android/settings/Settings.java | 2 +- .../android/settings/SettingsActivity.java | 22 ----- .../DevelopmentSettingsDashboardFragment.java | 7 ++ .../DevelopmentSettingsDisabledActivity.java | 32 -------- .../system/DeveloperOptionsController.kt | 80 ++++++++++++++++++ ...velopmentSettingsDisabledActivityTest.java | 43 ---------- .../system/DeveloperOptionsControllerTest.kt | 82 +++++++++++++++++++ 9 files changed, 177 insertions(+), 128 deletions(-) delete mode 100644 src/com/android/settings/development/DevelopmentSettingsDisabledActivity.java create mode 100644 src/com/android/settings/system/DeveloperOptionsController.kt delete mode 100644 tests/robotests/src/com/android/settings/development/DevelopmentSettingsDisabledActivityTest.java create mode 100644 tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 26386c5aecd..d8d5777b8d8 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2864,11 +2864,10 @@ + android:exported="true"> @@ -2879,35 +2878,8 @@ - - - - - - - - - - - - - - - + + { + verify(context).startActivity(capture()) + }.firstValue + assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)) + .isEqualTo(DevelopmentSettingsDashboardFragment::class.qualifiedName) + } + + private companion object { + const val TEST_KEY = "test_key" + } +}