diff options
author | John Spurlock <jspurlock@google.com> | 2014-07-11 11:07:53 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2014-07-11 11:07:53 -0400 |
commit | 1dad272337db57d72d9158dc77f64798810f62e7 (patch) | |
tree | 5bdd9e2c506682fb69acc8ba19a3239305219ae8 /packages/SystemUI/src/com/android | |
parent | d05f67f9721e1f9194a1f57cf7481b4be65366b3 (diff) | |
download | frameworks_base-1dad272337db57d72d9158dc77f64798810f62e7.zip frameworks_base-1dad272337db57d72d9158dc77f64798810f62e7.tar.gz frameworks_base-1dad272337db57d72d9158dc77f64798810f62e7.tar.bz2 |
Volume: delay dismissing panel when starting settings.
Bug:16211952
Change-Id: I067721d932076dafb35c6afd99583301acff9bea
Diffstat (limited to 'packages/SystemUI/src/com/android')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java | 12 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java | 30 |
2 files changed, 26 insertions, 16 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java index 08216c4..3570257 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java @@ -263,7 +263,7 @@ public class VolumePanel extends Handler { synchronized (sConfirmSafeVolumeLock) { sConfirmSafeVolumeDialog = null; } - mVolumePanel.forceTimeout(); + mVolumePanel.forceTimeout(0); mVolumePanel.updateStates(); } } @@ -293,7 +293,7 @@ public class VolumePanel extends Handler { public boolean onTouchEvent(MotionEvent event) { if (isShowing() && event.getAction() == MotionEvent.ACTION_OUTSIDE && sConfirmSafeVolumeDialog == null) { - forceTimeout(); + forceTimeout(0); return true; } return false; @@ -718,8 +718,8 @@ public class VolumePanel extends Handler { obtainMessage(MSG_DISPLAY_SAFE_VOLUME_WARNING, flags, 0).sendToTarget(); } - public void postDismiss() { - forceTimeout(); + public void postDismiss(long delay) { + forceTimeout(delay); } public void postLayoutDirection(int layoutDirection) { @@ -1205,9 +1205,9 @@ public class VolumePanel extends Handler { sendEmptyMessage(MSG_USER_ACTIVITY); } - private void forceTimeout() { + private void forceTimeout(long delay) { removeMessages(MSG_TIMEOUT); - sendEmptyMessage(MSG_TIMEOUT); + sendEmptyMessageDelayed(MSG_TIMEOUT, delay); } public ZenModeController getZenController() { diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java index 51be833..e4f5870 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java @@ -11,12 +11,14 @@ import android.media.session.ISessionController; import android.media.session.MediaController; import android.media.session.MediaSessionManager; import android.net.Uri; +import android.os.AsyncTask; import android.os.Handler; import android.os.RemoteException; import android.os.UserHandle; import android.provider.Settings; import android.util.Log; +import com.android.systemui.R; import com.android.systemui.SystemUI; import com.android.systemui.keyguard.KeyguardViewMediator; import com.android.systemui.statusbar.policy.ZenModeController; @@ -45,6 +47,7 @@ public class VolumeUI extends SystemUI { private static final int DEFAULT = 1; // enabled by default private final Handler mHandler = new Handler(); + private AudioManager mAudioManager; private MediaSessionManager mMediaSessionManager; private VolumeController mVolumeController; @@ -52,6 +55,7 @@ public class VolumeUI extends SystemUI { private VolumePanel mDialogPanel; private VolumePanel mPanel; + private int mDismissDelay; @Override public void start() { @@ -79,6 +83,7 @@ public class VolumeUI extends SystemUI { } private void initPanel() { + mDismissDelay = mContext.getResources().getInteger(R.integer.volume_panel_dismiss_delay); mPanel = new VolumePanel(mContext, null, new ZenModeControllerImpl(mContext, mHandler)); mPanel.setCallback(new VolumePanel.Callback() { @Override @@ -109,15 +114,20 @@ public class VolumeUI extends SystemUI { private final Runnable mStartZenSettings = new Runnable() { @Override public void run() { - mDialogPanel.postDismiss(); - try { - // Dismiss the lock screen when Settings starts. - ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity(); - } catch (RemoteException e) { - } - final Intent intent = ZenModePanel.ZEN_SETTINGS; - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); - mContext.startActivityAsUser(intent, new UserHandle(UserHandle.USER_CURRENT)); + AsyncTask.execute(new Runnable() { + @Override + public void run() { + try { + // Dismiss the lock screen when Settings starts. + ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity(); + } catch (RemoteException e) { + } + final Intent intent = ZenModePanel.ZEN_SETTINGS; + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); + mContext.startActivityAsUser(intent, new UserHandle(UserHandle.USER_CURRENT)); + } + }); + mDialogPanel.postDismiss(mDismissDelay); } }; @@ -153,7 +163,7 @@ public class VolumeUI extends SystemUI { @Override public void dismiss() throws RemoteException { - mPanel.postDismiss(); + mPanel.postDismiss(0); } @Override |