|
|
@@ -0,0 +1,63 @@
|
|
|
+package com.knacki.mimou.activity;
|
|
|
+
|
|
|
+import android.content.Intent;
|
|
|
+import android.net.Uri;
|
|
|
+import android.os.Build;
|
|
|
+import android.os.Bundle;
|
|
|
+import android.support.v7.app.AppCompatActivity;
|
|
|
+import android.webkit.WebChromeClient;
|
|
|
+import android.webkit.WebView;
|
|
|
+import android.webkit.WebViewClient;
|
|
|
+
|
|
|
+import com.knacki.mimou.BuildConfig;
|
|
|
+import com.knacki.mimou.JsInterface;
|
|
|
+import com.knacki.mimou.R;
|
|
|
+
|
|
|
+public class MainActivity extends AppCompatActivity {
|
|
|
+ protected WebView web;
|
|
|
+ protected JsInterface interfaceMimouDroid;
|
|
|
+ private boolean needLogin = false;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.activity_main);
|
|
|
+ interfaceMimouDroid = new JsInterface();
|
|
|
+ web = (WebView) findViewById(R.id.webview);
|
|
|
+ web.setWebChromeClient(new WebChromeClient());
|
|
|
+ web.setWebViewClient(new WebViewClient() {
|
|
|
+ @Override
|
|
|
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
|
|
+ Uri uri = Uri.parse(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));
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return super.shouldOverrideUrlLoading(view, url);
|
|
|
+ }
|
|
|
+ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
|
|
+ web.setWebContentsDebuggingEnabled(BuildConfig.DEBUG);
|
|
|
+ }
|
|
|
+
|
|
|
+ web.getSettings().setJavaScriptEnabled(true);
|
|
|
+ web.addJavascriptInterface(interfaceMimouDroid, "__native");
|
|
|
+ web.loadUrl(getString(R.string.mimouUrl));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onResume() {
|
|
|
+ super.onResume();
|
|
|
+ if (needLogin) {
|
|
|
+ startActivity(new Intent(MainActivity.this, LoginActivity.class));
|
|
|
+ }
|
|
|
+ interfaceMimouDroid.setActivity(this);
|
|
|
+ }
|
|
|
+}
|