diff options
author | Annie Chin <afchin@google.com> | 2017-01-06 01:26:50 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-01-06 01:26:50 +0000 |
commit | ef18cc85dda1d39c5c34e762f9cea4a0cbd6b95e (patch) | |
tree | 254db74cdd58b61faf856cb8584da7840513aa05 /src/com/android | |
parent | 0a5cff1f3de887920e7823432a7ebf350471f98a (diff) | |
parent | 8861323dcc360b12de1c369fcb84e88d634cfcb7 (diff) | |
download | android_packages_apps_ExactCalculator-ef18cc85dda1d39c5c34e762f9cea4a0cbd6b95e.tar.gz android_packages_apps_ExactCalculator-ef18cc85dda1d39c5c34e762f9cea4a0cbd6b95e.tar.bz2 android_packages_apps_ExactCalculator-ef18cc85dda1d39c5c34e762f9cea4a0cbd6b95e.zip |
Merge "Polish History multiwindow support." into ub-calculator-euler
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/calculator2/Calculator.java | 12 | ||||
-rw-r--r-- | src/com/android/calculator2/DragController.java | 30 | ||||
-rw-r--r-- | src/com/android/calculator2/HistoryAdapter.java | 6 | ||||
-rw-r--r-- | src/com/android/calculator2/HistoryFragment.java | 12 |
4 files changed, 41 insertions, 19 deletions
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java index 1bd7c25..970683b 100644 --- a/src/com/android/calculator2/Calculator.java +++ b/src/com/android/calculator2/Calculator.java @@ -278,7 +278,7 @@ public class Calculator extends Activity private ForegroundColorSpan mUnprocessedColorSpan = new ForegroundColorSpan(Color.RED); // Whether the display is one line. - private boolean mOneLine; + private boolean mIsOneLine; private HistoryFragment mHistoryFragment = new HistoryFragment(); @@ -397,7 +397,7 @@ public class Calculator extends Activity mInverseToggle = (TextView) findViewById(R.id.toggle_inv); mModeToggle = (TextView) findViewById(R.id.toggle_mode); - mOneLine = mResultText.getVisibility() == View.INVISIBLE; + mIsOneLine = mResultText.getVisibility() == View.INVISIBLE; mInvertibleButtons = new View[] { findViewById(R.id.fun_sin), @@ -504,7 +504,7 @@ public class Calculator extends Activity mClearButton.setVisibility(View.GONE); } - if (mOneLine) { + if (mIsOneLine) { if (mCurrentState == CalculatorState.RESULT || mCurrentState == CalculatorState.EVALUATE || mCurrentState == CalculatorState.ANIMATE) { @@ -547,6 +547,10 @@ public class Calculator extends Activity || mCurrentState == CalculatorState.RESULT; } + public boolean isOneLine() { + return mIsOneLine; + } + @Override protected void onDestroy() { mDragLayout.removeDragCallback(this); @@ -1159,7 +1163,7 @@ public class Calculator extends Activity final float resultTranslationY = (mFormulaContainer.getBottom() - mResultText.getBottom()) - (mFormulaText.getPaddingBottom() - mResultText.getPaddingBottom()); float formulaTranslationY = -mFormulaContainer.getBottom(); - if (mOneLine) { + if (mIsOneLine) { // Position the result text. mResultText.setY(mResultText.getBottom()); formulaTranslationY = -(findViewById(R.id.toolbar).getBottom() diff --git a/src/com/android/calculator2/DragController.java b/src/com/android/calculator2/DragController.java index 7642a64..e90d1b4 100644 --- a/src/com/android/calculator2/DragController.java +++ b/src/com/android/calculator2/DragController.java @@ -56,6 +56,8 @@ public final class DragController { private boolean mAnimationInitialized; + private boolean mOneLine; + private AnimationController mAnimationController; private Evaluator mEvaluator; @@ -64,7 +66,8 @@ public final class DragController { mEvaluator = evaluator; } - public void initializeController(boolean isResult) { + public void initializeController(boolean isResult, boolean oneLine) { + mOneLine = oneLine; if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) { // Empty display mAnimationController = new EmptyAnimationController(); @@ -179,10 +182,11 @@ public final class DragController { * Reset all initialized values. * If the DragLayout is closed, set recyclerview to INVISIBLE to avoid flickering. */ - public void initializeAnimation(RecyclerView recyclerView, boolean isResult, boolean isOpen) { + public void initializeAnimation(RecyclerView recyclerView, boolean isResult, + boolean oneLine, boolean isOpen) { recyclerView.setVisibility(isOpen ? View.VISIBLE : View.INVISIBLE); mAnimationInitialized = false; - initializeController(isResult); + initializeController(isResult, oneLine); } public interface AnimateTextInterface { @@ -246,13 +250,19 @@ public final class DragController { public void initializeFormulaTranslationY(AlignedTextView formula, CalculatorResult result) { - // Baseline of formula moves by the difference in formula bottom padding and the - // difference in result height. - mFormulaTranslationY = - mDisplayFormula.getPaddingBottom() - formula.getPaddingBottom() - + mDisplayResult.getHeight() - result.getHeight() - - mBottomPaddingHeight; - + if (mOneLine) { + // Disregard result since we set it to GONE in the one-line case. + mFormulaTranslationY = + mDisplayFormula.getPaddingBottom() - formula.getPaddingBottom() + - mBottomPaddingHeight; + } else { + // Baseline of formula moves by the difference in formula bottom padding and the + // difference in result height. + mFormulaTranslationY = + mDisplayFormula.getPaddingBottom() - formula.getPaddingBottom() + + mDisplayResult.getHeight() - result.getHeight() + - mBottomPaddingHeight; + } } public void initializeFormulaTranslationX(AlignedTextView formula) { diff --git a/src/com/android/calculator2/HistoryAdapter.java b/src/com/android/calculator2/HistoryAdapter.java index 0e7ff34..fe2f2c0 100644 --- a/src/com/android/calculator2/HistoryAdapter.java +++ b/src/com/android/calculator2/HistoryAdapter.java @@ -43,6 +43,7 @@ public class HistoryAdapter extends RecyclerView.Adapter<HistoryAdapter.ViewHold private List<HistoryItem> mDataSet; private boolean mIsResultLayout; + private boolean mIsOneLine; public HistoryAdapter(ArrayList<HistoryItem> dataSet) { mDataSet = dataSet; @@ -75,6 +76,7 @@ public class HistoryAdapter extends RecyclerView.Adapter<HistoryAdapter.ViewHold holder.mResult.setEvaluator(mEvaluator, item.getEvaluatorIndex()); if (item.getEvaluatorIndex() == Evaluator.HISTORY_MAIN_INDEX) { holder.mDate.setText(R.string.title_current_expression); + holder.mResult.setVisibility(mIsOneLine ? View.GONE : View.VISIBLE); } else { // If the previous item occurred on the same date, the current item does not need // a date header. @@ -129,6 +131,10 @@ public class HistoryAdapter extends RecyclerView.Adapter<HistoryAdapter.ViewHold mIsResultLayout = isResult; } + public void setIsOneLine(boolean isOneLine) { + mIsOneLine = isOneLine; + } + public void setEvaluator(Evaluator evaluator) { mEvaluator = evaluator; } diff --git a/src/com/android/calculator2/HistoryFragment.java b/src/com/android/calculator2/HistoryFragment.java index a4ae9c8..883f229 100644 --- a/src/com/android/calculator2/HistoryFragment.java +++ b/src/com/android/calculator2/HistoryFragment.java @@ -108,13 +108,14 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback mAdapter.setEvaluator(mEvaluator); final boolean isResultLayout = activity.isResultLayout(); + final boolean isOneLine = activity.isOneLine(); mDragLayout = (DragLayout) activity.findViewById(R.id.drag_layout); mDragLayout.removeDragCallback(this); mDragLayout.addDragCallback(this); if (mEvaluator != null) { - initializeController(isResultLayout); + initializeController(isResultLayout, isOneLine); final long maxIndex = mEvaluator.getMaxIndex(); @@ -143,6 +144,7 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback mDataSet = newDataSet; mAdapter.setDataSet(mDataSet); mAdapter.setIsResultLayout(isResultLayout); + mAdapter.setIsOneLine(activity.isOneLine()); } mAdapter.notifyDataSetChanged(); @@ -151,10 +153,10 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback @Override public void onStart() { super.onStart(); - + final Calculator activity = (Calculator) getActivity(); // The orientation may have changed. mDragController.initializeAnimation(mRecyclerView, - ((Calculator) getActivity()).isResultLayout(), mDragLayout.isOpen()); + activity.isResultLayout(), activity.isOneLine(), mDragLayout.isOpen()); } @Override @@ -171,7 +173,7 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback super.onDestroyView(); } - private void initializeController(boolean isResult) { + private void initializeController(boolean isResult, boolean isOneLine) { mDragController.setDisplayFormula( (CalculatorFormula) getActivity().findViewById(R.id.formula)); @@ -182,7 +184,7 @@ public class HistoryFragment extends Fragment implements DragLayout.DragCallback mDragController.setEvaluator(mEvaluator); - mDragController.initializeController(isResult); + mDragController.initializeController(isResult, isOneLine); } public boolean stopActionModeOrContextMenu() { |