Hide sliceView if Slice is null
Fixes: 142035673 Test: robolectric, visual Change-Id: I2b5b34d068ba4590f65a284d4f62a1cc77f9666f
This commit is contained in:
@@ -18,6 +18,7 @@ package com.android.settings.slices;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.lifecycle.LiveData;
|
||||
@@ -38,6 +39,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||
*/
|
||||
public class SlicePreferenceController extends BasePreferenceController implements
|
||||
LifecycleObserver, OnStart, OnStop, Observer<Slice> {
|
||||
private static final String TAG = "SlicePreferenceController";
|
||||
@VisibleForTesting
|
||||
LiveData<Slice> mLiveData;
|
||||
@VisibleForTesting
|
||||
@@ -61,7 +63,10 @@ public class SlicePreferenceController extends BasePreferenceController implemen
|
||||
|
||||
public void setSliceUri(Uri uri) {
|
||||
mUri = uri;
|
||||
mLiveData = SliceLiveData.fromUri(mContext, mUri);
|
||||
mLiveData = SliceLiveData.fromUri(mContext, mUri, (int type, Throwable source) -> {
|
||||
Log.w(TAG, "Slice may be null. uri = " + uri + ", error = " + type);
|
||||
onChanged(null);
|
||||
});
|
||||
|
||||
//TODO(b/120803703): figure out why we need to remove observer first
|
||||
mLiveData.removeObserver(this);
|
||||
|
Reference in New Issue
Block a user