aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/onboarding/WelcomeFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/onboarding/WelcomeFragment.java')
-rw-r--r--src/com/android/tv/onboarding/WelcomeFragment.java82
1 files changed, 23 insertions, 59 deletions
diff --git a/src/com/android/tv/onboarding/WelcomeFragment.java b/src/com/android/tv/onboarding/WelcomeFragment.java
index 00f7fe8d..ed85df68 100644
--- a/src/com/android/tv/onboarding/WelcomeFragment.java
+++ b/src/com/android/tv/onboarding/WelcomeFragment.java
@@ -20,11 +20,8 @@ import android.animation.Animator;
import android.animation.AnimatorInflater;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
-import android.app.Activity;
-import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
-import android.support.v17.leanback.app.OnboardingFragment;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@@ -34,6 +31,7 @@ import android.widget.ImageView;
import com.android.tv.R;
import com.android.tv.common.ui.setup.SetupActionHelper;
import com.android.tv.common.ui.setup.animation.SetupAnimationHelper;
+import com.android.tv.common.ui.setup.leanback.OnboardingFragment;
import java.util.ArrayList;
import java.util.List;
@@ -582,6 +580,7 @@ public class WelcomeFragment extends OnboardingFragment {
private ImageView mArrowView;
private Animator mAnimator;
+ private boolean mNeedToEndAnimator;
public WelcomeFragment() {
setExitTransition(new SetupAnimationHelper.TransitionBuilder()
@@ -590,63 +589,16 @@ public class WelcomeFragment extends OnboardingFragment {
.build());
}
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- initialize();
- }
-
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- initialize();
- }
-
- private void initialize() {
- if (mPageTitles == null) {
- mPageTitles = getResources().getStringArray(R.array.welcome_page_titles);
- mPageDescriptions = getResources().getStringArray(R.array.welcome_page_descriptions);
- }
- }
-
@Nullable
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = super.onCreateView(inflater, container, savedInstanceState);
- setLogoResourceId(R.drawable.splash_logo);
- if (savedInstanceState != null) {
- switch (getCurrentPageIndex()) {
- case 0:
- mTvContentView.setImageResource(
- TV_FRAMES_1_START[TV_FRAMES_1_START.length - 1]);
- break;
- case 1:
- mTvContentView.setImageResource(
- TV_FRAMES_2_START[TV_FRAMES_2_START.length - 1]);
- break;
- case 2:
- mTvContentView.setImageResource(
- TV_FRAMES_3_ORANGE_START[TV_FRAMES_3_ORANGE_START.length - 1]);
- mArrowView.setImageResource(TV_FRAMES_3_BLUE_ARROW[0]);
- break;
- case 3:
- default:
- mTvContentView.setImageResource(
- TV_FRAMES_4_START[TV_FRAMES_4_START.length - 1]);
- break;
- }
- }
- return view;
- }
-
- @Override
- public int onProvideTheme() {
- return R.style.Theme_Leanback_Onboarding;
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ mPageTitles = getResources().getStringArray(R.array.welcome_page_titles);
+ mPageDescriptions = getResources().getStringArray(R.array.welcome_page_descriptions);
+ return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
- protected Animator onCreateEnterAnimation() {
+ protected void onStartEnterAnimation() {
List<Animator> animators = new ArrayList<>();
// Cloud 1
View view = getActivity().findViewById(R.id.cloud1);
@@ -688,7 +640,9 @@ public class WelcomeFragment extends OnboardingFragment {
animators.add(animator);
AnimatorSet set = new AnimatorSet();
set.playTogether(animators);
- return set;
+ mAnimator = set;
+ mAnimator.start();
+ mNeedToEndAnimator = true;
}
@Nullable
@@ -729,14 +683,23 @@ public class WelcomeFragment extends OnboardingFragment {
}
@Override
+ protected int getLogoResourceId() {
+ return R.drawable.splash_logo;
+ }
+
+ @Override
protected void onFinishFragment() {
SetupActionHelper.onActionClick(WelcomeFragment.this, ACTION_CATEGORY, ACTION_NEXT);
}
@Override
- protected void onPageChanged(int newPage, int previousPage) {
+ protected void onStartPageChangeAnimation(int previousPage) {
if (mAnimator != null) {
- mAnimator.cancel();
+ if (mNeedToEndAnimator) {
+ mAnimator.end();
+ } else {
+ mAnimator.cancel();
+ }
}
mArrowView.setVisibility(View.GONE);
// TV screen hiding animator.
@@ -747,7 +710,7 @@ public class WelcomeFragment extends OnboardingFragment {
// TV screen showing animator.
AnimatorSet animatorSet = new AnimatorSet();
int firstFrame;
- switch (newPage) {
+ switch (getCurrentPageIndex()) {
case 0:
animatorSet.playSequentially(hideAnimator,
SetupAnimationHelper.createFrameAnimator(mTvContentView,
@@ -799,5 +762,6 @@ public class WelcomeFragment extends OnboardingFragment {
});
mAnimator = SetupAnimationHelper.applyAnimationTimeScale(animatorSet);
mAnimator.start();
+ mNeedToEndAnimator = false;
}
}