mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-01 06:40:14 +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.os.Build;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.Rational;
|
import android.util.Rational;
|
||||||
|
import android.view.Window;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes;
|
import androidx.annotation.DrawableRes;
|
||||||
import androidx.annotation.Keep;
|
import androidx.annotation.Keep;
|
||||||
@@ -150,4 +152,13 @@ public final class AndroidHelper {
|
|||||||
Objects.requireNonNull(MediaHelper.buildMediaButtonPendingIntent(activity, mbrComponent, action))
|
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/download/download_service.dart';
|
||||||
import 'package:PiliPlus/services/logger.dart';
|
import 'package:PiliPlus/services/logger.dart';
|
||||||
import 'package:PiliPlus/services/service_locator.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/cache_manager.dart';
|
||||||
import 'package:PiliPlus/utils/calc_window_position.dart';
|
import 'package:PiliPlus/utils/calc_window_position.dart';
|
||||||
import 'package:PiliPlus/utils/date_utils.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:PiliPlus/utils/utils.dart';
|
||||||
import 'package:catcher_2/catcher_2.dart';
|
import 'package:catcher_2/catcher_2.dart';
|
||||||
import 'package:dynamic_color/dynamic_color.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/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||||
@@ -139,7 +140,12 @@ void main() async {
|
|||||||
systemNavigationBarContrastEnforced: false,
|
systemNavigationBarContrastEnforced: false,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
if (Platform.isIOS) {
|
if (Platform.isAndroid) {
|
||||||
|
AndroidHelper.setPreferredDisplayMode(
|
||||||
|
PlatformDispatcher.instance.engineId!,
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
ScreenBrightnessPlatform.instance.setAutoReset(false);
|
ScreenBrightnessPlatform.instance.setAutoReset(false);
|
||||||
}
|
}
|
||||||
} else if (PlatformUtils.isDesktop) {
|
} else if (PlatformUtils.isDesktop) {
|
||||||
|
|||||||
@@ -449,6 +449,44 @@ extension type AndroidHelper._(jni$_.JObject _$this) implements jni$_.JObject {
|
|||||||
isPlaying ? 1 : 0,
|
isPlaying ? 1 : 0,
|
||||||
).check();
|
).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> {
|
final class $AndroidHelper$Type$ extends jni$_.JType<AndroidHelper> {
|
||||||
|
|||||||
Reference in New Issue
Block a user