From b9fcd9acfb5aad9ef613aa9060a60a4da8812d28 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 30 May 2020 15:28:41 +0200 Subject: [PATCH] Comment #26 - Some fixes --- .../fedilab/nitterizeme/helpers/Utils.java | 36 ++++++++++++------- app/src/main/res/values/array.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- .../main/res/xml/preferences_invidious.xml | 4 +-- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/app/fedilab/nitterizeme/helpers/Utils.java b/app/src/main/java/app/fedilab/nitterizeme/helpers/Utils.java index 7a14304..b6a1eb6 100644 --- a/app/src/main/java/app/fedilab/nitterizeme/helpers/Utils.java +++ b/app/src/main/java/app/fedilab/nitterizeme/helpers/Utils.java @@ -39,6 +39,7 @@ import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.preference.PreferenceManager; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -353,30 +354,41 @@ public class Utils { */ public static String replaceInvidiousParams(Context context, String url) { String newUrl = url; - SharedPreferences sharedpreferences = context.getSharedPreferences(MainActivity.APP_PREFS, Context.MODE_PRIVATE); - + SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); //Theme String theme = sharedpreferences.getString(context.getString(R.string.invidious_dark_mode), "0"); if (theme.compareTo("-1") == 0) { //Remove value - newUrl = url.replaceAll("&?dark_mode=(true|false)", ""); + newUrl = newUrl.replaceAll("&?dark_mode=(true|false)", ""); } else if (theme.compareTo("0") != 0) { //Change value - newUrl = url.replaceAll("dark_mode=(true|false)", theme); + if (newUrl.contains("dark_mode=")) { + newUrl = newUrl.replaceAll("dark_mode=(true|false)", theme); + } else { + newUrl += "&" + theme; + } } - //Tint mode - String tint = sharedpreferences.getString(context.getString(R.string.invidious_tint_mode), "0"); - if (tint.compareTo("-1") == 0) { //Remove value - newUrl = url.replaceAll("&?thin_mode=(true|false)", ""); - } else if (tint.compareTo("0") != 0) { //Change value - newUrl = url.replaceAll("thin_mode=(true|false)", theme); + //Thin mode + String thin = sharedpreferences.getString(context.getString(R.string.invidious_thin_mode), "0"); + if (thin.compareTo("-1") == 0) { //Remove value + newUrl = newUrl.replaceAll("&?thin_mode=(true|false)", ""); + } else if (thin.compareTo("0") != 0) { //Change value + if (newUrl.contains("thin_mode=")) { + newUrl = newUrl.replaceAll("thin_mode=(true|false)", thin); + } else { + newUrl += "&" + thin; + } } //Language String language = sharedpreferences.getString(context.getString(R.string.invidious_language_mode), "0"); if (language.compareTo("-1") == 0) { //Remove value - newUrl = url.replaceAll("&?hl=\\w{2}(-\\w{2})?", ""); + newUrl = newUrl.replaceAll("&?hl=\\w{2}(-\\w{2})?", ""); } else if (language.compareTo("0") != 0) { //Change value - newUrl = url.replaceAll("hl=\\w{2}(-\\w{2})?", language); + if (newUrl.contains("hl=")) { + newUrl = newUrl.replaceAll("hl=\\w{2}(-\\w{2})?", language); + } else { + newUrl += "&" + language; + } } return newUrl; diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 598e2f8..4c97d69 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -7,7 +7,7 @@ dark_mode=false - + 0 -1 thin_mode=true diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fe5afed..2a2e260 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -152,7 +152,7 @@ invidious_dark_mode - invidious_tint_mode + invidious_thin_mode invidious_language_mode invidious_annotations_mode invidious_autoplay_mode diff --git a/app/src/main/res/xml/preferences_invidious.xml b/app/src/main/res/xml/preferences_invidious.xml index 0ceb245..a6c4bbe 100644 --- a/app/src/main/res/xml/preferences_invidious.xml +++ b/app/src/main/res/xml/preferences_invidious.xml @@ -16,12 +16,12 @@ + android:entryValues="@array/invidious_thin_values" />