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
This commit is contained in:
Lucas Silva
2022-02-24 16:31:40 +00:00
parent c7709aebb3
commit 5e91b7eab3
2 changed files with 9 additions and 5 deletions

View File

@@ -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<RecyclerView.ViewHolder> {
private final List<IDreamItem> mItemList;
private final @LayoutRes int mLayoutRes;
private int mLastSelectedPos = -1;
/**
@@ -116,15 +118,16 @@ public class DreamAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
}
}
public DreamAdapter(List<IDreamItem> itemList) {
public DreamAdapter(@LayoutRes int layoutRes, List<IDreamItem> 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());
}

View File

@@ -74,7 +74,8 @@ public class DreamPickerController extends BasePreferenceController {
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mAdapter = new DreamAdapter(mDreamInfos.stream()
mAdapter = new DreamAdapter(R.layout.dream_preference_layout,
mDreamInfos.stream()
.map(DreamItem::new)
.collect(Collectors.toList()));