summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/am
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-01-22 18:05:38 -0800
committerDianne Hackborn <hackbod@google.com>2011-01-22 18:13:13 -0800
commitff801ec71399f7e8aa95bcbb9937c53144fe17c5 (patch)
treeaf9e1ee21e7edbb363b83d8fb0e19b142275d9e0 /services/java/com/android/server/am
parentf36af16479e252bec168ed181885ec21d9df46f5 (diff)
downloadframeworks_base-ff801ec71399f7e8aa95bcbb9937c53144fe17c5.zip
frameworks_base-ff801ec71399f7e8aa95bcbb9937c53144fe17c5.tar.gz
frameworks_base-ff801ec71399f7e8aa95bcbb9937c53144fe17c5.tar.bz2
Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.
The activity manager was not performing the layout pass on the new window, because its app token was still hidden, because the activity manager / window manager were still waiting for it to be ready to show. Just ignore whether the app token is hidden for this case. Also fixes some problems with animations, and tweaks the ViewConfiguration values for xlarge screens. Change-Id: Icbe9c77ba8127d1e02df2d6f27b8e86ec842e50a
Diffstat (limited to 'services/java/com/android/server/am')
-rw-r--r--services/java/com/android/server/am/ActivityRecord.java13
-rw-r--r--services/java/com/android/server/am/ActivityStack.java4
2 files changed, 13 insertions, 4 deletions
diff --git a/services/java/com/android/server/am/ActivityRecord.java b/services/java/com/android/server/am/ActivityRecord.java
index 3dc3965..0fb30ff 100644
--- a/services/java/com/android/server/am/ActivityRecord.java
+++ b/services/java/com/android/server/am/ActivityRecord.java
@@ -60,7 +60,8 @@ class ActivityRecord extends IApplicationToken.Stub {
final String processName; // process where this component wants to run
final String taskAffinity; // as per ActivityInfo.taskAffinity
final boolean stateNotNeeded; // As per ActivityInfo.flags
- final boolean fullscreen; // covers the full screen?
+ final boolean fullscreen; // covers the full screen?
+ final boolean noDisplay; // activity is not displayed?
final boolean componentSpecified; // did caller specifiy an explicit component?
final boolean isHomeActivity; // do we consider this to be a home activity?
final String baseDir; // where activity source (resources etc) located
@@ -165,12 +166,13 @@ class ActivityRecord extends IApplicationToken.Stub {
pw.print(" finishing="); pw.println(finishing);
pw.print(prefix); pw.print("keysPaused="); pw.print(keysPaused);
pw.print(" inHistory="); pw.print(inHistory);
- pw.print(" immersive="); pw.print(immersive);
- pw.print(" launchMode="); pw.println(launchMode);
- pw.print(prefix); pw.print("fullscreen="); pw.print(fullscreen);
pw.print(" visible="); pw.print(visible);
pw.print(" sleeping="); pw.print(sleeping);
pw.print(" idle="); pw.println(idle);
+ pw.print(prefix); pw.print("fullscreen="); pw.print(fullscreen);
+ pw.print(" noDisplay="); pw.print(noDisplay);
+ pw.print(" immersive="); pw.print(immersive);
+ pw.print(" launchMode="); pw.println(launchMode);
pw.print(prefix); pw.print("frozenBeforeDestroy="); pw.print(frozenBeforeDestroy);
pw.print(" thumbnailNeeded="); pw.println(thumbnailNeeded);
if (launchTime != 0 || startTime != 0) {
@@ -282,6 +284,8 @@ class ActivityRecord extends IApplicationToken.Stub {
com.android.internal.R.styleable.Window_windowIsFloating, false)
&& !ent.array.getBoolean(
com.android.internal.R.styleable.Window_windowIsTranslucent, false);
+ noDisplay = ent != null && ent.array.getBoolean(
+ com.android.internal.R.styleable.Window_windowNoDisplay, false);
if (!_componentSpecified || _launchedFromUid == Process.myUid()
|| _launchedFromUid == 0) {
@@ -318,6 +322,7 @@ class ActivityRecord extends IApplicationToken.Stub {
processName = null;
packageName = null;
fullscreen = true;
+ noDisplay = false;
isHomeActivity = false;
immersive = false;
}
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index 3761928..2040cbd 100644
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -750,6 +750,10 @@ public class ActivityStack {
}
public final Bitmap screenshotActivities(ActivityRecord who) {
+ if (who.noDisplay) {
+ return null;
+ }
+
Resources res = mService.mContext.getResources();
int w = mThumbnailWidth;
int h = mThumbnailHeight;