158b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell/*
258b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * Copyright (C) 2016 The Android Open Source Project
358b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell *
458b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * Licensed under the Apache License, Version 2.0 (the "License");
558b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * you may not use this file except in compliance with the License.
658b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * You may obtain a copy of the License at
758b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell *
858b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell *      http://www.apache.org/licenses/LICENSE-2.0
958b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell *
1058b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * Unless required by applicable law or agreed to in writing, software
1158b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * distributed under the License is distributed on an "AS IS" BASIS,
1258b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1358b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * See the License for the specific language governing permissions and
1458b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell * limitations under the License
1558b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell */
1658b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
1758b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellpackage com.google.android.leanbackjank.presenter;
1858b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
1958b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellimport android.content.res.Resources;
2058b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellimport android.graphics.Color;
2158b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellimport android.view.Gravity;
2258b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellimport android.view.ViewGroup;
2358b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellimport android.widget.TextView;
2458b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.core.content.res.ResourcesCompat;
26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.leanback.widget.Presenter;
27def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas
2858b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellimport com.google.android.leanbackjank.R;
2958b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
3058b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassellpublic class GridItemPresenter extends Presenter {
3158b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
3258b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    @Override
3358b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    public ViewHolder onCreateViewHolder(ViewGroup parent) {
3458b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        TextView view = new TextView(parent.getContext());
3558b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
3658b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        Resources res = parent.getResources();
3758b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        int width = res.getDimensionPixelSize(R.dimen.grid_item_width);
3858b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        int height = res.getDimensionPixelSize(R.dimen.grid_item_height);
3958b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
4058b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        view.setLayoutParams(new ViewGroup.LayoutParams(width, height));
4158b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        view.setFocusable(true);
4258b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        view.setFocusableInTouchMode(true);
43a3eaac19490539262eff7832eff880566c57cafcAurimas Liutikas        view.setBackgroundColor(
44a3eaac19490539262eff7832eff880566c57cafcAurimas Liutikas                ResourcesCompat.getColor(parent.getResources(), R.color.jank_yellow, null));
4558b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        view.setTextColor(Color.WHITE);
4658b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        view.setGravity(Gravity.CENTER);
4758b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        return new ViewHolder(view);
4858b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    }
4958b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
5058b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    @Override
5158b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    public void onBindViewHolder(ViewHolder viewHolder, Object item) {
5258b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell        ((TextView) viewHolder.view).setText((String) item);
5358b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    }
5458b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell
5558b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    @Override
5658b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    public void onUnbindViewHolder(ViewHolder viewHolder) {
5758b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell    }
5858b7bbb83053e664ada2e1ace49f8960dfecdbfdBryan Cassell}
59