X-Git-Url: https://git.mdrn.pl/mobilnebezpieczenstwo.git/blobdiff_plain/4b08fd3d054a0b4872d60adc7627bfdef069c39b..be45943134f44b96728f516e91a66149e51443c0:/app/src/main/java/com/samsung/srpol/ui/drawer/CategoryArrayAdapter.java diff --git a/app/src/main/java/com/samsung/srpol/ui/drawer/CategoryArrayAdapter.java b/app/src/main/java/com/samsung/srpol/ui/drawer/CategoryArrayAdapter.java new file mode 100644 index 0000000..b95febf --- /dev/null +++ b/app/src/main/java/com/samsung/srpol/ui/drawer/CategoryArrayAdapter.java @@ -0,0 +1,101 @@ +/* + Copyright (C) 2014 Samsung Electronics Polska Sp. z o.o. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU AFFERO General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + You may obtain a copy of the License at + + http://www.gnu.org/licenses/agpl-3.0.txt + + This program 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 this program. If not, see . +*/ + +package com.samsung.srpol.ui.drawer; + +import java.util.Collection; + +import com.samsung.srpol.R; +import com.samsung.srpol.data.Category; + +import android.content.Context; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +public class CategoryArrayAdapter extends ArrayAdapter { + private final Context mContext; + private String mTextPrefix ; + private String mCountTextPrefix; + private int mSpanTextColor; + + private static class ViewHolder { + TextView textView1; + TextView textView2; + TextView textView3; + ImageView imageView; + } + + public CategoryArrayAdapter(Context context) { + super(context, R.layout.drawer_list_item); + mTextPrefix = context.getResources().getString(R.string.drawer_header_text_prefix); + mCountTextPrefix = context.getResources().getString(R.string.items_string_quantity); + mSpanTextColor = context.getResources().getColor(R.color.text_menu); + mContext = context; + } + + @Override + public void addAll(Collection collection) { + for (Category category : collection) { + super.add(category); + } + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder = null; + if (convertView == null) { + LayoutInflater inflater = (LayoutInflater) mContext + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = inflater.inflate(R.layout.drawer_list_item, parent, + false); + holder = new ViewHolder(); + holder.textView1 = (TextView) convertView.findViewById(R.id.text1); + holder.textView2 = (TextView) convertView.findViewById(R.id.text2); + holder.textView3 = (TextView) convertView.findViewById(R.id.text3); + holder.imageView = (ImageView) convertView.findViewById(R.id.icon); + + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + Category category = getItem(position); + if (category.getIconRes() > 0) + holder.imageView.setImageResource(category.getIconRes()); + holder.textView1.setText(mTextPrefix + category.getHeader()); + holder.textView2.setText(category.getShortDescription()); + holder.textView3.setText(createSpannableCountText(category.getCurrentlyVisible())); + return convertView; + } + + private Spannable createSpannableCountText(int count){ + + Spannable spannable = new SpannableString(mCountTextPrefix + count); + spannable.setSpan(new ForegroundColorSpan(mSpanTextColor),mCountTextPrefix.length(), spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + return spannable; + } +}