Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 146d97f6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes If6c32264,Idfdae761,I437fd3c4 into ub-calculator-euler

* changes:
  Set accent color in theme.
  Animate text colors for drag.
  Show "Empty History" only when completely empty.
parents 25283a7b 28153823
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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>
+28 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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;
@@ -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) {
@@ -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);
@@ -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)) {
@@ -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);
@@ -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();
+2 −2
Original line number Diff line number Diff line
@@ -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
@@ -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;