1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 package com.example.android.leanback;
15 
16 import android.content.Context;
17 import android.util.Log;
18 import android.view.ViewGroup;
19 import android.widget.TextView;
20 
21 import androidx.core.content.res.ResourcesCompat;
22 import androidx.leanback.widget.Presenter;
23 
24 import org.jspecify.annotations.NonNull;
25 import org.jspecify.annotations.Nullable;
26 
27 public class StringPresenter extends Presenter {
28     private static final String TAG = "StringPresenter";
29 
30     @Override
onCreateViewHolder(ViewGroup parent)31     public ViewHolder onCreateViewHolder(ViewGroup parent) {
32         Log.d(TAG, "onCreateViewHolder");
33         final Context context = parent.getContext();
34         TextView tv = new TextView(context);
35         tv.setFocusable(true);
36         tv.setFocusableInTouchMode(true);
37         tv.setBackground(ResourcesCompat.getDrawable(context.getResources(), R.drawable.text_bg,
38                 context.getTheme()));
39         return new ViewHolder(tv);
40     }
41 
42     @Override
onBindViewHolder(@onNull ViewHolder viewHolder, @Nullable Object item)43     public void onBindViewHolder(@NonNull ViewHolder viewHolder, @Nullable Object item) {
44         Log.d(TAG, "onBindViewHolder for " + item);
45         String text = item == null ? null : item.toString();
46         ((TextView) viewHolder.view).setText(text);
47     }
48 
49     @Override
onUnbindViewHolder(ViewHolder viewHolder)50     public void onUnbindViewHolder(ViewHolder viewHolder) {
51         Log.d(TAG, "onUnbindViewHolder");
52     }
53 }
54