summaryrefslogtreecommitdiffstats
path: root/src/com/cyngn/theme/chooser/ThemeFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyngn/theme/chooser/ThemeFragment.java')
-rw-r--r--src/com/cyngn/theme/chooser/ThemeFragment.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/com/cyngn/theme/chooser/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java
index 7f9d2af..8458637 100644
--- a/src/com/cyngn/theme/chooser/ThemeFragment.java
+++ b/src/com/cyngn/theme/chooser/ThemeFragment.java
@@ -5,6 +5,7 @@ package com.cyngn.theme.chooser;
import android.Manifest;
import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.IntEvaluator;
import android.animation.ObjectAnimator;
@@ -180,6 +181,8 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
private static final int ADDITIONAL_CONTENT_SPACE_ID = 123456;
private static final long SLIDE_CONTENT_ANIM_DURATION = 300L;
+ private static final long LOCK_SCREEN_CARD_SCROLL_ANIMATION_DURATION = 400;
+ private static final long SHOW_LOCK_SCREEN_CARD_DELAY = 500;
private static final int DEFAULT_WIFI_MARGIN = 0;
private static final int DEFAULT_CLOCK_COLOR = Color.WHITE;
@@ -189,6 +192,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
protected static final String ARG_PACKAGE_NAME = "pkgName";
protected static final String ARG_COMPONENT_ID = "cmpntId";
protected static final String ARG_SKIP_LOADING_ANIM = "skipLoadingAnim";
+ protected static final String ARG_SHOW_ANIMATED_LOCK_SCREEN_ONLY = "showAnimatedLockScreenOnly";
private static final String LLS_PACKAGE_NAME = "com.cyngn.lockscreen.live";
private static final String LLS_PROVIDER_NAME =
@@ -315,6 +319,8 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
private static final int mThemeVersion = ThemeVersion.getVersion();
+ protected boolean mShowAnimatedLockScreenSelectorAfterContentLoaded;
+
protected enum CustomizeResetAction {
Customize,
Reset,
@@ -1333,6 +1339,10 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
animateContentIn();
}
});
+ if (mShowAnimatedLockScreenSelectorAfterContentLoaded) {
+ getChooserActivity().expandContentAndAnimateLockScreenCardIn();
+ mShowAnimatedLockScreenSelectorAfterContentLoaded = false;
+ }
break;
case LOADER_ID_STATUS_BAR:
loadStatusBar(c, animate);
@@ -2733,6 +2743,32 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
scrollAnimator.start();
}
+ public void showAnimatedLockScreenCard() {
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ final ValueAnimator scrollAnimator =
+ ValueAnimator.ofInt(0, mStyleCard.getBottom());
+ scrollAnimator.setDuration(LOCK_SCREEN_CARD_SCROLL_ANIMATION_DURATION);
+ scrollAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ int value = (Integer) animation.getAnimatedValue();
+ mScrollView.scrollTo(0, value);
+ }
+ });
+ scrollAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ super.onAnimationEnd(animation);
+ mCardClickListener.onClick(mLockScreenCard);
+ }
+ });
+ scrollAnimator.start();
+ }
+ }, SHOW_LOCK_SCREEN_CARD_DELAY);
+ }
+
class AnimationLoader extends AsyncTask<Void, Void, Boolean> {
Context mContext;
String mPkgName;