[2/2] OmniGears: Power Menu: Add Screen Record Option
Adding Settings part in "Bars and Menus"
(also code cleanup for Screenshot option in java)
Change-Id: Id7b7b6e0ff16106406b5b6531b04092b0199c440
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 70343d4..27718e5 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -207,6 +207,8 @@
<string name="bars_and_menus_category_power_menu_title">Power menu</string>
<string name="power_menu_toggle_screenshot_title">Screenshot</string>
<string name="power_menu_toggle_screenshot_summary">Show screenshot option in Power Menu</string>
+ <string name="power_menu_toggle_screenrecord_title">Screen Record</string>
+ <string name="power_menu_toggle_screenrecord_summary">Show screen Record option in Power Menu</string>
<!-- Active Display Notifications -->
<string name="ad_settings_title">Active display</string>
diff --git a/res/xml/menus_settings.xml b/res/xml/menus_settings.xml
index 82dec0b..6a5ca69 100644
--- a/res/xml/menus_settings.xml
+++ b/res/xml/menus_settings.xml
@@ -30,6 +30,12 @@
android:title="@string/power_menu_toggle_screenshot_title"
android:summary="@string/power_menu_toggle_screenshot_summary"
android:defaultValue="false" />
+
+ <CheckBoxPreference
+ android:key="power_menu_screenrecord"
+ android:title="@string/power_menu_toggle_screenrecord_title"
+ android:summary="@string/power_menu_toggle_screenrecord_summary"
+ android:defaultValue="false" />
</PreferenceCategory>
</PreferenceScreen>
diff --git a/src/org/omnirom/omnigears/interfacesettings/MenusSettings.java b/src/org/omnirom/omnigears/interfacesettings/MenusSettings.java
index a204673..76630d6 100644
--- a/src/org/omnirom/omnigears/interfacesettings/MenusSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/MenusSettings.java
@@ -35,10 +35,13 @@
public class MenusSettings extends SettingsPreferenceFragment implements
Preference.OnPreferenceChangeListener {
private static final String TAG = "MenusSettings";
+ private ContentResolver resolver;
private static final String POWER_MENU_SCREENSHOT = "power_menu_screenshot";
+ private static final String POWER_MENU_SCREENRECORD = "power_menu_screenrecord";
private CheckBoxPreference mScreenshotPowerMenu;
+ private CheckBoxPreference mScreenrecordPowerMenu;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -46,12 +49,24 @@
addPreferencesFromResource(R.xml.menus_settings);
PreferenceScreen prefSet = getPreferenceScreen();
- ContentResolver resolver = getActivity().getContentResolver();
+ resolver = getActivity().getContentResolver();
+
+ boolean mHasScreenRecord = getActivity().getResources().getBoolean(
+ com.android.internal.R.bool.config_enableScreenrecordChord);
mScreenshotPowerMenu = (CheckBoxPreference) prefSet.findPreference(POWER_MENU_SCREENSHOT);
mScreenshotPowerMenu.setChecked(Settings.System.getInt(resolver,
Settings.System.SCREENSHOT_IN_POWER_MENU, 0) == 1);
mScreenshotPowerMenu.setOnPreferenceChangeListener(this);
+
+ mScreenrecordPowerMenu = (CheckBoxPreference) prefSet.findPreference(POWER_MENU_SCREENRECORD);
+ if(mHasScreenRecord) {
+ mScreenrecordPowerMenu.setChecked(Settings.System.getInt(resolver,
+ Settings.System.SCREENRECORD_IN_POWER_MENU, 0) == 1);
+ mScreenrecordPowerMenu.setOnPreferenceChangeListener(this);
+ } else {
+ prefSet.removePreference(mScreenrecordPowerMenu);
+ }
}
@Override
@@ -60,10 +75,12 @@
}
public boolean onPreferenceChange(Preference preference, Object objValue) {
- ContentResolver resolver = getActivity().getContentResolver();
if (preference == mScreenshotPowerMenu) {
boolean value = (Boolean) objValue;
Settings.System.putInt(resolver, Settings.System.SCREENSHOT_IN_POWER_MENU, value ? 1 : 0);
+ } else if (preference == mScreenrecordPowerMenu) {
+ boolean value = (Boolean) objValue;
+ Settings.System.putInt(resolver, Settings.System.SCREENRECORD_IN_POWER_MENU, value ? 1 : 0);
} else {
return false;
}