Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5faf908c authored by Ankit Gupta's avatar Ankit Gupta Committed by Danesh M
Browse files

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
(cherry picked from commit 2813862d)
parent 4f681b7b
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -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() {
@@ -621,6 +620,9 @@ public class ManageApplications extends InstrumentedFragment

    @Override
    public void onResetCompleted() {
        /* mExtraInfoBridge can be null when doing reset app preference without
         * any changes on apps */
        if (mApplications.mExtraInfoBridge != null)
            mApplications.mExtraInfoBridge.onPackageListChanged();
    }