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:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.dream;
|
package com.android.settings.dream;
|
||||||
|
|
||||||
|
import android.annotation.LayoutRes;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.graphics.drawable.VectorDrawable;
|
import android.graphics.drawable.VectorDrawable;
|
||||||
@@ -40,6 +41,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class DreamAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
public class DreamAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||||
private final List<IDreamItem> mItemList;
|
private final List<IDreamItem> mItemList;
|
||||||
|
private final @LayoutRes int mLayoutRes;
|
||||||
private int mLastSelectedPos = -1;
|
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;
|
mItemList = itemList;
|
||||||
|
mLayoutRes = layoutRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
||||||
View view = LayoutInflater.from(viewGroup.getContext())
|
View view = LayoutInflater.from(viewGroup.getContext())
|
||||||
.inflate(R.layout.dream_preference_layout, viewGroup, false);
|
.inflate(mLayoutRes, viewGroup, false);
|
||||||
return new DreamViewHolder(view, viewGroup.getContext());
|
return new DreamViewHolder(view, viewGroup.getContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -74,7 +74,8 @@ public class DreamPickerController extends BasePreferenceController {
|
|||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
|
|
||||||
mAdapter = new DreamAdapter(mDreamInfos.stream()
|
mAdapter = new DreamAdapter(R.layout.dream_preference_layout,
|
||||||
|
mDreamInfos.stream()
|
||||||
.map(DreamItem::new)
|
.map(DreamItem::new)
|
||||||
.collect(Collectors.toList()));
|
.collect(Collectors.toList()));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user