Revert "Fix 'No Apps' UI issues of ManageApplications"
This reverts commit 4a97095e36
.
Reason for revert: <It has abnormal scroll behavior when there is no profile tab>
Bug: 191945032
Bug: 191944934
Change-Id: Id6c71fbec4f490034bc07f6d8c9efabcb877d110
This commit is contained in:
@@ -22,66 +22,34 @@ import android.view.View;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* A helper class that manages show/hide loading spinner, content view and empty view (optional).
|
||||
* A helper class that manages show/hide loading spinner.
|
||||
*/
|
||||
public class LoadingViewController {
|
||||
|
||||
private static final long DELAY_SHOW_LOADING_CONTAINER_THRESHOLD_MS = 100L;
|
||||
|
||||
private final Handler mFgHandler;
|
||||
private final View mLoadingView;
|
||||
private final View mContentView;
|
||||
private final View mEmptyView;
|
||||
public final Handler mFgHandler;
|
||||
public final View mLoadingView;
|
||||
public final View mContentView;
|
||||
|
||||
public LoadingViewController(View loadingView, View contentView) {
|
||||
this(loadingView, contentView, null /* emptyView*/);
|
||||
}
|
||||
|
||||
public LoadingViewController(View loadingView, View contentView, @Nullable View emptyView) {
|
||||
mLoadingView = loadingView;
|
||||
mContentView = contentView;
|
||||
mEmptyView = emptyView;
|
||||
mFgHandler = new Handler(Looper.getMainLooper());
|
||||
}
|
||||
|
||||
private Runnable mShowLoadingContainerRunnable = new Runnable() {
|
||||
public void run() {
|
||||
showLoadingView();
|
||||
handleLoadingContainer(false /* done */, false /* animate */);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Shows content view and hides loading view & empty view.
|
||||
*/
|
||||
public void showContent(boolean animate) {
|
||||
// Cancel any pending task to show the loading animation and show the list of
|
||||
// apps directly.
|
||||
mFgHandler.removeCallbacks(mShowLoadingContainerRunnable);
|
||||
handleLoadingContainer(true /* showContent */, false /* showEmpty*/, animate);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows empty view and hides loading view & content view.
|
||||
*/
|
||||
public void showEmpty(boolean animate) {
|
||||
if (mEmptyView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Cancel any pending task to show the loading animation and show the list of
|
||||
// apps directly.
|
||||
mFgHandler.removeCallbacks(mShowLoadingContainerRunnable);
|
||||
handleLoadingContainer(false /* showContent */, true /* showEmpty */, animate);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows loading view and hides content view & empty view.
|
||||
*/
|
||||
public void showLoadingView() {
|
||||
handleLoadingContainer(false /* showContent */, false /* showEmpty */, false /* animate */);
|
||||
handleLoadingContainer(true /* show */, animate);
|
||||
}
|
||||
|
||||
public void showLoadingViewDelayed() {
|
||||
@@ -89,9 +57,8 @@ public class LoadingViewController {
|
||||
mShowLoadingContainerRunnable, DELAY_SHOW_LOADING_CONTAINER_THRESHOLD_MS);
|
||||
}
|
||||
|
||||
private void handleLoadingContainer(boolean showContent, boolean showEmpty, boolean animate) {
|
||||
handleLoadingContainer(mLoadingView, mContentView, mEmptyView,
|
||||
showContent, showEmpty, animate);
|
||||
public void handleLoadingContainer(boolean done, boolean animate) {
|
||||
handleLoadingContainer(mLoadingView, mContentView, done, animate);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -108,25 +75,6 @@ public class LoadingViewController {
|
||||
setViewShown(content, done, animate);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show/hide loading view and content view and empty view.
|
||||
*
|
||||
* @param loading The loading spinner view
|
||||
* @param content The content view
|
||||
* @param empty The empty view shows no item summary to users.
|
||||
* @param showContent If true, content is set visible and loading is set invisible.
|
||||
* @param showEmpty If true, empty is set visible and loading is set invisible.
|
||||
* @param animate Whether or not content/loading views should animate in/out.
|
||||
*/
|
||||
public static void handleLoadingContainer(View loading, View content, View empty,
|
||||
boolean showContent, boolean showEmpty, boolean animate) {
|
||||
if (empty != null) {
|
||||
setViewShown(empty, showEmpty, animate);
|
||||
}
|
||||
setViewShown(content, showContent, animate);
|
||||
setViewShown(loading, !showContent && !showEmpty, animate);
|
||||
}
|
||||
|
||||
private static void setViewShown(final View view, boolean shown, boolean animate) {
|
||||
if (animate) {
|
||||
Animation animation = AnimationUtils.loadAnimation(view.getContext(),
|
||||
|
Reference in New Issue
Block a user