aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/guide/GenreListAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/guide/GenreListAdapter.java')
-rw-r--r--src/com/android/tv/guide/GenreListAdapter.java23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/com/android/tv/guide/GenreListAdapter.java b/src/com/android/tv/guide/GenreListAdapter.java
index 2913599c..ce19eb2d 100644
--- a/src/com/android/tv/guide/GenreListAdapter.java
+++ b/src/com/android/tv/guide/GenreListAdapter.java
@@ -17,6 +17,7 @@
package com.android.tv.guide;
import android.content.Context;
+import android.support.annotation.MainThread;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
@@ -32,7 +33,7 @@ import java.util.List;
/**
* Adapts the genre items obtained from {@link GenreItems} to the program guide side panel.
*/
-public class GenreListAdapter extends RecyclerView.Adapter<GenreListAdapter.GenreRowHolder> {
+class GenreListAdapter extends RecyclerView.Adapter<GenreListAdapter.GenreRowHolder> {
private static final String TAG = "GenreListAdapter";
private static final boolean DEBUG = false;
@@ -41,7 +42,7 @@ public class GenreListAdapter extends RecyclerView.Adapter<GenreListAdapter.Genr
private final ProgramGuide mProgramGuide;
private String[] mGenreLabels;
- public GenreListAdapter(Context context, ProgramManager programManager, ProgramGuide guide) {
+ GenreListAdapter(Context context, ProgramManager programManager, ProgramGuide guide) {
mContext = context;
mProgramManager = programManager;
mProgramManager.addListener(new ProgramManager.ListenerAdapter() {
@@ -79,16 +80,28 @@ public class GenreListAdapter extends RecyclerView.Adapter<GenreListAdapter.Genr
@Override
public GenreRowHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false);
+ itemView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
+ @Override
+ public void onViewAttachedToWindow(View view) {
+ // Animation is not meaningful now, skip it.
+ view.getStateListAnimator().jumpToCurrentState();
+ }
+
+ @Override
+ public void onViewDetachedFromWindow(View view) {
+ // Do nothing
+ }
+ });
return new GenreRowHolder(itemView, mProgramGuide);
}
- public static class GenreRowHolder extends RecyclerView.ViewHolder implements
+ static class GenreRowHolder extends RecyclerView.ViewHolder implements
View.OnFocusChangeListener {
private final ProgramGuide mProgramGuide;
private int mGenreId;
- // Should be called from main thread.
- public GenreRowHolder(View itemView, ProgramGuide programGuide) {
+ @MainThread
+ GenreRowHolder(View itemView, ProgramGuide programGuide) {
super(itemView);
mProgramGuide = programGuide;
}