From 26db3cd2398e0ae80fcc53e7933f2de747c074b4 Mon Sep 17 00:00:00 2001 From: Fup Duck Date: Tue, 23 Jan 2018 15:55:00 +0100 Subject: add custom provider option --- .../se/leap/bitmaskclient/ProviderListAdapter.java | 112 +-------------------- 1 file changed, 4 insertions(+), 108 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java b/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java index 4a34caa0..6672c575 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderListAdapter.java @@ -1,119 +1,15 @@ package se.leap.bitmaskclient; -import android.view.*; +import android.view.LayoutInflater; -import com.pedrogomez.renderers.*; - -import java.util.*; +import com.pedrogomez.renderers.AdapteeCollection; +import com.pedrogomez.renderers.RendererAdapter; +import com.pedrogomez.renderers.RendererBuilder; public class ProviderListAdapter extends RendererAdapter { - private static boolean[] hidden = null; - - public void hide(int position) { - hidden[getRealPosition(position)] = true; - notifyDataSetChanged(); - notifyDataSetInvalidated(); - } - - public void unHide(int position) { - hidden[getRealPosition(position)] = false; - notifyDataSetChanged(); - notifyDataSetInvalidated(); - } - - public void showAllProviders() { - for (int i = 0; i < hidden.length; i++) - hidden[i] = false; - notifyDataSetChanged(); - notifyDataSetInvalidated(); - } - - public void hideAllBut(int position) { - for (int i = 0; i < hidden.length; i++) { - if (i != position) - hidden[i] = true; - else - hidden[i] = false; - } - notifyDataSetChanged(); - notifyDataSetInvalidated(); - } - - private int getRealPosition(int position) { - int hElements = getHiddenCountUpTo(position); - int diff = 0; - for (int i = 0; i < hElements; i++) { - diff++; - if (hidden[position + diff]) - i--; - } - return (position + diff); - } - - private int getHiddenCount() { - int count = 0; - for (int i = 0; i < hidden.length; i++) - if (hidden[i]) - count++; - return count; - } - - private int getHiddenCountUpTo(int location) { - int count = 0; - for (int i = 0; i <= location; i++) { - if (hidden[i]) - count++; - } - return count; - } - - @Override - public int getCount() { - return (hidden.length - getHiddenCount()); - } - public ProviderListAdapter(LayoutInflater layoutInflater, RendererBuilder rendererBuilder, AdapteeCollection collection) { super(layoutInflater, rendererBuilder, collection); - hidden = new boolean[collection.size()]; - for (int i = 0; i < collection.size(); i++) - hidden[i] = false; - } - - @Override - public void add(Provider item) { - super.add(item); - if (getCollection().size() > hidden.length) { - boolean[] new_hidden = new boolean[hidden.length + 1]; - System.arraycopy(hidden, 0, new_hidden, 0, hidden.length); - new_hidden[hidden.length] = false; - hidden = new_hidden; - } - } - - @Override - public void remove(Provider item) { - super.remove(item); - boolean[] new_hidden = new boolean[hidden.length - 1]; - System.arraycopy(hidden, 0, new_hidden, 0, hidden.length - 1); - hidden = new_hidden; - } - - protected int indexOf(Provider item) { - int index = 0; - ProviderManager provider_manager = (ProviderManager) getCollection(); - Set providers = provider_manager.providers(); - for (Provider provider : providers) { - if (provider.equals(item)) { - break; - } else index++; - } - return index; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - return super.getView(getRealPosition(position), convertView, parent); } public void saveProviders() { -- cgit v1.2.3