Added cookies + clear cookies

This commit is contained in:
massimiliano 2018-11-06 00:09:41 +01:00
parent 364ef534ec
commit 57bbd93bd5
6 changed files with 91 additions and 5 deletions

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WizardSettings">
<option name="children">
<map>
<entry key="vectorWizard">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="vectorAssetStep">
<value>
<PersistentState>
<option name="values">
<map>
<entry key="assetSourceType" value="FILE" />
<entry key="outputName" value="ic_clear_cache" />
<entry key="sourceFile" value="$PROJECT_DIR$/../DisIcons/clear_cache.svg" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</component>
</project>

View File

@ -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);
}

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:viewportHeight="48"
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#ffffff"
android:pathData="m22.3998,36.7995 l8.4013,-9.6014h-19.2029l-8.4013,9.6014zM47.7286,9.8705c0.5001,1.1502 0.3,2.4754 -0.5251,3.4255L24.8001,38.8998C24.2,39.5999 23.3249,40 22.3998,40H3.1969C1.9467,40 0.7965,39.2749 0.2714,38.1247 -0.2287,36.9745 -0.0286,35.6493 0.7965,34.6992L23.1999,9.0953C23.8,8.3952 24.6751,7.9952 25.6002,7.9952h19.2029c1.2502,0 2.4004,0.7251 2.9254,1.8753z" android:strokeWidth="0.02500378"/>
</vector>

View File

@ -27,6 +27,10 @@
android:icon="@drawable/ic_reload"
android:id="@+id/action_reload"
android:title="@string/action_reload" />
<item
android:icon="@drawable/ic_clear_cookies"
android:id="@+id/action_clear_cookies"
android:title="@string/action_clear_cookies" />
<item
android:icon="@drawable/ic_about"
android:id="@+id/action_about"

View File

@ -126,5 +126,6 @@
<string name="Forget">Forget my choice</string>
<string name="ForgetTitle">Forget chat client!</string>
<string name="title_activity_tap">TapActivity</string>
<string name="action_clear_cookies">Clear cookies</string>
</resources>

View File

@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<changelog>
<release version="1.0.1" versioncode="11" >
<change>Added Store cookies</change>
<cange>Added clear cache</cange>
</release>
<release version="1.0.0" versioncode="10" >
<change>Added Serbian translation</change>
<change>Fixed changelog</change>