Added option to enable Adguard filter list

pull/214/head
M66B 7 months ago
parent 36924773db
commit e5838618c2

File diff suppressed because it is too large Load Diff

@ -63,6 +63,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
private ImageButton ibHelp; private ImageButton ibHelp;
private SwitchCompat swConfirmLinks; private SwitchCompat swConfirmLinks;
private SwitchCompat swSanitizeLinks; private SwitchCompat swSanitizeLinks;
private SwitchCompat swAdguard;
private SwitchCompat swCheckLinksDbl; private SwitchCompat swCheckLinksDbl;
private SwitchCompat swConfirmFiles; private SwitchCompat swConfirmFiles;
private SwitchCompat swConfirmImages; private SwitchCompat swConfirmImages;
@ -108,7 +109,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
private final static int BIP39_WORDS = 6; private final static int BIP39_WORDS = 6;
private final static String[] RESET_OPTIONS = new String[]{ private final static String[] RESET_OPTIONS = new String[]{
"confirm_links", "sanitize_links", "check_links_dbl", "confirm_files", "confirm_links", "sanitize_links", "adguard", "check_links_dbl", "confirm_files",
"confirm_images", "ask_images", "html_always_images", "confirm_html", "ask_html", "confirm_images", "ask_images", "html_always_images", "confirm_html", "ask_html",
"disable_tracking", "disable_tracking",
"pin", "biometrics", "biometrics_timeout", "autolock", "autolock_nav", "pin", "biometrics", "biometrics_timeout", "autolock", "autolock_nav",
@ -132,6 +133,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
ibHelp = view.findViewById(R.id.ibHelp); ibHelp = view.findViewById(R.id.ibHelp);
swConfirmLinks = view.findViewById(R.id.swConfirmLinks); swConfirmLinks = view.findViewById(R.id.swConfirmLinks);
swSanitizeLinks = view.findViewById(R.id.swSanitizeLinks); swSanitizeLinks = view.findViewById(R.id.swSanitizeLinks);
swAdguard = view.findViewById(R.id.swAdguard);
swCheckLinksDbl = view.findViewById(R.id.swCheckLinksDbl); swCheckLinksDbl = view.findViewById(R.id.swCheckLinksDbl);
swConfirmFiles = view.findViewById(R.id.swConfirmFiles); swConfirmFiles = view.findViewById(R.id.swConfirmFiles);
swConfirmImages = view.findViewById(R.id.swConfirmImages); swConfirmImages = view.findViewById(R.id.swConfirmImages);
@ -197,6 +199,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
editor.remove(key); editor.remove(key);
editor.apply(); editor.apply();
swSanitizeLinks.setEnabled(checked); swSanitizeLinks.setEnabled(checked);
swAdguard.setEnabled(checked);
swCheckLinksDbl.setEnabled(checked); swCheckLinksDbl.setEnabled(checked);
} }
}); });
@ -208,6 +211,13 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
} }
}); });
swAdguard.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("adguard", checked).apply();
}
});
swCheckLinksDbl.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { swCheckLinksDbl.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@ -604,6 +614,8 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
swConfirmLinks.setChecked(prefs.getBoolean("confirm_links", true)); swConfirmLinks.setChecked(prefs.getBoolean("confirm_links", true));
swSanitizeLinks.setChecked(prefs.getBoolean("sanitize_links", false)); swSanitizeLinks.setChecked(prefs.getBoolean("sanitize_links", false));
swSanitizeLinks.setEnabled(swConfirmLinks.isChecked()); swSanitizeLinks.setEnabled(swConfirmLinks.isChecked());
swAdguard.setChecked(prefs.getBoolean("adguard", false));
swAdguard.setEnabled(swConfirmLinks.isChecked());
swCheckLinksDbl.setChecked(prefs.getBoolean("check_links_dbl", BuildConfig.PLAY_STORE_RELEASE)); swCheckLinksDbl.setChecked(prefs.getBoolean("check_links_dbl", BuildConfig.PLAY_STORE_RELEASE));
swCheckLinksDbl.setEnabled(swConfirmLinks.isChecked()); swCheckLinksDbl.setEnabled(swConfirmLinks.isChecked());
swConfirmFiles.setChecked(prefs.getBoolean("confirm_files", true)); swConfirmFiles.setChecked(prefs.getBoolean("confirm_files", true));

@ -20,6 +20,7 @@ package eu.faircode.email;
*/ */
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences;
import android.net.Uri; import android.net.Uri;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Base64; import android.util.Base64;
@ -29,6 +30,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.net.MailTo; import androidx.core.net.MailTo;
import androidx.core.util.PatternsCompat; import androidx.core.util.PatternsCompat;
import androidx.preference.PreferenceManager;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
@ -400,7 +402,9 @@ public class UriHelper {
if (url.isOpaque() || !isHyperLink(url)) if (url.isOpaque() || !isHyperLink(url))
return uri; return uri;
if (BuildConfig.DEBUG) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean adguard = prefs.getBoolean("adguard", false);
if (adguard) {
Uri result = Adguard.filter(context, url); Uri result = Adguard.filter(context, url);
return (result == null ? url : result); return (result == null ? url : result);
} }

@ -126,6 +126,19 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swSanitizeLinks" /> app:layout_constraintTop_toBottomOf="@id/swSanitizeLinks" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swAdguard"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:checked="true"
android:text="@string/title_advanced_adguard"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSanitizeLinksHint"
app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat <androidx.appcompat.widget.SwitchCompat
android:id="@+id/swCheckLinksDbl" android:id="@+id/swCheckLinksDbl"
android:layout_width="0dp" android:layout_width="0dp"
@ -135,7 +148,7 @@
android:text="@string/title_advanced_check_links_dbl" android:text="@string/title_advanced_check_links_dbl"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSanitizeLinksHint" app:layout_constraintTop_toBottomOf="@id/swAdguard"
app:switchPadding="12dp" /> app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat <androidx.appcompat.widget.SwitchCompat

@ -763,6 +763,7 @@
<string name="title_advanced_confirm_files">Confirm viewing files</string> <string name="title_advanced_confirm_files">Confirm viewing files</string>
<string name="title_advanced_sanitize_links">Remove tracking parameters by default</string> <string name="title_advanced_sanitize_links">Remove tracking parameters by default</string>
<string name="title_advanced_sanitize_links_hint">Only when confirming links</string> <string name="title_advanced_sanitize_links_hint">Only when confirming links</string>
<string name="title_advanced_adguard">Use Adguard filter list</string>
<string name="title_advanced_check_links_dbl">Check domain block lists for suspicious links</string> <string name="title_advanced_check_links_dbl">Check domain block lists for suspicious links</string>
<string name="title_advanced_confirm_images">Show no images by default</string> <string name="title_advanced_confirm_images">Show no images by default</string>
<string name="title_advanced_ask_images">Confirm showing images</string> <string name="title_advanced_ask_images">Confirm showing images</string>

Loading…
Cancel
Save