summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2014-08-07 03:55:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-05 00:35:13 +0000
commit3f14df5c9df0028f78d930d03d512d969236f0bc (patch)
tree207eb819cc5119ceec1eed92770ae9a9f939bc09 /packages/SystemUI/src/com
parent8f333f19222ac9415152e31f10e0df2b571b0b77 (diff)
parent7e6809ad643fa4a70cfb647191731c68f07789cd (diff)
downloadframeworks_base-3f14df5c9df0028f78d930d03d512d969236f0bc.zip
frameworks_base-3f14df5c9df0028f78d930d03d512d969236f0bc.tar.gz
frameworks_base-3f14df5c9df0028f78d930d03d512d969236f0bc.tar.bz2
Merge "Common shade width across devices." into lmp-dev
Diffstat (limited to 'packages/SystemUI/src/com')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java33
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java28
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java50
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java9
7 files changed, 106 insertions, 38 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 7ec0cc5..16e51c9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -98,7 +98,7 @@ public abstract class BaseStatusBar extends SystemUI implements
RecentsComponent.Callbacks, ExpandableNotificationRow.ExpansionLogger,
NotificationData.Environment {
public static final String TAG = "StatusBar";
- public static final boolean DEBUG = false;
+ public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
public static final boolean MULTIUSER_DEBUG = false;
protected static final int MSG_SHOW_RECENT_APPS = 1019;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index a3b7c92..6af2cf8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -32,6 +32,7 @@ import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
+import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -70,7 +71,7 @@ public class NotificationPanelView extends PanelView implements
private View mReserveNotificationSpace;
private MirrorView mSystemIconsCopy;
private View mQsNavbarScrim;
-
+ private View mNotificationContainerParent;
private NotificationStackScrollLayout mNotificationStackScroller;
private int mNotificationTopPadding;
private boolean mAnimateNextTopPaddingChange;
@@ -125,7 +126,6 @@ public class NotificationPanelView extends PanelView implements
private Interpolator mFastOutSlowInInterpolator;
private Interpolator mFastOutLinearInterpolator;
- private Interpolator mLinearOutSlowInInterpolator;
private ObjectAnimator mClockAnimator;
private int mClockAnimationTarget = -1;
private int mTopPaddingAdjustment;
@@ -180,6 +180,7 @@ public class NotificationPanelView extends PanelView implements
mScrollView = (ObservableScrollView) findViewById(R.id.scroll_view);
mScrollView.setListener(this);
mReserveNotificationSpace = findViewById(R.id.reserve_notification_space);
+ mNotificationContainerParent = findViewById(R.id.notification_container_parent);
mNotificationStackScroller = (NotificationStackScrollLayout)
findViewById(R.id.notification_stack_scroller);
mNotificationStackScroller.setOnHeightChangedListener(this);
@@ -189,8 +190,6 @@ public class NotificationPanelView extends PanelView implements
android.R.interpolator.fast_out_slow_in);
mFastOutLinearInterpolator = AnimationUtils.loadInterpolator(getContext(),
android.R.interpolator.fast_out_linear_in);
- mLinearOutSlowInInterpolator = AnimationUtils.loadInterpolator(getContext(),
- android.R.interpolator.linear_out_slow_in);
mKeyguardBottomArea = (KeyguardBottomAreaView) findViewById(R.id.keyguard_bottom_area);
mQsNavbarScrim = findViewById(R.id.qs_navbar_scrim);
mAfforanceHelper = new KeyguardAffordanceHelper(this, getContext());
@@ -215,6 +214,25 @@ public class NotificationPanelView extends PanelView implements
getResources().getDimensionPixelSize(R.dimen.notification_scrim_wait_distance);
}
+ public void updateResources() {
+ int panelWidth = getResources().getDimensionPixelSize(R.dimen.notification_panel_width);
+ int panelGravity = getResources().getInteger(R.integer.notification_panel_layout_gravity);
+ FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) mHeader.getLayoutParams();
+ if (lp.width != panelWidth) {
+ lp.width = panelWidth;
+ lp.gravity = panelGravity;
+ mHeader.setLayoutParams(lp);
+ mHeader.post(mUpdateHeader);
+ }
+
+ lp = (FrameLayout.LayoutParams) mNotificationContainerParent.getLayoutParams();
+ if (lp.width != panelWidth) {
+ lp.width = panelWidth;
+ lp.gravity = panelGravity;
+ mNotificationContainerParent.setLayoutParams(lp);
+ }
+ }
+
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
@@ -1685,4 +1703,11 @@ public class NotificationPanelView extends PanelView implements
updateQsState();
}
}
+
+ private final Runnable mUpdateHeader = new Runnable() {
+ @Override
+ public void run() {
+ mHeader.updateEverything();
+ }
+ };
}
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 750fb39..015a21d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -3030,11 +3030,20 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
*/
void updateResources() {
// Update the quick setting tiles
- if (mQSPanel != null) mQSPanel.updateResources();
+ if (mQSPanel != null) {
+ mQSPanel.updateResources();
+ }
loadDimens();
mLinearOutSlowIn = AnimationUtils.loadInterpolator(
mContext, android.R.interpolator.linear_out_slow_in);
+
+ if (mNotificationPanel != null) {
+ mNotificationPanel.updateResources();
+ }
+ if (mHeadsUpNotificationView != null) {
+ mHeadsUpNotificationView.updateResources();
+ }
}
protected void loadDimens() {
@@ -3076,7 +3085,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
mKeyguardMaxNotificationCount = res.getInteger(R.integer.keyguard_max_notification_count);
- if (false) Log.v(TAG, "updateResources");
+ if (DEBUG) Log.v(TAG, "updateResources");
}
// Visibility reporting
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
index b3051b4..0c62fd3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
@@ -243,21 +243,25 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
boolean changed = expanded != mExpanded;
mExpanded = expanded;
if (changed) {
- updateHeights();
- updateVisibilities();
- updateSystemIconsLayoutParams();
- updateClickTargets();
- updateMultiUserSwitch();
- if (mQSPanel != null) {
- mQSPanel.setExpanded(expanded);
- }
- updateClockScale();
- updateAvatarScale();
- updateClockLp();
- requestCaptureValues();
+ updateEverything();
}
}
+ public void updateEverything() {
+ updateHeights();
+ updateVisibilities();
+ updateSystemIconsLayoutParams();
+ updateClickTargets();
+ updateMultiUserSwitch();
+ if (mQSPanel != null) {
+ mQSPanel.setExpanded(mExpanded);
+ }
+ updateClockScale();
+ updateAvatarScale();
+ updateClockLp();
+ requestCaptureValues();
+ }
+
private void updateHeights() {
int height = mExpanded ? mExpandedHeight : mCollapsedHeight;
ViewGroup.LayoutParams lp = getLayoutParams();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java
index 2aceb95..6ae076f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java
@@ -70,6 +70,15 @@ public class HeadsUpNotificationView extends FrameLayout implements SwipeHelper.
if (DEBUG) Log.v(TAG, "create() " + mTouchSensitivityDelay);
}
+ public void updateResources() {
+ if (mContentHolder != null) {
+ final LayoutParams lp = (LayoutParams) mContentHolder.getLayoutParams();
+ lp.width = getResources().getDimensionPixelSize(R.dimen.notification_panel_width);
+ lp.gravity = getResources().getInteger(R.integer.notification_panel_layout_gravity);
+ mContentHolder.setLayoutParams(lp);
+ }
+ }
+
public void setBar(PhoneStatusBar bar) {
mBar = bar;
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
index d202036..3a63a79 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
@@ -24,6 +24,7 @@ import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.PixelFormat;
@@ -44,7 +45,6 @@ import android.os.Vibrator;
import android.provider.Settings.Global;
import android.util.Log;
import android.util.SparseArray;
-import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -355,23 +355,8 @@ public class VolumePanel extends Handler {
}
};
- // Change some window properties
final Window window = mDialog.getWindow();
- final LayoutParams lp = window.getAttributes();
- lp.token = null;
- // Offset from the top
- lp.y = res.getDimensionPixelOffset(com.android.systemui.R.dimen.volume_panel_top);
- lp.type = LayoutParams.TYPE_STATUS_BAR_PANEL;
- lp.format = PixelFormat.TRANSLUCENT;
- lp.windowAnimations = com.android.systemui.R.style.VolumePanelAnimation;
- lp.gravity = Gravity.TOP;
- window.setAttributes(lp);
- window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
window.requestFeature(Window.FEATURE_NO_TITLE);
- window.addFlags(LayoutParams.FLAG_NOT_FOCUSABLE
- | LayoutParams.FLAG_NOT_TOUCH_MODAL
- | LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
- | LayoutParams.FLAG_HARDWARE_ACCELERATED);
mDialog.setCanceledOnTouchOutside(true);
mDialog.setContentView(com.android.systemui.R.layout.volume_dialog);
mDialog.setOnDismissListener(new OnDismissListener() {
@@ -384,9 +369,24 @@ public class VolumePanel extends Handler {
});
mDialog.create();
- // temporary workaround, until we support window-level shadows
- mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(0x00000000));
+ final LayoutParams lp = window.getAttributes();
+ lp.token = null;
+ lp.y = res.getDimensionPixelOffset(com.android.systemui.R.dimen.volume_panel_top);
+ lp.type = LayoutParams.TYPE_STATUS_BAR_PANEL;
+ lp.format = PixelFormat.TRANSLUCENT;
+ lp.windowAnimations = com.android.systemui.R.style.VolumePanelAnimation;
+ lp.setTitle(TAG);
+ window.setAttributes(lp);
+
+ updateWidth();
+
+ window.setBackgroundDrawable(new ColorDrawable(0x00000000));
+ window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+ window.addFlags(LayoutParams.FLAG_NOT_FOCUSABLE
+ | LayoutParams.FLAG_NOT_TOUCH_MODAL
+ | LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
+ | LayoutParams.FLAG_HARDWARE_ACCELERATED);
mView = window.findViewById(R.id.content);
mView.setOnTouchListener(new View.OnTouchListener() {
@Override
@@ -416,6 +416,19 @@ public class VolumePanel extends Handler {
registerReceiver();
}
+ public void onConfigurationChanged(Configuration newConfig) {
+ updateWidth();
+ }
+
+ private void updateWidth() {
+ final Resources res = mContext.getResources();
+ final LayoutParams lp = mDialog.getWindow().getAttributes();
+ lp.width = res.getDimensionPixelSize(com.android.systemui.R.dimen.notification_panel_width);
+ lp.gravity =
+ res.getInteger(com.android.systemui.R.integer.notification_panel_layout_gravity);
+ mDialog.getWindow().setAttributes(lp);
+ }
+
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("VolumePanel state:");
pw.print(" mTag="); pw.println(mTag);
@@ -1016,7 +1029,6 @@ public class VolumePanel extends Handler {
int stream = (streamType == AudioService.STREAM_REMOTE_MUSIC) ? -1 : streamType;
// when the stream is for remote playback, use -1 to reset the stream type evaluation
mAudioManager.forceVolumeControlStream(stream);
-
mDialog.show();
if (mCallback != null) {
mCallback.onVisible(true);
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
index cc351f9..04a3b88 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java
@@ -3,6 +3,7 @@ package com.android.systemui.volume;
import android.app.ActivityManagerNative;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Configuration;
import android.database.ContentObserver;
import android.media.AudioManager;
import android.media.IRemoteVolumeController;
@@ -73,6 +74,14 @@ public class VolumeUI extends SystemUI {
}
@Override
+ protected void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ if (mPanel != null) {
+ mPanel.onConfigurationChanged(newConfig);
+ }
+ }
+
+ @Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (mPanel != null) {
mPanel.dump(fd, pw, args);