Browse Source

[flutter_example_packages] Add device_info_plus, refactoring, fix path_provider.

merge-requests/21/head
Vitaliy Zarubin 2 years ago
parent
commit
6f7488b4a3
  1. 38
      example/lib/l10n/app_en.arb
  2. 38
      example/lib/l10n/app_ru.arb
  3. 72
      example/lib/packages/device_info_plus/page.dart
  4. 6
      example/lib/packages/google_fonts/package.dart
  5. 32
      example/pubspec.lock
  6. 10
      example/pubspec.yaml
  7. 7
      packages/battery_plus/battery_plus_aurora/lib/battery_plus_aurora.dart
  8. 2
      packages/battery_plus/battery_plus_aurora/pubspec.yaml
  9. 9
      packages/device_info_plus/device_info_plus_aurora/lib/device_info_plus_aurora.dart
  10. 2
      packages/device_info_plus/device_info_plus_aurora/pubspec.yaml
  11. 2
      packages/flutter_local_notifications/flutter_local_notifications_aurora/pubspec.yaml
  12. 3
      packages/flutter_secure_storage/flutter_secure_storage_aurora/lib/flutter_secure_storage_aurora.dart
  13. 2
      packages/flutter_secure_storage/flutter_secure_storage_aurora/pubspec.yaml
  14. 2
      packages/package_info_plus/package_info_plus_aurora/pubspec.yaml
  15. 20
      packages/path_provider/path_provider_aurora/lib/path_provider_aurora.dart
  16. 2
      packages/path_provider/path_provider_aurora/pubspec.yaml
  17. 5
      packages/shared_preferences/shared_preferences_aurora/lib/shared_preferences_aurora.dart
  18. 2
      packages/shared_preferences/shared_preferences_aurora/pubspec.yaml
  19. 2
      packages/sqflite/sqflite_aurora/pubspec.yaml
  20. 3
      packages/wakelock/wakelock_aurora/lib/wakelock_aurora.dart
  21. 2
      packages/wakelock/wakelock_aurora/pubspec.yaml

38
example/lib/l10n/app_en.arb

@ -14,8 +14,42 @@
"cachedNetworkImageDesc": "Desc",
"@_DEVICE_INFO_PLUS": {},
"deviceInfoPlusTitle": "Title",
"deviceInfoPlusDesc": "Desc",
"deviceInfoPlusTitleID": "ID",
"deviceInfoPlusDescID": "Device ID",
"deviceInfoPlusTitleName": "Name",
"deviceInfoPlusDescName": "Device name",
"deviceInfoPlusTitleVersion": "Version OS",
"deviceInfoPlusDescVersion": "Short OS version",
"deviceInfoPlusTitlePrettyName": "Full Name",
"deviceInfoPlusDescPrettyName": "Pretty name OS",
"deviceInfoPlusTitleGNSS": "GNSS",
"deviceInfoPlusDescGNSS": "Check is has GNSS",
"deviceInfoPlusTitleNFC": "NFC",
"deviceInfoPlusDescNFC": "Check is has NFC",
"deviceInfoPlusTitleBluetooth": "Bluetooth",
"deviceInfoPlusDescBluetooth": "Check is has bluetooth",
"deviceInfoPlusTitleWlan": "WLAN",
"deviceInfoPlusDescWlan": "Check is has Wireless LAN",
"deviceInfoPlusTitleMaxCpuClockSpeed": "CPU speed",
"deviceInfoPlusDescMaxCpuClockSpeed": "Max CPU clock speed",
"deviceInfoPlusTitleNumberCpuCores": "CPU cores",
"deviceInfoPlusDescNumberCpuCores": "Number CPU cores",
"deviceInfoPlusTitleBatteryCharge": "Battery charge",
"deviceInfoPlusDescBatteryCharge": "Battery level in percent 0-100",
"deviceInfoPlusTitleMainCameraResolution": "Main camera",
"deviceInfoPlusDescMainCameraResolution": "Main camera resolution",
"deviceInfoPlusTitleFrontalCameraResolution": "Frontal camera",
"deviceInfoPlusDescFrontalCameraResolution": "Frontal camera resolution",
"deviceInfoPlusTitleRamTotalSize": "RAM total",
"deviceInfoPlusDescRamTotalSize": "RAM total size",
"deviceInfoPlusTitleRamFreeSize": "RAM free",
"deviceInfoPlusDescRamFreeSize": "RAM free size",
"deviceInfoPlusTitleScreenResolution": "Screen",
"deviceInfoPlusDescScreenResolution": "Screen resolution",
"deviceInfoPlusTitleOsVersion": "Version OS",
"deviceInfoPlusDescOsVersion": "Full OS version",
"deviceInfoPlusTitleDeviceModel": "Device",
"deviceInfoPlusDescDeviceModel": "Device name model",
"@_FLUTTER_CACHE_MANAGER": {},
"flutterCacheManagerTitle": "Title",

