summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-10-13 00:32:50 (GMT)
committerAndroid Git Automerger <android-git-automerger@android.com>2015-10-13 00:32:50 (GMT)
commit870ba70288fe4a5a7f9e23631faa7379573ae506 (patch)
tree0f550deef429add26bf3259e5fae393cdb6e3048
parent23a7ba69330bcd39d573776a67d01771a46be671 (diff)
parent6b2bcfe495278239a955fbbbede30a26a0c0284a (diff)
downloadandroid_packages_apps_ExactCalculator-870ba70288fe4a5a7f9e23631faa7379573ae506.zip
android_packages_apps_ExactCalculator-870ba70288fe4a5a7f9e23631faa7379573ae506.tar.gz
android_packages_apps_ExactCalculator-870ba70288fe4a5a7f9e23631faa7379573ae506.tar.bz2
am 6b2bcfe4: am 9bc3f44b: Correctly set formula text size after rotation
* commit '6b2bcfe495278239a955fbbbede30a26a0c0284a': Correctly set formula text size after rotation
-rw-r--r--src/com/android/calculator2/CalculatorText.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/com/android/calculator2/CalculatorText.java b/src/com/android/calculator2/CalculatorText.java
index 109c2af..f944071 100644
--- a/src/com/android/calculator2/CalculatorText.java
+++ b/src/com/android/calculator2/CalculatorText.java
@@ -138,18 +138,22 @@ public class CalculatorText extends AlignedTextView implements View.OnLongClickL
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- // Prevent shrinking/resizing with our variable textSize.
- if (!isLaidOut()) {
- setTextSize(TypedValue.COMPLEX_UNIT_PX, mMaximumTextSize);
- setMinHeight(getLineHeight() + getCompoundPaddingBottom() + getCompoundPaddingTop());
- }
-
// Re-calculate our textSize based on new width.
final int width = MeasureSpec.getSize(widthMeasureSpec)
- getPaddingLeft() - getPaddingRight();
if (mWidthConstraint != width) {
mWidthConstraint = width;
- setTextSize(TypedValue.COMPLEX_UNIT_PX, getVariableTextSize(getText()));
+
+ if (!isLaidOut()) {
+ // Prevent shrinking/resizing with our variable textSize.
+ setTextSizeInternal(TypedValue.COMPLEX_UNIT_PX, mMaximumTextSize,
+ false /* notifyListener */);
+ setMinHeight(getLineHeight() + getCompoundPaddingBottom()
+ + getCompoundPaddingTop());
+ }
+
+ setTextSizeInternal(TypedValue.COMPLEX_UNIT_PX, getVariableTextSize(getText()),
+ false);
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
@@ -164,16 +168,19 @@ public class CalculatorText extends AlignedTextView implements View.OnLongClickL
setTextSize(TypedValue.COMPLEX_UNIT_PX, getVariableTextSize(text.toString()));
}
- @Override
- public void setTextSize(int unit, float size) {
+ private void setTextSizeInternal(int unit, float size, boolean notifyListener) {
final float oldTextSize = getTextSize();
super.setTextSize(unit, size);
-
- if (mOnTextSizeChangeListener != null && getTextSize() != oldTextSize) {
+ if (notifyListener && mOnTextSizeChangeListener != null && getTextSize() != oldTextSize) {
mOnTextSizeChangeListener.onTextSizeChanged(this, oldTextSize);
}
}
+ @Override
+ public void setTextSize(int unit, float size) {
+ setTextSizeInternal(unit, size, true);
+ }
+
public float getMinimumTextSize() {
return mMinimumTextSize;
}