summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-01-27 18:35:41 +0300
committerAndrew Dolgov <[email protected]>2021-01-27 18:35:41 +0300
commita20b3e91f3e280820be00a935584fd24d92970fe (patch)
tree1b76cdb98108ade5fb9b266f359270de57d508ce
parentc485b8206ab661663b91fcb797cba45ef6ccdcad (diff)
rework previous
-rw-r--r--org.fox.epube/build.gradle1
-rw-r--r--org.fox.epube/src/main/java/org/fox/epube/MainActivity.java27
2 files changed, 16 insertions, 12 deletions
diff --git a/org.fox.epube/build.gradle b/org.fox.epube/build.gradle
index 282aec1..bd630c0 100644
--- a/org.fox.epube/build.gradle
+++ b/org.fox.epube/build.gradle
@@ -46,6 +46,7 @@ dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+ implementation 'androidx.webkit:webkit:1.3.0'
implementation 'frankiesardo:icepick:3.2.0'
compileOnly 'frankiesardo:icepick-processor:3.2.0'
annotationProcessor 'frankiesardo:icepick-processor:3.2.0'
diff --git a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
index ce1db12..dfd7086 100644
--- a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
+++ b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
@@ -29,6 +29,8 @@ import com.livefront.bridge.Bridge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
+import androidx.webkit.WebSettingsCompat;
+import androidx.webkit.WebViewFeature;
import icepick.State;
public class MainActivity extends AppCompatActivity implements NetworkStateReceiver.NetworkStateReceiverListener {
@@ -69,15 +71,14 @@ public class MainActivity extends AppCompatActivity implements NetworkStateRecei
settings.setAppCachePath(getCacheDir().getAbsolutePath());
settings.setAppCacheEnabled(true);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- //settings.setForceDark(WebSettings.FORCE_DARK_OFF);
-
- int nightModeFlags = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+ if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) {
+ WebSettingsCompat.setForceDark(m_web.getSettings(),
+ isNightMode() ? WebSettingsCompat.FORCE_DARK_ON : WebSettingsCompat.FORCE_DARK_OFF);
+ }
- if (nightModeFlags == Configuration.UI_MODE_NIGHT_YES)
- settings.setForceDark(WebSettings.FORCE_DARK_ON);
- else
- settings.setForceDark(WebSettings.FORCE_DARK_OFF);
+ if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK_STRATEGY)) {
+ WebSettingsCompat.setForceDarkStrategy(m_web.getSettings(),
+ WebSettingsCompat.DARK_STRATEGY_USER_AGENT_DARKENING_ONLY);
}
m_loadingBar = findViewById(R.id.loading_progress);
@@ -406,11 +407,8 @@ public class MainActivity extends AppCompatActivity implements NetworkStateRecei
}
@JavascriptInterface
- @Deprecated
public boolean isNightMode() {
- /*int nightModeFlags = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
- return nightModeFlags == Configuration.UI_MODE_NIGHT_YES;*/
- return false;
+ return MainActivity.this.isNightMode();
}
@JavascriptInterface
@@ -437,6 +435,11 @@ public class MainActivity extends AppCompatActivity implements NetworkStateRecei
}
+ private boolean isNightMode() {
+ int nightModeFlags = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+ return nightModeFlags == Configuration.UI_MODE_NIGHT_YES;
+ }
+
private boolean isNetworkAvailable() {
ConnectivityManager manager =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);