1111import android .webkit .WebResourceRequest ;
1212import android .webkit .WebSettings ;
1313import android .webkit .WebView ;
14- import android .webkit .WebViewClient ;
1514
15+ import androidx .annotation .NonNull ;
1616import androidx .annotation .Nullable ;
17+ import androidx .webkit .WebSettingsCompat ;
18+ import androidx .webkit .WebViewClientCompat ;
19+ import androidx .webkit .WebViewFeature ;
1720
1821import com .fox2code .mmm .BuildConfig ;
1922import com .fox2code .mmm .Constants ;
@@ -33,7 +36,8 @@ public class AndroidacyActivity extends CompatActivity {
3336 }
3437 }
3538
36- private WebView webView ;
39+ WebView webView ;
40+ boolean backOnResume ;
3741
3842 @ Override
3943 @ SuppressLint ({"SetJavaScriptEnabled" , "JavascriptInterface" })
@@ -52,7 +56,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5256 String title = intent .getStringExtra (Constants .EXTRA_ANDROIDACY_ACTIONBAR_TITLE );
5357 String config = intent .getStringExtra (Constants .EXTRA_ANDROIDACY_ACTIONBAR_CONFIG );
5458 this .setContentView (R .layout .webview );
55- if (title == null || title .isEmpty ()) {
59+ if (allowInstall || title == null || title .isEmpty ()) {
5660 this .hideActionBar ();
5761 } else { // Only used for note section
5862 this .setTitle (title );
@@ -77,10 +81,14 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
7781 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) { // Make website follow app theme
7882 webSettings .setForceDark (MainApplication .getINSTANCE ().isLightTheme () ?
7983 WebSettings .FORCE_DARK_OFF : WebSettings .FORCE_DARK_ON );
84+ } else if (WebViewFeature .isFeatureSupported (WebViewFeature .FORCE_DARK )) {
85+ WebSettingsCompat .setForceDark (webSettings , MainApplication .getINSTANCE ().isLightTheme () ?
86+ WebSettingsCompat .FORCE_DARK_OFF : WebSettingsCompat .FORCE_DARK_ON );
8087 }
81- this .webView .setWebViewClient (new WebViewClient () {
88+ this .webView .setWebViewClient (new WebViewClientCompat () {
8289 @ Override
83- public boolean shouldOverrideUrlLoading (WebView view , WebResourceRequest request ) {
90+ public boolean shouldOverrideUrlLoading (
91+ @ NonNull WebView view , @ NonNull WebResourceRequest request ) {
8492 // Don't open non andoridacy urls inside WebView
8593 if (request .isForMainFrame () && !(request .getUrl ().getScheme ().equals ("intent" ) ||
8694 request .getUrl ().getHost ().endsWith (".androidacy.com" ))) {
@@ -115,4 +123,13 @@ public void onBackPressed() {
115123 super .onBackPressed ();
116124 }
117125 }
126+
127+ @ Override
128+ protected void onResume () {
129+ super .onResume ();
130+ if (this .backOnResume ) {
131+ this .backOnResume = false ;
132+ this .forceBackPressed ();
133+ }
134+ }
118135}
0 commit comments