diff options
author | Jim Miller <jaggies@google.com> | 2011-07-06 17:32:48 -0700 |
---|---|---|
committer | Jim Miller <jaggies@google.com> | 2011-07-06 17:44:35 -0700 |
commit | f2a16b27afd1ede5880d05eb9e19090c7e3e820e (patch) | |
tree | 599f7334b60d3501e79fd0cc7baee8618e11a800 | |
parent | f03712bf540db15d0594b848e63c207fd50e9379 (diff) | |
download | frameworks_base-f2a16b27afd1ede5880d05eb9e19090c7e3e820e.zip frameworks_base-f2a16b27afd1ede5880d05eb9e19090c7e3e820e.tar.gz frameworks_base-f2a16b27afd1ede5880d05eb9e19090c7e3e820e.tar.bz2 |
Fix 4689527: Update Recents
Fixed layout in landscape mode where recents only filled half the screen
because "match_parent" in the layout was being ignored. The fix is to
have a temporary ViewGroup as the parent to ensure the layout parameters
are valid.
Changed to solid 70% opaque background on phone.
Removed "dismiss" chevron from phone layout.
Removes glow on phones.
Change-Id: Id5319eeba4fdd8c9ef5792168b35162cc1bbfe38
5 files changed, 25 insertions, 18 deletions
diff --git a/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml b/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml index 4a80489..efdd9ac 100644 --- a/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml +++ b/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml @@ -22,11 +22,11 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/recents_root" android:layout_height="match_parent" - android:layout_width="wrap_content"> + android:layout_width="match_parent"> <FrameLayout android:id="@+id/recents_bg_protect" - android:background="@drawable/recents_bg_protect_tile" + android:background="@drawable/status_bar_recents_background" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" @@ -38,7 +38,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" - android:background="@drawable/recents_blue_glow" android:orientation="horizontal" android:clipToPadding="false" android:clipChildren="false" @@ -78,6 +77,7 @@ android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:background="@drawable/ic_sysbar_back_ime" + android:visibility="gone" /> </com.android.systemui.recent.RecentsPanelView> diff --git a/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml b/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml index 9391f9d..386182d 100644 --- a/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml +++ b/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml @@ -26,7 +26,7 @@ <FrameLayout android:id="@+id/recents_bg_protect" - android:background="@drawable/recents_bg_protect_tile" + android:background="@drawable/status_bar_recents_background" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" @@ -39,7 +39,6 @@ android:layout_height="wrap_content" android:layout_marginBottom="0dp" android:layout_gravity="bottom" - android:background="@drawable/recents_blue_glow" android:orientation="horizontal" android:clipToPadding="false" android:clipChildren="false" @@ -79,6 +78,7 @@ android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:background="@drawable/ic_sysbar_back_ime" + android:visibility="gone" /> </com.android.systemui.recent.RecentsPanelView> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 9341693..fd5fe7a 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -21,4 +21,5 @@ <drawable name="notification_item_background_color">#ff000000</drawable> <drawable name="ticker_background_color">#ff1d1d1d</drawable> <drawable name="status_bar_background">#000000</drawable> + <drawable name="status_bar_recents_background">#b3000000</drawable> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java b/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java index 49a65d8..37a9913 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java +++ b/packages/SystemUI/src/com/android/systemui/recent/Choreographer.java @@ -18,7 +18,9 @@ package com.android.systemui.recent; import android.animation.Animator; import android.animation.AnimatorSet; +import android.animation.AnimatorSet.Builder; import android.animation.ObjectAnimator; +import android.graphics.drawable.Drawable; import android.util.Log; import android.util.Slog; import android.view.View; @@ -78,14 +80,14 @@ import android.view.View; ? new android.view.animation.AccelerateInterpolator(1.0f) : new android.view.animation.DecelerateInterpolator(1.0f)); - Animator bgAnim = ObjectAnimator.ofInt(mScrimView.getBackground(), - "alpha", appearing ? 0 : 255, appearing ? 255 : 0); - mContentAnim = new AnimatorSet(); - mContentAnim - .play(bgAnim) - .with(glowAnim) - .with(posAnim); + final Builder builder = mContentAnim.play(glowAnim).with(posAnim); + Drawable background = mScrimView.getBackground(); + if (background != null) { + Animator bgAnim = ObjectAnimator.ofInt(background, + "alpha", appearing ? 0 : 255, appearing ? 255 : 0); + builder.with(bgAnim); + } mContentAnim.setDuration(appearing ? OPEN_DURATION : CLOSE_DURATION); mContentAnim.addListener(this); if (mListener != null) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 4c7b0dd..5eacad7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -53,6 +53,7 @@ import android.view.Surface; import android.view.VelocityTracker; import android.view.View; import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.view.WindowManager; import android.view.WindowManagerImpl; @@ -318,11 +319,11 @@ public class PhoneStatusBar extends StatusBar { return sb; } - protected WindowManager.LayoutParams getRecentsLayoutParams() { + protected WindowManager.LayoutParams getRecentsLayoutParams(LayoutParams layoutParams) { boolean translucent = false; WindowManager.LayoutParams lp = new WindowManager.LayoutParams( - ViewGroup.LayoutParams.WRAP_CONTENT, - ViewGroup.LayoutParams.WRAP_CONTENT, + layoutParams.width, + layoutParams.height, WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM @@ -344,13 +345,16 @@ public class PhoneStatusBar extends StatusBar { visible = mRecentsPanel.getVisibility() == View.VISIBLE; WindowManagerImpl.getDefault().removeView(mRecentsPanel); } - mRecentsPanel = (RecentsPanelView) View.inflate(mContext, - R.layout.status_bar_recent_panel, null); + + // Provide RecentsPanelView with a temporary parent to allow layout params to work. + LinearLayout tmpRoot = new LinearLayout(mContext); + mRecentsPanel = (RecentsPanelView) LayoutInflater.from(mContext).inflate( + R.layout.status_bar_recent_panel, tmpRoot, false); mRecentsPanel.setOnTouchListener(new TouchOutsideListener(MSG_CLOSE_RECENTS_PANEL, mRecentsPanel)); mRecentsPanel.setVisibility(View.GONE); - WindowManager.LayoutParams lp = getRecentsLayoutParams(); + WindowManager.LayoutParams lp = getRecentsLayoutParams(mRecentsPanel.getLayoutParams()); WindowManagerImpl.getDefault().addView(mRecentsPanel, lp); mRecentsPanel.setBar(this); |