38
example/lib/l10n/app_ru.arb

@ -10,8 +10,42 @@
"batteryPlusDescBatteryStateLive": "Изменение состояния батареи",
"@_CACHED_NETWORK_IMAGE": {},
"cachedNetworkImageTitle": "Заголовок",
"cachedNetworkImageDesc": "Описание",
"deviceInfoPlusTitleID": "ID",
"deviceInfoPlusDescID": "Идентификатор устройства",
"deviceInfoPlusTitleName": "Имя",
"deviceInfoPlusDescName": "Имя устройства",
"deviceInfoPlusTitleVersion": "Версия ОС",
"deviceInfoPlusDescVersion": "Короткое название версии ОС",
"deviceInfoPlusTitlePrettyName": "Полное имя",
"deviceInfoPlusDescPrettyName": "Красивое имя ОС",
"deviceInfoPlusTitleGNSS": "GNSS",
"deviceInfoPlusDescGNSS": "Проверить наличие GNSS",
"deviceInfoPlusTitleNFC": "NFC",
"deviceInfoPlusDescNFC": "Проверить, есть ли NFC",
"deviceInfoPlusTitleBluetooth": "Bluetooth",
"deviceInfoPlusDescBluetooth": "Проверьте, есть ли Bluetooth",
"deviceInfoPlusTitleWlan": "WLAN",
"deviceInfoPlusDescWlan": "Проверьте, есть ли Wireless LAN",
"deviceInfoPlusTitleMaxCpuClockSpeed": "Частота процессора",
"deviceInfoPlusDescMaxCpuClockSpeed": "Максимальная тактовая частота процессора",
"deviceInfoPlusTitleNumberCpuCores": "Ядра ЦП",
"deviceInfoPlusDescNumberCpuCores": "Количество ядер ЦП",
"deviceInfoPlusTitleBatteryCharge": "Заряд батареи",
"deviceInfoPlusDescBatteryCharge": "Уровень заряда батареи в процентах от 0 до 100",
"deviceInfoPlusTitleMainCameraResolution": "Основная камера",
"deviceInfoPlusDescMainCameraResolution": "Разрешение основной камеры",
"deviceInfoPlusTitleFrontalCameraResolution": "Фронтальная камера",
"deviceInfoPlusDescFrontalCameraResolution": "Разрешение фронтальной камеры",
"deviceInfoPlusTitleRamTotalSize": "Всего ОЗУ",
"deviceInfoPlusDescRamTotalSize": "Общий размер ОЗУ",
"deviceInfoPlusTitleRamFreeSize": "Свободно ОЗУ",
"deviceInfoPlusDescRamFreeSize": "Свободный размер ОЗУ",
"deviceInfoPlusTitleScreenResolution": "Экран",
"deviceInfoPlusDescScreenResolution": "Разрешение экрана",
"deviceInfoPlusTitleOsVersion": "Версия ОС",
"deviceInfoPlusDescOsVersion": "Полное название версия ОС",
"deviceInfoPlusTitleDeviceModel": "Устройство",
"deviceInfoPlusDescDeviceModel": "Имя модели устройства",
"@_DEVICE_INFO_PLUS": {},
"deviceInfoPlusTitle": "Заголовок",

