Fix DND conditional null state

Persist all of the data it needs to produce the UI.

Change-Id: Ifb143b2cd3fef075cd77feaf53051eb8b7153a51
Fixes: 27664882
This commit is contained in:
Jason Monk
2016-06-27 12:29:47 -04:00
parent 5bb180388a
commit 095d9e3d3f

View File

@@ -22,7 +22,9 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.os.PersistableBundle;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.Global;
import android.service.notification.ZenModeConfig; import android.service.notification.ZenModeConfig;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
@@ -30,6 +32,7 @@ import com.android.settings.R;
public class DndCondition extends Condition { public class DndCondition extends Condition {
private static final String TAG = "DndCondition"; private static final String TAG = "DndCondition";
private static final String KEY_STATE = "state";
private int mZen; private int mZen;
private ZenModeConfig mConfig; private ZenModeConfig mConfig;
@@ -52,6 +55,18 @@ public class DndCondition extends Condition {
setActive(zenModeEnabled); setActive(zenModeEnabled);
} }
@Override
boolean saveState(PersistableBundle bundle) {
bundle.putInt(KEY_STATE, mZen);
return super.saveState(bundle);
}
@Override
void restoreState(PersistableBundle bundle) {
super.restoreState(bundle);
mZen = bundle.getInt(KEY_STATE, Global.ZEN_MODE_OFF);
}
@Override @Override
protected Class<?> getReceiverClass() { protected Class<?> getReceiverClass() {
return Receiver.class; return Receiver.class;