summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DevelopmentSettings.java
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2014-05-01 22:43:12 -0700
committerMichael Bestas <mikeioannina@gmail.com>2015-12-28 16:28:28 +0200
commit87ab41314d6211151d39b2cdec3ba87826037515 (patch)
tree19a60c63e89096b9976fec88cd83b897c51d831c /src/com/android/settings/DevelopmentSettings.java
parentfcb4673ddb3d34e0ad7217c1bec0630149e59564 (diff)
downloadpackages_apps_Settings-87ab41314d6211151d39b2cdec3ba87826037515.zip
packages_apps_Settings-87ab41314d6211151d39b2cdec3ba87826037515.tar.gz
packages_apps_Settings-87ab41314d6211151d39b2cdec3ba87826037515.tar.bz2
settings: Animation scale seekbars
* Use a seekbar preference to allow setting arbitrary animation scale values Change-Id: I4ceaf0dc74e6e044e36cf3652bfc1efb33890380
Diffstat (limited to 'src/com/android/settings/DevelopmentSettings.java')
-rw-r--r--src/com/android/settings/DevelopmentSettings.java51
1 files changed, 31 insertions, 20 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 24fe2bb..b6c57b3 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -60,6 +60,7 @@ import android.os.UserManager;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
@@ -93,7 +94,8 @@ import java.util.List;
*/
public class DevelopmentSettings extends SettingsPreferenceFragment
implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener,
- OnPreferenceChangeListener, SwitchBar.OnSwitchChangeListener, Indexable {
+ OnPreferenceChangeListener, SwitchBar.OnSwitchChangeListener, Indexable,
+ OnPreferenceClickListener {
private static final String TAG = "DevelopmentSettings";
/**
@@ -262,9 +264,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
private ListPreference mUsbConfiguration;
private ListPreference mTrackFrameTime;
private ListPreference mShowNonRectClip;
- private ListPreference mWindowAnimationScale;
- private ListPreference mTransitionAnimationScale;
- private ListPreference mAnimatorDurationScale;
+ private AnimationScalePreference mWindowAnimationScale;
+ private AnimationScalePreference mTransitionAnimationScale;
+ private AnimationScalePreference mAnimatorDurationScale;
private ListPreference mOverlayDisplayDevices;
private ListPreference mOpenGLTraces;
@@ -420,9 +422,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
mLogdSize = addListPreference(SELECT_LOGD_SIZE_KEY);
mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY);
- mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
- mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
- mAnimatorDurationScale = addListPreference(ANIMATOR_DURATION_SCALE_KEY);
+ mWindowAnimationScale = findAndInitAnimationScalePreference(WINDOW_ANIMATION_SCALE_KEY);
+ mTransitionAnimationScale = findAndInitAnimationScalePreference(TRANSITION_ANIMATION_SCALE_KEY);
+ mAnimatorDurationScale = findAndInitAnimationScalePreference(ANIMATOR_DURATION_SCALE_KEY);
mOverlayDisplayDevices = addListPreference(OVERLAY_DISPLAY_DEVICES_KEY);
mEnableMultiWindow = findAndInitSwitchPref(ENABLE_MULTI_WINDOW_KEY);
if (!showEnableMultiWindowPreference()) {
@@ -494,6 +496,14 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
}
}
+ private AnimationScalePreference findAndInitAnimationScalePreference(String key) {
+ AnimationScalePreference pref = (AnimationScalePreference) findPreference(key);
+ pref.setOnPreferenceChangeListener(this);
+ pref.setOnPreferenceClickListener(this);
+ mAllPrefs.add(pref);
+ return pref;
+ }
+
private SwitchPreference findAndInitSwitchPref(String key) {
SwitchPreference pref = (SwitchPreference) findPreference(key);
if (pref == null) {
@@ -1595,23 +1605,13 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
getActivity().getContentResolver(), Settings.Global.ALWAYS_FINISH_ACTIVITIES, 0) != 0);
}
- private void updateAnimationScaleValue(int which, ListPreference pref) {
+ private void updateAnimationScaleValue(int which, AnimationScalePreference pref) {
try {
float scale = mWindowManager.getAnimationScale(which);
if (scale != 1) {
mHaveDebugSettings = true;
}
- CharSequence[] values = pref.getEntryValues();
- for (int i=0; i<values.length; i++) {
- float val = Float.parseFloat(values[i].toString());
- if (scale <= val) {
- pref.setValueIndex(i);
- pref.setSummary(pref.getEntries()[i]);
- return;
- }
- }
- pref.setValueIndex(values.length-1);
- pref.setSummary(pref.getEntries()[0]);
+ pref.setScale(scale);
} catch (RemoteException e) {
}
}
@@ -1622,7 +1622,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
updateAnimationScaleValue(2, mAnimatorDurationScale);
}
- private void writeAnimationScaleOption(int which, ListPreference pref, Object newValue) {
+ private void writeAnimationScaleOption(int which, AnimationScalePreference pref,
+ Object newValue) {
try {
float scale = newValue != null ? Float.parseFloat(newValue.toString()) : 1;
mWindowManager.setAnimationScale(which, scale);
@@ -1837,6 +1838,16 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
}
@Override
+ public boolean onPreferenceClick(Preference preference) {
+ if (preference == mWindowAnimationScale ||
+ preference == mTransitionAnimationScale ||
+ preference == mAnimatorDurationScale) {
+ ((AnimationScalePreference) preference).click();
+ }
+ return false;
+ }
+
+ @Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (Utils.isMonkeyRunning()) {
return false;