72
example/lib/packages/device_info_plus/page.dart

@ -43,93 +43,93 @@ class _DeviceInfoPlusPageState extends AppState<DeviceInfoPlusPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleID,
desc: l10n.deviceInfoPlusDescID,
future: model.getID(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleName,
desc: l10n.deviceInfoPlusDescName,
future: model.getName(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleVersion,
desc: l10n.deviceInfoPlusDescVersion,
future: model.getVersion(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitlePrettyName,
desc: l10n.deviceInfoPlusDescName,
future: model.getPrettyName(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleGNSS,
desc: l10n.deviceInfoPlusDescGNSS,
future: model.hasGNSS(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleNFC,
desc: l10n.deviceInfoPlusDescNFC,
future: model.hasNFC(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleBluetooth,
desc: l10n.deviceInfoPlusDescBluetooth,
future: model.hasBluetooth(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleWlan,
desc: l10n.deviceInfoPlusDescWlan,
future: model.hasWlan(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleMaxCpuClockSpeed,
desc: l10n.deviceInfoPlusDescMaxCpuClockSpeed,
future: model.getMaxCpuClockSpeed(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleNumberCpuCores,
desc: l10n.deviceInfoPlusDescNumberCpuCores,
future: model.getNumberCpuCores(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleBatteryCharge,
desc: l10n.deviceInfoPlusDescBatteryCharge,
future: model.getBatteryChargePercentage(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleMainCameraResolution,
desc: l10n.deviceInfoPlusDescMainCameraResolution,
future: model.getMainCameraResolution(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleFrontalCameraResolution,
desc: l10n.deviceInfoPlusDescFrontalCameraResolution,
future: model.getFrontalCameraResolution(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleRamTotalSize,
desc: l10n.deviceInfoPlusDescRamTotalSize,
future: model.getRamTotalSize(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleRamFreeSize,
desc: l10n.deviceInfoPlusDescRamFreeSize,
future: model.getRamFreeSize(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleScreenResolution,
desc: l10n.deviceInfoPlusDescScreenResolution,
future: model.getScreenResolution(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleOsVersion,
desc: l10n.deviceInfoPlusDescOsVersion,
future: model.getOsVersion(),
),
BlockItem(
title: l10n.deviceInfoPlusTitle,
desc: l10n.deviceInfoPlusDesc,
title: l10n.deviceInfoPlusTitleDeviceModel,
desc: l10n.deviceInfoPlusDescDeviceModel,
future: model.getDeviceModel(),
),
],

6
example/lib/packages/google_fonts/package.dart

@ -10,13 +10,13 @@ final packageGoogleFonts = PackageDialog(
Пакет Flutter для использования шрифтов с fonts.google.com.
''',
messageEN: '''
This is a platform independent plugin used in this app, should work
This is a platform dependent plugin used in this app, should work
for you too.
''',
messageRU: '''
Это плагин независимый от платформы, используется в этом приложении,
Это плагин зависимый от платформы, используется в этом приложении,
должен работать и у вас.
''',
version: '4.0.4',
isPlatformDependent: false,
isPlatformDependent: true,
);

32
example/pubspec.lock

@ -392,6 +392,27 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
package_info_plus:
dependency: transitive
description:
name: package_info_plus
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.2"
package_info_plus_aurora:
dependency: transitive
description:
path: "../packages/package_info_plus/package_info_plus_aurora"
relative: true
source: path
version: "0.0.1"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
path:
dependency: transitive
description:
@ -400,7 +421,7 @@ packages:
source: hosted
version: "1.8.2"
path_provider:
dependency: transitive
dependency: "direct main"
description:
name: path_provider
url: "https://pub.dartlang.org"
@ -413,6 +434,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.27"
path_provider_aurora:
dependency: "direct main"
description:
path: "../packages/path_provider/path_provider_aurora"
relative: true
source: path
version: "0.0.1"
path_provider_foundation:
dependency: transitive
description:
@ -658,4 +686,4 @@ packages:
version: "3.1.1"
sdks:
dart: ">=2.18.6 <3.0.0"
flutter: ">=3.3.0"
flutter: ">=3.3.10"

10
example/pubspec.yaml

@ -60,11 +60,11 @@ dependencies:
# package_info_plus_aurora:
# path: ../packages/package_info_plus/package_info_plus_aurora
#
# ## https://pub.dev/packages/path_provider
# path_provider: ^2.0.15
# ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/path_provider/path_provider_aurora
# path_provider_aurora:
# path: ../packages/path_provider/path_provider_aurora
## https://pub.dev/packages/path_provider
path_provider: ^2.0.15
## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/path_provider/path_provider_aurora
path_provider_aurora:
path: ../packages/path_provider/path_provider_aurora
#
# ## https://pub.dev/packages/shared_preferences
# shared_preferences: ^2.1.2

7
packages/battery_plus/battery_plus_aurora/lib/battery_plus_aurora.dart

@ -6,21 +6,14 @@ import 'package:battery_plus_aurora/com_nokia_mce_request.dart';
import 'package:battery_plus_aurora/com_nokia_mce_signal.dart';
import 'package:dbus/dbus.dart';
import 'package:battery_plus_platform_interface/battery_plus_platform_interface.dart';
import 'package:flutter/foundation.dart';
import 'dart:async' show Stream;
import 'package:async/async.dart' show StreamGroup;
class BatteryPlusAurora extends BatteryPlatform {
/// Register this dart class as the platform implementation for aurora
static void registerWith() {
debugPrint("BatteryPlusAurora");
debugPrint(defaultTargetPlatform.toString());
if (TargetPlatform.aurora == defaultTargetPlatform) {
BatteryPlatform.instance = BatteryPlusAurora();
}
}
/// Returns the current battery level in percent.
@override

2
packages/battery_plus/battery_plus_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

9
packages/device_info_plus/device_info_plus_aurora/lib/device_info_plus_aurora.dart

@ -8,21 +8,12 @@ import 'package:device_info_plus_aurora/ru_omp_deviceinfo_features.dart';
import 'package:device_info_plus_aurora/ru_omp_deviceinfo_sim.dart';
import 'package:device_info_plus_aurora/ru_omp_deviceinfo_storages.dart';
import 'package:device_info_plus_platform_interface/device_info_plus_platform_interface.dart';
import 'package:flutter/foundation.dart';
import 'aurora_device_info.dart';
class DeviceInfoPlusAurora extends DeviceInfoPlatform {
/// Register this dart class as the platform implementation for aurora
static void registerWith() {
debugPrint("DeviceInfoPlusAurora");
debugPrint(defaultTargetPlatform.toString());
if (TargetPlatform.aurora == defaultTargetPlatform) {
DeviceInfoPlatform.instance = DeviceInfoPlusAurora();
} else {
DeviceInfoPlatform.instance = DeviceInfoPlusLinuxPlugin();
}
}
@override

2
packages/device_info_plus/device_info_plus_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

2
packages/flutter_local_notifications/flutter_local_notifications_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

3
packages/flutter_secure_storage/flutter_secure_storage_aurora/lib/flutter_secure_storage_aurora.dart

@ -3,7 +3,6 @@
* License: Proprietary.
*/
import 'package:flutter_secure_storage_platform_interface/flutter_secure_storage_platform_interface.dart';
import 'package:flutter/foundation.dart';
import 'package:path_provider_aurora/path_provider_aurora.dart';
import 'null_secret_exception.dart';
import 'flutter_secure_storage_aurora_api.dart';
@ -24,11 +23,9 @@ class FlutterSecureStorageAurora extends FlutterSecureStoragePlatform {
}
static void registerWith() async {
if (TargetPlatform.aurora == defaultTargetPlatform) {
PathProviderAurora.registerWith();
FlutterSecureStoragePlatform.instance = FlutterSecureStorageAurora();
}
}
static FlutterSecureStorageAuroraApi _getAPI() {
if (_api == null) {

2
packages/flutter_secure_storage/flutter_secure_storage_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

2
packages/package_info_plus/package_info_plus_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

20
packages/path_provider/path_provider_aurora/lib/path_provider_aurora.dart

@ -6,7 +6,6 @@ import 'package:package_info_plus_aurora/package_info_plus_aurora.dart';
import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
import 'package:xdga_directories/xdga_directories.dart' as xdga_directories;
import 'package:package_info_plus/package_info_plus.dart';
import 'package:flutter/foundation.dart';
import 'package:path/path.dart' as p;
/// The aurora implementation of [PathProviderPlatform]
@ -15,21 +14,22 @@ import 'package:path/path.dart' as p;
class PathProviderAurora extends PathProviderPlatform {
/// Registers this class as the default instance of [PathProviderPlatform]
static void registerWith() {
if (TargetPlatform.aurora == defaultTargetPlatform) {
PackageInfoPlusAurora.registerWith();
PathProviderPlatform.instance = PathProviderAurora();
}
}
/// Path to a directory where the application may place application support files.
@override
Future<String?> getApplicationSupportPath() async {
PackageInfo info = await PackageInfo.fromPlatform();
final appName = info.packageName.split('.').last;
final orgName = info.packageName.replaceAll('.$appName', '');
// QStandardPaths::AppDataLocation
return p.join(
xdga_directories.getAppDataLocation(),
info.packageName,
info.appName,
orgName,
appName,
);
}
@ -38,11 +38,15 @@ class PathProviderAurora extends PathProviderPlatform {
@override
Future<String> getTemporaryPath() async {
PackageInfo info = await PackageInfo.fromPlatform();
final appName = info.packageName.split('.').last;
final orgName = info.packageName.replaceAll('.$appName', '');
// QStandardPaths::CacheLocation
return p.join(
xdga_directories.getCacheLocation(),
info.packageName,
info.appName,
orgName,
appName,
);
}

2
packages/path_provider/path_provider_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

5
packages/shared_preferences/shared_preferences_aurora/lib/shared_preferences_aurora.dart

@ -3,19 +3,14 @@
* License: Proprietary.
*/
import 'package:flutter/services.dart';
import 'package:path_provider_aurora/path_provider_aurora.dart';
import 'package:shared_preferences_aurora/shared_preferences_aurora_api.dart';
import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart';
import 'package:flutter/foundation.dart';
class SharedPreferencesAurora extends SharedPreferencesStorePlatform {
/// Registers this class as the default instance of [SharedPreferencesStorePlatform].
static void registerWith() {
if (TargetPlatform.aurora == defaultTargetPlatform) {
PathProviderAurora.registerWith();
SharedPreferencesStorePlatform.instance = SharedPreferencesAurora();
}
}
static const String _defaultPrefix = 'flutter.';

2
packages/shared_preferences/shared_preferences_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

2
packages/sqflite/sqflite_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 2.2.6+aurora1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

3
packages/wakelock/wakelock_aurora/lib/wakelock_aurora.dart

@ -5,7 +5,6 @@
import 'dart:async';
import 'package:dbus/dbus.dart';
import 'package:flutter/foundation.dart';
import 'package:wakelock_platform_interface/wakelock_platform_interface.dart';
import 'com_nokia_mce_request.dart';
@ -14,10 +13,8 @@ class WakelockAurora extends WakelockPlatformInterface {
Timer? _timer;
static void registerWith() {
if (TargetPlatform.aurora == defaultTargetPlatform) {
WakelockPlatformInterface.instance = WakelockAurora();
}
}
@override
Future<void> toggle({required bool enable}) async {

2
packages/wakelock/wakelock_aurora/pubspec.yaml

@ -7,7 +7,7 @@ version: 0.0.1
environment:
sdk: '>=2.18.6 <3.0.0'
flutter: ">=2.5.0"
flutter: ">=3.3.10"
dependencies:
flutter:

Loading…
Cancel
Save