From 64b67ff4656d4e3b46c619fa3a86e1f55250b5a0 Mon Sep 17 00:00:00 2001 From: anmolgupta Date: Sat, 21 Mar 2020 03:41:05 +0530 Subject: [PATCH 1/2] Change BiMap to HashMap --- .../fr/free/nrw/commons/upload/DescriptionsAdapter.java | 8 ++++---- .../fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java index b467cf3c01..0ca9a75edc 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java @@ -18,13 +18,13 @@ import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import fr.free.nrw.commons.R; import fr.free.nrw.commons.utils.AbstractTextWatcher; -import fr.free.nrw.commons.utils.BiMap; import timber.log.Timber; public class DescriptionsAdapter extends RecyclerView.Adapter { @@ -32,12 +32,12 @@ public class DescriptionsAdapter extends RecyclerView.Adapter descriptions; private Callback callback; - private BiMap selectedLanguages; + private HashMap selectedLanguages; private String savedLanguageValue; public DescriptionsAdapter(String savedLanguageValue) { descriptions = new ArrayList<>(); - selectedLanguages = new BiMap<>(); + selectedLanguages = new HashMap<>(); this.savedLanguageValue = savedLanguageValue; } @@ -47,7 +47,7 @@ public void setCallback(Callback callback) { public void setItems(List descriptions) { this.descriptions = descriptions; - selectedLanguages = new BiMap<>(); + selectedLanguages = new HashMap<>(); notifyDataSetChanged(); } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt index b9c5f46c6a..23303622ea 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt @@ -8,7 +8,6 @@ import android.widget.ArrayAdapter import androidx.annotation.LayoutRes import androidx.core.os.ConfigurationCompat import fr.free.nrw.commons.R -import fr.free.nrw.commons.utils.BiMap import fr.free.nrw.commons.utils.LangCodeUtils import kotlinx.android.extensions.LayoutContainer import kotlinx.android.synthetic.main.row_item_languages_spinner.* @@ -24,7 +23,7 @@ import java.util.* */ class SpinnerLanguagesAdapter constructor( context: Context, - private val selectedLanguages: BiMap<*, String> + private val selectedLanguages: HashMap<*, String> ) : ArrayAdapter(context, -1) { private val languageNamesList: List From 830c5231d38c9bed0ff69bed78336a1456cc962d Mon Sep 17 00:00:00 2001 From: anmolgupta Date: Mon, 23 Mar 2020 18:07:47 +0530 Subject: [PATCH 2/2] Change containsKey to containsValue and delete BiMap.java --- .../commons/upload/SpinnerLanguagesAdapter.kt | 2 +- .../java/fr/free/nrw/commons/utils/BiMap.java | 41 ------------------- 2 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 app/src/main/java/fr/free/nrw/commons/utils/BiMap.java diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt index 23303622ea..f48cf09030 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.kt @@ -40,7 +40,7 @@ class SpinnerLanguagesAdapter constructor( var selectedLangCode = "" override fun isEnabled(position: Int) = languageCodesList[position].let { - it.isNotEmpty() && !selectedLanguages.containsKey(it) && it != selectedLangCode + it.isNotEmpty() && !selectedLanguages.containsValue(it) && it != selectedLangCode } override fun getCount() = languageNamesList.size diff --git a/app/src/main/java/fr/free/nrw/commons/utils/BiMap.java b/app/src/main/java/fr/free/nrw/commons/utils/BiMap.java deleted file mode 100644 index 8095acbdeb..0000000000 --- a/app/src/main/java/fr/free/nrw/commons/utils/BiMap.java +++ /dev/null @@ -1,41 +0,0 @@ -package fr.free.nrw.commons.utils; - -import java.util.HashMap; -import java.util.Set; - -/** - * HashMap that can be searched in both the forward and reverse directions. - */ -public class BiMap { - - private HashMap map = new HashMap<>(); - private HashMap inversedMap = new HashMap<>(); - - public void put(K k, V v) { - map.put(k, v); - inversedMap.put(v, k); - } - - public V get(K k) { - return map.get(k); - } - - public K getKey(V v) { - return inversedMap.get(v); - } - - public Set getEntrySet(){ - return inversedMap.keySet(); - } - - public void remove(K k){ - inversedMap.remove(map.remove(k)); - } - - - public boolean containsKey(V v){ - return inversedMap.containsKey(v); - } - -} -