|
|
@@ -10,13 +10,16 @@ import android.webkit.WebView;
|
|
|
import android.webkit.WebViewClient;
|
|
|
|
|
|
import com.knacki.mimou.BuildConfig;
|
|
|
+import com.knacki.mimou.api.CredentialHolder;
|
|
|
import com.knacki.mimou.JsInterface;
|
|
|
import com.knacki.mimou.R;
|
|
|
|
|
|
+import java.util.logging.Logger;
|
|
|
+
|
|
|
public class MainActivity extends AppCompatActivity {
|
|
|
protected WebView web;
|
|
|
protected JsInterface interfaceMimouDroid;
|
|
|
- private boolean needLogin = false;
|
|
|
+ private static Logger log = Logger.getLogger(MainActivity.class.getName());
|
|
|
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
@@ -30,10 +33,11 @@ public class MainActivity extends AppCompatActivity {
|
|
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
|
Uri uri = Uri.parse(url);
|
|
|
|
|
|
+ log.fine("Loading url " +url);
|
|
|
if (uri.getHost().equals(getString(R.string.mimouHost))) {
|
|
|
if (uri.getPathSegments().get(0).equals("login")) {
|
|
|
- needLogin = true;
|
|
|
- startActivity(new Intent(MainActivity.this, LoginActivity.class));
|
|
|
+ CredentialHolder.removeToken(MainActivity.this);
|
|
|
+ showLogin();
|
|
|
return true;
|
|
|
}
|
|
|
return super.shouldOverrideUrlLoading(view, url);
|
|
|
@@ -49,15 +53,24 @@ public class MainActivity extends AppCompatActivity {
|
|
|
|
|
|
web.getSettings().setJavaScriptEnabled(true);
|
|
|
web.addJavascriptInterface(interfaceMimouDroid, "__native");
|
|
|
- web.loadUrl(getString(R.string.mimouUrl));
|
|
|
+ web.loadUrl(CredentialHolder.isLocal(this) ? (getString(R.string.mimouUrl) + (getString(R.string.localUrl))) : getString(R.string.mimouUrl));
|
|
|
+ }
|
|
|
+
|
|
|
+ protected void showLogin() {
|
|
|
+ startActivity(new Intent(MainActivity.this, LoginActivity.class));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
protected void onResume() {
|
|
|
super.onResume();
|
|
|
- if (needLogin) {
|
|
|
- startActivity(new Intent(MainActivity.this, LoginActivity.class));
|
|
|
+ if (!CredentialHolder.hasCredential(this)) {
|
|
|
+ showLogin();
|
|
|
}
|
|
|
interfaceMimouDroid.setActivity(this);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onBackPressed() {
|
|
|
+ moveTaskToBack(true);
|
|
|
+ }
|
|
|
}
|