Cherish: Add animations to quick settings tiles [2/2]
Change-Id: I2e4009027d35a519a8e8b3b17e41b4dcd829c307 Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -54,6 +54,12 @@ import java.util.List;
|
||||
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
|
||||
public class AnimationsSettings extends SettingsPreferenceFragment
|
||||
implements OnPreferenceChangeListener {
|
||||
|
||||
private static final String PREF_TILE_ANIM_STYLE = "qs_tile_animation_style";
|
||||
private static final String PREF_TILE_ANIM_DURATION = "qs_tile_animation_duration";
|
||||
|
||||
private ListPreference mTileAnimationStyle;
|
||||
private ListPreference mTileAnimationDuration;
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
@@ -66,6 +72,22 @@ public class AnimationsSettings extends SettingsPreferenceFragment
|
||||
addPreferencesFromResource(R.xml.cherish_settings_animations);
|
||||
ContentResolver resolver = getActivity().getContentResolver();
|
||||
PreferenceScreen prefs = getPreferenceScreen();
|
||||
|
||||
// QS animation
|
||||
mTileAnimationStyle = (ListPreference) findPreference(PREF_TILE_ANIM_STYLE);
|
||||
int tileAnimationStyle = Settings.System.getIntForUser(resolver,
|
||||
Settings.System.ANIM_TILE_STYLE, 0, UserHandle.USER_CURRENT);
|
||||
mTileAnimationStyle.setValue(String.valueOf(tileAnimationStyle));
|
||||
updateTileAnimationStyleSummary(tileAnimationStyle);
|
||||
updateAnimTileDuration(tileAnimationStyle);
|
||||
mTileAnimationStyle.setOnPreferenceChangeListener(this);
|
||||
|
||||
mTileAnimationDuration = (ListPreference) findPreference(PREF_TILE_ANIM_DURATION);
|
||||
int tileAnimationDuration = Settings.System.getIntForUser(resolver,
|
||||
Settings.System.ANIM_TILE_DURATION, 2000, UserHandle.USER_CURRENT);
|
||||
mTileAnimationDuration.setValue(String.valueOf(tileAnimationDuration));
|
||||
updateTileAnimationDurationSummary(tileAnimationDuration);
|
||||
mTileAnimationDuration.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -76,9 +98,43 @@ public class AnimationsSettings extends SettingsPreferenceFragment
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
ContentResolver resolver = getActivity().getContentResolver();
|
||||
return false;
|
||||
}
|
||||
if (preference == mTileAnimationStyle) {
|
||||
int tileAnimationStyle = Integer.valueOf((String) newValue);
|
||||
Settings.System.putIntForUser(resolver, Settings.System.ANIM_TILE_STYLE,
|
||||
tileAnimationStyle, UserHandle.USER_CURRENT);
|
||||
updateTileAnimationStyleSummary(tileAnimationStyle);
|
||||
updateAnimTileDuration(tileAnimationStyle);
|
||||
return true;
|
||||
} else if (preference == mTileAnimationDuration) {
|
||||
int tileAnimationDuration = Integer.valueOf((String) newValue);
|
||||
Settings.System.putIntForUser(resolver, Settings.System.ANIM_TILE_DURATION,
|
||||
tileAnimationDuration, UserHandle.USER_CURRENT);
|
||||
updateTileAnimationDurationSummary(tileAnimationDuration);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void updateTileAnimationStyleSummary(int tileAnimationStyle) {
|
||||
String prefix = (String) mTileAnimationStyle.getEntries()[mTileAnimationStyle.findIndexOfValue(String
|
||||
.valueOf(tileAnimationStyle))];
|
||||
mTileAnimationStyle.setSummary(getResources().getString(R.string.qs_set_animation_style, prefix));
|
||||
}
|
||||
|
||||
private void updateTileAnimationDurationSummary(int tileAnimationDuration) {
|
||||
String prefix = (String) mTileAnimationDuration.getEntries()[mTileAnimationDuration.findIndexOfValue(String
|
||||
.valueOf(tileAnimationDuration))];
|
||||
mTileAnimationDuration.setSummary(getResources().getString(R.string.qs_set_animation_duration, prefix));
|
||||
}
|
||||
|
||||
private void updateAnimTileDuration(int tileAnimationStyle) {
|
||||
if (mTileAnimationDuration != null) {
|
||||
if (tileAnimationStyle == 0) {
|
||||
mTileAnimationDuration.setSelectable(false);
|
||||
} else {
|
||||
mTileAnimationDuration.setSelectable(true);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* For Search.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user