Merge "'Mobile plan' is searchable even if it is unavailable"
diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java
index d8963ad..fcca5e6 100644
--- a/src/com/android/settings/network/MobilePlanPreferenceController.java
+++ b/src/com/android/settings/network/MobilePlanPreferenceController.java
@@ -57,7 +57,7 @@
     public static final int MANAGE_MOBILE_PLAN_DIALOG_ID = 1;
 
     private static final String TAG = "MobilePlanPrefContr";
-    private static final String KEY_MANAGE_MOBILE_PLAN = "manage_mobile_plan";
+    static final String KEY_MANAGE_MOBILE_PLAN = "manage_mobile_plan";
     private static final String SAVED_MANAGE_MOBILE_PLAN_MSG = "mManageMobilePlanMessage";
 
     private final UserManager mUserManager;
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 0cd24dc..eaedae6 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -174,5 +174,17 @@
                             null /* metricsFeatureProvider */, null /* fragment */,
                             null /* mobilePlanHost */);
                 }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+
+                    MobilePlanPreferenceController mppc =
+                            new MobilePlanPreferenceController(context, null);
+                    if (!mppc.isAvailable()) {
+                        keys.add(MobilePlanPreferenceController.KEY_MANAGE_MOBILE_PLAN);
+                    }
+                    return keys;
+                }
             };
 }