Loading src/com/android/settings/notification/AbstractZenModePreferenceController.java +6 −3 Original line number Diff line number Diff line Loading @@ -22,10 +22,12 @@ import android.content.Context; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.UserHandle; import android.provider.Settings; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; Loading @@ -37,7 +39,8 @@ abstract public class AbstractZenModePreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { private SettingObserver mSettingObserver; @VisibleForTesting protected SettingObserver mSettingObserver; private final String KEY; final private NotificationManager mNotificationManager; Loading Loading @@ -94,8 +97,8 @@ abstract public class AbstractZenModePreferenceController extends } public void register(ContentResolver cr) { cr.registerContentObserver(ZEN_MODE_URI, false, this); cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this); cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL); cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL); } public void unregister(ContentResolver cr) { Loading tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -130,4 +130,21 @@ public class ZenModeButtonPreferenceControllerTest { verify(mZenButtonOn).setVisibility(View.VISIBLE); verify(mZenButtonOff).setVisibility(View.GONE); } @Test public void updateState_otherUserChangedZen() { final Preference mockPref = mock(Preference.class); Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF); mController.updateState(mockPref); verify(mZenButtonOn).setVisibility(View.VISIBLE); verify(mZenButtonOff).setVisibility(View.GONE); Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS); final int GUEST_USER_ID = 10; mController.mSettingObserver.onChange(false, Settings.Global.getUriFor(Settings.Global.ZEN_MODE), GUEST_USER_ID); verify(mZenButtonOn).setVisibility(View.GONE); verify(mZenButtonOff).setVisibility(View.VISIBLE); } } No newline at end of file Loading
src/com/android/settings/notification/AbstractZenModePreferenceController.java +6 −3 Original line number Diff line number Diff line Loading @@ -22,10 +22,12 @@ import android.content.Context; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.UserHandle; import android.provider.Settings; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; Loading @@ -37,7 +39,8 @@ abstract public class AbstractZenModePreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { private SettingObserver mSettingObserver; @VisibleForTesting protected SettingObserver mSettingObserver; private final String KEY; final private NotificationManager mNotificationManager; Loading Loading @@ -94,8 +97,8 @@ abstract public class AbstractZenModePreferenceController extends } public void register(ContentResolver cr) { cr.registerContentObserver(ZEN_MODE_URI, false, this); cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this); cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL); cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL); } public void unregister(ContentResolver cr) { Loading
tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -130,4 +130,21 @@ public class ZenModeButtonPreferenceControllerTest { verify(mZenButtonOn).setVisibility(View.VISIBLE); verify(mZenButtonOff).setVisibility(View.GONE); } @Test public void updateState_otherUserChangedZen() { final Preference mockPref = mock(Preference.class); Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF); mController.updateState(mockPref); verify(mZenButtonOn).setVisibility(View.VISIBLE); verify(mZenButtonOff).setVisibility(View.GONE); Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS); final int GUEST_USER_ID = 10; mController.mSettingObserver.onChange(false, Settings.Global.getUriFor(Settings.Global.ZEN_MODE), GUEST_USER_ID); verify(mZenButtonOn).setVisibility(View.GONE); verify(mZenButtonOff).setVisibility(View.VISIBLE); } } No newline at end of file