Loading res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -10648,12 +10648,15 @@ <string name="game_driver_app_preference_default">Default</string> <!-- The game driver value for Game Driver app preference [CHAR LIMIT=50] --> <string name="game_driver_app_preference_game_driver">Game Driver</string> <!-- The game driver value for Prerelease Game Driver app preference [CHAR LIMIT=50] --> <string name="game_driver_app_preference_prerelease_driver">Prerelease Driver</string> <!-- The system value for Game Driver app preference [CHAR LIMIT=50] --> <string name="game_driver_app_preference_system">System Graphics Driver</string> <!-- All the values for Game Driver app preference [CHAR LIMIT=50] --> <string-array name="game_driver_app_preference_values"> <item>@string/game_driver_app_preference_default</item> <item>@string/game_driver_app_preference_game_driver</item> <item>@string/game_driver_app_preference_prerelease_driver</item> <item>@string/game_driver_app_preference_system</item> </string-array> src/com/android/settings/development/gamedriver/GameDriverAppPreferenceController.java +22 −3 Original line number Diff line number Diff line Loading @@ -64,12 +64,14 @@ public class GameDriverAppPreferenceController extends BasePreferenceController private final String mPreferenceTitle; private final String mPreferenceDefault; private final String mPreferenceGameDriver; private final String mPreferencePrereleaseDriver; private final String mPreferenceSystem; @VisibleForTesting GameDriverContentObserver mGameDriverContentObserver; private final List<AppInfo> mAppInfos; private final Set<String> mDevOptInApps; private final Set<String> mDevPrereleaseOptInApps; private final Set<String> mDevOptOutApps; private PreferenceGroup mPreferenceGroup; Loading @@ -88,6 +90,8 @@ public class GameDriverAppPreferenceController extends BasePreferenceController mPreferenceDefault = resources.getString(R.string.game_driver_app_preference_default); mPreferenceGameDriver = resources.getString(R.string.game_driver_app_preference_game_driver); mPreferencePrereleaseDriver = resources.getString(R.string.game_driver_app_preference_prerelease_driver); mPreferenceSystem = resources.getString(R.string.game_driver_app_preference_system); // TODO: Move this task to background if there's potential ANR/Jank. Loading @@ -96,6 +100,8 @@ public class GameDriverAppPreferenceController extends BasePreferenceController mDevOptInApps = getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS); mDevPrereleaseOptInApps = getGlobalSettingsString( mContentResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS); mDevOptOutApps = getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS); } Loading Loading @@ -147,21 +153,31 @@ public class GameDriverAppPreferenceController extends BasePreferenceController // opt-in and opt-out apps. Then set the new summary text. if (value.equals(mPreferenceSystem)) { mDevOptInApps.remove(packageName); mDevPrereleaseOptInApps.remove(packageName); mDevOptOutApps.add(packageName); } else if (value.equals(mPreferenceGameDriver)) { mDevOptInApps.add(packageName); mDevPrereleaseOptInApps.remove(packageName); mDevOptOutApps.remove(packageName); } else if (value.equals(mPreferencePrereleaseDriver)) { mDevOptInApps.remove(packageName); mDevPrereleaseOptInApps.add(packageName); mDevOptOutApps.remove(packageName); } else { mDevOptInApps.remove(packageName); mDevPrereleaseOptInApps.remove(packageName); mDevOptOutApps.remove(packageName); } listPref.setValue(value); listPref.setSummary(value); // Push the updated Sets for opt-in and opt-out apps to // corresponding Settings.Global.GAME_DRIVER_OPT_(IN|OUT)_APPS // Push the updated Sets for stable/prerelease opt-in and opt-out apps to // corresponding Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS, String.join(",", mDevOptInApps)); Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, String.join(",", mDevPrereleaseOptInApps)); Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, String.join(",", mDevOptOutApps)); Loading Loading @@ -233,10 +249,13 @@ public class GameDriverAppPreferenceController extends BasePreferenceController listPreference.setEntryValues(mEntryList); // Initialize preference default and summary with the opt in/out choices // from Settings.Global.GAME_DRIVER_OPT_(IN|OUT)_APPS // from Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS if (mDevOptOutApps.contains(packageName)) { listPreference.setValue(mPreferenceSystem); listPreference.setSummary(mPreferenceSystem); } else if (mDevPrereleaseOptInApps.contains(packageName)) { listPreference.setValue(mPreferencePrereleaseDriver); listPreference.setSummary(mPreferencePrereleaseDriver); } else if (mDevOptInApps.contains(packageName)) { listPreference.setValue(mPreferenceGameDriver); listPreference.setSummary(mPreferenceGameDriver); Loading tests/robotests/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceControllerTest.java +24 −5 Original line number Diff line number Diff line Loading @@ -56,7 +56,8 @@ public class GameDriverAppPreferenceControllerTest { private static final int DEFAULT = 0; private static final int GAME_DRIVER = 1; private static final int SYSTEM = 2; private static final int PRERELEASE_DRIVER = 2; private static final int SYSTEM = 3; private static final String TEST_APP_NAME = "testApp"; private static final String TEST_PKG_NAME = "testPkg"; Loading Loading @@ -181,7 +182,7 @@ public class GameDriverAppPreferenceControllerTest { @Test public void createPreference_configGAME_DRIVER_shouldSetGameDriverAttributes() { loadConfig(TEST_PKG_NAME, ""); loadConfig(TEST_PKG_NAME, "", ""); final ListPreference preference = mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME); Loading @@ -195,9 +196,25 @@ public class GameDriverAppPreferenceControllerTest { assertThat(preference.getSummary()).isEqualTo(mValueList[GAME_DRIVER]); } @Test public void createPreference_configPRERELEASE_DRIVER_shouldSetPrereleaseDriverAttributes() { loadConfig("", TEST_PKG_NAME, ""); final ListPreference preference = mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME); assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME); assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME); assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle); assertThat(preference.getEntries()).isEqualTo(mValueList); assertThat(preference.getEntryValues()).isEqualTo(mValueList); assertThat(preference.getEntry()).isEqualTo(mValueList[PRERELEASE_DRIVER]); assertThat(preference.getValue()).isEqualTo(mValueList[PRERELEASE_DRIVER]); assertThat(preference.getSummary()).isEqualTo(mValueList[PRERELEASE_DRIVER]); } @Test public void createPreference_configSystem_shouldSetSystemAttributes() { loadConfig("", TEST_PKG_NAME); loadConfig("", "", TEST_PKG_NAME); final ListPreference preference = mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME); Loading Loading @@ -274,10 +291,12 @@ public class GameDriverAppPreferenceControllerTest { when(mContext.getPackageManager()).thenReturn(mPackageManager); } private void loadDefaultConfig() { loadConfig("", ""); } private void loadDefaultConfig() { loadConfig("", "", ""); } private void loadConfig(String optIn, String optOut) { private void loadConfig(String optIn, String prereleaseOptIn, String optOut) { Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS, optIn); Settings.Global.putString( mResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, prereleaseOptIn); Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, optOut); mController = new GameDriverAppPreferenceController(mContext, "testKey"); Loading Loading
res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -10648,12 +10648,15 @@ <string name="game_driver_app_preference_default">Default</string> <!-- The game driver value for Game Driver app preference [CHAR LIMIT=50] --> <string name="game_driver_app_preference_game_driver">Game Driver</string> <!-- The game driver value for Prerelease Game Driver app preference [CHAR LIMIT=50] --> <string name="game_driver_app_preference_prerelease_driver">Prerelease Driver</string> <!-- The system value for Game Driver app preference [CHAR LIMIT=50] --> <string name="game_driver_app_preference_system">System Graphics Driver</string> <!-- All the values for Game Driver app preference [CHAR LIMIT=50] --> <string-array name="game_driver_app_preference_values"> <item>@string/game_driver_app_preference_default</item> <item>@string/game_driver_app_preference_game_driver</item> <item>@string/game_driver_app_preference_prerelease_driver</item> <item>@string/game_driver_app_preference_system</item> </string-array>
src/com/android/settings/development/gamedriver/GameDriverAppPreferenceController.java +22 −3 Original line number Diff line number Diff line Loading @@ -64,12 +64,14 @@ public class GameDriverAppPreferenceController extends BasePreferenceController private final String mPreferenceTitle; private final String mPreferenceDefault; private final String mPreferenceGameDriver; private final String mPreferencePrereleaseDriver; private final String mPreferenceSystem; @VisibleForTesting GameDriverContentObserver mGameDriverContentObserver; private final List<AppInfo> mAppInfos; private final Set<String> mDevOptInApps; private final Set<String> mDevPrereleaseOptInApps; private final Set<String> mDevOptOutApps; private PreferenceGroup mPreferenceGroup; Loading @@ -88,6 +90,8 @@ public class GameDriverAppPreferenceController extends BasePreferenceController mPreferenceDefault = resources.getString(R.string.game_driver_app_preference_default); mPreferenceGameDriver = resources.getString(R.string.game_driver_app_preference_game_driver); mPreferencePrereleaseDriver = resources.getString(R.string.game_driver_app_preference_prerelease_driver); mPreferenceSystem = resources.getString(R.string.game_driver_app_preference_system); // TODO: Move this task to background if there's potential ANR/Jank. Loading @@ -96,6 +100,8 @@ public class GameDriverAppPreferenceController extends BasePreferenceController mDevOptInApps = getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS); mDevPrereleaseOptInApps = getGlobalSettingsString( mContentResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS); mDevOptOutApps = getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS); } Loading Loading @@ -147,21 +153,31 @@ public class GameDriverAppPreferenceController extends BasePreferenceController // opt-in and opt-out apps. Then set the new summary text. if (value.equals(mPreferenceSystem)) { mDevOptInApps.remove(packageName); mDevPrereleaseOptInApps.remove(packageName); mDevOptOutApps.add(packageName); } else if (value.equals(mPreferenceGameDriver)) { mDevOptInApps.add(packageName); mDevPrereleaseOptInApps.remove(packageName); mDevOptOutApps.remove(packageName); } else if (value.equals(mPreferencePrereleaseDriver)) { mDevOptInApps.remove(packageName); mDevPrereleaseOptInApps.add(packageName); mDevOptOutApps.remove(packageName); } else { mDevOptInApps.remove(packageName); mDevPrereleaseOptInApps.remove(packageName); mDevOptOutApps.remove(packageName); } listPref.setValue(value); listPref.setSummary(value); // Push the updated Sets for opt-in and opt-out apps to // corresponding Settings.Global.GAME_DRIVER_OPT_(IN|OUT)_APPS // Push the updated Sets for stable/prerelease opt-in and opt-out apps to // corresponding Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS, String.join(",", mDevOptInApps)); Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, String.join(",", mDevPrereleaseOptInApps)); Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, String.join(",", mDevOptOutApps)); Loading Loading @@ -233,10 +249,13 @@ public class GameDriverAppPreferenceController extends BasePreferenceController listPreference.setEntryValues(mEntryList); // Initialize preference default and summary with the opt in/out choices // from Settings.Global.GAME_DRIVER_OPT_(IN|OUT)_APPS // from Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS if (mDevOptOutApps.contains(packageName)) { listPreference.setValue(mPreferenceSystem); listPreference.setSummary(mPreferenceSystem); } else if (mDevPrereleaseOptInApps.contains(packageName)) { listPreference.setValue(mPreferencePrereleaseDriver); listPreference.setSummary(mPreferencePrereleaseDriver); } else if (mDevOptInApps.contains(packageName)) { listPreference.setValue(mPreferenceGameDriver); listPreference.setSummary(mPreferenceGameDriver); Loading
tests/robotests/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceControllerTest.java +24 −5 Original line number Diff line number Diff line Loading @@ -56,7 +56,8 @@ public class GameDriverAppPreferenceControllerTest { private static final int DEFAULT = 0; private static final int GAME_DRIVER = 1; private static final int SYSTEM = 2; private static final int PRERELEASE_DRIVER = 2; private static final int SYSTEM = 3; private static final String TEST_APP_NAME = "testApp"; private static final String TEST_PKG_NAME = "testPkg"; Loading Loading @@ -181,7 +182,7 @@ public class GameDriverAppPreferenceControllerTest { @Test public void createPreference_configGAME_DRIVER_shouldSetGameDriverAttributes() { loadConfig(TEST_PKG_NAME, ""); loadConfig(TEST_PKG_NAME, "", ""); final ListPreference preference = mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME); Loading @@ -195,9 +196,25 @@ public class GameDriverAppPreferenceControllerTest { assertThat(preference.getSummary()).isEqualTo(mValueList[GAME_DRIVER]); } @Test public void createPreference_configPRERELEASE_DRIVER_shouldSetPrereleaseDriverAttributes() { loadConfig("", TEST_PKG_NAME, ""); final ListPreference preference = mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME); assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME); assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME); assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle); assertThat(preference.getEntries()).isEqualTo(mValueList); assertThat(preference.getEntryValues()).isEqualTo(mValueList); assertThat(preference.getEntry()).isEqualTo(mValueList[PRERELEASE_DRIVER]); assertThat(preference.getValue()).isEqualTo(mValueList[PRERELEASE_DRIVER]); assertThat(preference.getSummary()).isEqualTo(mValueList[PRERELEASE_DRIVER]); } @Test public void createPreference_configSystem_shouldSetSystemAttributes() { loadConfig("", TEST_PKG_NAME); loadConfig("", "", TEST_PKG_NAME); final ListPreference preference = mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME); Loading Loading @@ -274,10 +291,12 @@ public class GameDriverAppPreferenceControllerTest { when(mContext.getPackageManager()).thenReturn(mPackageManager); } private void loadDefaultConfig() { loadConfig("", ""); } private void loadDefaultConfig() { loadConfig("", "", ""); } private void loadConfig(String optIn, String optOut) { private void loadConfig(String optIn, String prereleaseOptIn, String optOut) { Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS, optIn); Settings.Global.putString( mResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, prereleaseOptIn); Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, optOut); mController = new GameDriverAppPreferenceController(mContext, "testKey"); Loading