summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
diff options
context:
space:
mode:
authorAurimas Liutikas <aurimas@google.com>2018-08-15 11:03:53 -0700
committerMady Mellor <madym@google.com>2018-08-16 10:45:15 -0700
commitd0cec56e05cb597daef99876b0a369647e8aa636 (patch)
tree8375a35c84ee56ae77cb73d25d7e3a77670f2d6b /packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
parent63796b8a2bce722290d92b934f9153b1e227a032 (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.java22
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);