summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Dywan <christian@twotoasts.de>2018-12-26 14:24:57 +0100
committerGitHub <noreply@github.com>2018-12-26 14:24:57 +0100
commitde3e22e3122fa8fb1e793f0d010cc73a448dcc88 (patch)
treef917282d08819cd76b95737c60c91d90d163811b
parente87cea9fac51979e2922549247b5e8edf89f95c7 (diff)
downloadmidori-git-de3e22e3122fa8fb1e793f0d010cc73a448dcc88.tar.gz
android: Add Clear Private Data to app menu (#221)
Add a `Clear Private Data` menu item to the app menu. All data is erased unconditionally. The feature is currently not configurable.
-rw-r--r--app/src/main/java/org/midori_browser/midori/BrowserActivity.kt10
-rw-r--r--app/src/main/res/drawable/ic_clear_private_data_24dp.xml8
-rw-r--r--app/src/main/res/menu/app_menu.xml5
-rw-r--r--app/src/main/res/values/strings.xml1
4 files changed, 24 insertions, 0 deletions
diff --git a/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt b/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
index 0cc4f7a2..337301f1 100644
--- a/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
+++ b/app/src/main/java/org/midori_browser/midori/BrowserActivity.kt
@@ -14,10 +14,13 @@ import android.view.Menu
import android.view.MenuItem
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
+import android.webkit.CookieManager
import android.webkit.WebSettings
+import android.webkit.WebStorage
import android.widget.AdapterView
import android.widget.ArrayAdapter
import kotlinx.android.synthetic.main.activity_browser.*
+import java.util.ResourceBundle.clearCache
class BrowserActivity : AppCompatActivity() {
@@ -119,6 +122,13 @@ class BrowserActivity : AppCompatActivity() {
startActivity(Intent.createChooser(share, getString(R.string.actionShare)))
true
}
+ R.id.actionClearPrivateData -> {
+ @Suppress("DEPRECATION")
+ CookieManager.getInstance().removeAllCookie()
+ WebStorage.getInstance().deleteAllData()
+ webView.clearCache(true)
+ true
+ }
else -> {
super.onOptionsItemSelected(item)
}
diff --git a/app/src/main/res/drawable/ic_clear_private_data_24dp.xml b/app/src/main/res/drawable/ic_clear_private_data_24dp.xml
new file mode 100644
index 00000000..ae4440ed
--- /dev/null
+++ b/app/src/main/res/drawable/ic_clear_private_data_24dp.xml
@@ -0,0 +1,8 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path android:fillColor="#eee"
+ android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
+</vector>
diff --git a/app/src/main/res/menu/app_menu.xml b/app/src/main/res/menu/app_menu.xml
index c4cf3964..ae19d8b1 100644
--- a/app/src/main/res/menu/app_menu.xml
+++ b/app/src/main/res/menu/app_menu.xml
@@ -5,4 +5,9 @@
android:title="@string/actionShare"
android:icon="@drawable/ic_share_24dp"
app:showAsAction="ifRoom"/>
+
+ <item android:id="@+id/actionClearPrivateData"
+ android:title="@string/actionClearPrivateData"
+ android:icon="@drawable/ic_clear_private_data_24dp"
+ app:showAsAction="ifRoom"/>
</menu>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 313825b6..5d899290 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4,6 +4,7 @@
<string name="userAgentVersion">Midori/6</string>
<string name="actionShare">Share</string>
+ <string name="actionClearPrivateData">Clear Private Data</string>
<string name="hintSearchOrEnterAddress">Search or enter an address</string>
</resources>