From 5c5eff45e97a2bb1b55befb87eb535a438a7bbf8 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Tue, 6 Nov 2012 16:22:04 -0800 Subject: [PATCH] Pass argument to lock screen to show widget after adding it --- .../settings/KeyguardAppWidgetPickActivity.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/KeyguardAppWidgetPickActivity.java b/src/com/android/settings/KeyguardAppWidgetPickActivity.java index b3c612dd7a9..878176d45f8 100644 --- a/src/com/android/settings/KeyguardAppWidgetPickActivity.java +++ b/src/com/android/settings/KeyguardAppWidgetPickActivity.java @@ -594,18 +594,23 @@ public class KeyguardAppWidgetPickActivity extends Activity } else if (requestCode == REQUEST_CREATE_APPWIDGET && resultCode == Activity.RESULT_OK) { mSuccess = true; mLockPatternUtils.addAppWidget(appWidgetId, 0); - finishDelayedAndShowLockScreen(); + finishDelayedAndShowLockScreen(appWidgetId); } else { - finishDelayedAndShowLockScreen(); + finishDelayedAndShowLockScreen(AppWidgetManager.INVALID_APPWIDGET_ID); } } } - private void finishDelayedAndShowLockScreen() { + private void finishDelayedAndShowLockScreen(int appWidgetId) { IBinder b = ServiceManager.getService(Context.WINDOW_SERVICE); IWindowManager iWm = IWindowManager.Stub.asInterface(b); + Bundle opts = null; + if (appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) { + opts = new Bundle(); + opts.putInt(LockPatternUtils.KEYGUARD_SHOW_APPWIDGET, appWidgetId); + } try { - iWm.lockNow(null); + iWm.lockNow(opts); } catch (RemoteException e) { }