Loading res/values/themes.xml +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ <style name="Theme" parent="@android:style/Theme.Material.Light.DarkActionBar"> <item name="android:colorPrimary">@color/calculator_accent_color</item> <item name="android:colorAccent">@color/calculator_accent_color</item> <item name="android:statusBarColor">@color/calculator_accent_color</item> <item name="android:windowSoftInputMode">stateAlwaysHidden</item> </style> Loading src/com/android/calculator2/DragController.java +28 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.calculator2; import android.animation.ArgbEvaluator; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.TextView; Loading @@ -27,6 +28,8 @@ public final class DragController { private static final String TAG = "DragController"; private static final ArgbEvaluator mColorEvaluator = new ArgbEvaluator(); // References to views from the Calculator Display. private CalculatorFormula mDisplayFormula; private CalculatorResult mDisplayResult; Loading @@ -42,6 +45,12 @@ public final class DragController { private int mDisplayHeight; private int mFormulaStartColor; private int mFormulaEndColor; private int mResultStartColor; private int mResultEndColor; private boolean mAnimationInitialized; private AnimationController mAnimationController; Loading Loading @@ -78,7 +87,7 @@ public final class DragController { mToolbar = toolbar; } public void animateViews(float yFraction, RecyclerView recyclerView, int itemCount) { public void animateViews(float yFraction, RecyclerView recyclerView) { final HistoryAdapter.ViewHolder vh = (HistoryAdapter.ViewHolder) recyclerView.findViewHolderForAdapterPosition(0); if (yFraction > 0) { Loading @@ -92,6 +101,8 @@ public final class DragController { if (!mAnimationInitialized) { mAnimationController.initializeScales(formula, result); mAnimationController.initializeColorAnimators(formula, result); mAnimationController.initializeFormulaTranslationX(formula); mAnimationController.initializeFormulaTranslationY(formula, result); Loading Loading @@ -122,6 +133,12 @@ public final class DragController { result.setTranslationX(mAnimationController.getResultTranslationX(yFraction)); result.setTranslationY(mAnimationController.getResultTranslationY(yFraction)); formula.setTextColor((int) mColorEvaluator.evaluate(yFraction, mFormulaStartColor, mFormulaEndColor)); result.setTextColor((int) mColorEvaluator.evaluate(yFraction, mResultStartColor, mResultEndColor)); date.setTranslationY(mAnimationController.getDateTranslationY(yFraction)); } } else if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) { Loading Loading @@ -165,6 +182,8 @@ public final class DragController { void initializeDisplayHeight(); void initializeColorAnimators(AlignedTextView formula, CalculatorResult result); void initializeScales(AlignedTextView formula, CalculatorResult result); void initializeFormulaTranslationX(AlignedTextView formula); Loading Loading @@ -205,6 +224,14 @@ public final class DragController { // no-op } public void initializeColorAnimators(AlignedTextView formula, CalculatorResult result) { mFormulaStartColor = mDisplayFormula.getCurrentTextColor(); mFormulaEndColor = formula.getCurrentTextColor(); mResultStartColor = mDisplayResult.getCurrentTextColor(); mResultEndColor = result.getCurrentTextColor(); } public void initializeScales(AlignedTextView formula, CalculatorResult result) { // Calculate the scale for the text mFormulaScale = (mDisplayFormula.getTextSize() * 1.0f) / formula.getTextSize(); Loading src/com/android/calculator2/HistoryFragment.java +2 −2 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ public class HistoryFragment extends Fragment { @Override public void whileDragging(float yFraction) { mDragController.animateViews(yFraction, mRecyclerView, mAdapter.getItemCount()); mDragController.animateViews(yFraction, mRecyclerView); } @Override Loading Loading @@ -158,7 +158,7 @@ public class HistoryFragment extends Fragment { for (long i = 0; i < maxIndex; ++i) { newDataSet.add(null); } if (maxIndex == 0) { if (newDataSet.isEmpty()) { newDataSet.add(new HistoryItem()); } mDataSet = newDataSet; Loading Loading
res/values/themes.xml +1 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ <style name="Theme" parent="@android:style/Theme.Material.Light.DarkActionBar"> <item name="android:colorPrimary">@color/calculator_accent_color</item> <item name="android:colorAccent">@color/calculator_accent_color</item> <item name="android:statusBarColor">@color/calculator_accent_color</item> <item name="android:windowSoftInputMode">stateAlwaysHidden</item> </style> Loading
src/com/android/calculator2/DragController.java +28 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.calculator2; import android.animation.ArgbEvaluator; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.TextView; Loading @@ -27,6 +28,8 @@ public final class DragController { private static final String TAG = "DragController"; private static final ArgbEvaluator mColorEvaluator = new ArgbEvaluator(); // References to views from the Calculator Display. private CalculatorFormula mDisplayFormula; private CalculatorResult mDisplayResult; Loading @@ -42,6 +45,12 @@ public final class DragController { private int mDisplayHeight; private int mFormulaStartColor; private int mFormulaEndColor; private int mResultStartColor; private int mResultEndColor; private boolean mAnimationInitialized; private AnimationController mAnimationController; Loading Loading @@ -78,7 +87,7 @@ public final class DragController { mToolbar = toolbar; } public void animateViews(float yFraction, RecyclerView recyclerView, int itemCount) { public void animateViews(float yFraction, RecyclerView recyclerView) { final HistoryAdapter.ViewHolder vh = (HistoryAdapter.ViewHolder) recyclerView.findViewHolderForAdapterPosition(0); if (yFraction > 0) { Loading @@ -92,6 +101,8 @@ public final class DragController { if (!mAnimationInitialized) { mAnimationController.initializeScales(formula, result); mAnimationController.initializeColorAnimators(formula, result); mAnimationController.initializeFormulaTranslationX(formula); mAnimationController.initializeFormulaTranslationY(formula, result); Loading Loading @@ -122,6 +133,12 @@ public final class DragController { result.setTranslationX(mAnimationController.getResultTranslationX(yFraction)); result.setTranslationY(mAnimationController.getResultTranslationY(yFraction)); formula.setTextColor((int) mColorEvaluator.evaluate(yFraction, mFormulaStartColor, mFormulaEndColor)); result.setTextColor((int) mColorEvaluator.evaluate(yFraction, mResultStartColor, mResultEndColor)); date.setTranslationY(mAnimationController.getDateTranslationY(yFraction)); } } else if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) { Loading Loading @@ -165,6 +182,8 @@ public final class DragController { void initializeDisplayHeight(); void initializeColorAnimators(AlignedTextView formula, CalculatorResult result); void initializeScales(AlignedTextView formula, CalculatorResult result); void initializeFormulaTranslationX(AlignedTextView formula); Loading Loading @@ -205,6 +224,14 @@ public final class DragController { // no-op } public void initializeColorAnimators(AlignedTextView formula, CalculatorResult result) { mFormulaStartColor = mDisplayFormula.getCurrentTextColor(); mFormulaEndColor = formula.getCurrentTextColor(); mResultStartColor = mDisplayResult.getCurrentTextColor(); mResultEndColor = result.getCurrentTextColor(); } public void initializeScales(AlignedTextView formula, CalculatorResult result) { // Calculate the scale for the text mFormulaScale = (mDisplayFormula.getTextSize() * 1.0f) / formula.getTextSize(); Loading
src/com/android/calculator2/HistoryFragment.java +2 −2 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ public class HistoryFragment extends Fragment { @Override public void whileDragging(float yFraction) { mDragController.animateViews(yFraction, mRecyclerView, mAdapter.getItemCount()); mDragController.animateViews(yFraction, mRecyclerView); } @Override Loading Loading @@ -158,7 +158,7 @@ public class HistoryFragment extends Fragment { for (long i = 0; i < maxIndex; ++i) { newDataSet.add(null); } if (maxIndex == 0) { if (newDataSet.isEmpty()) { newDataSet.add(new HistoryItem()); } mDataSet = newDataSet; Loading