Browse Source

[flutter_example_packages] Fix pages form

merge-requests/21/head
Vitaliy Zarubin 2 years ago
parent
commit
a23bbe183b
  1. 5
      example/lib/packages/flutter_keyboard_visibility/model.dart
  2. 19
      example/lib/packages/flutter_keyboard_visibility/page.dart
  3. 24
      example/lib/packages/flutter_secure_storage/page.dart
  4. 17
      example/lib/packages/shared_preferences/page.dart
  5. 5
      example/lib/widgets/base/app_state.dart
  6. 39
      example/pubspec.lock
  7. 8
      example/pubspec.yaml

5
example/lib/packages/flutter_keyboard_visibility/model.dart

@ -6,6 +6,7 @@ import 'package:flutter/widgets.dart';
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
import 'package:flutter_keyboard_visibility_aurora/flutter_keyboard_visibility_aurora.dart';
import 'package:scoped_model/scoped_model.dart';
import 'package:flutter/foundation.dart' show kIsAurora;
/// Model for [FlutterKeyboardVisibilityPage]
class FlutterKeyboardVisibilityModel extends Model {
@ -40,6 +41,7 @@ class FlutterKeyboardVisibilityModel extends Model {
/// Stream change height
Stream<double> onChangeKeyboardHeight() async* {
if (kIsAurora) {
try {
yield await _controllerAurora.height;
await for (final state in _controllerAurora.onChangeHeight) {
@ -49,5 +51,8 @@ class FlutterKeyboardVisibilityModel extends Model {
_error = e.toString();
notifyListeners();
}
} else {
yield 0;
}
}
}

19
example/lib/packages/flutter_keyboard_visibility/page.dart

@ -2,10 +2,11 @@
* Copyright (c) 2023. Open Mobile Platform LLC.
* License: Proprietary.
*/
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_example_packages/base/di/app_di.dart';
import 'package:flutter_example_packages/base/package/package.dart';
import 'package:flutter_example_packages/packages/flutter_keyboard_visibility/model.dart';
import 'package:flutter_example_packages/widgets/base/export.dart';
import 'package:flutter_example_packages/widgets/blocks/block_alert.dart';
import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart';
@ -13,7 +14,9 @@ import 'package:flutter_example_packages/widgets/blocks/block_item.dart';
import 'package:flutter_example_packages/widgets/layouts/block_layout.dart';
import 'package:flutter_example_packages/widgets/texts/export.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter/foundation.dart' show kIsAurora;
import 'model.dart';
import 'package.dart';
class FlutterKeyboardVisibilityPage extends AppStatefulWidget {
@ -31,18 +34,25 @@ class FlutterKeyboardVisibilityPage extends AppStatefulWidget {
class _FlutterKeyboardVisibilityPageState
extends AppState<FlutterKeyboardVisibilityPage> {
double _keyboardHeight = 0;
StreamSubscription? _streamSub;
final model = getIt<FlutterKeyboardVisibilityModel>();
@override
void initState() {
super.initState();
model.onChangeKeyboardHeight().listen((height) {
_streamSub = model.onChangeKeyboardHeight().listen((height) {
setState(() {
_keyboardHeight = height;
});
});
}
@override
void dispose() {
super.dispose();
_streamSub?.cancel();
}
@override
Widget buildWide(
BuildContext context,
@ -83,12 +93,15 @@ class _FlutterKeyboardVisibilityPageState
),
),
const SizedBox(height: 20),
BlockItem(
Visibility(
visible: kIsAurora,
child: BlockItem(
title: l10n.flutterKeyboardVisibilityTitleHeight,
desc: l10n.flutterKeyboardVisibilityDescHeight,
value: _keyboardHeight,
builder: (value) => value.toInt().toString(),
),
),
const SizedBox(height: 20),
BlockItem(
title: l10n.flutterKeyboardVisibilityTitle,

24
example/lib/packages/flutter_secure_storage/page.dart

@ -2,6 +2,8 @@
* Copyright (c) 2023. Open Mobile Platform LLC.
* License: Proprietary.
*/
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_example_packages/base/di/app_di.dart';
import 'package:flutter_example_packages/base/package/package.dart';
@ -13,6 +15,7 @@ import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart'
import 'package:flutter_example_packages/widgets/layouts/block_layout.dart';
import 'package:flutter_example_packages/widgets/texts/export.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_keyboard_visibility_aurora/flutter_keyboard_visibility_aurora.dart';
class FlutterSecureStoragePage extends AppStatefulWidget {
FlutterSecureStoragePage({
@ -28,6 +31,10 @@ class FlutterSecureStoragePage extends AppStatefulWidget {
class _FlutterSecureStoragePageState
extends AppState<FlutterSecureStoragePage> {
double _keyboardHeight = 0;
StreamSubscription? _streamSub;
final _controllerAurora = FlutterKeyboardVisibilityAurora();
bool _isValidSave = false;
final TextEditingController _passSaveController = TextEditingController();
final TextEditingController _keySaveController = TextEditingController();
@ -53,6 +60,22 @@ class _FlutterSecureStoragePageState
});
}
@override
void initState() {
super.initState();
_streamSub = _controllerAurora.onChangeHeight.listen((event) {
setState(() {
_keyboardHeight = event;
});
});
}
@override
void dispose() {
super.dispose();
_streamSub?.cancel();
}
@override
Widget buildWide(
BuildContext context,
@ -67,6 +90,7 @@ class _FlutterSecureStoragePageState
_valueGetController.text = model.readValue;
// return widget
return SingleChildScrollView(
padding: EdgeInsets.only(bottom: _keyboardHeight),
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(

17
example/lib/packages/shared_preferences/page.dart

@ -2,6 +2,7 @@
* Copyright (c) 2023. Open Mobile Platform LLC.
* License: Proprietary.
*/
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
@ -17,6 +18,7 @@ import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart'
import 'package:flutter_example_packages/widgets/layouts/block_layout.dart';
import 'package:flutter_example_packages/widgets/texts/export.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_keyboard_visibility_aurora/flutter_keyboard_visibility_aurora.dart';
class SharedPreferencesPage extends AppStatefulWidget {
SharedPreferencesPage({
@ -30,6 +32,9 @@ class SharedPreferencesPage extends AppStatefulWidget {
}
class _SharedPreferencesPageState extends AppState<SharedPreferencesPage> {
double _keyboardHeight = 0;
StreamSubscription? _streamSub;
final _controllerAurora = FlutterKeyboardVisibilityAurora();
final ScrollController _scrollController = ScrollController();
final model = getIt<SharedPreferencesModel>();
@ -51,6 +56,17 @@ class _SharedPreferencesPageState extends AppState<SharedPreferencesPage> {
void initState() {
super.initState();
model.reloadValues();
_streamSub = _controllerAurora.onChangeHeight.listen((event) {
setState(() {
_keyboardHeight = event;
});
});
}
@override
void dispose() {
super.dispose();
_streamSub?.cancel();
}
@override
@ -65,6 +81,7 @@ class _SharedPreferencesPageState extends AppState<SharedPreferencesPage> {
builder: (context, child, model) {
return SingleChildScrollView(
controller: _scrollController,
padding: EdgeInsets.only(bottom: _keyboardHeight),
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(

5
example/lib/widgets/base/app_state.dart

@ -13,14 +13,13 @@ abstract class AppState<T extends StatefulWidget> extends State<T>
AppLocalizations l10n,
);
bool _isDispose = false;
void onPostFrameCallback() {}
void onDidChangeMetrics() {}
void _delayedChangeMetrics() {
for (int i = 0; i <= 5; i++) {
Future.delayed(Duration(milliseconds: 100 * i), () {
if (!_isDispose) {
if (mounted) {
onDidChangeMetrics();
}
});
@ -30,7 +29,6 @@ abstract class AppState<T extends StatefulWidget> extends State<T>
@override
void initState() {
super.initState();
_isDispose = false;
WidgetsBinding.instance.addObserver(this);
WidgetsBinding.instance.addPostFrameCallback((_) {
_delayedChangeMetrics();
@ -44,7 +42,6 @@ abstract class AppState<T extends StatefulWidget> extends State<T>
@override
void dispose() {
_isDispose = true;
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}

39
example/pubspec.lock

@ -48,7 +48,7 @@ packages:
description:
path: "packages/battery_plus/battery_plus_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -225,7 +225,7 @@ packages:
description:
path: "packages/device_info_plus/device_info_plus_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -289,7 +289,7 @@ packages:
name: flutter_cache_manager
url: "https://pub.dartlang.org"
source: hosted
version: "3.3.0"
version: "3.3.1"
flutter_keyboard_visibility:
dependency: "direct main"
description:
@ -300,9 +300,11 @@ packages:
flutter_keyboard_visibility_aurora:
dependency: "direct main"
description:
path: "../packages/flutter_keyboard_visibility/flutter_keyboard_visibility_aurora"
relative: true
source: path
path: "packages/flutter_keyboard_visibility/flutter_keyboard_visibility_aurora"
ref: flutter_example_packages
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
flutter_keyboard_visibility_linux:
dependency: transitive
@ -352,13 +354,13 @@ packages:
name: flutter_local_notifications
url: "https://pub.dartlang.org"
source: hosted
version: "14.1.1"
version: "14.1.2"
flutter_local_notifications_aurora:
dependency: "direct main"
description:
path: "packages/flutter_local_notifications/flutter_local_notifications_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -393,7 +395,7 @@ packages:
description:
path: "packages/flutter_secure_storage/flutter_secure_storage_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -594,7 +596,7 @@ packages:
description:
path: "packages/package_info_plus/package_info_plus_aurora"
ref: flutter_example_packages
resolved-ref: "253ed53dc43d0885fed94b010882fdcdd035d613"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -631,7 +633,7 @@ packages:
description:
path: "packages/path_provider/path_provider_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -663,13 +665,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.7"
pedantic:
dependency: transitive
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.11.1"
petitparser:
dependency: transitive
description:
@ -753,7 +748,7 @@ packages:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
version: "2.2.0"
shared_preferences_android:
dependency: transitive
description:
@ -766,7 +761,7 @@ packages:
description:
path: "packages/shared_preferences/shared_preferences_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -955,7 +950,7 @@ packages:
description:
path: "packages/wakelock/wakelock_aurora"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"
@ -1020,7 +1015,7 @@ packages:
description:
path: "packages/xdga_directories"
ref: flutter_example_packages
resolved-ref: "1d940649da65c113d48bb028a352f611a95ad306"
resolved-ref: "024eb82387b3574659d1c75034dc96fb2cec5f6e"
url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git"
source: git
version: "0.0.1"

8
example/pubspec.yaml

@ -82,7 +82,7 @@ dependencies:
## https://pub.dev/packages/package_info_plus
package_info_plus: 3.1.2
## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/package_info_plus/package_info_plus_aurora
## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/flutter_example_packages/packages/package_info_plus/package_info_plus_aurora
package_info_plus_aurora:
git:
url: git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git
@ -118,8 +118,12 @@ dependencies:
## https://pub.dev/packages/flutter_keyboard_visibility
flutter_keyboard_visibility: ^5.4.1
## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/flutter_keyboard_visibility/flutter_keyboard_visibility_aurora
flutter_keyboard_visibility_aurora:
path: ../packages/flutter_keyboard_visibility/flutter_keyboard_visibility_aurora
git:
url: git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git
ref: flutter_example_packages
path: packages/flutter_keyboard_visibility/flutter_keyboard_visibility_aurora
dev_dependencies:
flutter_test:

Loading…
Cancel
Save