From 57bbd93bd537b69aacde1288e72c60300825779a Mon Sep 17 00:00:00 2001 From: massimiliano Date: Tue, 6 Nov 2018 00:09:41 +0100 Subject: [PATCH] Added cookies + clear cookies --- .idea/assetWizardSettings.xml | 32 ++++++++++++ .../disroot/disrootapp/ui/MainActivity.java | 50 +++++++++++++++++-- .../main/res/drawable/ic_clear_cookies.xml | 5 ++ app/src/main/res/menu/menu_main.xml | 4 ++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/changelog_master.xml | 4 ++ 6 files changed, 91 insertions(+), 5 deletions(-) create mode 100644 .idea/assetWizardSettings.xml create mode 100644 app/src/main/res/drawable/ic_clear_cookies.xml diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml new file mode 100644 index 0000000..d5af6ef --- /dev/null +++ b/.idea/assetWizardSettings.xml @@ -0,0 +1,32 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java index 99e1dc5..08693c0 100644 --- a/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java +++ b/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java @@ -22,6 +22,7 @@ import android.support.annotation.RequiresApi; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; +import android.support.v7.app.AppCompatDelegate; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.KeyEvent; @@ -32,11 +33,14 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.animation.TranslateAnimation; +import android.webkit.CookieManager; +import android.webkit.CookieSyncManager; import android.webkit.DownloadListener; import android.webkit.GeolocationPermissions; import android.webkit.URLUtil; import android.webkit.ValueCallback; import android.webkit.WebChromeClient; +import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; @@ -93,6 +97,8 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL public static final String CONTENT_HASHTAG = "content://org.disroot.disrootapp.ui.mainactivity/"; + private CookieManager cookieManager; + @Override @@ -1184,15 +1190,26 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL Intent goAbout = new Intent(MainActivity.this, AboutActivity.class); MainActivity.this.startActivity(goAbout); return true; - case R.id.action_exit: { - moveTaskToBack(true); - finish(); + case R.id.action_clear_cookies: { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ + CookieManager.getInstance().removeAllCookies(null); + }else{ + CookieManager.getInstance().removeAllCookie(); + } + } return false; + case R.id.action_exit: { + moveTaskToBack(true); + finish(); + return false; } default: return super.onOptionsItemSelected(item); } } + public CookieManager getCookieManager() { + return cookieManager; + } private void setupWebView(Bundle savedInstanceState, FrameLayout customViewContainer) { disWebChromeClient = new DisWebChromeClient(webView, customViewContainer); @@ -1208,9 +1225,32 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL webView.getSettings().setAllowFileAccess(true); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); + webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); + webView.getSettings().setAllowContentAccess(true); // webView.loadUrl(Constants.URL_DisApp_MAIN_PAGE); webView.setOnLongClickListener(this); - // webView.setVisibility(View.GONE);; + // webView.setVisibility(View.GONE); + + //enable cookies + cookieManager = CookieManager.getInstance(); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + CookieSyncManager.createInstance(webView.getContext()); + cookieManager.setAcceptCookie(true); + AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); + } + CookieSyncManager syncManager = CookieSyncManager.createInstance(webView.getContext()); + CookieManager cookieManager = CookieManager.getInstance(); + String cookieString = "cookie_name=cookie_value; path=/"; + String baseUrl="disroot.org"; + cookieManager.setCookie(baseUrl, cookieString); + syncManager.sync(); + String cookies = cookieManager.getCookie(baseUrl); + if (cookies != null) { + cookieManager.setCookie(baseUrl, cookies); + for (String c : cookies.split(";")) { + + } + } //Make download possible webView.setDownloadListener(new DownloadListener() { @@ -1263,7 +1303,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { - if(url.startsWith("https")&&url.contains("disroot")) { + if(url.startsWith("https")|url.startsWith("http")&&url.contains("disroot")) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } diff --git a/app/src/main/res/drawable/ic_clear_cookies.xml b/app/src/main/res/drawable/ic_clear_cookies.xml new file mode 100644 index 0000000..c57c750 --- /dev/null +++ b/app/src/main/res/drawable/ic_clear_cookies.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 9e3a97d..1720097 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -27,6 +27,10 @@ android:icon="@drawable/ic_reload" android:id="@+id/action_reload" android:title="@string/action_reload" /> + Forget my choice Forget chat client! TapActivity + Clear cookies diff --git a/app/src/main/res/xml/changelog_master.xml b/app/src/main/res/xml/changelog_master.xml index 6c02cb6..c0c7d82 100644 --- a/app/src/main/res/xml/changelog_master.xml +++ b/app/src/main/res/xml/changelog_master.xml @@ -1,5 +1,9 @@ + + Added Store cookies + Added clear cache + Added Serbian translation Fixed changelog