From 9f86f89d838352f825196b2ac34813a3336dd216 Mon Sep 17 00:00:00 2001 From: Raj Yengisetty Date: Mon, 13 Apr 2015 14:08:27 -0700 Subject: Trebuchet: Fix NPE when adding widgets Make sure to setWaitingForResult on startIntentSenderForResult so that mPendingAddInfo is saved Repro: Change orientation when in the config activity for a widget Change-Id: I76ecc2b69b7f4a1cda65a481699aa79ae67f767a (cherry picked from commit ee224cb05e13d38c670733e59ae11b81515967b6) --- src/com/android/launcher3/Launcher.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index f23bff02d..05753e29f 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -45,6 +45,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.IntentSender; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; @@ -2539,6 +2540,30 @@ public class Launcher extends Activity } } + /** + * This is used when starting widget config activities. Make sure to setWaitingForResult so that + * the ItemInfo for the pending item is properly saved. + * + * @param intent + * @param requestCode + * @param fillInIntent + * @param flagsMask + * @param flagsValues + * @param extraFlags + * @param options + * @throws IntentSender.SendIntentException + */ + @Override + public void startIntentSenderForResult(IntentSender intent, int requestCode, + Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options) + throws IntentSender.SendIntentException { + if (requestCode >= 0) { + setWaitingForResult(true); + } + super.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues, + extraFlags, options); + } + protected void moveToCustomContentScreen(boolean animate) { // Close any folders that may be open. closeFolder(); -- cgit v1.2.3