Fix loading screens for manage and running apps

Also add loading screen to manage permissions as this can take a
long time to load in some circumstances. Build loading screens into
Utils and SettingsPreferenceFragment so that it can be easily used
other places in the future.

Change-Id: I7febd06695487e02ced793a9fd418051b5f0eab8
This commit is contained in:
Jason Monk
2015-03-31 12:59:33 -04:00
parent 5f937152a5
commit b5aa73f46f
9 changed files with 123 additions and 77 deletions

View File

@@ -358,6 +358,7 @@ public class ManageApplications extends InstrumentedFragment
updateOptionsMenu();
if (mApplications != null) {
mApplications.resume(mSortOrder);
mApplications.updateLoading();
}
}
@@ -746,17 +747,20 @@ public class ManageApplications extends InstrumentedFragment
}
notifyDataSetChanged();
if (entries == null) {
mManageApplications.mListContainer.setVisibility(View.INVISIBLE);
mManageApplications.mLoadingContainer.setVisibility(View.VISIBLE);
} else {
mManageApplications.mListContainer.setVisibility(View.VISIBLE);
mManageApplications.mLoadingContainer.setVisibility(View.GONE);
if (mEntries.size() != 0
&& mManageApplications.mListContainer.getVisibility() != View.VISIBLE) {
Utils.handleLoadingContainer(mManageApplications.mLoadingContainer,
mManageApplications.mListContainer, true, true);
}
mManageApplications.setHasDisabled(hasDisabledApps());
}
private void updateLoading() {
Utils.handleLoadingContainer(mManageApplications.mLoadingContainer,
mManageApplications.mListContainer, mEntries.size() != 0, false);
}
private boolean hasDisabledApps() {
ArrayList<AppEntry> allApps = mSession.getAllApps();
for (int i = 0; i < allApps.size(); i++) {