diff options
author | Ankit Gupta <agupta@cyngn.com> | 2016-06-07 16:11:40 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-06-14 16:41:17 -0700 |
commit | 2813862d85c3fa624e869b1bd1af969a5ab8e52e (patch) | |
tree | 6005fe981fa04d30cd637fa0e3ba0438319d5ee5 /src | |
parent | 99ef9dc0b9a7db441ab643f27faf34503dcd4933 (diff) | |
download | packages_apps_Settings-2813862d85c3fa624e869b1bd1af969a5ab8e52e.zip packages_apps_Settings-2813862d85c3fa624e869b1bd1af969a5ab8e52e.tar.gz packages_apps_Settings-2813862d85c3fa624e869b1bd1af969a5ab8e52e.tar.bz2 |
Settings: fix crash when reset App preference
1. mExtraInfoBridge is null when there is no change
made in any app. Calling reset app preference cause
crash in this state.
2. move initialization of mApplication to onViewCreated
from onCreateView to make sure View has been created.
Issue-id: OPO-760
Change-Id: I7a26b27325b54694d2513e8365482c221a5c6b13
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/applications/ManageApplications.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index ba93038..5902fc2 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -303,13 +303,6 @@ public class ManageApplications extends InstrumentedFragment lv.setItemsCanFocus(true); lv.setTextFilterEnabled(true); mListView = lv; - mApplications = new ApplicationsAdapter(mApplicationsState, this, mFilter); - if (savedInstanceState != null) { - mApplications.mHasReceivedLoadEntries = - savedInstanceState.getBoolean(EXTRA_HAS_ENTRIES, false); - } - mListView.setAdapter(mApplications); - mListView.setRecyclerListener(mApplications); Utils.prepareCustomPreferencesList(container, mRootView, mListView, false); } @@ -320,8 +313,6 @@ public class ManageApplications extends InstrumentedFragment ((PreferenceFrameLayout.LayoutParams) mRootView.getLayoutParams()).removeBorders = true; } - createHeader(); - mResetAppsHelper.onRestoreInstanceState(savedInstanceState); return mRootView; @@ -366,6 +357,14 @@ public class ManageApplications extends InstrumentedFragment FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header); AppHeader.createAppHeader(getActivity(), null, mVolumeName, null, pinnedHeader); } + mApplications = new ApplicationsAdapter(mApplicationsState, this, mFilter); + if (savedInstanceState != null) { + mApplications.mHasReceivedLoadEntries = + savedInstanceState.getBoolean(EXTRA_HAS_ENTRIES, false); + } + mListView.setAdapter(mApplications); + mListView.setRecyclerListener(mApplications); + createHeader(); } private int getDefaultFilter() { @@ -623,7 +622,10 @@ public class ManageApplications extends InstrumentedFragment @Override public void onResetCompleted() { - mApplications.mExtraInfoBridge.onPackageListChanged(); + /* mExtraInfoBridge can be null when doing reset app preference without + * any changes on apps */ + if (mApplications.mExtraInfoBridge != null) + mApplications.mExtraInfoBridge.onPackageListChanged(); } static class FilterSpinnerAdapter extends ArrayAdapter<CharSequence> { |