|
@@ -31,7 +31,6 @@ public class MainActivity extends AppCompatActivity {
|
|
|
private static Logger log = Logger.getLogger(MainActivity.class.getName());
|
|
private static Logger log = Logger.getLogger(MainActivity.class.getName());
|
|
|
private JsInterface.TypedCallback<Boolean> currentCallback = null;
|
|
private JsInterface.TypedCallback<Boolean> currentCallback = null;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
@Override
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
super.onCreate(savedInstanceState);
|
|
@@ -44,9 +43,9 @@ public class MainActivity extends AppCompatActivity {
|
|
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
|
Uri uri = Uri.parse(url);
|
|
Uri uri = Uri.parse(url);
|
|
|
|
|
|
|
|
- log.fine("Loading url " +url);
|
|
|
|
|
|
|
+ log.severe("Loading url " +url);
|
|
|
if (uri.getHost().equals(getString(R.string.mimouHost))) {
|
|
if (uri.getHost().equals(getString(R.string.mimouHost))) {
|
|
|
- if (uri.getPathSegments().get(0).equals("login")) {
|
|
|
|
|
|
|
+ if (uri.getPathSegments().get(0).equals("login") && !url.contains("?phoneAccess=")) {
|
|
|
CredentialHolder.removeToken(MainActivity.this);
|
|
CredentialHolder.removeToken(MainActivity.this);
|
|
|
showLogin();
|
|
showLogin();
|
|
|
return true;
|
|
return true;
|
|
@@ -65,12 +64,27 @@ public class MainActivity extends AppCompatActivity {
|
|
|
web.getSettings().setJavaScriptEnabled(true);
|
|
web.getSettings().setJavaScriptEnabled(true);
|
|
|
web.addJavascriptInterface(interfaceMimouDroid, "__native");
|
|
web.addJavascriptInterface(interfaceMimouDroid, "__native");
|
|
|
needReload = true;
|
|
needReload = true;
|
|
|
|
|
+
|
|
|
|
|
+ Uri intentUri = getIntent().getData();
|
|
|
|
|
+ if (intentUri != null) {
|
|
|
|
|
+ String securityToken = intentUri.getQueryParameter("token");
|
|
|
|
|
+ if (securityToken != null) {
|
|
|
|
|
+ log.severe("tetete " +securityToken +' '+intentUri.toString());
|
|
|
|
|
+ CredentialHolder.setSecurityToken(this, securityToken);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
reload();
|
|
reload();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void reload() {
|
|
public void reload() {
|
|
|
- if (needReload)
|
|
|
|
|
- web.loadUrl(CredentialHolder.isLocal(this) ? (getString(R.string.mimouUrl) + (getString(R.string.localUrl))) : getString(R.string.mimouUrl));
|
|
|
|
|
|
|
+ if (needReload) {
|
|
|
|
|
+ if (CredentialHolder.hasCredential(this)) {
|
|
|
|
|
+ log.severe("Loading url " +getString(R.string.mimouUrl) + (CredentialHolder.isLocal(this) ? getString(R.string.localUrl) : (getString(R.string.loginUrl) + "?phoneAccess=" +CredentialHolder.getToken(this))));
|
|
|
|
|
+ web.loadUrl(getString(R.string.mimouUrl) + (CredentialHolder.isLocal(this) ? getString(R.string.localUrl) : (getString(R.string.loginUrl) + "?phoneAccess=" +CredentialHolder.getToken(this))));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ showLogin();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
needReload = false;
|
|
needReload = false;
|
|
|
}
|
|
}
|
|
|
|
|
|