/* * Copyright (C) 2015-2016 Willi Ye <williye97@gmail.com> * * This file is part of Kernel Adiutor. * * Kernel Adiutor is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Kernel Adiutor is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Kernel Adiutor. If not, see <http://www.gnu.org/licenses/>. * */ package com.grarak.kerneladiutor.views.recyclerview; import android.support.annotation.StringRes; import android.view.View; import android.widget.TextView; import com.grarak.kerneladiutor.R; /** * Created by willi on 22.06.16. */ public abstract class ValueView extends RecyclerViewItem { private TextView mTitleView; private TextView mSummaryView; private View mValueParent; private TextView mValueView; private View mProgress; private CharSequence mTitle; private CharSequence mSummary; private String mValue; private int mValuesRes; @Override public int getLayoutRes() { return R.layout.rv_value_view; } @Override public void onCreateView(View view) { mTitleView = (TextView) view.findViewById(R.id.title); mSummaryView = (TextView) view.findViewById(R.id.summary); mValueParent = view.findViewById(R.id.value_parent); mValueView = (TextView) view.findViewById(R.id.value); mProgress = view.findViewById(R.id.progress); super.onCreateView(view); } public void setTitle(CharSequence title) { mTitle = title; refresh(); } public void setSummary(CharSequence summary) { mSummary = summary; refresh(); } public void setValue(String value) { mValue = value; refresh(); } public void setValue(@StringRes int value) { mValuesRes = value; refresh(); } public CharSequence getTitle() { return mTitle; } public String getValue() { return mValue; } @Override protected void refresh() { super.refresh(); if (mTitleView != null) { if (mTitle != null) { mTitleView.setText(mTitle); mTitleView.setVisibility(View.VISIBLE); } else { mTitleView.setVisibility(View.GONE); } } if (mSummaryView != null && mSummary != null) { mSummaryView.setText(mSummary); } if (mValueView != null && (mValue != null || mValuesRes != 0)) { if (mValue == null) { mValue = mValueView.getContext().getString(mValuesRes); } mValueView.setText(mValue); mValueView.setVisibility(View.VISIBLE); mProgress.setVisibility(View.GONE); mValueParent.setVisibility(mValue.isEmpty() ? View.GONE : View.VISIBLE); } } }