Integrate database with history.

Bug: 31623549

Note: This CL operates under the assumption that there is something
in the current expression field (handling for various states of
CalculatorDisplay in ag/1613446)

Change-Id: I70992067ddc9c5eec079f00604549727787e26fe
diff --git a/src/com/android/calculator2/CalculatorResult.java b/src/com/android/calculator2/CalculatorResult.java
index caf72fe..29c20f7 100644
--- a/src/com/android/calculator2/CalculatorResult.java
+++ b/src/com/android/calculator2/CalculatorResult.java
@@ -303,6 +303,18 @@
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
     }
 
+    @Override
+    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        super.onLayout(changed, left, top, right, bottom);
+
+        if (mEvaluator != null) {
+            final CalculatorExpr expr = mEvaluator.getExpr(mIndex);
+            if (expr != null && expr.hasInterestingOps()) {
+                mEvaluator.requireResult(mIndex, this, this);
+            }
+        }
+    }
+
     // From Evaluator.CharMetricsInfo.
     @Override
     public float separatorChars(String s, int len) {