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

Commit d11cca01 authored by Jason Monk's avatar Jason Monk
Browse files

Fix Settings home lifecycle

Bug: 27330440
Bug: 26268813
Change-Id: Ibb3729c9872be2488db3741ec72ba5a43e66db5f
parent 1a1ad649
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -58,11 +58,14 @@ public class DashboardSummary extends InstrumentedFragment

    private static final String SUGGESTIONS = "suggestions";

    private static final String EXTRA_SCROLL_POSITION = "scroll_position";

    private FocusRecyclerView mDashboard;
    private DashboardAdapter mAdapter;
    private SummaryLoader mSummaryLoader;
    private ConditionManager mConditionManager;
    private SuggestionParser mSuggestionParser;
    private LinearLayoutManager mLayoutManager;

    @Override
    protected int getMetricsCategory() {
@@ -133,17 +136,28 @@ public class DashboardSummary extends InstrumentedFragment
        return inflater.inflate(R.layout.dashboard, container, false);
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putInt(EXTRA_SCROLL_POSITION, mLayoutManager.findFirstVisibleItemPosition());
    }

    @Override
    public void onViewCreated(View view, Bundle bundle) {
        mDashboard = (FocusRecyclerView) view.findViewById(R.id.dashboard_container);
        LinearLayoutManager llm = new LinearLayoutManager(getContext());
        llm.setOrientation(LinearLayoutManager.VERTICAL);
        mDashboard.setLayoutManager(llm);
        mLayoutManager = new LinearLayoutManager(getContext());
        mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        if (bundle != null) {
            int scrollPosition = bundle.getInt(EXTRA_SCROLL_POSITION);
            mLayoutManager.scrollToPosition(scrollPosition);
        }
        mDashboard.setLayoutManager(mLayoutManager);
        mDashboard.setHasFixedSize(true);
        mDashboard.setListener(this);
        mAdapter = new DashboardAdapter(getContext());
        mAdapter.setConditions(mConditionManager.getConditions());
        mAdapter.setSuggestions(mSuggestionParser);
        mDashboard.setAdapter(mAdapter);
        mSummaryLoader.setAdapter(mAdapter);
        ConditionAdapterUtils.addDismiss(mDashboard);

@@ -164,7 +178,6 @@ public class DashboardSummary extends InstrumentedFragment

        // recheck to see if any suggestions have been changed.
        mAdapter.setSuggestions(mSuggestionParser);
        mDashboard.setAdapter(mAdapter);

        long delta = System.currentTimeMillis() - start;
        Log.d(TAG, "rebuildUI took: " + delta + " ms");