Loading res/layout/setup_finished_page.xml +9 −25 Original line number Diff line number Diff line Loading @@ -16,15 +16,6 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/page" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/primary"> Loading @@ -34,14 +25,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/brand_finish" android:scaleType="centerInside"/> android:scaleType="fitCenter" android:padding="@dimen/content_margin_left"/> </LinearLayout> No newline at end of file <ImageView android:id="@+id/reveal" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/reveal" android:visibility="invisible"/> </FrameLayout> </LinearLayout> No newline at end of file res/layout/setup_main.xml +30 −16 Original line number Diff line number Diff line Loading @@ -14,13 +14,18 @@ See the License for the specific language governing permissions and limitations under the License. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true"> <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="0dp" Loading @@ -30,3 +35,12 @@ <include layout="@layout/button_bar" /> </LinearLayout> <ImageView android:id="@+id/reveal" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/reveal" android:visibility="invisible"/> </FrameLayout> src/com/cyanogenmod/setupwizard/setup/FinishPage.java +5 −48 Original line number Diff line number Diff line Loading @@ -16,17 +16,13 @@ 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.app.FragmentManager; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.ViewAnimationUtils; import com.cyanogenmod.setupwizard.R; import com.cyanogenmod.setupwizard.ui.SetupPageFragment; public class FinishPage extends SetupPage { Loading Loading @@ -63,7 +59,7 @@ public class FinishPage extends SetupPage { @Override public boolean doNextAction() { mFinishFragment.animateOut(getCallbacks()); getCallbacks().onFinish(); return true; } Loading @@ -79,53 +75,14 @@ public class FinishPage extends SetupPage { public static class FinishFragment extends SetupPageFragment { private View mReveal; private Handler mHandler; @Override 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(); } protected void initializePage() {} @Override protected int getLayoutResource() { Loading src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java +40 −1 Original line number Diff line number Diff line Loading @@ -16,16 +16,19 @@ package com.cyanogenmod.setupwizard.ui; import android.animation.Animator; import android.app.Activity; import android.app.AppGlobals; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Bundle; import android.os.Handler; import android.provider.Settings; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewAnimationUtils; import android.widget.Button; import com.cyanogenmod.setupwizard.R; Loading @@ -48,9 +51,12 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks private View mRootView; private Button mNextButton; private Button mPrevButton; private View mReveal; private AbstractSetupData mSetupData; private final Handler mHandler = new Handler(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.setup_main); Loading @@ -63,6 +69,7 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks } mNextButton = (Button) findViewById(R.id.next_button); mPrevButton = (Button) findViewById(R.id.prev_button); mReveal = findViewById(R.id.reveal); mSetupData.registerListener(this); mNextButton.setOnClickListener(new View.OnClickListener() { @Override Loading Loading @@ -210,7 +217,39 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks @Override public void onFinish() { finishSetup(); animateOut(); } private void animateOut() { 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() { finishSetup();; } }); } @Override public void onAnimationCancel(Animator animation) {} @Override public void onAnimationRepeat(Animator animation) {} }); anim.start(); } private void handleWhisperPushRegistration() { Loading Loading
res/layout/setup_finished_page.xml +9 −25 Original line number Diff line number Diff line Loading @@ -16,15 +16,6 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/page" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/primary"> Loading @@ -34,14 +25,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/brand_finish" android:scaleType="centerInside"/> android:scaleType="fitCenter" android:padding="@dimen/content_margin_left"/> </LinearLayout> No newline at end of file <ImageView android:id="@+id/reveal" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/reveal" android:visibility="invisible"/> </FrameLayout> </LinearLayout> No newline at end of file
res/layout/setup_main.xml +30 −16 Original line number Diff line number Diff line Loading @@ -14,13 +14,18 @@ See the License for the specific language governing permissions and limitations under the License. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true"> <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="0dp" Loading @@ -30,3 +35,12 @@ <include layout="@layout/button_bar" /> </LinearLayout> <ImageView android:id="@+id/reveal" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/reveal" android:visibility="invisible"/> </FrameLayout>
src/com/cyanogenmod/setupwizard/setup/FinishPage.java +5 −48 Original line number Diff line number Diff line Loading @@ -16,17 +16,13 @@ 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.app.FragmentManager; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.ViewAnimationUtils; import com.cyanogenmod.setupwizard.R; import com.cyanogenmod.setupwizard.ui.SetupPageFragment; public class FinishPage extends SetupPage { Loading Loading @@ -63,7 +59,7 @@ public class FinishPage extends SetupPage { @Override public boolean doNextAction() { mFinishFragment.animateOut(getCallbacks()); getCallbacks().onFinish(); return true; } Loading @@ -79,53 +75,14 @@ public class FinishPage extends SetupPage { public static class FinishFragment extends SetupPageFragment { private View mReveal; private Handler mHandler; @Override 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(); } protected void initializePage() {} @Override protected int getLayoutResource() { Loading
src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java +40 −1 Original line number Diff line number Diff line Loading @@ -16,16 +16,19 @@ package com.cyanogenmod.setupwizard.ui; import android.animation.Animator; import android.app.Activity; import android.app.AppGlobals; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Bundle; import android.os.Handler; import android.provider.Settings; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewAnimationUtils; import android.widget.Button; import com.cyanogenmod.setupwizard.R; Loading @@ -48,9 +51,12 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks private View mRootView; private Button mNextButton; private Button mPrevButton; private View mReveal; private AbstractSetupData mSetupData; private final Handler mHandler = new Handler(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.setup_main); Loading @@ -63,6 +69,7 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks } mNextButton = (Button) findViewById(R.id.next_button); mPrevButton = (Button) findViewById(R.id.prev_button); mReveal = findViewById(R.id.reveal); mSetupData.registerListener(this); mNextButton.setOnClickListener(new View.OnClickListener() { @Override Loading Loading @@ -210,7 +217,39 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks @Override public void onFinish() { finishSetup(); animateOut(); } private void animateOut() { 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() { finishSetup();; } }); } @Override public void onAnimationCancel(Animator animation) {} @Override public void onAnimationRepeat(Animator animation) {} }); anim.start(); } private void handleWhisperPushRegistration() { Loading