Switch to whitelist for animations

Disable animations for all SettingsPreferenceFragments, unless they
explicitly ask for them before creating their preference screens.

Turn it on for all fragments using the cached removal currently.

Bug: 27713314
Change-Id: I1bc14e7aeb3ee5b8ddb4f3547f472305cd312edf
This commit is contained in:
Jason Monk
2016-03-18 14:23:01 -04:00
parent 297ce9aaf3
commit f38fb38f26
6 changed files with 13 additions and 8 deletions

View File

@@ -208,14 +208,6 @@ public class SecuritySettings extends SettingsPreferenceFragment
return resid; return resid;
} }
@Override
public void setPreferenceScreen(PreferenceScreen preferenceScreen) {
if (!preferenceScreen.isAttached()) {
preferenceScreen.setShouldUseGeneratedIds(false);
}
super.setPreferenceScreen(preferenceScreen);
}
/** /**
* Important! * Important!
* *

View File

@@ -99,6 +99,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
private LinearLayoutManager mLayoutManager; private LinearLayoutManager mLayoutManager;
private HighlightablePreferenceGroupAdapter mAdapter; private HighlightablePreferenceGroupAdapter mAdapter;
private ArrayMap<String, Preference> mPreferenceCache; private ArrayMap<String, Preference> mPreferenceCache;
private boolean mAnimationAllowed;
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
@@ -304,6 +305,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
@Override @Override
public void setPreferenceScreen(PreferenceScreen preferenceScreen) { public void setPreferenceScreen(PreferenceScreen preferenceScreen) {
if (!preferenceScreen.isAttached()) {
// Without ids generated, the RecyclerView won't animate changes to the preferences.
preferenceScreen.setShouldUseGeneratedIds(mAnimationAllowed);
}
super.setPreferenceScreen(preferenceScreen); super.setPreferenceScreen(preferenceScreen);
if (preferenceScreen != null) { if (preferenceScreen != null) {
if (mHeader != null) { if (mHeader != null) {
@@ -369,6 +374,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
return mAdapter; return mAdapter;
} }
protected void setAnimationAllowed(boolean animationAllowed) {
mAnimationAllowed = animationAllowed;
}
protected void cacheRemoveAllPrefs(PreferenceGroup group) { protected void cacheRemoveAllPrefs(PreferenceGroup group) {
mPreferenceCache = new ArrayMap<String, Preference>(); mPreferenceCache = new ArrayMap<String, Preference>();
final int N = group.getPreferenceCount(); final int N = group.getPreferenceCount();

View File

@@ -77,6 +77,7 @@ public abstract class DeviceListPreferenceFragment extends
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setAnimationAllowed(true);
mLocalManager = Utils.getLocalBtManager(getActivity()); mLocalManager = Utils.getLocalBtManager(getActivity());
if (mLocalManager == null) { if (mLocalManager == null) {

View File

@@ -50,6 +50,7 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
setAnimationAllowed(true);
setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext())); setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext()));
mApplicationsState = ApplicationsState.getInstance( mApplicationsState = ApplicationsState.getInstance(
(Application) getContext().getApplicationContext()); (Application) getContext().getApplicationContext());

View File

@@ -82,6 +82,7 @@ public class PowerUsageSummary extends PowerUsageBase {
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
setAnimationAllowed(true);
addPreferencesFromResource(R.xml.power_usage_summary); addPreferencesFromResource(R.xml.power_usage_summary);
mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_HISTORY); mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_HISTORY);

View File

@@ -178,6 +178,7 @@ public class WifiSettings extends RestrictedSettingsFragment
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
setAnimationAllowed(true);
addPreferencesFromResource(R.xml.wifi_settings); addPreferencesFromResource(R.xml.wifi_settings);
mAddPreference = new Preference(getContext()); mAddPreference = new Preference(getContext());
mAddPreference.setIcon(R.drawable.ic_menu_add_inset); mAddPreference.setIcon(R.drawable.ic_menu_add_inset);