From ee43cdfa43b09a79e66d81f6673a79bc26427343 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Fri, 19 Jun 2015 14:20:46 -0400 Subject: [PATCH] Fix intent tile to unlock on launching activities Change-Id: Ibde6a21d5a36d4697101e2201d1d77e26d684753 --- packages/SystemUI/src/com/android/systemui/qs/QSPanel.java | 2 +- packages/SystemUI/src/com/android/systemui/qs/QSTile.java | 2 +- .../src/com/android/systemui/qs/tiles/CellularTile.java | 2 +- .../SystemUI/src/com/android/systemui/qs/tiles/DndTile.java | 2 +- .../src/com/android/systemui/qs/tiles/IntentTile.java | 6 +++++- .../src/com/android/systemui/qs/tiles/WifiTile.java | 4 ++-- .../android/systemui/statusbar/phone/PhoneStatusBar.java | 6 +++--- .../com/android/systemui/statusbar/phone/QSTileHost.java | 4 ++-- 8 files changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index 9761cd19e1952..4b1453d09ed8e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -390,7 +390,7 @@ public class QSPanel extends ViewGroup { mDetailSettingsButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - mHost.startSettingsActivity(settingsIntent); + mHost.startActivityDismissingKeyguard(settingsIntent); } }); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java index 72bb136bcc99d..38fade21390f4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java @@ -306,7 +306,7 @@ public abstract class QSTile implements Listenable { } public interface Host { - void startSettingsActivity(Intent intent); + void startActivityDismissingKeyguard(Intent intent); void warn(String message, Throwable t); void collapsePanels(); Looper getLooper(); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index a9e8b383a8a00..07406b98f8bee 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -82,7 +82,7 @@ public class CellularTile extends QSTile { if (mDataController.isMobileDataSupported()) { showDetail(true); } else { - mHost.startSettingsActivity(CELLULAR_SETTINGS); + mHost.startActivityDismissingKeyguard(CELLULAR_SETTINGS); } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java index f97f519cafc22..1b74eb6cd3bee 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java @@ -263,7 +263,7 @@ public class DndTile extends QSTile { private final ZenModePanel.Callback mZenModePanelCallback = new ZenModePanel.Callback() { @Override public void onPrioritySettings() { - mHost.startSettingsActivity(ZEN_PRIORITY_SETTINGS); + mHost.startActivityDismissingKeyguard(ZEN_PRIORITY_SETTINGS); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java index 19f4df6ba06c5..f7f7acb8a072f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java @@ -96,7 +96,11 @@ public class IntentTile extends QSTile { private void sendIntent(String type, PendingIntent pi, String uri) { try { if (pi != null) { - pi.send(); + if (pi.isActivity()) { + getHost().startActivityDismissingKeyguard(pi.getIntent()); + } else { + pi.send(); + } } else if (uri != null) { final Intent intent = Intent.parseUri(uri, Intent.URI_INTENT_SCHEME); mContext.sendBroadcastAsUser(intent, new UserHandle(mCurrentUserId)); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java index 9bc5b75632f72..c33ef7caeeab3 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java @@ -104,7 +104,7 @@ public class WifiTile extends QSTile { @Override protected void handleSecondaryClick() { if (!mWifiController.canConfigWifi()) { - mHost.startSettingsActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); + mHost.startActivityDismissingKeyguard(new Intent(Settings.ACTION_WIFI_SETTINGS)); return; } if (!mState.enabled) { @@ -290,7 +290,7 @@ public class WifiTile extends QSTile { @Override public void onSettingsActivityTriggered(Intent settingsIntent) { - mHost.startSettingsActivity(settingsIntent); + mHost.startActivityDismissingKeyguard(settingsIntent); } @Override 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 cd90d2705acf3..ade40e5071739 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -3101,16 +3101,16 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, || (mDisabled1 & StatusBarManager.DISABLE_SEARCH) != 0; } - public void postStartSettingsActivity(final Intent intent, int delay) { + public void postStartActivityDismissingKeyguard(final Intent intent, int delay) { mHandler.postDelayed(new Runnable() { @Override public void run() { - handleStartSettingsActivity(intent, true /*onlyProvisioned*/); + handleStartActivityDismissingKeyguard(intent, true /*onlyProvisioned*/); } }, delay); } - private void handleStartSettingsActivity(Intent intent, boolean onlyProvisioned) { + private void handleStartActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned) { startActivityDismissingKeyguard(intent, onlyProvisioned, true /* dismissShade */); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java index 25a93ddfd8199..12434ac2af5b6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java @@ -129,8 +129,8 @@ public class QSTileHost implements QSTile.Host, Tunable { } @Override - public void startSettingsActivity(final Intent intent) { - mStatusBar.postStartSettingsActivity(intent, 0); + public void startActivityDismissingKeyguard(final Intent intent) { + mStatusBar.postStartActivityDismissingKeyguard(intent, 0); } @Override