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

Commit 80d18cbc authored by Diogo Ferreira's avatar Diogo Ferreira
Browse files

(Electron 2/2) CMParts: Add settings and control code for screen animations

Make screen-on and screen-off animations toggleable. They must still
be enabled in vendor overlays.

Change-Id: Ic93830f11b4d07e11dffded9ebff693cac0e3ed4
parent 69613a24
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@
    <string name="ui_title">User interface</string>
    <string name="ui_summary">User interface settings &amp; tweaks</string>

    <string name="pref_electron_beam_animation_on">Screen-on animation</string>
    <string name="pref_electron_beam_animation_off">Screen-off animation</string>

    <!-- User interface : LED Notifications -->
    <string name="trackball_title">LED notifications</string>
    <string name="trackball_summary">Control trackball/LED notification colors and pulse</string>
+6 −0
Original line number Diff line number Diff line
@@ -31,6 +31,12 @@
                android:targetClass="com.cyanogenmod.cmparts.activities.BacklightActivity" />
        </PreferenceScreen>

        <CheckBoxPreference android:key="electron_beam_animation_on"
            android:title="@string/pref_electron_beam_animation_on" />

        <CheckBoxPreference android:key="electron_beam_animation_off"
            android:title="@string/pref_electron_beam_animation_off" />

    </PreferenceCategory>

    <!-- Expanded View Power Widget -->
+36 −0
Original line number Diff line number Diff line
@@ -41,6 +41,10 @@ public class UIActivity extends PreferenceActivity implements OnPreferenceChange

    private static final String UI_EXP_WIDGET_PICKER = "widget_picker";

    private static final String ELECTRON_BEAM_ANIMATION_ON = "electron_beam_animation_on";

    private static final String ELECTRON_BEAM_ANIMATION_OFF = "electron_beam_animation_off";

    private PreferenceScreen mStatusBarScreen;

    private PreferenceScreen mNotificationScreen;
@@ -81,6 +85,10 @@ public class UIActivity extends PreferenceActivity implements OnPreferenceChange

    private PreferenceScreen mPowerPicker;

    private CheckBoxPreference mElectronBeamAnimationOn;

    private CheckBoxPreference mElectronBeamAnimationOff;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -107,6 +115,22 @@ public class UIActivity extends PreferenceActivity implements OnPreferenceChange
                    .removePreference(mTrackballScreen);
        }

        /* Electron Beam control */
        boolean animateScreenLights = getResources().getBoolean(
                com.android.internal.R.bool.config_animateScreenLights);
        mElectronBeamAnimationOn = (CheckBoxPreference)prefSet.findPreference(ELECTRON_BEAM_ANIMATION_ON);
        mElectronBeamAnimationOn.setChecked(Settings.System.getInt(getContentResolver(),
                Settings.System.ELECTRON_BEAM_ANIMATION_ON, 0) == 1);
        mElectronBeamAnimationOff = (CheckBoxPreference)prefSet.findPreference(ELECTRON_BEAM_ANIMATION_OFF);
        mElectronBeamAnimationOff.setChecked(Settings.System.getInt(getContentResolver(),
                Settings.System.ELECTRON_BEAM_ANIMATION_OFF, 1) == 1);

        /* Hide Electron Beam controls if electron beam is disabled */
        if (animateScreenLights) {
            prefSet.removePreference(mElectronBeamAnimationOn);
            prefSet.removePreference(mElectronBeamAnimationOff);
        }

        /* Screen Lock */
        mScreenLockTimeoutDelayPref = (ListPreference) prefSet
                .findPreference(LOCKSCREEN_TIMEOUT_DELAY_PREF);
@@ -199,6 +223,18 @@ public class UIActivity extends PreferenceActivity implements OnPreferenceChange
            cp.show();
        }

        if (preference == mElectronBeamAnimationOn) {
            value = mElectronBeamAnimationOn.isChecked();
            Settings.System.putInt(getContentResolver(),
                    Settings.System.ELECTRON_BEAM_ANIMATION_ON, value ? 1 : 0);
        }

        if (preference == mElectronBeamAnimationOff) {
            value = mElectronBeamAnimationOff.isChecked();
            Settings.System.putInt(getContentResolver(),
                    Settings.System.ELECTRON_BEAM_ANIMATION_OFF, value ? 1 : 0);
        }

        return true;
    }