Merge "Fix loading screen one more time" into mnc-dev

This commit is contained in:
Jason Monk
2015-05-21 20:13:37 +00:00
committed by Android (Google) Code Review

View File

@@ -27,7 +27,6 @@ import android.os.Environment;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.preference.PreferenceFrameLayout; import android.preference.PreferenceFrameLayout;
import android.provider.Settings;
import android.util.ArraySet; import android.util.ArraySet;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@@ -661,6 +660,8 @@ public class ManageApplications extends InstrumentedFragment
CharSequence mCurFilterPrefix; CharSequence mCurFilterPrefix;
private PackageManager mPm; private PackageManager mPm;
private AppFilter mOverrideFilter; private AppFilter mOverrideFilter;
private boolean mHasReceivedLoadEntries;
private boolean mHasReceivedBridgeCallback;
private Filter mFilter = new Filter() { private Filter mFilter = new Filter() {
@Override @Override
@@ -753,6 +754,11 @@ public class ManageApplications extends InstrumentedFragment
} }
public void rebuild(boolean eraseold) { public void rebuild(boolean eraseold) {
if (!mHasReceivedLoadEntries
&& (mExtraInfoBridge == null || mHasReceivedBridgeCallback)) {
// Don't rebuild the list until all the app entries are loaded.
return;
}
if (DEBUG) Log.i(TAG, "Rebuilding app list..."); if (DEBUG) Log.i(TAG, "Rebuilding app list...");
ApplicationsState.AppFilter filterObj; ApplicationsState.AppFilter filterObj;
Comparator<AppEntry> comparatorObj; Comparator<AppEntry> comparatorObj;
@@ -817,17 +823,8 @@ public class ManageApplications extends InstrumentedFragment
private void updateLoading() { private void updateLoading() {
Utils.handleLoadingContainer(mManageApplications.mLoadingContainer, Utils.handleLoadingContainer(mManageApplications.mLoadingContainer,
mManageApplications.mListContainer, mSession.getAllApps().size() != 0, false); mManageApplications.mListContainer,
} mHasReceivedLoadEntries && mSession.getAllApps().size() != 0, false);
private boolean hasDisabledApps() {
ArrayList<AppEntry> allApps = mSession.getAllApps();
for (int i = 0; i < allApps.size(); i++) {
if (!allApps.get(i).info.enabled) {
return true;
}
}
return false;
} }
ArrayList<ApplicationsState.AppEntry> applyPrefixFilter(CharSequence prefix, ArrayList<ApplicationsState.AppEntry> applyPrefixFilter(CharSequence prefix,
@@ -852,6 +849,7 @@ public class ManageApplications extends InstrumentedFragment
@Override @Override
public void onExtraInfoUpdated() { public void onExtraInfoUpdated() {
mHasReceivedBridgeCallback = true;
rebuild(false); rebuild(false);
} }
@@ -888,7 +886,7 @@ public class ManageApplications extends InstrumentedFragment
@Override @Override
public void onLoadEntriesCompleted() { public void onLoadEntriesCompleted() {
// No op. mHasReceivedLoadEntries = true;
} }
@Override @Override