From 095d9e3d3f2fa5a40bb49e005f86d23d2425d6b4 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Mon, 27 Jun 2016 12:29:47 -0400 Subject: [PATCH] Fix DND conditional null state Persist all of the data it needs to produce the UI. Change-Id: Ifb143b2cd3fef075cd77feaf53051eb8b7153a51 Fixes: 27664882 --- .../dashboard/conditional/DndCondition.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/com/android/settings/dashboard/conditional/DndCondition.java b/src/com/android/settings/dashboard/conditional/DndCondition.java index a816b335a93..2a5aa8a4929 100644 --- a/src/com/android/settings/dashboard/conditional/DndCondition.java +++ b/src/com/android/settings/dashboard/conditional/DndCondition.java @@ -22,7 +22,9 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Icon; +import android.os.PersistableBundle; import android.provider.Settings; +import android.provider.Settings.Global; import android.service.notification.ZenModeConfig; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; @@ -30,6 +32,7 @@ import com.android.settings.R; public class DndCondition extends Condition { private static final String TAG = "DndCondition"; + private static final String KEY_STATE = "state"; private int mZen; private ZenModeConfig mConfig; @@ -52,6 +55,18 @@ public class DndCondition extends Condition { 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 protected Class getReceiverClass() { return Receiver.class;