SetupWizard: More refactor to match redlines

Change-Id: I74f422ba0c294d5e91aefb9356458c681cc53b37
This commit is contained in:
cretin45
2015-01-21 15:55:03 -08:00
parent 48ca24eb9b
commit 716ffa86dc
35 changed files with 822 additions and 602 deletions

View File

@@ -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;
}
}
}