mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-22 12:03:09 -04:00
Merge pull request #1655 from kiwix/feature/macgills/1652-inverted-fullscreen
#1652 Fullscreen videos in Dark mode are inverted - extend night mode…
This commit is contained in:
commit
3edaa975b1
@ -42,6 +42,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import javax.inject.Inject;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.kiwix.kiwixmobile.core.BuildConfig;
|
||||
import org.kiwix.kiwixmobile.core.CoreApp;
|
||||
import org.kiwix.kiwixmobile.core.R;
|
||||
@ -51,6 +52,7 @@ import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil;
|
||||
|
||||
import static org.kiwix.kiwixmobile.core.main.CoreMainActivity.HOME_URL;
|
||||
|
||||
@SuppressLint("ViewConstructor")
|
||||
public class KiwixWebView extends VideoEnabledWebView {
|
||||
public static final float[] NIGHT_MODE_COLORS = {
|
||||
-1.0f, 0, 0, 0, 255, // red
|
||||
@ -58,20 +60,19 @@ public class KiwixWebView extends VideoEnabledWebView {
|
||||
0, 0, -1.0f, 0, 255, // blue
|
||||
0, 0, 0, 1.0f, 0 // alpha
|
||||
};
|
||||
private final ViewGroup videoView;
|
||||
@Inject
|
||||
SharedPreferenceUtil sharedPreferenceUtil;
|
||||
@Inject
|
||||
ZimReaderContainer zimReaderContainer;
|
||||
private WebViewCallback callback;
|
||||
|
||||
public KiwixWebView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
private final WebViewCallback callback;
|
||||
private final Paint invertedPaint = createInvertedPaint();
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
public KiwixWebView(Context context, WebViewCallback callback, AttributeSet attrs,
|
||||
ViewGroup nonVideoView, ViewGroup videoView, CoreWebViewClient webViewClient) {
|
||||
super(context, attrs);
|
||||
this.videoView = videoView;
|
||||
if (BuildConfig.DEBUG == true && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
setWebContentsDebuggingEnabled(true);
|
||||
}
|
||||
@ -112,16 +113,22 @@ public class KiwixWebView extends VideoEnabledWebView {
|
||||
|
||||
public void deactivateNightMode() {
|
||||
setLayerType(LAYER_TYPE_NONE, null);
|
||||
videoView.setLayerType(LAYER_TYPE_NONE, null);
|
||||
}
|
||||
|
||||
public void activateNightMode() {
|
||||
if (getUrl() != null && getUrl().equals(HOME_URL)) {
|
||||
return;
|
||||
}
|
||||
setLayerType(LAYER_TYPE_HARDWARE, invertedPaint);
|
||||
videoView.setLayerType(LAYER_TYPE_HARDWARE, invertedPaint);
|
||||
}
|
||||
|
||||
@NotNull private Paint createInvertedPaint() {
|
||||
Paint paint = new Paint();
|
||||
ColorMatrixColorFilter filterInvert = new ColorMatrixColorFilter(NIGHT_MODE_COLORS);
|
||||
paint.setColorFilter(filterInvert);
|
||||
setLayerType(LAYER_TYPE_HARDWARE, paint);
|
||||
return paint;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.core.main;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
@ -26,18 +27,14 @@ import android.view.ViewGroup;
|
||||
import org.kiwix.kiwixmobile.core.utils.DimenUtils;
|
||||
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil;
|
||||
|
||||
public class ToolbarScrollingKiwixWebView extends KiwixWebView {
|
||||
@SuppressLint("ViewConstructor") public class ToolbarScrollingKiwixWebView extends KiwixWebView {
|
||||
|
||||
private final int toolbarHeight = DimenUtils.getToolbarHeight(getContext());
|
||||
private View toolbarView;
|
||||
private View bottomBarView;
|
||||
private SharedPreferenceUtil sharedPreferenceUtil;
|
||||
private final View toolbarView;
|
||||
private final View bottomBarView;
|
||||
private final SharedPreferenceUtil sharedPreferenceUtil;
|
||||
private float startY;
|
||||
|
||||
public ToolbarScrollingKiwixWebView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public ToolbarScrollingKiwixWebView(Context context, WebViewCallback callback, AttributeSet attrs,
|
||||
ViewGroup nonVideoView, ViewGroup videoView, CoreWebViewClient webViewClient, View toolbarView,
|
||||
View bottomBarView, SharedPreferenceUtil sharedPreferenceUtil) {
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.kiwix.kiwixmobile.core.main;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ViewGroup;
|
||||
@ -27,14 +28,11 @@ import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil;
|
||||
* {@link KiwixWebView} which keeps the app bar fixed.
|
||||
*/
|
||||
|
||||
@SuppressLint("ViewConstructor")
|
||||
public class ToolbarStaticKiwixWebView extends KiwixWebView {
|
||||
|
||||
private int heightDifference;
|
||||
private SharedPreferenceUtil sharedPreferenceUtil;
|
||||
|
||||
public ToolbarStaticKiwixWebView(Context context) {
|
||||
super(context);
|
||||
}
|
||||
private final int heightDifference;
|
||||
private final SharedPreferenceUtil sharedPreferenceUtil;
|
||||
|
||||
public ToolbarStaticKiwixWebView(Context context, WebViewCallback callback,
|
||||
AttributeSet attrs, ViewGroup nonVideoView, ViewGroup videoView,
|
||||
|
Loading…
x
Reference in New Issue
Block a user