diff options
| author | 2012-09-21 11:10:22 -0700 | |
|---|---|---|
| committer | 2012-09-21 11:10:27 -0700 | |
| commit | abcaeea1ee4d1fc1c34b7f9e48eea5debdb09e37 (patch) | |
| tree | 0e98a1e8a17d63e1468064ca0214662da5e8156b | |
| parent | c1ec220c4b3f518d74be91b7a69fb42af6642ad1 (diff) | |
NPE in AcitivtyChooserModel.
1. If there is not current intent sent and the client tries to
   choose an activity a NPE occurs. The code in chooseActivity
   now checks for null intent. Note that having a null intent
   is a valid state.
bug:6738922
Change-Id: I91d4415649ce070d4fa4aa187e9eac02928dd38c
| -rw-r--r-- | core/java/android/widget/ActivityChooserModel.java | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/core/java/android/widget/ActivityChooserModel.java b/core/java/android/widget/ActivityChooserModel.java index fe6c4f5477ac..736566e45112 100644 --- a/core/java/android/widget/ActivityChooserModel.java +++ b/core/java/android/widget/ActivityChooserModel.java @@ -21,7 +21,6 @@ import android.content.Context;  import android.content.Intent;  import android.content.pm.ResolveInfo;  import android.database.DataSetObservable; -import android.database.DataSetObserver;  import android.os.AsyncTask;  import android.text.TextUtils;  import android.util.Log; @@ -458,13 +457,18 @@ public class ActivityChooserModel extends DataSetObservable {       * </p>       *       * @return An {@link Intent} for launching the activity or null if the -     *         policy has consumed the intent. +     *         policy has consumed the intent or there is not current intent +     *         set via {@link #setIntent(Intent)}.       *       * @see HistoricalRecord       * @see OnChooseActivityListener       */      public Intent chooseActivity(int index) {          synchronized (mInstanceLock) { +            if (mIntent == null) { +                return null; +            } +              ensureConsistentState();              ActivityResolveInfo chosenActivity = mActivities.get(index); |