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

@@ -23,9 +23,9 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import com.android.settings.R;
import com.android.settings.Utils;
public class RunningServices extends Fragment {
@@ -69,12 +69,7 @@ public class RunningServices extends Fragment {
public void onResume() {
super.onResume();
boolean haveData = mRunningProcessesView.doResume(this, mRunningProcessesAvail);
if (haveData) {
mRunningProcessesView.setVisibility(View.VISIBLE);
mLoadingContainer.setVisibility(View.INVISIBLE);
} else {
mLoadingContainer.setVisibility(View.VISIBLE);
}
Utils.handleLoadingContainer(mLoadingContainer, mRunningProcessesView, haveData, false);
}
@Override
@@ -110,19 +105,10 @@ public class RunningServices extends Fragment {
mOptionsMenu.findItem(SHOW_BACKGROUND_PROCESSES).setVisible(!showingBackground);
}
private void handleRunningProcessesAvail() {
mLoadingContainer.startAnimation(AnimationUtils.loadAnimation(getActivity(),
android.R.anim.fade_out));
mRunningProcessesView.startAnimation(AnimationUtils.loadAnimation(getActivity(),
android.R.anim.fade_in));
mRunningProcessesView.setVisibility(View.VISIBLE);
mLoadingContainer.setVisibility(View.GONE);
}
private final Runnable mRunningProcessesAvail = new Runnable() {
@Override
public void run() {
handleRunningProcessesAvail();
Utils.handleLoadingContainer(mLoadingContainer, mRunningProcessesView, true, true);
}
};