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

Commit b5f76d8b authored by Pedlar's avatar Pedlar Committed by Steve Kondik
Browse files

Add flashlight button for devices with a LED and Sleep Button

Added a boolean so we can make it so they can't enable it if the device dosen't have a led.
parent 7ff07a1b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -382,4 +382,14 @@
        <item>4</item>
    </string-array>

    <string-array name="entries_flash_widget" translatable="false">
        <item>Normal</item>
        <item>High / Death Ray</item>
    </string-array>

    <string-array name="values_flash_widget" translatable="false">
        <item>0</item>
        <item>1</item>
    </string-array>

</resources>
+3 −0
Original line number Diff line number Diff line
@@ -3,4 +3,7 @@
    <!-- Whether or not to display the trackball settings -->
    <bool name="has_trackball">true</bool>
    <bool name="has_rgb_notification_led">false</bool>

    <!-- LED Flashlight -->
    <bool name="has_led_flash">false</bool>
</resources>
+5 −0
Original line number Diff line number Diff line
@@ -354,6 +354,8 @@
    <string name="title_toggle_networkmode">Toggle 2G/3G</string>
    <string name="title_toggle_autorotate">Toggle Orientation</string>
    <string name="title_toggle_airplane">Toggle Airplane mode</string>
    <string name="title_toggle_flashlight">Toggle LED flashlight</string>
    <string name="title_toggle_sleep">Go to sleep</string>
    <string name="title_button_modes">Button modes</string>
    <string name="pref_brightness_mode_title">Brightness modes</string>
    <string name="pref_brightness_mode_summary">Choose how the brightness button changes modes</string>
@@ -363,6 +365,9 @@
    <string name="pref_screentimeout_mode_summary">Choose how the Screentimeout button changes modes</string>
    <string name="pref_ring_mode_title">Sound modes</string>
    <string name="pref_ring_mode_summary">Choose how the sound button changes modes</string>
    <string name="pref_flash_mode_title">Flash mode</string>
    <string name="pref_flash_mode_summary">Choose High / Death Ray(Evo)</string>


    <!-- Performance : Lock home memory -->
    <string name="pref_lock_home_title">Lock home in memory</string>
+10 −0
Original line number Diff line number Diff line
@@ -39,6 +39,12 @@
    <CheckBoxPreference android:key="toggle_airplane"
        android:title="@string/title_toggle_airplane"
        android:defaultValue="false" />
    <CheckBoxPreference android:key="toggle_sleep"
        android:title="@string/title_toggle_sleep"
        android:defaultValue="false" />
    <CheckBoxPreference android:key="toggle_flashlight"
        android:title="@string/title_toggle_flashlight"
        android:defaultValue="false" />

    <PreferenceCategory android:title="@string/title_button_modes">
        <ListPreference android:key="pref_brightness_mode" android:dialogTitle="@string/pref_brightness_mode_title"
@@ -56,5 +62,9 @@
        <ListPreference android:key="pref_ring_mode" android:dialogTitle="@string/pref_ring_mode_title"
            android:title="@string/pref_ring_mode_title" android:summary="@string/pref_ring_mode_summary"
            android:entries="@array/entries_ring_widget" android:entryValues="@array/values_ring_widget" />

        <ListPreference android:key="pref_flash_mode" android:dialogTitle="@string/pref_flash_mode_title"
            android:title="@string/pref_flash_mode_title" android:summary="@string/pref_flash_mode_summary"
            android:entries="@array/entries_flash_widget" android:entryValues="@array/values_flash_widget" />
    </PreferenceCategory>
</PreferenceScreen>
+33 −1
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
    public static final String TOGGLE_NETWORKMODE_STR = "toggleNetworkMode";
    public static final String TOGGLE_AUTOROTATE_STR = "toggleAutoRotate";
    public static final String TOGGLE_AIRPLANE_STR = "toggleAirplane";
    public static final String TOGGLE_FLASHLIGHT_STR = "toggleFlashlight";
    public static final String TOGGLE_SLEEPMODE_STR = "toggleSleepMode";

    private static final String TOGGLE_WIFI = "toggle_wifi";
    private static final String TOGGLE_BLUETOOTH = "toggle_bluetooth";
