Merge "ConditionManager: don't crash when trying to add unexpected condition"

am: 46f7199cb1

Change-Id: Ifd9394c6da48a88ddb6f59ead3db1c93519a70ac
This commit is contained in:
Thecrazyskull
2017-06-03 23:55:52 +00:00
committed by android-build-merger

View File

@@ -91,8 +91,12 @@ public class ConditionManager {
Condition condition = createCondition(Class.forName(clz));
PersistableBundle bundle = PersistableBundle.restoreFromXml(parser);
if (DEBUG) Log.d(TAG, "Reading " + clz + " -- " + bundle);
condition.restoreState(bundle);
conditions.add(condition);
if (condition != null) {
condition.restoreState(bundle);
conditions.add(condition);
} else {
Log.e(TAG, "failed to add condition: " + clz);
}
while (parser.getDepth() > depth) {
parser.next();
}
@@ -150,7 +154,10 @@ public class ConditionManager {
private void addIfMissing(Class<? extends Condition> clz, ArrayList<Condition> conditions) {
if (getCondition(clz, conditions) == null) {
if (DEBUG) Log.d(TAG, "Adding missing " + clz.getName());
conditions.add(createCondition(clz));
Condition condition = createCondition(clz);
if (condition != null) {
conditions.add(condition);
}
}
}
@@ -172,7 +179,8 @@ public class ConditionManager {
} else if (NightDisplayCondition.class == clz) {
return new NightDisplayCondition(this);
}
throw new RuntimeException("Unexpected Condition " + clz);
Log.e(TAG, "unknown condition class: " + clz.getSimpleName());
return null;
}
Context getContext() {