mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-24 03:00:13 +08:00
set android display mode
Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
@@ -18,6 +18,8 @@ import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.provider.Settings;
|
||||
import android.util.Rational;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.Keep;
|
||||
@@ -150,4 +152,13 @@ public final class AndroidHelper {
|
||||
Objects.requireNonNull(MediaHelper.buildMediaButtonPendingIntent(activity, mbrComponent, action))
|
||||
);
|
||||
}
|
||||
|
||||
public static void setPreferredDisplayMode(long engineId, int mode) {
|
||||
Activity activity = JniFlutterPlugin.getActivity(engineId);
|
||||
assert activity != null;
|
||||
final Window window = activity.getWindow();
|
||||
final WindowManager.LayoutParams params = window.getAttributes();
|
||||
params.preferredDisplayModeId = mode;
|
||||
window.setAttributes(params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import 'package:PiliPlus/services/account_service.dart';
|
||||
import 'package:PiliPlus/services/download/download_service.dart';
|
||||
import 'package:PiliPlus/services/logger.dart';
|
||||
import 'package:PiliPlus/services/service_locator.dart';
|
||||
import 'package:PiliPlus/utils/android/bindings.g.dart';
|
||||
import 'package:PiliPlus/utils/cache_manager.dart';
|
||||
import 'package:PiliPlus/utils/calc_window_position.dart';
|
||||
import 'package:PiliPlus/utils/date_utils.dart';
|
||||
@@ -30,7 +31,7 @@ import 'package:PiliPlus/utils/theme_utils.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:catcher_2/catcher_2.dart';
|
||||
import 'package:dynamic_color/dynamic_color.dart';
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
import 'package:flutter/foundation.dart' show PlatformDispatcher, kDebugMode;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||
@@ -139,7 +140,12 @@ void main() async {
|
||||
systemNavigationBarContrastEnforced: false,
|
||||
),
|
||||
);
|
||||
if (Platform.isIOS) {
|
||||
if (Platform.isAndroid) {
|
||||
AndroidHelper.setPreferredDisplayMode(
|
||||
PlatformDispatcher.instance.engineId!,
|
||||
0,
|
||||
);
|
||||
} else {
|
||||
ScreenBrightnessPlatform.instance.setAutoReset(false);
|
||||
}
|
||||
} else if (PlatformUtils.isDesktop) {
|
||||
|
||||
@@ -449,6 +449,44 @@ extension type AndroidHelper._(jni$_.JObject _$this) implements jni$_.JObject {
|
||||
isPlaying ? 1 : 0,
|
||||
).check();
|
||||
}
|
||||
|
||||
static final _id_setPreferredDisplayMode = _class.staticMethodId(
|
||||
r'setPreferredDisplayMode',
|
||||
r'(JI)V',
|
||||
);
|
||||
|
||||
static final _setPreferredDisplayMode =
|
||||
jni$_.ProtectedJniExtensions.lookup<
|
||||
jni$_.NativeFunction<
|
||||
jni$_.JThrowablePtr Function(
|
||||
jni$_.Pointer<jni$_.Void>,
|
||||
jni$_.JMethodIDPtr,
|
||||
jni$_.VarArgs<(jni$_.Int64, jni$_.Int32)>,
|
||||
)
|
||||
>
|
||||
>('globalEnv_CallStaticVoidMethod')
|
||||
.asFunction<
|
||||
jni$_.JThrowablePtr Function(
|
||||
jni$_.Pointer<jni$_.Void>,
|
||||
jni$_.JMethodIDPtr,
|
||||
core$_.int,
|
||||
core$_.int,
|
||||
)
|
||||
>();
|
||||
|
||||
/// from: `static public void setPreferredDisplayMode(long engineId, int mode)`
|
||||
static void setPreferredDisplayMode(
|
||||
core$_.int engineId,
|
||||
core$_.int mode,
|
||||
) {
|
||||
final _$$classRef = _class.reference;
|
||||
_setPreferredDisplayMode(
|
||||
_$$classRef.pointer,
|
||||
_id_setPreferredDisplayMode.pointer,
|
||||
engineId,
|
||||
mode,
|
||||
).check();
|
||||
}
|
||||
}
|
||||
|
||||
final class $AndroidHelper$Type$ extends jni$_.JType<AndroidHelper> {
|
||||
|
||||
Reference in New Issue
Block a user