Merge "Fix crash from battery saver switch" into nyc-dev
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 18b941c..e08173f 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -87,7 +87,7 @@
mSummaryLoader = new SummaryLoader(getActivity(), categories);
setHasOptionsMenu(true);
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;
}