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:
@@ -208,14 +208,6 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
return resid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPreferenceScreen(PreferenceScreen preferenceScreen) {
|
||||
if (!preferenceScreen.isAttached()) {
|
||||
preferenceScreen.setShouldUseGeneratedIds(false);
|
||||
}
|
||||
super.setPreferenceScreen(preferenceScreen);
|
||||
}
|
||||
|
||||
/**
|
||||
* Important!
|
||||
*
|
||||
|
@@ -99,6 +99,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
||||
private LinearLayoutManager mLayoutManager;
|
||||
private HighlightablePreferenceGroupAdapter mAdapter;
|
||||
private ArrayMap<String, Preference> mPreferenceCache;
|
||||
private boolean mAnimationAllowed;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
@@ -304,6 +305,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
||||
|
||||
@Override
|
||||
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);
|
||||
if (preferenceScreen != null) {
|
||||
if (mHeader != null) {
|
||||
@@ -369,6 +374,10 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
||||
return mAdapter;
|
||||
}
|
||||
|
||||
protected void setAnimationAllowed(boolean animationAllowed) {
|
||||
mAnimationAllowed = animationAllowed;
|
||||
}
|
||||
|
||||
protected void cacheRemoveAllPrefs(PreferenceGroup group) {
|
||||
mPreferenceCache = new ArrayMap<String, Preference>();
|
||||
final int N = group.getPreferenceCount();
|
||||
|
@@ -77,6 +77,7 @@ public abstract class DeviceListPreferenceFragment extends
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setAnimationAllowed(true);
|
||||
|
||||
mLocalManager = Utils.getLocalBtManager(getActivity());
|
||||
if (mLocalManager == null) {
|
||||
|
@@ -50,6 +50,7 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
setAnimationAllowed(true);
|
||||
setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext()));
|
||||
mApplicationsState = ApplicationsState.getInstance(
|
||||
(Application) getContext().getApplicationContext());
|
||||
|
@@ -82,6 +82,7 @@ public class PowerUsageSummary extends PowerUsageBase {
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
setAnimationAllowed(true);
|
||||
|
||||
addPreferencesFromResource(R.xml.power_usage_summary);
|
||||
mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_HISTORY);
|
||||
|
@@ -178,6 +178,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
setAnimationAllowed(true);
|
||||
addPreferencesFromResource(R.xml.wifi_settings);
|
||||
mAddPreference = new Preference(getContext());
|
||||
mAddPreference.setIcon(R.drawable.ic_menu_add_inset);
|
||||
|
Reference in New Issue
Block a user