From 5e91b7eab3b85ac57341a339823259af8cb0080d Mon Sep 17 00:00:00 2001 From: Lucas Silva Date: Thu, 24 Feb 2022 16:31:40 +0000 Subject: [PATCH] Allow other layouts to be passed into the dream view adatper. This will let the OOBE flow use a different layout than the regular Settings view. Bug: 221227402 Test: locally on device Change-Id: I27545b7dad1d789adcae8589480d29bc5231c98c --- src/com/android/settings/dream/DreamAdapter.java | 7 +++++-- src/com/android/settings/dream/DreamPickerController.java | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/dream/DreamAdapter.java b/src/com/android/settings/dream/DreamAdapter.java index 8e487d4da3e..154181dca4a 100644 --- a/src/com/android/settings/dream/DreamAdapter.java +++ b/src/com/android/settings/dream/DreamAdapter.java @@ -16,6 +16,7 @@ package com.android.settings.dream; +import android.annotation.LayoutRes; import android.content.Context; import android.graphics.drawable.Drawable; import android.graphics.drawable.VectorDrawable; @@ -40,6 +41,7 @@ import java.util.List; */ public class DreamAdapter extends RecyclerView.Adapter { private final List mItemList; + private final @LayoutRes int mLayoutRes; private int mLastSelectedPos = -1; /** @@ -116,15 +118,16 @@ public class DreamAdapter extends RecyclerView.Adapter } } - public DreamAdapter(List itemList) { + public DreamAdapter(@LayoutRes int layoutRes, List itemList) { mItemList = itemList; + mLayoutRes = layoutRes; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { View view = LayoutInflater.from(viewGroup.getContext()) - .inflate(R.layout.dream_preference_layout, viewGroup, false); + .inflate(mLayoutRes, viewGroup, false); return new DreamViewHolder(view, viewGroup.getContext()); } diff --git a/src/com/android/settings/dream/DreamPickerController.java b/src/com/android/settings/dream/DreamPickerController.java index af8c3645251..201d6de7f00 100644 --- a/src/com/android/settings/dream/DreamPickerController.java +++ b/src/com/android/settings/dream/DreamPickerController.java @@ -74,9 +74,10 @@ public class DreamPickerController extends BasePreferenceController { public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); - mAdapter = new DreamAdapter(mDreamInfos.stream() - .map(DreamItem::new) - .collect(Collectors.toList())); + mAdapter = new DreamAdapter(R.layout.dream_preference_layout, + mDreamInfos.stream() + .map(DreamItem::new) + .collect(Collectors.toList())); final LayoutPreference pref = screen.findPreference(getPreferenceKey()); if (pref == null) {