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/app_lock.dart';
|
||||||
import 'package:photos/ui/tools/lock_screen.dart';
|
import 'package:photos/ui/tools/lock_screen.dart';
|
||||||
import 'package:photos/utils/crypto_util.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/file_uploader.dart';
|
||||||
import 'package:photos/utils/local_settings.dart';
|
import 'package:photos/utils/local_settings.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.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);
|
Computer.shared().turnOn(workersCount: 4, verbose: kDebugMode);
|
||||||
CryptoUtil.init();
|
CryptoUtil.init();
|
||||||
await NetworkClient.instance.init();
|
await NetworkClient.instance.init();
|
||||||
|
initDeviceSpec().ignore();
|
||||||
await Configuration.instance.init();
|
await Configuration.instance.init();
|
||||||
await UserService.instance.init();
|
await UserService.instance.init();
|
||||||
await EntityService.instance.init();
|
await EntityService.instance.init();
|
||||||
|
|
|
@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
|
|
||||||
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
|
DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
|
||||||
|
bool disableMediaKit = false;
|
||||||
|
|
||||||
// https://gist.github.com/adamawolf/3048717
|
// https://gist.github.com/adamawolf/3048717
|
||||||
final Set<String> iOSLowEndMachineCodes = <String>{
|
final Set<String> iOSLowEndMachineCodes = <String>{
|
||||||
|
@ -30,6 +31,21 @@ final Set<String> iOSLowEndMachineCodes = <String>{
|
||||||
"iPhone10,5", // iPhone 8
|
"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 {
|
Future<bool> isLowSpecDevice() async {
|
||||||
try {
|
try {
|
||||||
if (Platform.isIOS) {
|
if (Platform.isIOS) {
|
||||||
|
@ -53,11 +69,5 @@ Future<bool> isAndroidSDKVersionLowerThan(int inputSDK) async {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isCompatibleWithMediaKit() {
|
bool isCompatibleWithMediaKit() {
|
||||||
final os = Platform.operatingSystem.toLowerCase();
|
return disableMediaKit == false;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue