OmniGears: Power Menu animations [2/2]
Change-Id: I994bb65f4196c05dd92308bea7eb797ee30232be
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index 46f1bc7..44d447b 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -248,4 +248,16 @@
<item>1</item>
<item>2</item>
</string-array>
+ <!-- Power menu Animations -->
+ <string-array name="power_menu_animations_entries">
+ <item>@string/power_menu_animation_enter</item>
+ <item>@string/power_menu_animation_bottom</item>
+ <item>@string/power_menu_animation_top</item>
+ </string-array>
+
+ <string-array name="power_menu_animations_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ </string-array>
</resources>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 1fc58ae..353c8e2 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -327,6 +327,7 @@
<string name="global_actions_title">Power menu</string>
<string name="global_actions_summary">Actions shown in power menu</string>
<string name="global_actions_header">Some actions are only visible depending on the setup or only if the device is unlocked</string>
+ <string name="global_actions_anim">Appearance</string>
<string name="font_sample_text">11:57</string>
@@ -345,4 +346,11 @@
<string name="status_bar_quick_qs_pulldown_off">Off</string>
<string name="status_bar_quick_qs_pulldown_left">Left</string>
<string name="status_bar_quick_qs_pulldown_right">Right</string>
+ <!-- Power menu Animations -->
+ <string name="power_menu_animation_title">Power menu animation</string>
+ <string name="power_menu_animation_summary">Change the enter/exit animation of the power menu</string>
+ <string name="power_menu_animation_dialog_title">Select power menu animation</string>
+ <string name="power_menu_animation_enter">Omni (default)</string>
+ <string name="power_menu_animation_bottom">Bottom</string>
+ <string name="power_menu_animation_top">Top</string>
</resources>
diff --git a/res/xml/global_actions.xml b/res/xml/global_actions.xml
index 2744ee3..0e5c439 100644
--- a/res/xml/global_actions.xml
+++ b/res/xml/global_actions.xml
@@ -71,4 +71,16 @@
android:key="dnd"
android:title="@string/global_actions_dnd_title"
android:persistent="false" />
+ <PreferenceCategory
+ android:key="global_actions_anim"
+ android:title="@string/global_actions_anim" >
+ <ListPreference
+ android:key="power_menu_animations"
+ android:title="@string/power_menu_animation_title"
+ android:dialogTitle="@string/power_menu_animation_dialog_title"
+ android:entries="@array/power_menu_animations_entries"
+ android:entryValues="@array/power_menu_animations_values"
+ android:summary="@string/power_menu_animation_summary"
+ android:persistent="false" />
+ </PreferenceCategory>
</PreferenceScreen>
diff --git a/src/org/omnirom/omnigears/interfacesettings/GlobalActionsSettings.java b/src/org/omnirom/omnigears/interfacesettings/GlobalActionsSettings.java
index c2cdc59..5da2950 100644
--- a/src/org/omnirom/omnigears/interfacesettings/GlobalActionsSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/GlobalActionsSettings.java
@@ -21,6 +21,7 @@
import android.content.Context;
import android.os.Bundle;
import android.os.UserManager;
+import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceManager;
@@ -47,11 +48,14 @@
public class GlobalActionsSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener, Indexable {
private static final String TAG = "GlobalActionsSettings";
- // private static final String GLOBAL_ACTIONS = "global_actions";
+ private static final String POWER_MENU_ANIMATIONS = "power_menu_animations";
+// private static final String GLOBAL_ACTIONS = "global_actions";
private LinkedHashMap<String, Boolean> mGlobalActionsMap;
// private PreferenceScreen prefScreen = null;
+ ListPreference mPowerMenuAnimations;
+
@Override
protected int getMetricsCategory() {
return MetricsEvent.OMNI_SETTINGS;
@@ -77,6 +81,12 @@
final String enabledActions = Settings.System.getString(contentResolver,
Settings.System.GLOBAL_ACTIONS_LIST);
+ mPowerMenuAnimations = (ListPreference) findPreference(POWER_MENU_ANIMATIONS);
+ mPowerMenuAnimations.setValue(String.valueOf(Settings.System.getInt(
+ getContentResolver(), Settings.System.POWER_MENU_ANIMATIONS, 0)));
+ mPowerMenuAnimations.setSummary(mPowerMenuAnimations.getEntry());
+ mPowerMenuAnimations.setOnPreferenceChangeListener(this);
+
List<String> enabledActionsList = null;
if (enabledActions != null) {
enabledActionsList = Arrays.asList(enabledActions.split(","));
@@ -138,7 +148,16 @@
@Override
public boolean onPreferenceChange(Preference preference, Object objValue) {
- return false;
+ ContentResolver resolver = getActivity().getContentResolver();
+ boolean result = false;
+ if (preference == mPowerMenuAnimations) {
+ Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_ANIMATIONS,
+ Integer.valueOf((String) objValue));
+ mPowerMenuAnimations.setValue(String.valueOf(objValue));
+ mPowerMenuAnimations.setSummary(mPowerMenuAnimations.getEntry());
+ return true;
+ }
+ return result;
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =