Loading src/com/android/calculator2/Calculator.java +7 −5 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.ClipData; Loading Loading @@ -1279,7 +1280,7 @@ public class Calculator extends Activity public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_history: showHistoryFragment(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); showHistoryFragment(); return true; case R.id.menu_leading: displayFull(); Loading Loading @@ -1308,7 +1309,7 @@ public class Calculator extends Activity public void onStartDraggingOpen() { mDisplayView.hideToolbar(); showHistoryFragment(FragmentTransaction.TRANSIT_NONE); showHistoryFragment(); } @Override Loading Loading @@ -1360,10 +1361,11 @@ public class Calculator extends Activity if (manager == null || manager.isDestroyed()) { return null; } return (HistoryFragment) manager.findFragmentByTag(HistoryFragment.TAG); final Fragment fragment = manager.findFragmentByTag(HistoryFragment.TAG); return fragment == null || fragment.isRemoving() ? null : (HistoryFragment) fragment; } private void showHistoryFragment(int transit) { private void showHistoryFragment() { final FragmentManager manager = getFragmentManager(); if (manager == null || manager.isDestroyed()) { return; Loading @@ -1376,7 +1378,7 @@ public class Calculator extends Activity stopActionModeOrContextMenu(); manager.beginTransaction() .replace(R.id.history_frame, new HistoryFragment(), HistoryFragment.TAG) .setTransition(transit) .setTransition(FragmentTransaction.TRANSIT_NONE) .addToBackStack(HistoryFragment.TAG) .commit(); Loading src/com/android/calculator2/DragLayout.java +7 −21 Original line number Diff line number Diff line Loading @@ -222,34 +222,20 @@ public class DragLayout extends ViewGroup { public Animator createAnimator(boolean toOpen) { if (mIsOpen == toOpen) { return null; return ValueAnimator.ofFloat(0f, 1f).setDuration(0L); } mIsOpen = true; mIsOpen = toOpen; mHistoryFrame.setVisibility(VISIBLE); final ValueAnimator animator = ValueAnimator.ofInt(mHistoryFrame.getTop(), toOpen ? 0 : -mVerticalRange); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animator) { final int top = (int) animator.getAnimatedValue(); mHistoryFrame.offsetTopAndBottom(top - mHistoryFrame.getTop()); for (DragCallback c : mDragCallbacks) { // Top is between [-mVerticalRange, 0]. c.whileDragging(1f + (float) top / mVerticalRange); } } }); if (!toOpen) { final ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f); animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animator) { setClosed(); public void onAnimationStart(Animator animation) { mDragHelper.cancel(); mDragHelper.smoothSlideViewTo(mHistoryFrame, 0, mIsOpen ? 0 : -mVerticalRange); } }); } return animator; } Loading src/com/android/calculator2/HistoryFragment.java +1 −9 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.calculator2; import android.animation.Animator; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; Loading Loading @@ -165,14 +164,7 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback @Override public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) { if (enter) { if (transit == FragmentTransaction.TRANSIT_FRAGMENT_OPEN) { return mDragLayout.createAnimator(true /* toOpen */); } else { return null; } } return mDragLayout.createAnimator(false /* toOpen */); return mDragLayout.createAnimator(enter); } @Override Loading Loading
src/com/android/calculator2/Calculator.java +7 −5 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.ClipData; Loading Loading @@ -1279,7 +1280,7 @@ public class Calculator extends Activity public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_history: showHistoryFragment(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); showHistoryFragment(); return true; case R.id.menu_leading: displayFull(); Loading Loading @@ -1308,7 +1309,7 @@ public class Calculator extends Activity public void onStartDraggingOpen() { mDisplayView.hideToolbar(); showHistoryFragment(FragmentTransaction.TRANSIT_NONE); showHistoryFragment(); } @Override Loading Loading @@ -1360,10 +1361,11 @@ public class Calculator extends Activity if (manager == null || manager.isDestroyed()) { return null; } return (HistoryFragment) manager.findFragmentByTag(HistoryFragment.TAG); final Fragment fragment = manager.findFragmentByTag(HistoryFragment.TAG); return fragment == null || fragment.isRemoving() ? null : (HistoryFragment) fragment; } private void showHistoryFragment(int transit) { private void showHistoryFragment() { final FragmentManager manager = getFragmentManager(); if (manager == null || manager.isDestroyed()) { return; Loading @@ -1376,7 +1378,7 @@ public class Calculator extends Activity stopActionModeOrContextMenu(); manager.beginTransaction() .replace(R.id.history_frame, new HistoryFragment(), HistoryFragment.TAG) .setTransition(transit) .setTransition(FragmentTransaction.TRANSIT_NONE) .addToBackStack(HistoryFragment.TAG) .commit(); Loading
src/com/android/calculator2/DragLayout.java +7 −21 Original line number Diff line number Diff line Loading @@ -222,34 +222,20 @@ public class DragLayout extends ViewGroup { public Animator createAnimator(boolean toOpen) { if (mIsOpen == toOpen) { return null; return ValueAnimator.ofFloat(0f, 1f).setDuration(0L); } mIsOpen = true; mIsOpen = toOpen; mHistoryFrame.setVisibility(VISIBLE); final ValueAnimator animator = ValueAnimator.ofInt(mHistoryFrame.getTop(), toOpen ? 0 : -mVerticalRange); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animator) { final int top = (int) animator.getAnimatedValue(); mHistoryFrame.offsetTopAndBottom(top - mHistoryFrame.getTop()); for (DragCallback c : mDragCallbacks) { // Top is between [-mVerticalRange, 0]. c.whileDragging(1f + (float) top / mVerticalRange); } } }); if (!toOpen) { final ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f); animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animator) { setClosed(); public void onAnimationStart(Animator animation) { mDragHelper.cancel(); mDragHelper.smoothSlideViewTo(mHistoryFrame, 0, mIsOpen ? 0 : -mVerticalRange); } }); } return animator; } Loading
src/com/android/calculator2/HistoryFragment.java +1 −9 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.calculator2; import android.animation.Animator; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; Loading Loading @@ -165,14 +164,7 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback @Override public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) { if (enter) { if (transit == FragmentTransaction.TRANSIT_FRAGMENT_OPEN) { return mDragLayout.createAnimator(true /* toOpen */); } else { return null; } } return mDragLayout.createAnimator(false /* toOpen */); return mDragLayout.createAnimator(enter); } @Override Loading