/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.android.storagemanager.utils; import android.view.View; import android.view.animation.Animation; import android.view.animation.Animation.AnimationListener; import android.view.animation.AnimationUtils; public class Utils { public static void handleLoadingContainer( View loading, View doneLoading, boolean done, boolean animate) { setViewShown(loading, !done, animate); setViewShown(doneLoading, done, animate); } private static void setViewShown(final View view, boolean shown, boolean animate) { if (animate) { Animation animation = AnimationUtils.loadAnimation( view.getContext(), shown ? android.R.anim.fade_in : android.R.anim.fade_out); if (shown) { view.setVisibility(View.VISIBLE); } else { animation.setAnimationListener( new AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void onAnimationRepeat(Animation animation) {} @Override public void onAnimationEnd(Animation animation) { view.setVisibility(View.GONE); } }); } view.startAnimation(animation); } else { view.clearAnimation(); view.setVisibility(shown ? View.VISIBLE : View.GONE); } } }