summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/ActivityThread.java15
-rw-r--r--core/java/android/widget/TextView.java50
-rw-r--r--services/core/java/com/android/server/connectivity/Vpn.java2
3 files changed, 35 insertions, 32 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 7299d6bd0ed7..182982a638f1 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -3727,9 +3727,17 @@ public final class ActivityThread {
impl.notifyChildRebuilt();
}
}
- if (a.mVisibleFromClient && !a.mWindowAdded) {
- a.mWindowAdded = true;
- wm.addView(decor, l);
+ if (a.mVisibleFromClient) {
+ if (!a.mWindowAdded) {
+ a.mWindowAdded = true;
+ wm.addView(decor, l);
+ } else {
+ // The activity will get a callback for this {@link LayoutParams} change
+ // earlier. However, at that time the decor will not be set (this is set
+ // in this method), so no action will be taken. This call ensures the
+ // callback occurs with the decor set.
+ a.onWindowAttributesChanged(l);
+ }
}
// If the window has already been added, but during resume
@@ -3769,6 +3777,7 @@ public final class ActivityThread {
wm.updateViewLayout(decor, l);
}
}
+
r.activity.mVisibleFromServer = true;
mNumVisibleActivities++;
if (r.activity.mVisibleFromClient) {
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 58da92f6bd19..fcab7035e60f 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -8148,35 +8148,29 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
mTempTextPaint.set(getPaint());
mTempTextPaint.setTextSize(suggestedSizeInPx);
- if ((mLayout instanceof BoringLayout) && BoringLayout.isBoring(
- text, mTempTextPaint, getTextDirectionHeuristic(), mBoring) != null) {
- return mTempTextPaint.getFontSpacing() <= availableSpace.bottom
- && mTempTextPaint.measureText(text, 0, text.length()) <= availableSpace.right;
- } else {
- final StaticLayout.Builder layoutBuilder = StaticLayout.Builder.obtain(
- text, 0, text.length(), mTempTextPaint,
- getMeasuredWidth() - getTotalPaddingLeft() - getTotalPaddingRight());
-
- layoutBuilder.setAlignment(getLayoutAlignment())
- .setLineSpacing(getLineSpacingExtra(), getLineSpacingMultiplier())
- .setIncludePad(getIncludeFontPadding())
- .setBreakStrategy(getBreakStrategy())
- .setHyphenationFrequency(getHyphenationFrequency())
- .setJustificationMode(getJustificationMode())
- .setMaxLines(mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE)
- .setTextDirection(getTextDirectionHeuristic());
-
- final StaticLayout layout = layoutBuilder.build();
-
- // Lines overflow.
- if (maxLines != -1 && layout.getLineCount() > maxLines) {
- return false;
- }
+ final StaticLayout.Builder layoutBuilder = StaticLayout.Builder.obtain(
+ text, 0, text.length(), mTempTextPaint,
+ getMeasuredWidth() - getTotalPaddingLeft() - getTotalPaddingRight());
+
+ layoutBuilder.setAlignment(getLayoutAlignment())
+ .setLineSpacing(getLineSpacingExtra(), getLineSpacingMultiplier())
+ .setIncludePad(getIncludeFontPadding())
+ .setBreakStrategy(getBreakStrategy())
+ .setHyphenationFrequency(getHyphenationFrequency())
+ .setJustificationMode(getJustificationMode())
+ .setMaxLines(mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE)
+ .setTextDirection(getTextDirectionHeuristic());
+
+ final StaticLayout layout = layoutBuilder.build();
+
+ // Lines overflow.
+ if (maxLines != -1 && layout.getLineCount() > maxLines) {
+ return false;
+ }
- // Height overflow.
- if (layout.getHeight() > availableSpace.bottom) {
- return false;
- }
+ // Height overflow.
+ if (layout.getHeight() > availableSpace.bottom) {
+ return false;
}
return true;
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 2eb555754732..d8de0bddcf74 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -1287,7 +1287,7 @@ public class Vpn {
try {
final NotificationManager notificationManager = NotificationManager.from(mContext);
if (!visible) {
- notificationManager.cancelAsUser(TAG, 0, user);
+ notificationManager.cancelAsUser(TAG, SystemMessage.NOTE_VPN_DISCONNECTED, user);
return;
}
final Intent intent = new Intent(Settings.ACTION_VPN_SETTINGS);