diff options
author | Clark Scheff <clark@cyngn.com> | 2014-07-25 11:56:46 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2014-07-28 10:31:23 -0700 |
commit | 4b8f4a4b93647ac06a942fc0802bbacff5ff4323 (patch) | |
tree | 344b8a65f75f12c4dcaf4b2071a36d163fc8cafb /src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java | |
parent | f0afe9ffc536bda859393a2782399f04f54c1635 (diff) | |
download | packages_apps_ThemeChooser-4b8f4a4b93647ac06a942fc0802bbacff5ff4323.zip packages_apps_ThemeChooser-4b8f4a4b93647ac06a942fc0802bbacff5ff4323.tar.gz packages_apps_ThemeChooser-4b8f4a4b93647ac06a942fc0802bbacff5ff4323.tar.bz2 |
Show blank card with loading indicator while loading card.
Once the card is loaded the blank card and loading indicator will
fade out, revealing the loaded content.
Change-Id: I5812cfa837e9a8decdd2cd2a69c1d4e2e30a4aff
Diffstat (limited to 'src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java')
-rw-r--r-- | src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java b/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java index f6b175c..87057bf 100644 --- a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java +++ b/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java @@ -15,7 +15,10 @@ */ package org.cyanogenmod.theme.chooserv2; +import android.animation.Animator; +import android.animation.AnimatorSet; import android.animation.IntEvaluator; +import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.app.WallpaperManager; import android.content.ComponentName; @@ -175,6 +178,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb private ScrollView mScrollView; private ViewGroup mScrollContent; private ViewGroup mPreviewContent; // Contains icons, font, nav/status etc. Not wallpaper + private View mLoadingView; //Status Bar Views private ImageView mBluetooth; @@ -286,6 +290,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb mScrollView = (ScrollView) v.findViewById(android.R.id.list); mScrollContent = (ViewGroup) mScrollView.getChildAt(0); mPreviewContent = (ViewGroup) v.findViewById(R.id.preview_container); + mLoadingView = v.findViewById(R.id.loading_view); // Status Bar mStatusBar = (ViewGroup) v.findViewById(R.id.status_bar); @@ -1065,6 +1070,12 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb loadTitle(c); loadFont(c, false); loadAndRemoveAdditionalCards(c); + mHandler.post(new Runnable() { + @Override + public void run() { + animateContentIn(); + } + }); break; case LOADER_ID_STATUS_BAR: loadStatusBar(c, true); @@ -1102,6 +1113,9 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } } + @Override + public void onLoaderReset(Loader<Cursor> loader) {} + private void loadAndRemoveAdditionalCards(Cursor c) { LinkedList<View> removeList = new LinkedList<View>(); for(int i=0; i < mAdditionalCards.getChildCount(); i++) { @@ -1194,9 +1208,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb return pkg != null && pkg.equals(mPkgName); } - @Override - public void onLoaderReset(Loader<Cursor> loader) {} - private void loadTitle(Cursor c) { if (CURRENTLY_APPLIED_THEME.equals(mPkgName)) { mTitle.setText(R.string.my_theme); @@ -1740,6 +1751,32 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb mProgress.startAnimation(scaleAnim); } + private void animateContentIn() { + AnimatorSet set = new AnimatorSet(); + set.setDuration(ANIMATE_TITLE_IN_DURATION); + set.play(ObjectAnimator.ofFloat(mLoadingView, "alpha", 1f, 0f)) + .with(ObjectAnimator.ofFloat(mTitleLayout, "alpha", 0f, 1f)); + set.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + } + + @Override + public void onAnimationEnd(Animator animation) { + mLoadingView.setVisibility(View.GONE); + } + + @Override + public void onAnimationCancel(Animator animation) { + } + + @Override + public void onAnimationRepeat(Animator animation) { + } + }); + set.start(); + } + public void fadeInCards() { mActiveCardId = -1; for (int i = 0; i < mCardIdsToComponentTypes.size(); i++) { |