From 798b80e5ad79e7248b1b0f87d735babdf090285f Mon Sep 17 00:00:00 2001 From: Lei Yu Date: Wed, 29 May 2019 13:11:57 -0700 Subject: [PATCH] Update SliceView when slice is null When it is null, we should also update SliceView, so SliceView can update to be "invisible" Fixes: 133790296 Test: RunSettingsRoboTests Change-Id: I239405cce8bcadacbd374ccbb24d0fcbadc04880 --- .../settings/slices/SlicePreferenceController.java | 7 +++---- .../settings/slices/SlicePreferenceControllerTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/slices/SlicePreferenceController.java b/src/com/android/settings/slices/SlicePreferenceController.java index 89294c74cb0..2432c992b3b 100644 --- a/src/com/android/settings/slices/SlicePreferenceController.java +++ b/src/com/android/settings/slices/SlicePreferenceController.java @@ -40,7 +40,8 @@ public class SlicePreferenceController extends BasePreferenceController implemen LifecycleObserver, OnStart, OnStop, Observer { @VisibleForTesting LiveData mLiveData; - private SlicePreference mSlicePreference; + @VisibleForTesting + SlicePreference mSlicePreference; private Uri mUri; public SlicePreferenceController(Context context, String preferenceKey) { @@ -82,8 +83,6 @@ public class SlicePreferenceController extends BasePreferenceController implemen @Override public void onChanged(Slice slice) { - if (slice != null) { - mSlicePreference.onSliceUpdated(slice); - } + mSlicePreference.onSliceUpdated(slice); } } diff --git a/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java index 364fb60947b..65eaddd50ab 100644 --- a/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java @@ -41,6 +41,8 @@ public class SlicePreferenceControllerTest { @Mock private LiveData mLiveData; + @Mock + private SlicePreference mSlicePreference; private Context mContext; private SlicePreferenceController mController; private Uri mUri; @@ -53,6 +55,7 @@ public class SlicePreferenceControllerTest { mContext = spy(RuntimeEnvironment.application); mController = new SlicePreferenceController(mContext, KEY); mController.mLiveData = mLiveData; + mController.mSlicePreference = mSlicePreference; mUri = Uri.EMPTY; } @@ -78,4 +81,11 @@ public class SlicePreferenceControllerTest { mController.onStop(); verify(mLiveData).removeObserver(mController); } + + @Test + public void onChanged_nullSlice_updateSlice() { + mController.onChanged(null); + + verify(mController.mSlicePreference).onSliceUpdated(null); + } } \ No newline at end of file