DivestOS/Patches/LineageOS-14.1/android_packages_apps_Jelly/182322-3.patch
2017-11-05 16:49:52 -05:00

98 lines
4.7 KiB
Diff

From e5a4d460e3683bb382b17e709a0b541d552c8247 Mon Sep 17 00:00:00 2001
From: Alexandre Oliveira <rockytvbr@gmail.com>
Date: Fri, 28 Jul 2017 18:05:18 -0300
Subject: [PATCH] Jelly: add option to remove identifying headers
Based off anthonycr's commit for LightningBrowser:
https://github.com/anthonycr/Lightning-Browser/commit/7a0c79d11ee1f0a19ebf61b37b8ebd53eee6eb57
Change-Id: If7c5978bd7ab5cdfd766585f2d2c479c4412e63f
---
app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java | 6 ++++++
app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java | 7 +++++++
app/src/main/res/values/strings.xml | 4 ++++
app/src/main/res/xml/settings.xml | 6 ++++++
4 files changed, 23 insertions(+)
diff --git a/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java b/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java
index 6b913d5..b554f30 100644
--- a/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java
+++ b/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java
@@ -32,6 +32,7 @@
private static final String KEY_DO_NOT_TRACK = "key_do_not_track";
private static final String KEY_SAVE_FORM_DATA = "key_save_form_data";
private static final String KEY_SUGGESTION_PROVIDER = "key_suggestion_provider";
+ private static final String KEY_REMOVE_IDENTIFYING_HEADERS = "key_remove_identifying_headers";
public enum SuggestionProviderType {
BAIDU,
@@ -91,6 +92,11 @@ public static boolean getSaveFormData(Context context) {
return prefs.getBoolean(KEY_SAVE_FORM_DATA, true);
}
+ public static boolean getRemoveIdentifyingHeaders(Context context) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ return prefs.getBoolean(KEY_REMOVE_IDENTIFYING_HEADERS, false);
+ }
+
public static SuggestionProviderType getSuggestionProvider(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
try {
diff --git a/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java b/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java
index bc88c22..ae96204 100644
--- a/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java
+++ b/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java
@@ -54,6 +54,8 @@
private final Map<String, String> mRequestHeaders = new ArrayMap<>();
private static final String HEADER_DNT = "DNT";
+ private static final String HEADER_REQUESTED_WITH = "X-Requested-With";
+ private static final String HEADER_WAP_PROFILE = "X-Wap-Profile";
public WebViewExt(Context context) {
super(context);
@@ -145,6 +147,11 @@ public boolean onLongClick(View v) {
if (PrefsUtils.getDoNotTrack(mActivity)) {
mRequestHeaders.put(HEADER_DNT, "1");
}
+
+ if (PrefsUtils.getRemoveIdentifyingHeaders(mActivity)) {
+ mRequestHeaders.put(HEADER_REQUESTED_WITH, "");
+ mRequestHeaders.put(HEADER_WAP_PROFILE, "");
+ }
}
public void init(WebViewExtActivity activity, EditText editText,
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9784dc7..a325947 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -116,6 +116,10 @@
<string name="pref_save_form_data_title">Save form data</string>
<!-- Settings: suggestions provider title -->
<string name="pref_suggestions_provider">Suggestions provider</string>
+ <!-- Settings: remove identifying headers preference title -->
+ <string name="pref_remove_identifying_headers_title">Remove identifying headers</string>
+ <!-- Settings: remove identifying headers preference summary -->
+ <string name="pref_remove_identifying_headers_summary">Prevent some personally identifiable information from being sent to websites you visit</string>
<!-- History: title -->
<string name="history_title">History</string>
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index 8bf0718..9bbf074 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -73,6 +73,12 @@
android:title="@string/pref_do_not_track_title" />
<SwitchPreference
+ android:defaultValue="0"
+ android:key="key_remove_identifying_headers"
+ android:summary="@string/pref_remove_identifying_headers_summary"
+ android:title="@string/pref_remove_identifying_headers_title" />
+
+ <SwitchPreference
android:defaultValue="1"
android:key="key_cookie"
android:summary="@string/pref_cookie_summary"