diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java index dbaa297b7b43..68a252b2caba 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java @@ -37,6 +37,7 @@ import android.provider.Settings; import android.service.notification.ZenModeConfig; import android.text.TextUtils; import android.text.style.StyleSpan; +import android.util.Log; import androidx.core.graphics.drawable.IconCompat; import androidx.slice.Slice; @@ -212,21 +213,27 @@ public class KeyguardSliceProvider extends SliceProvider implements @AnyThread @Override public Slice onBindSlice(Uri sliceUri) { - Trace.beginSection("KeyguardSliceProvider#onBindSlice"); - Slice slice; - synchronized (this) { - ListBuilder builder = new ListBuilder(getContext(), mSliceUri, ListBuilder.INFINITY); - if (needsMediaLocked()) { - addMediaLocked(builder); - } else { - builder.addRow(new RowBuilder(mDateUri).setTitle(mLastText)); + Slice slice = null; + try { + Trace.beginSection("KeyguardSliceProvider#onBindSlice"); + synchronized (this) { + ListBuilder builder = new ListBuilder(getContext(), mSliceUri, + ListBuilder.INFINITY); + if (needsMediaLocked()) { + addMediaLocked(builder); + } else { + builder.addRow(new RowBuilder(mDateUri).setTitle(mLastText)); + } + addNextAlarmLocked(builder); + addZenModeLocked(builder); + addPrimaryActionLocked(builder); + slice = builder.build(); } - addNextAlarmLocked(builder); - addZenModeLocked(builder); - addPrimaryActionLocked(builder); - slice = builder.build(); + } catch (IllegalStateException e) { + Log.w(TAG, "Could not initialize slice", e); + } finally { + Trace.endSection(); } - Trace.endSection(); return slice; } |