diff options
| author | 2011-08-24 12:07:10 -0700 | |
|---|---|---|
| committer | 2011-08-24 12:07:10 -0700 | |
| commit | 2da59ffbda80594e6312f400341810f91e1d333a (patch) | |
| tree | 82433cfeea222be65ffea7e46ba2c000d4371199 | |
| parent | 192df696d3499258d6d3ae383a5ab05a5021d875 (diff) | |
| parent | cfb9f2bca39772aecd072e2a30342a67b6319bbb (diff) | |
Merge "Fix issue #5192141: systemui asplodes after enough tapping on the windowlist button"
6 files changed, 18 insertions, 6 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 6fb79656b683..e3075d763ed3 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -1943,7 +1943,6 @@ public final class ActivityThread { // we are back active so skip it. unscheduleGcIdler(); - Slog.i(TAG, "Launch: profileFd=" + r.profileFile + " stop=" + r.autoStopProfiler); if (r.profileFd != null) { mBoundApplication.setProfiler(r.profileFile, r.profileFd); mBoundApplication.startProfiling(); diff --git a/packages/SystemUI/res/anim/recent_appear.xml b/packages/SystemUI/res/anim/recent_appear.xml index 4400d9dcdce7..20fe052d4a25 100644 --- a/packages/SystemUI/res/anim/recent_appear.xml +++ b/packages/SystemUI/res/anim/recent_appear.xml @@ -16,5 +16,5 @@ <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0.0" android:toAlpha="1.0" - android:duration="@android:integer/config_shortAnimTime" + android:duration="@android:integer/config_mediumAnimTime" /> diff --git a/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java b/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java index 2d327c41c6eb..9749a1dcdef8 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java +++ b/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java @@ -29,6 +29,7 @@ import android.view.View; // should group this into a multi-property animation private static final int OPEN_DURATION = 136; private static final int CLOSE_DURATION = 250; + private static final int SCRIM_DURATION = 400; private static final String TAG = RecentsPanelView.TAG; private static final boolean DEBUG = RecentsPanelView.DEBUG; @@ -71,12 +72,14 @@ import android.view.View; posAnim.setInterpolator(appearing ? new android.view.animation.DecelerateInterpolator(2.5f) : new android.view.animation.AccelerateInterpolator(2.5f)); + posAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); Animator glowAnim = ObjectAnimator.ofFloat(mContentView, "alpha", mContentView.getAlpha(), appearing ? 1.0f : 0.0f); glowAnim.setInterpolator(appearing ? new android.view.animation.AccelerateInterpolator(1.0f) : new android.view.animation.DecelerateInterpolator(1.0f)); + glowAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); mContentAnim = new AnimatorSet(); final Builder builder = mContentAnim.play(glowAnim).with(posAnim); @@ -84,9 +87,9 @@ import android.view.View; if (background != null) { Animator bgAnim = ObjectAnimator.ofInt(background, "alpha", appearing ? 0 : 255, appearing ? 255 : 0); + bgAnim.setDuration(appearing ? SCRIM_DURATION : CLOSE_DURATION); builder.with(bgAnim); } - mContentAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); mContentAnim.addListener(this); if (mListener != null) { mContentAnim.addListener(mListener); diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java index 8c03ef8e206f..9cc2c29129b2 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java @@ -39,7 +39,6 @@ import android.graphics.RectF; import android.graphics.Shader.TileMode; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.graphics.drawable.LayerDrawable; import android.net.Uri; import android.os.AsyncTask; import android.os.Handler; @@ -497,7 +496,7 @@ public class RecentsPanelView extends RelativeLayout synchronized (ad) { ad.mLabel = label; ad.mIcon = icon; - ad.setThumbnail(thumbs.mainThumbnail); + ad.setThumbnail(thumbs != null ? thumbs.mainThumbnail : null); } } @@ -591,7 +590,7 @@ public class RecentsPanelView extends RelativeLayout ActivityDescription ad = descriptions.get(i); loadActivityDescription(ad, i); long now = SystemClock.uptimeMillis(); - nextTime += 200; + nextTime += 150; if (nextTime > now) { try { Thread.sleep(nextTime-now); diff --git a/services/java/com/android/server/am/TaskRecord.java b/services/java/com/android/server/am/TaskRecord.java index e61a7f4e10d3..87129eaca73f 100644 --- a/services/java/com/android/server/am/TaskRecord.java +++ b/services/java/com/android/server/am/TaskRecord.java @@ -116,6 +116,8 @@ class TaskRecord extends ThumbnailHolder { if (!askedCompatMode) { pw.print(prefix); pw.print("askedCompatMode="); pw.println(askedCompatMode); } + pw.print(prefix); pw.print("lastThumbnail="); pw.print(lastThumbnail); + pw.print(" lastDescription="); pw.println(lastDescription); pw.print(prefix); pw.print("lastActiveTime="); pw.print(lastActiveTime); pw.print(" (inactive for "); pw.print((getInactiveDuration()/1000)); pw.println("s)"); diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 3df94a6555dd..e258b1a45346 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -163,6 +163,7 @@ public class WindowManagerService extends IWindowManager.Stub static final boolean DEBUG_WALLPAPER = false; static final boolean DEBUG_DRAG = false; static final boolean DEBUG_SCREEN_ON = false; + static final boolean DEBUG_SCREENSHOT = false; static final boolean SHOW_SURFACE_ALLOC = false; static final boolean SHOW_TRANSACTIONS = false; static final boolean HIDE_STACK_CRAWLS = true; @@ -4996,6 +4997,14 @@ public class WindowManagerService extends IWindowManager.Stub dh = tmp; rot = (rot == Surface.ROTATION_90) ? Surface.ROTATION_270 : Surface.ROTATION_90; } + if (DEBUG_SCREENSHOT) { + Slog.i(TAG, "Screenshot: " + dw + "x" + dh + " from 0 to " + maxLayer); + for (int i=0; i<mWindows.size(); i++) { + Slog.i(TAG, mWindows.get(i) + ": " + mWindows.get(i).mLayer + + " animLayer=" + mWindows.get(i).mAnimLayer + + " surfaceLayer=" + mWindows.get(i).mSurfaceLayer); + } + } rawss = Surface.screenshot(dw, dh, 0, maxLayer); } |