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" />