From 603e779aa568f3712ca5831794885798337e80e0 Mon Sep 17 00:00:00 2001 From: Mady Mellor Date: Fri, 3 Nov 2017 13:30:43 -0700 Subject: [PATCH] Fix content observer in SliceView showSlice was being called which would clear the content observer, instead specify slice and reinflate within setSlice(uri) method. Test: Have a slice, call notifyContentChanged on the uri, note that it updates Change-Id: I5ce8af2867114b9d053f1623bc4a47dfabe961fc --- core/java/android/app/slice/widget/SliceView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/slice/widget/SliceView.java b/core/java/android/app/slice/widget/SliceView.java index 5bafbc03cac64..aafe2a6602462 100644 --- a/core/java/android/app/slice/widget/SliceView.java +++ b/core/java/android/app/slice/widget/SliceView.java @@ -210,11 +210,15 @@ public class SliceView extends ViewGroup { validate(sliceUri); Slice s = Slice.bindSlice(mContext.getContentResolver(), sliceUri); if (s != null) { + if (mObserver != null) { + getContext().getContentResolver().unregisterContentObserver(mObserver); + } mObserver = new SliceObserver(new Handler(Looper.getMainLooper())); if (isAttachedToWindow()) { registerSlice(sliceUri); } - showSlice(s); + mCurrentSlice = s; + reinflate(); } return s != null; }