@@ -50,10 +52,13 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
    private static final String TOGGLE_NETWORKMODE = "toggle_networkmode";
    private static final String TOGGLE_AUTOROTATE = "toggle_autorotate";
    private static final String TOGGLE_AIRPLANE = "toggle_airplane";
    private static final String TOGGLE_FLASHLIGHT = "toggle_flashlight";
    private static final String TOGGLE_SLEEPMODE = "toggle_sleep";
    private static final String EXP_BRIGHTNESS_MODE = "pref_brightness_mode";
    private static final String EXP_NETWORK_MODE = "pref_network_mode";
    private static final String EXP_SCREENTIMEOUT_MODE = "pref_screentimeout_mode";
    private static final String EXP_RING_MODE = "pref_ring_mode";
    private static final String EXP_FLASH_MODE = "pref_flash_mode";

    CheckBoxPreference mToggleWifi;
    CheckBoxPreference mToggleBluetooth;
@@ -68,10 +73,13 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
    CheckBoxPreference mToggleNetworkMode;
    CheckBoxPreference mToggleAutoRotate;
    CheckBoxPreference mToggleAirplane;
    CheckBoxPreference mToggleFlashlight;
    CheckBoxPreference mToggleSleepMode;
    ListPreference mBrightnessMode;
    ListPreference mNetworkMode;
    ListPreference mScreentimeoutMode;
    ListPreference mRingMode;
    ListPreference mFlashMode;

    private boolean isNull(String mString) {
        if (mString == null || mString.matches("null") || mString.length() == 0
@@ -147,6 +155,8 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
        mToggleNetworkMode = (CheckBoxPreference) prefSet.findPreference(TOGGLE_NETWORKMODE);
        mToggleAutoRotate = (CheckBoxPreference) prefSet.findPreference(TOGGLE_AUTOROTATE);
        mToggleAirplane = (CheckBoxPreference) prefSet.findPreference(TOGGLE_AIRPLANE);
        mToggleFlashlight = (CheckBoxPreference) prefSet.findPreference(TOGGLE_FLASHLIGHT);
        mToggleSleepMode = (CheckBoxPreference) prefSet.findPreference(TOGGLE_SLEEPMODE);

        mBrightnessMode = (ListPreference) prefSet.findPreference(EXP_BRIGHTNESS_MODE);
        mBrightnessMode.setOnPreferenceChangeListener(this);
@@ -156,6 +166,14 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
        mScreentimeoutMode.setOnPreferenceChangeListener(this);
        mRingMode = (ListPreference) prefSet.findPreference(EXP_RING_MODE);
        mRingMode.setOnPreferenceChangeListener(this);
        mFlashMode = (ListPreference) prefSet.findPreference(EXP_FLASH_MODE);
        mFlashMode.setOnPreferenceChangeListener(this);


        if (!getResources().getBoolean(R.bool.has_led_flash)) {
            mToggleFlashlight.setEnabled(false);
            mFlashMode.setEnabled(false);
        }
    }

    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
@@ -238,8 +256,19 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
            if(!manageList(TOGGLE_AIRPLANE_STR, value)) {
                keyPref.setChecked(false);
            }
        }  else if (preference == mToggleFlashlight) {
            CheckBoxPreference keyPref = (CheckBoxPreference) preference;
            value = keyPref.isChecked();
            if(!manageList(TOGGLE_FLASHLIGHT_STR, value)) {
                keyPref.setChecked(false);
            }
        }  else if (preference == mToggleSleepMode) {
            CheckBoxPreference keyPref = (CheckBoxPreference) preference;
            value = keyPref.isChecked();
            if(!manageList(TOGGLE_SLEEPMODE_STR, value)) {
                keyPref.setChecked(false);
            }
        }

        return true;
    }

@@ -253,7 +282,10 @@ public class WidgetActivity extends PreferenceActivity implements OnPreferenceCh
            Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_SCREENTIMEOUT_MODE, value);
        } else if(preference == mRingMode) {
            Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_RING_MODE, value);
        } else if(preference == mFlashMode) {
            Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_FLASH_MODE, value);
        }

        return true;
    }
}