Reduce jank around loading view when opening data usage UI

Change-Id: I3d23d8160b046de8fe125ba0697b7b3d7786453c
Fix: 28181319
Test: robotests
This commit is contained in:
Fan Zhang
2017-06-26 14:22:45 -07:00
parent c26ae0677e
commit 896f1b363c
8 changed files with 227 additions and 86 deletions

View File

@@ -15,7 +15,6 @@
*/
package com.android.settings.applications;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -27,7 +26,7 @@ import android.view.ViewGroup;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.widget.LoadingViewController;
public class RunningServices extends SettingsPreferenceFragment {
@@ -37,6 +36,7 @@ public class RunningServices extends SettingsPreferenceFragment {
private RunningProcessesView mRunningProcessesView;
private Menu mOptionsMenu;
private View mLoadingContainer;
private LoadingViewController mLoadingViewController;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -47,12 +47,13 @@ public class RunningServices extends SettingsPreferenceFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.manage_applications_running, null);
mRunningProcessesView = (RunningProcessesView) rootView.findViewById(
R.id.running_processes);
mRunningProcessesView = rootView.findViewById(R.id.running_processes);
mRunningProcessesView.doCreate();
mLoadingContainer = rootView.findViewById(R.id.loading_container);
mLoadingViewController = new LoadingViewController(
mLoadingContainer, mRunningProcessesView);
return rootView;
}
@@ -71,7 +72,7 @@ public class RunningServices extends SettingsPreferenceFragment {
public void onResume() {
super.onResume();
boolean haveData = mRunningProcessesView.doResume(this, mRunningProcessesAvail);
Utils.handleLoadingContainer(mLoadingContainer, mRunningProcessesView, haveData, false);
mLoadingViewController.handleLoadingContainer(haveData /* done */, false /* animate */);
}
@Override
@@ -115,7 +116,7 @@ public class RunningServices extends SettingsPreferenceFragment {
private final Runnable mRunningProcessesAvail = new Runnable() {
@Override
public void run() {
Utils.handleLoadingContainer(mLoadingContainer, mRunningProcessesView, true, true);
mLoadingViewController.showContent(true /* animate */);
}
};