mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-18 14:27:20 +00:00
78 lines
2.7 KiB
Java
78 lines
2.7 KiB
Java
package com.aethex.os;
|
|
|
|
import android.os.Bundle;
|
|
import android.webkit.WebView;
|
|
import android.webkit.WebSettings;
|
|
import android.webkit.WebViewClient;
|
|
import android.webkit.WebResourceRequest;
|
|
import android.webkit.WebResourceError;
|
|
import android.widget.Toast;
|
|
import android.app.AlertDialog;
|
|
import com.getcapacitor.BridgeActivity;
|
|
|
|
import android.util.Log;
|
|
|
|
import android.os.Handler;
|
|
|
|
public class MainActivity extends BridgeActivity {
|
|
|
|
@Override
|
|
public void onStart() {
|
|
super.onStart();
|
|
if (this.bridge != null && this.bridge.getWebView() != null) {
|
|
// Delay loading to ensure WebView is ready and avoid race conditions
|
|
new Handler().postDelayed(this::loadCustomUrl, 1000);
|
|
}
|
|
}
|
|
|
|
private void loadCustomUrl() {
|
|
WebView webView = this.bridge.getWebView();
|
|
|
|
runOnUiThread(() -> {
|
|
Toast.makeText(MainActivity.this, "Resetting & Loading...", Toast.LENGTH_SHORT).show();
|
|
});
|
|
|
|
// Set WebView background to BLACK
|
|
webView.setBackgroundColor(0xFF000000);
|
|
|
|
WebSettings settings = webView.getSettings();
|
|
settings.setJavaScriptEnabled(true);
|
|
settings.setDomStorageEnabled(true);
|
|
settings.setAllowFileAccess(true);
|
|
settings.setAllowContentAccess(true);
|
|
settings.setAllowFileAccessFromFileURLs(true);
|
|
settings.setAllowUniversalAccessFromFileURLs(true);
|
|
|
|
// Add WebViewClient to catch errors
|
|
webView.setWebViewClient(new WebViewClient() {
|
|
@Override
|
|
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
|
|
Log.e("AeThexOS", "WebView Error: " + error.getDescription());
|
|
runOnUiThread(() -> {
|
|
new AlertDialog.Builder(MainActivity.this)
|
|
.setTitle("WebView Error")
|
|
.setMessage("Failed to load: " + request.getUrl() + "\n\nReason: " + error.getDescription())
|
|
.setPositiveButton("OK", null)
|
|
.show();
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public void onPageFinished(WebView view, String url) {
|
|
Log.i("AeThexOS", "Page Loaded: " + url);
|
|
runOnUiThread(() -> {
|
|
Toast.makeText(MainActivity.this, "Loaded: " + url, Toast.LENGTH_SHORT).show();
|
|
});
|
|
}
|
|
});
|
|
|
|
// NUCLEAR CACHE CLEAR
|
|
webView.clearCache(true);
|
|
webView.clearHistory();
|
|
webView.clearFormData();
|
|
webView.clearSslPreferences();
|
|
|
|
// Force load our local test file
|
|
webView.loadUrl("file:///android_asset/public/test_red.html");
|
|
}
|
|
}
|