Fix check for OS variant in droid
This commit is contained in:
parent
eac9eee29c
commit
c5113974f8
2 changed files with 19 additions and 7 deletions
|
@ -43,6 +43,7 @@ import 'package:photos/services/user_service.dart';
|
|||
import 'package:photos/ui/tools/app_lock.dart';
|
||||
import 'package:photos/ui/tools/lock_screen.dart';
|
||||
import 'package:photos/utils/crypto_util.dart';
|
||||
import "package:photos/utils/device_info.dart";
|
||||
import 'package:photos/utils/file_uploader.dart';
|
||||
import 'package:photos/utils/local_settings.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
@ -161,6 +162,7 @@ Future<void> _init(bool isBackground, {String via = ''}) async {
|
|||
Computer.shared().turnOn(workersCount: 4, verbose: kDebugMode);
|
||||
CryptoUtil.init();
|
||||
await NetworkClient.instance.init();
|
||||
initDeviceSpec().ignore();
|
||||
await Configuration.instance.init();
|
||||
await UserService.instance.init();
|
||||
await EntityService.instance.init();
|
||||
|
|
|
@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:logging/logging.dart';
|
||||
|
||||
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
|
||||
bool disableMediaKit = false;
|
||||
|
||||
// https://gist.github.com/adamawolf/3048717
|
||||
final Set<String> iOSLowEndMachineCodes = <String>{
|
||||
|
@ -30,6 +31,21 @@ final Set<String> iOSLowEndMachineCodes = <String>{
|
|||
"iPhone10,5", // iPhone 8
|
||||
};
|
||||
|
||||
Future<void> initDeviceSpec() async {
|
||||
if (Platform.isAndroid) {
|
||||
// Note: The current version of media_kit crashes while playing video when
|
||||
// hardware malloc is enabled. Users either need to disable the hardware
|
||||
// malloc for our app or we need to disable the media_kit for these devices.
|
||||
// Currently, we have disabled the media_kit for these devices. and in the
|
||||
// future if needed we can add a setting.
|
||||
final androidInfo = await deviceInfoPlugin.androidInfo;
|
||||
disableMediaKit = androidInfo.toString().contains('graphene') ||
|
||||
androidInfo.toString().contains('divest');
|
||||
} else {
|
||||
disableMediaKit = false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> isLowSpecDevice() async {
|
||||
try {
|
||||
if (Platform.isIOS) {
|
||||
|
@ -53,11 +69,5 @@ Future<bool> isAndroidSDKVersionLowerThan(int inputSDK) async {
|
|||
}
|
||||
|
||||
bool isCompatibleWithMediaKit() {
|
||||
final os = Platform.operatingSystem.toLowerCase();
|
||||
if (os.contains("graphene") || os.contains("divest")) {
|
||||
Logger("device_info").info("os is $os, using video_player for videos");
|
||||
return false;
|
||||
}
|
||||
Logger("device_info").info("os is $os, using media_kit for videos");
|
||||
return true;
|
||||
return disableMediaKit == false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue