diff options
author | Aurimas Liutikas <aurimas@google.com> | 2018-08-15 11:03:53 -0700 |
---|---|---|
committer | Mady Mellor <madym@google.com> | 2018-08-16 10:45:15 -0700 |
commit | d0cec56e05cb597daef99876b0a369647e8aa636 (patch) | |
tree | 8375a35c84ee56ae77cb73d25d7e3a77670f2d6b /packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java | |
parent | 63796b8a2bce722290d92b934f9153b1e227a032 (diff) |
Fix KeyguardSliceView after slices api changes.
Test: make -j SystemUIGoogle
atest KeyguardSliceViewTest
atest KeyguardSliceProviderTest
Change-Id: I04fe4bd2a285237d03b4415f7cdc8fbff7970011
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index 6517a9dd4f71..2e9dd032e945 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -16,6 +16,8 @@ package com.android.keyguard; +import static android.app.slice.Slice.HINT_LIST_ITEM; + import android.animation.LayoutTransition; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; @@ -63,6 +65,7 @@ import androidx.slice.SliceViewManager; import androidx.slice.core.SliceQuery; import androidx.slice.widget.ListContent; import androidx.slice.widget.RowContent; +import androidx.slice.widget.SliceContent; import androidx.slice.widget.SliceLiveData; /** @@ -157,12 +160,13 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe return; } - ListContent lc = new ListContent(getContext(), mSlice, null, 0, 0); - mHasHeader = lc.hasHeader(); - List<SliceItem> subItems = new ArrayList<SliceItem>(); + ListContent lc = new ListContent(getContext(), mSlice); + SliceContent headerContent = lc.getHeader(); + mHasHeader = headerContent != null && !headerContent.getSliceItem().hasHint(HINT_LIST_ITEM); + List<SliceContent> subItems = new ArrayList<SliceContent>(); for (int i = 0; i < lc.getRowItems().size(); i++) { - SliceItem subItem = lc.getRowItems().get(i); - String itemUri = subItem.getSlice().getUri().toString(); + SliceContent subItem = lc.getRowItems().get(i); + String itemUri = subItem.getSliceItem().getSlice().getUri().toString(); // Filter out the action row if (!KeyguardSliceProvider.KEYGUARD_ACTION_URI.equals(itemUri)) { subItems.add(subItem); @@ -173,9 +177,7 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe } else { mTitle.setVisibility(VISIBLE); - // If there's a header it'll be the first subitem - RowContent header = new RowContent(getContext(), subItems.get(0), - true /* showStartItem */); + RowContent header = lc.getHeader(); SliceItem mainTitle = header.getTitleItem(); CharSequence title = mainTitle != null ? mainTitle.getText() : null; mTitle.setText(title); @@ -187,8 +189,8 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe final int startIndex = mHasHeader ? 1 : 0; // First item is header; skip it mRow.setVisibility(subItemsCount > 0 ? VISIBLE : GONE); for (int i = startIndex; i < subItemsCount; i++) { - SliceItem item = subItems.get(i); - RowContent rc = new RowContent(getContext(), item, true /* showStartItem */); + RowContent rc = (RowContent) subItems.get(i); + SliceItem item = rc.getSliceItem(); final Uri itemTag = item.getSlice().getUri(); // Try to reuse the view if already exists in the layout KeyguardSliceButton button = mRow.findViewWithTag(itemTag); |