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

Commit a7436ba2 authored by Michael Webster's avatar Michael Webster
Browse files

Lockscreen gesture colors

Allows the user to pick a custom color for lockscreen gestures
parent 94df554e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -475,6 +475,7 @@
    <string name="pref_lockscreen_gestures_trail_title">Show gesture trails</string>
    <string name="pref_lockscreen_gestures_builder_title">Build gestures</string>
    <string name="pref_lockscreen_gestures_sensitivity_title">Sensitivity</string>
    <string name="pref_lockscreen_gestures_color_title">Gestures color</string>
    <string name="label_create_gesture">Create a gesture</string>
    <string name="gestures_button_add">Add gesture</string>
    <string name="gestures_button_discard">Discard</string>
+3 −0
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@
        android:entries="@array/pref_lockscreen_gestures_sensitivity_entries"
        android:entryValues="@array/pref_lockscreen_gestures_sensitivity_values"
        android:dependency="lockscreen_gestures_enable" />
     <Preference android:key="lockscreen_gestures_color"
        android:title="@string/pref_lockscreen_gestures_color_title"
        android:dependency="lockscreen_gestures_enable" />
     <PreferenceScreen android:key="lockscreen_gestures_builder"
        android:title="@string/pref_lockscreen_gestures_builder_title">
        <intent android:action="android.intent.action.MAIN"
+27 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.util.Log;

import java.io.File;
@@ -31,10 +32,12 @@ public class GestureMenuActivity extends PreferenceActivity
    private static final String LOCKSCREEN_GESTURES_ENABLE = "lockscreen_gestures_enable";
    private static final String LOCKSCREEN_GESTURES_TRAIL = "lockscreen_gestures_trail";
    private static final String LOCKSCREEN_GESTURES_SENSITIVITY = "lockscreen_gestures_sensitivity";
    private static final String LOCKSCREEN_GESTURES_COLOR = "lockscreen_gestures_color";

    private CheckBoxPreference mGesturesEnable;
    private CheckBoxPreference mGesturesTrail;
    private ListPreference mGesturesSensitivity;
    private Preference mGesturesColor;

    public static boolean updatePreferenceToSpecificActivityOrRemove(Context context,
            PreferenceGroup parentPreferenceGroup, String preferenceKey, int flags) {
@@ -73,9 +76,11 @@ public class GestureMenuActivity extends PreferenceActivity
        mGesturesEnable = (CheckBoxPreference) prefSet.findPreference(LOCKSCREEN_GESTURES_ENABLE);
        mGesturesTrail = (CheckBoxPreference) prefSet.findPreference(LOCKSCREEN_GESTURES_TRAIL);
        mGesturesSensitivity = (ListPreference) prefSet.findPreference(LOCKSCREEN_GESTURES_SENSITIVITY);
        mGesturesColor = (Preference) prefSet.findPreference(LOCKSCREEN_GESTURES_COLOR);

        final PreferenceGroup parentPreference = getPreferenceScreen();
        parentPreference.getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
        mGesturesColor.setSummary(Integer.toHexString(getGestureColor()));
    }

    private void updateToggles() {
@@ -89,6 +94,7 @@ public class GestureMenuActivity extends PreferenceActivity
                    getContentResolver(),
                    Settings.System.LOCKSCREEN_GESTURES_SENSITIVITY, 3)));
            mGesturesSensitivity.setSummary(mGesturesSensitivity.getEntry());
            mGesturesColor.setSummary(Integer.toHexString(getGestureColor()));
    }

    public boolean onPreferenceChange(Preference preference, Object objValue) {
@@ -97,7 +103,12 @@ public class GestureMenuActivity extends PreferenceActivity

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
            return super.onPreferenceTreeClick(preferenceScreen, preference);
        if (preference == mGesturesColor) {
            ColorPickerDialog cp = new ColorPickerDialog(this, mGesturesColorListener, getGestureColor());
            cp.show();
            return true;
        }
        return false;
    }

    public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
@@ -117,6 +128,21 @@ public class GestureMenuActivity extends PreferenceActivity
        }
    }

    private int getGestureColor() {
        return Settings.System.getInt(getContentResolver(),
                Settings.System.LOCKSCREEN_GESTURES_COLOR, 0xFFFFFF00);
    }

    ColorPickerDialog.OnColorChangedListener mGesturesColorListener =
        new ColorPickerDialog.OnColorChangedListener() {
            public void colorChanged(int color) {
                Settings.System.putInt(getContentResolver(), Settings.System.LOCKSCREEN_GESTURES_COLOR, color);
                mGesturesColor.setSummary(Integer.toHexString(color));
            }
            public void colorUpdate(int color) {
            }
    };

    @Override
    public void onResume() {
        super.onResume();