Merge "Fix crash from battery saver switch" into nyc-dev
am: 371aec1e92
* commit '371aec1e92aa4b5cf6e4ed2b5f39faf180c17d1f':
Fix crash from battery saver switch
Change-Id: I0416b92dbc9b18a97c9d6d0617cba636e310690b
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 9acc9a5..0e47897 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -85,7 +85,7 @@
((SettingsActivity) getActivity()).getDashboardCategories();
mSummaryLoader = new SummaryLoader(getActivity(), categories);
Context context = getContext();
- mConditionManager = ConditionManager.get(context);
+ mConditionManager = ConditionManager.get(context, false);
mSuggestionParser = new SuggestionParser(context,
context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering);
mSuggestionsChecks = new SuggestionsChecks(getContext());
diff --git a/src/com/android/settings/dashboard/conditional/ConditionManager.java b/src/com/android/settings/dashboard/conditional/ConditionManager.java
index f38bb2a..ad0e839 100644
--- a/src/com/android/settings/dashboard/conditional/ConditionManager.java
+++ b/src/com/android/settings/dashboard/conditional/ConditionManager.java
@@ -54,10 +54,15 @@
private final ArrayList<ConditionListener> mListeners = new ArrayList<>();
- private ConditionManager(Context context) {
+ private ConditionManager(Context context, boolean loadConditionsNow) {
mContext = context;
mConditions = new ArrayList<>();
- new ConditionLoader().execute();
+ if (loadConditionsNow) {
+ ConditionLoader loader = new ConditionLoader();
+ loader.onPostExecute(loader.doInBackground());
+ } else {
+ new ConditionLoader().execute();
+ }
}
public void refreshAll() {
@@ -241,8 +246,12 @@
}
public static ConditionManager get(Context context) {
+ return get(context, true);
+ }
+
+ public static ConditionManager get(Context context, boolean loadConditionsNow) {
if (sInstance == null) {
- sInstance = new ConditionManager(context.getApplicationContext());
+ sInstance = new ConditionManager(context.getApplicationContext(), loadConditionsNow);
}
return sInstance;
}