Merge changes I22d799f8,I1bc14e7a into nyc-dev

* changes:
  Guard against crash in dev options
  Switch to whitelist for animations
This commit is contained in:
Jason Monk
2016-03-28 14:14:01 +00:00
committed by Android (Google) Code Review
7 changed files with 16 additions and 8 deletions

View File

@@ -1720,6 +1720,9 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
DialogInterface.OnDismissListener onDismissListener = new DialogInterface.OnDismissListener() { DialogInterface.OnDismissListener onDismissListener = new DialogInterface.OnDismissListener() {
@Override @Override
public void onDismiss(DialogInterface dialog) { public void onDismiss(DialogInterface dialog) {
if (getActivity() == null) {
return;
}
updateAllOptions(); updateAllOptions();
} }
}; };

View File

@@ -209,14 +209,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

@@ -175,6 +175,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);