Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e758e14 authored by Yiwei Zhang's avatar Yiwei Zhang
Browse files

Game Driver: Fix EnableForAllApps switch and test

Bug: 123707483
Bug: 119221883
Test: Build, flash, boot and make RunSettingsRoboTests
Change-Id: Iffbe3355b37763d4fa71b96271c1ba448fb6cdc5
Merged-In: Iffbe3355b37763d4fa71b96271c1ba448fb6cdc5
parent 046b9a8c
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ public class GameDriverEnableForAllAppsPreferenceController extends BasePreferen
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mPreference = (SwitchPreference) screen.findPreference(getPreferenceKey());
        mPreference.setOnPreferenceChangeListener(this);
    }

    @Override
@@ -98,8 +99,20 @@ public class GameDriverEnableForAllAppsPreferenceController extends BasePreferen

    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        final boolean isChecked = (boolean) newValue;
        final int gameDriver = Settings.Global.getInt(
                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);

        if (isChecked && gameDriver == GAME_DRIVER_ALL_APPS) {
            return true;
        }

        if (!isChecked && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_OFF)) {
            return true;
        }

        Settings.Global.putInt(mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS,
                (boolean) newValue ? GAME_DRIVER_ALL_APPS : GAME_DRIVER_DEFAULT);
                isChecked ? GAME_DRIVER_ALL_APPS : GAME_DRIVER_DEFAULT);

        return true;
    }
+10 −8
Original line number Diff line number Diff line
@@ -79,19 +79,21 @@ public class GameDriverGlobalSwitchBarController

    @Override
    public boolean onSwitchToggled(boolean isChecked) {
        if (!isChecked) {
            Settings.Global.putInt(
                    mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
        final int gameDriver = Settings.Global.getInt(
                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);

        if (isChecked
                && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_ALL_APPS)) {
            return true;
        }

        if (Settings.Global.getInt(
                    mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
                != GAME_DRIVER_ALL_APPS) {
            Settings.Global.putInt(
                    mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
        if (!isChecked && gameDriver == GAME_DRIVER_OFF) {
            return true;
        }

        Settings.Global.putInt(mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS,
                isChecked ? GAME_DRIVER_DEFAULT : GAME_DRIVER_OFF);

        return true;
    }

+5 −2
Original line number Diff line number Diff line
@@ -58,11 +58,14 @@ public class GameDriverEnableForAllAppsPreferenceControllerTest {
        MockitoAnnotations.initMocks(this);
        mContext = RuntimeEnvironment.application;
        mResolver = mContext.getContentResolver();

        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
        Settings.Global.putInt(
                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);

        mController = new GameDriverEnableForAllAppsPreferenceController(mContext, "testKey");
        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
        mController.displayPreference(mScreen);

        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
    }

    @Test