package com.ludoarena.wrapper;

import android.app.Activity;
import android.app.AlertDialog;
import android.graphics.Color;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.os.Bundle;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
    private WebView web;
    @Override public void onCreate(Bundle b){super.onCreate(b);getWindow().setStatusBarColor(Color.rgb(6,21,46));getWindow().setNavigationBarColor(Color.rgb(2,9,22));
        web=new WebView(this);web.setBackgroundColor(Color.rgb(2,9,22));setContentView(web);WebSettings s=web.getSettings();s.setJavaScriptEnabled(true);s.setDomStorageEnabled(true);s.setDatabaseEnabled(true);s.setAllowFileAccess(false);s.setAllowContentAccess(false);s.setMixedContentMode(WebSettings.MIXED_CONTENT_NEVER_ALLOW);s.setSupportZoom(false);s.setBuiltInZoomControls(false);s.setDisplayZoomControls(false);s.setCacheMode(WebSettings.LOAD_DEFAULT);CookieManager.getInstance().setAcceptCookie(true);web.setWebChromeClient(new WebChromeClient());web.setWebViewClient(new WebViewClient(){@Override public boolean shouldOverrideUrlLoading(WebView v, WebResourceRequest r){return false;}});web.setOverScrollMode(View.OVER_SCROLL_NEVER);web.loadUrl(BuildConfig.APP_URL);
    }
    private boolean online(){ConnectivityManager cm=(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);Network n=cm.getActiveNetwork();if(n==null)return false;NetworkCapabilities c=cm.getNetworkCapabilities(n);return c!=null&&(c.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)||c.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)||c.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET));}
    @Override public void onBackPressed(){if(web==null){super.onBackPressed();return;}web.evaluateJavascript("(typeof window.LUDO_ANDROID_BACK==='function') ? window.LUDO_ANDROID_BACK() : false",value->{if("true".equals(value))return;if(web.canGoBack())web.goBack();else new AlertDialog.Builder(this).setTitle("Quitter Ludo Arena ?").setMessage("Voulez-vous fermer l'application ?").setNegativeButton("Annuler",null).setPositiveButton("Quitter",(d,w)->finish()).show();});}
    @Override protected void onDestroy(){if(web!=null){web.loadUrl("about:blank");web.destroy();web=null;}super.onDestroy();}
}
