Loading res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -10652,6 +10652,12 @@ <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 all apps preference [CHAR LIMIT=50] --> <string-array name="game_driver_all_apps_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> </string-array> <!-- 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> res/xml/game_driver_settings.xml +5 −2 Original line number Diff line number Diff line Loading @@ -21,11 +21,14 @@ android:key="game_driver_settings" android:title="@string/game_driver_dashboard_title"> <SwitchPreference <ListPreference android:key="game_driver_all_apps_preference" android:title="@string/game_driver_all_apps_preference_title" android:dialogTitle="@string/game_driver_all_apps_preference_title" android:entries="@array/game_driver_all_apps_preference_values" android:entryValues="@array/game_driver_all_apps_preference_values" settings:controller="com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController"> </SwitchPreference> </ListPreference> <PreferenceCategory android:key="game_driver_category" Loading src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceController.java +45 −19 Original line number Diff line number Diff line Loading @@ -18,15 +18,17 @@ package com.android.settings.development.gamedriver; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import androidx.annotation.VisibleForTesting; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; Loading @@ -43,19 +45,30 @@ public class GameDriverEnableForAllAppsPreferenceController extends BasePreferen public static final int GAME_DRIVER_DEFAULT = 0; public static final int GAME_DRIVER_ALL_APPS = 1; public static final int GAME_DRIVER_OFF = 2; public static final int GAME_DRIVER_PRERELEASE_ALL_APPS = 2; public static final int GAME_DRIVER_OFF = 3; private final Context mContext; private final ContentResolver mContentResolver; private final String mPreferenceDefault; private final String mPreferenceGameDriver; private final String mPreferencePrereleaseDriver; @VisibleForTesting GameDriverContentObserver mGameDriverContentObserver; private SwitchPreference mPreference; private ListPreference mPreference; public GameDriverEnableForAllAppsPreferenceController(Context context, String key) { super(context, key); mContext = context; mContentResolver = context.getContentResolver(); final Resources resources = context.getResources(); 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); mGameDriverContentObserver = new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this); } Loading Loading @@ -89,31 +102,44 @@ public class GameDriverEnableForAllAppsPreferenceController extends BasePreferen @Override public void updateState(Preference preference) { final SwitchPreference switchPreference = (SwitchPreference) preference; switchPreference.setVisible(isAvailable()); switchPreference.setChecked( Settings.Global.getInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT) == GAME_DRIVER_ALL_APPS); final ListPreference listPref = (ListPreference) preference; listPref.setVisible(isAvailable()); final int currentChoice = Settings.Global.getInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); if (currentChoice == GAME_DRIVER_ALL_APPS) { listPref.setValue(mPreferenceGameDriver); listPref.setSummary(mPreferenceGameDriver); } else if (currentChoice == GAME_DRIVER_PRERELEASE_ALL_APPS) { listPref.setValue(mPreferencePrereleaseDriver); listPref.setSummary(mPreferencePrereleaseDriver); } else { listPref.setValue(mPreferenceDefault); listPref.setSummary(mPreferenceDefault); } } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean isChecked = (boolean) newValue; final int gameDriver = Settings.Global.getInt( final ListPreference listPref = (ListPreference) preference; final String value = newValue.toString(); final int currentChoice = Settings.Global.getInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); if (isChecked && gameDriver == GAME_DRIVER_ALL_APPS) { return true; final int userChoice; if (value.equals(mPreferenceGameDriver)) { userChoice = GAME_DRIVER_ALL_APPS; } else if (value.equals(mPreferencePrereleaseDriver)) { userChoice = GAME_DRIVER_PRERELEASE_ALL_APPS; } else { userChoice = GAME_DRIVER_DEFAULT; } listPref.setValue(value); listPref.setSummary(value); if (!isChecked && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_OFF)) { return true; if (userChoice != currentChoice) { Settings.Global.putInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, userChoice); } Settings.Global.putInt(mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, isChecked ? GAME_DRIVER_ALL_APPS : GAME_DRIVER_DEFAULT); return true; } Loading src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarController.java +3 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.development.gamedriver; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS; import android.content.ContentResolver; import android.content.Context; Loading Loading @@ -83,7 +84,8 @@ public class GameDriverGlobalSwitchBarController mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); if (isChecked && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_ALL_APPS)) { && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_ALL_APPS || gameDriver == GAME_DRIVER_PRERELEASE_ALL_APPS)) { return true; } Loading tests/robotests/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceControllerTest.java +56 −16 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS; import static com.google.common.truth.Truth.assertThat; Loading @@ -30,10 +31,13 @@ import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import androidx.preference.ListPreference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.R; import org.junit.Before; import org.junit.Test; Loading @@ -49,13 +53,16 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock private SwitchPreference mPreference; private ListPreference mPreference; @Mock private GameDriverContentObserver mGameDriverContentObserver; private Context mContext; private ContentResolver mResolver; private GameDriverEnableForAllAppsPreferenceController mController; private String mPreferenceDefault; private String mPreferenceGameDriver; private String mPreferencePrereleaseDriver; @Before public void setUp() { Loading @@ -63,6 +70,13 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { mContext = RuntimeEnvironment.application; mResolver = mContext.getContentResolver(); final Resources resources = mContext.getResources(); 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); Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); Loading Loading @@ -95,12 +109,13 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { } @Test public void displayPreference_shouldAddSwitchPreference() { public void displayPreference_shouldAddListPreference() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.updateState(mPreference); verify(mPreference).setChecked(false); verify(mPreference).setValue(mPreferenceDefault); verify(mPreference).setSummary(mPreferenceDefault); } @Test Loading @@ -120,39 +135,64 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { } @Test public void updateState_availableAndGameDriverDefault_visibleAndUncheck() { public void updateState_availableAndDefault_visibleAndDefault() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.updateState(mPreference); verify(mPreference, atLeastOnce()).setVisible(true); verify(mPreference).setChecked(false); verify(mPreference).setValue(mPreferenceDefault); verify(mPreference).setSummary(mPreferenceDefault); } @Test public void updateState_availableAndGameDriverAllApps_visibleAndCheck() { public void updateState_availableAndGameDriver_visibleAndGameDriver() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS); mController.updateState(mPreference); verify(mPreference, atLeastOnce()).setVisible(true); verify(mPreference).setChecked(true); verify(mPreference).setValue(mPreferenceGameDriver); verify(mPreference).setSummary(mPreferenceGameDriver); } @Test public void updateState_gameDriverOff_notVisibleAndUncheck() { public void updateState_availableAndPrereleaseDriver_visibleAndPrereleaseDriver() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_PRERELEASE_ALL_APPS); mController.updateState(mPreference); verify(mPreference, atLeastOnce()).setVisible(true); verify(mPreference).setValue(mPreferencePrereleaseDriver); verify(mPreference).setSummary(mPreferencePrereleaseDriver); } @Test public void updateState_gameDriverOff_notVisibleAndSystemDriver() { Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF); mController.updateState(mPreference); verify(mPreference).setVisible(false); verify(mPreference).setChecked(false); verify(mPreference).setValue(mPreferenceDefault); verify(mPreference).setSummary(mPreferenceDefault); } @Test public void onPreferenceChange_check_shouldUpdateSettingsGlobal() { public void onPreferenceChange_default_shouldUpdateSettingsGlobal() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS); mController.onPreferenceChange(mPreference, mPreferenceDefault); assertThat(Settings.Global.getInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)) .isEqualTo(GAME_DRIVER_DEFAULT); } @Test public void onPreferenceChange_gameDriver_shouldUpdateSettingsGlobal() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.onPreferenceChange(mPreference, true); mController.onPreferenceChange(mPreference, mPreferenceGameDriver); assertThat(Settings.Global.getInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)) Loading @@ -160,13 +200,13 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { } @Test public void onPreferenceChange_uncheck_shouldUpdateSettingsGlobal() { public void onPreferenceChange_prereleaseDriver_shouldUpdateSettingsGlobal() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS); mController.onPreferenceChange(mPreference, false); mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.onPreferenceChange(mPreference, mPreferencePrereleaseDriver); assertThat(Settings.Global.getInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)) .isEqualTo(GAME_DRIVER_DEFAULT); .isEqualTo(GAME_DRIVER_PRERELEASE_ALL_APPS); } } Loading
res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -10652,6 +10652,12 @@ <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 all apps preference [CHAR LIMIT=50] --> <string-array name="game_driver_all_apps_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> </string-array> <!-- 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>
res/xml/game_driver_settings.xml +5 −2 Original line number Diff line number Diff line Loading @@ -21,11 +21,14 @@ android:key="game_driver_settings" android:title="@string/game_driver_dashboard_title"> <SwitchPreference <ListPreference android:key="game_driver_all_apps_preference" android:title="@string/game_driver_all_apps_preference_title" android:dialogTitle="@string/game_driver_all_apps_preference_title" android:entries="@array/game_driver_all_apps_preference_values" android:entryValues="@array/game_driver_all_apps_preference_values" settings:controller="com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController"> </SwitchPreference> </ListPreference> <PreferenceCategory android:key="game_driver_category" Loading
src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceController.java +45 −19 Original line number Diff line number Diff line Loading @@ -18,15 +18,17 @@ package com.android.settings.development.gamedriver; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import androidx.annotation.VisibleForTesting; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; Loading @@ -43,19 +45,30 @@ public class GameDriverEnableForAllAppsPreferenceController extends BasePreferen public static final int GAME_DRIVER_DEFAULT = 0; public static final int GAME_DRIVER_ALL_APPS = 1; public static final int GAME_DRIVER_OFF = 2; public static final int GAME_DRIVER_PRERELEASE_ALL_APPS = 2; public static final int GAME_DRIVER_OFF = 3; private final Context mContext; private final ContentResolver mContentResolver; private final String mPreferenceDefault; private final String mPreferenceGameDriver; private final String mPreferencePrereleaseDriver; @VisibleForTesting GameDriverContentObserver mGameDriverContentObserver; private SwitchPreference mPreference; private ListPreference mPreference; public GameDriverEnableForAllAppsPreferenceController(Context context, String key) { super(context, key); mContext = context; mContentResolver = context.getContentResolver(); final Resources resources = context.getResources(); 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); mGameDriverContentObserver = new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this); } Loading Loading @@ -89,31 +102,44 @@ public class GameDriverEnableForAllAppsPreferenceController extends BasePreferen @Override public void updateState(Preference preference) { final SwitchPreference switchPreference = (SwitchPreference) preference; switchPreference.setVisible(isAvailable()); switchPreference.setChecked( Settings.Global.getInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT) == GAME_DRIVER_ALL_APPS); final ListPreference listPref = (ListPreference) preference; listPref.setVisible(isAvailable()); final int currentChoice = Settings.Global.getInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); if (currentChoice == GAME_DRIVER_ALL_APPS) { listPref.setValue(mPreferenceGameDriver); listPref.setSummary(mPreferenceGameDriver); } else if (currentChoice == GAME_DRIVER_PRERELEASE_ALL_APPS) { listPref.setValue(mPreferencePrereleaseDriver); listPref.setSummary(mPreferencePrereleaseDriver); } else { listPref.setValue(mPreferenceDefault); listPref.setSummary(mPreferenceDefault); } } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean isChecked = (boolean) newValue; final int gameDriver = Settings.Global.getInt( final ListPreference listPref = (ListPreference) preference; final String value = newValue.toString(); final int currentChoice = Settings.Global.getInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); if (isChecked && gameDriver == GAME_DRIVER_ALL_APPS) { return true; final int userChoice; if (value.equals(mPreferenceGameDriver)) { userChoice = GAME_DRIVER_ALL_APPS; } else if (value.equals(mPreferencePrereleaseDriver)) { userChoice = GAME_DRIVER_PRERELEASE_ALL_APPS; } else { userChoice = GAME_DRIVER_DEFAULT; } listPref.setValue(value); listPref.setSummary(value); if (!isChecked && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_OFF)) { return true; if (userChoice != currentChoice) { Settings.Global.putInt( mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, userChoice); } Settings.Global.putInt(mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, isChecked ? GAME_DRIVER_ALL_APPS : GAME_DRIVER_DEFAULT); return true; } Loading
src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarController.java +3 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.development.gamedriver; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS; import android.content.ContentResolver; import android.content.Context; Loading Loading @@ -83,7 +84,8 @@ public class GameDriverGlobalSwitchBarController mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); if (isChecked && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_ALL_APPS)) { && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_ALL_APPS || gameDriver == GAME_DRIVER_PRERELEASE_ALL_APPS)) { return true; } Loading
tests/robotests/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceControllerTest.java +56 −16 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF; import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS; import static com.google.common.truth.Truth.assertThat; Loading @@ -30,10 +31,13 @@ import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.provider.Settings; import androidx.preference.ListPreference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.R; import org.junit.Before; import org.junit.Test; Loading @@ -49,13 +53,16 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock private SwitchPreference mPreference; private ListPreference mPreference; @Mock private GameDriverContentObserver mGameDriverContentObserver; private Context mContext; private ContentResolver mResolver; private GameDriverEnableForAllAppsPreferenceController mController; private String mPreferenceDefault; private String mPreferenceGameDriver; private String mPreferencePrereleaseDriver; @Before public void setUp() { Loading @@ -63,6 +70,13 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { mContext = RuntimeEnvironment.application; mResolver = mContext.getContentResolver(); final Resources resources = mContext.getResources(); 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); Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); Loading Loading @@ -95,12 +109,13 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { } @Test public void displayPreference_shouldAddSwitchPreference() { public void displayPreference_shouldAddListPreference() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.updateState(mPreference); verify(mPreference).setChecked(false); verify(mPreference).setValue(mPreferenceDefault); verify(mPreference).setSummary(mPreferenceDefault); } @Test Loading @@ -120,39 +135,64 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { } @Test public void updateState_availableAndGameDriverDefault_visibleAndUncheck() { public void updateState_availableAndDefault_visibleAndDefault() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.updateState(mPreference); verify(mPreference, atLeastOnce()).setVisible(true); verify(mPreference).setChecked(false); verify(mPreference).setValue(mPreferenceDefault); verify(mPreference).setSummary(mPreferenceDefault); } @Test public void updateState_availableAndGameDriverAllApps_visibleAndCheck() { public void updateState_availableAndGameDriver_visibleAndGameDriver() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS); mController.updateState(mPreference); verify(mPreference, atLeastOnce()).setVisible(true); verify(mPreference).setChecked(true); verify(mPreference).setValue(mPreferenceGameDriver); verify(mPreference).setSummary(mPreferenceGameDriver); } @Test public void updateState_gameDriverOff_notVisibleAndUncheck() { public void updateState_availableAndPrereleaseDriver_visibleAndPrereleaseDriver() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_PRERELEASE_ALL_APPS); mController.updateState(mPreference); verify(mPreference, atLeastOnce()).setVisible(true); verify(mPreference).setValue(mPreferencePrereleaseDriver); verify(mPreference).setSummary(mPreferencePrereleaseDriver); } @Test public void updateState_gameDriverOff_notVisibleAndSystemDriver() { Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF); mController.updateState(mPreference); verify(mPreference).setVisible(false); verify(mPreference).setChecked(false); verify(mPreference).setValue(mPreferenceDefault); verify(mPreference).setSummary(mPreferenceDefault); } @Test public void onPreferenceChange_check_shouldUpdateSettingsGlobal() { public void onPreferenceChange_default_shouldUpdateSettingsGlobal() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS); mController.onPreferenceChange(mPreference, mPreferenceDefault); assertThat(Settings.Global.getInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)) .isEqualTo(GAME_DRIVER_DEFAULT); } @Test public void onPreferenceChange_gameDriver_shouldUpdateSettingsGlobal() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.onPreferenceChange(mPreference, true); mController.onPreferenceChange(mPreference, mPreferenceGameDriver); assertThat(Settings.Global.getInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)) Loading @@ -160,13 +200,13 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest { } @Test public void onPreferenceChange_uncheck_shouldUpdateSettingsGlobal() { public void onPreferenceChange_prereleaseDriver_shouldUpdateSettingsGlobal() { Settings.Global.putInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS); mController.onPreferenceChange(mPreference, false); mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT); mController.onPreferenceChange(mPreference, mPreferencePrereleaseDriver); assertThat(Settings.Global.getInt( mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)) .isEqualTo(GAME_DRIVER_DEFAULT); .isEqualTo(GAME_DRIVER_PRERELEASE_ALL_APPS); } }