SetupWizard: More refactor to match redlines
Change-Id: I74f422ba0c294d5e91aefb9356458c681cc53b37
This commit is contained in:
@@ -19,14 +19,20 @@ package com.cyanogenmod.setupwizard.setup;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
import android.view.ViewAnimationUtils;
|
||||
|
||||
public class FinishPage extends SetupPage {
|
||||
|
||||
public static final String TAG = "FinishPage";
|
||||
|
||||
private FinishFragment mFinishFragment;
|
||||
|
||||
public FinishPage(Context context, SetupDataCallbacks callbacks) {
|
||||
super(context, callbacks);
|
||||
}
|
||||
@@ -36,9 +42,9 @@ public class FinishPage extends SetupPage {
|
||||
Bundle args = new Bundle();
|
||||
args.putString(SetupPage.KEY_PAGE_ARGUMENT, getKey());
|
||||
|
||||
FinishFragment fragment = new FinishFragment();
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
mFinishFragment = new FinishFragment();
|
||||
mFinishFragment.setArguments(args);
|
||||
return mFinishFragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -53,7 +59,7 @@ public class FinishPage extends SetupPage {
|
||||
|
||||
@Override
|
||||
public boolean doNextAction() {
|
||||
getCallbacks().onFinish();
|
||||
mFinishFragment.animateOut(getCallbacks());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -69,18 +75,58 @@ public class FinishPage extends SetupPage {
|
||||
|
||||
public static class FinishFragment extends SetupPageFragment {
|
||||
|
||||
private View mReveal;
|
||||
|
||||
private Handler mHandler;
|
||||
|
||||
@Override
|
||||
protected void initializePage() {}
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
mHandler = new Handler();
|
||||
getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.primary));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initializePage() {
|
||||
mReveal = mRootView.findViewById(R.id.reveal);
|
||||
}
|
||||
|
||||
private void animateOut(final SetupDataCallbacks callbacks) {
|
||||
int cx = (mReveal.getLeft() + mReveal.getRight()) / 2;
|
||||
int cy = (mReveal.getTop() + mReveal.getBottom()) / 2;
|
||||
int finalRadius = Math.max(mReveal.getWidth(), mReveal.getHeight());
|
||||
Animator anim =
|
||||
ViewAnimationUtils.createCircularReveal(mReveal, cx, cy, 0, finalRadius);
|
||||
|
||||
anim.addListener(new Animator.AnimatorListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
mReveal.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
mHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
callbacks.onFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationCancel(Animator animation) {}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animator animation) {}
|
||||
});
|
||||
anim.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutResource() {
|
||||
return R.layout.setup_finished_page;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getHeaderLayoutResource() {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user