From 228638019d95450b419a25680f3dade69b3e29ae Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Wed, 30 Mar 2016 13:24:37 -0400 Subject: [PATCH] Fix bridged app list saved scroll state (don't clear the list when we have the info) Fixes: 27185911 Change-Id: Ieda4fd0fc6dd662741da9a1805c1435d4473490d --- .../android/settings/applications/ManageApplications.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index 34fed5717cc..2dd3299311b 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -106,6 +106,7 @@ public class ManageApplications extends InstrumentedFragment private static final String EXTRA_SORT_ORDER = "sortOrder"; private static final String EXTRA_SHOW_SYSTEM = "showSystem"; private static final String EXTRA_HAS_ENTRIES = "hasEntries"; + private static final String EXTRA_HAS_BRIDGE = "hasBridge"; // attributes used as keys when passing values to InstalledAppDetails activity public static final String APP_CHG = "chg"; @@ -314,6 +315,8 @@ public class ManageApplications extends InstrumentedFragment if (savedInstanceState != null) { mApplications.mHasReceivedLoadEntries = savedInstanceState.getBoolean(EXTRA_HAS_ENTRIES, false); + mApplications.mHasReceivedBridgeCallback = + savedInstanceState.getBoolean(EXTRA_HAS_BRIDGE, false); } mListView.setAdapter(mApplications); mListView.setRecyclerListener(mApplications); @@ -447,6 +450,7 @@ public class ManageApplications extends InstrumentedFragment outState.putInt(EXTRA_SORT_ORDER, mSortOrder); outState.putBoolean(EXTRA_SHOW_SYSTEM, mShowSystem); outState.putBoolean(EXTRA_HAS_ENTRIES, mApplications.mHasReceivedLoadEntries); + outState.putBoolean(EXTRA_HAS_BRIDGE, mApplications.mHasReceivedBridgeCallback); } @Override @@ -822,7 +826,7 @@ public class ManageApplications extends InstrumentedFragment if (mExtraInfoBridge != null) { mExtraInfoBridge.resume(); } - rebuild(true); + rebuild(false); } else { rebuild(sort); } @@ -855,7 +859,7 @@ public class ManageApplications extends InstrumentedFragment public void rebuild(boolean eraseold) { if (!mHasReceivedLoadEntries - && (mExtraInfoBridge == null || mHasReceivedBridgeCallback)) { + || (mExtraInfoBridge != null && !mHasReceivedBridgeCallback)) { // Don't rebuild the list until all the app entries are loaded. return; }