Polish History multiwindow support.
Fixes: 34081054
Fixes: 34081005
Fixes: 32987283
-Hide quick result from current expression when we are in one-line
display mode.
-Adjust bottom padding for history item in one-line mode.
-Add font padding when bottom padding for items is 0 to prevent running
into the bottom edge of the display.
Change-Id: Icf3ddd4951ac0e4ab680124ecff7dd5258ccc05f
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 @@
private boolean mAnimationInitialized;
+ private boolean mOneLine;
+
private AnimationController mAnimationController;
private Evaluator mEvaluator;
@@ -64,7 +66,8 @@
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 @@
* 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 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) {