Browse Source

[flutter_example_packages] Add package_info_plus

merge-requests/21/head
Vitaliy Zarubin 2 years ago
parent
commit
c7324b58c1
  1. 6
      example/lib/l10n/app_en.arb
  2. 6
      example/lib/l10n/app_ru.arb
  3. 29
      example/lib/packages/package_info_plus/model.dart
  4. 11
      example/lib/packages/package_info_plus/page.dart
  5. 4
      example/pubspec.lock
  6. 14
      example/pubspec.yaml

6
example/lib/l10n/app_en.arb

@ -64,8 +64,10 @@
"flutterSecureStorageDesc": "Desc",
"@_PACKAGE_INFO_PLUS": {},
"packageInfoPlusTitle": "Title",
"packageInfoPlusDesc": "Desc",
"packageInfoPlusTitlePackageName": "Package",
"packageInfoPlusDescPackageName": "Package name.",
"packageInfoPlusTitleApplicationName": "Name",
"packageInfoPlusDescApplicationName": "Application name.",
"@_PATH_PROVIDER": {},
"pathProviderTitleApplicationSupport": "Application Support",

6
example/lib/l10n/app_ru.arb

@ -64,8 +64,10 @@
"flutterSecureStorageDesc": "Описание",
"@_PACKAGE_INFO_PLUS": {},
"packageInfoPlusTitle": "Заголовок",
"packageInfoPlusDesc": "Описание",
"packageInfoPlusTitlePackageName": "Пакет",
"packageInfoPlusDescPackageName": "Имя пакета.",
"packageInfoPlusTitleApplicationName": "Имя",
"packageInfoPlusDescApplicationName": "Имя приложения.",
"@_PATH_PROVIDER": {},
"pathProviderTitleApplicationSupport": "Поддержка приложений",

29
example/lib/packages/package_info_plus/model.dart

@ -1,11 +1,16 @@
import 'package:flutter/widgets.dart';
import 'package:scoped_model/scoped_model.dart';
import 'package:package_info_plus/package_info_plus.dart';
/// Model for [PackageInfoPlusPage]
class PackageInfoPlusModel extends Model {
/// Get [ScopedModel]
static PackageInfoPlusModel of(BuildContext context) => ScopedModel.of<PackageInfoPlusModel>(context);
/// Get [PackageInfo]
Future<PackageInfo> get _packageInfo async =>
await PackageInfo.fromPlatform();
/// Error
String? _error;
@ -14,4 +19,26 @@ class PackageInfoPlusModel extends Model {
/// Public is error
bool get isError => _error != null;
}
/// Get package
Future<String?> getPackageName() async {
try {
return (await _packageInfo).packageName;
} catch (e) {
_error = e.toString();
}
notifyListeners();
return null;
}
/// Get application name
Future<String?> getApplicationName() async {
try {
return (await _packageInfo).appName;
} catch (e) {
_error = e.toString();
}
notifyListeners();
return null;
}
}

11
example/lib/packages/package_info_plus/page.dart

@ -43,9 +43,14 @@ class _PackageInfoPlusPageState extends AppState<PackageInfoPlusPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
BlockItem(
title: l10n.packageInfoPlusTitle,
desc: l10n.packageInfoPlusDesc,
value: null,
title: l10n.packageInfoPlusTitlePackageName,
desc: l10n.packageInfoPlusDescPackageName,
future: model.getPackageName(),
),
BlockItem(
title: l10n.packageInfoPlusTitleApplicationName,
desc: l10n.packageInfoPlusDescApplicationName,
future: model.getApplicationName(),
),
],
),

4
example/pubspec.lock

@ -393,14 +393,14 @@ packages:
source: hosted
version: "2.1.0"
package_info_plus:
dependency: transitive
dependency: "direct main"
description:
name: package_info_plus
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.2"
package_info_plus_aurora:
dependency: transitive
dependency: "direct main"
description:
path: "../packages/package_info_plus/package_info_plus_aurora"
relative: true

14
example/pubspec.yaml

@ -53,13 +53,13 @@ dependencies:
# ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/flutter_secure_storage/flutter_secure_storage_aurora
# flutter_secure_storage_aurora:
# path: ../packages/flutter_secure_storage/flutter_secure_storage_aurora
#
# ## https://pub.dev/packages/package_info_plus
# package_info_plus: 4.0.2
# ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/package_info_plus/package_info_plus_aurora
# package_info_plus_aurora:
# path: ../packages/package_info_plus/package_info_plus_aurora
#
## https://pub.dev/packages/package_info_plus
package_info_plus: 4.0.2
## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/package_info_plus/package_info_plus_aurora
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

Loading…
Cancel
Save