From e3b57cdcb403be67a40e5cebe57075e0afe3bfde Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 21 Nov 2022 21:40:38 +0530 Subject: [PATCH 1/4] feat: Added manual filter for location --- lib/screens/home/home_screen.dart | 24 +++++++++++++++++------- lib/screens/splash/splash.dart | 2 +- pubspec.lock | 8 +++++--- pubspec.yaml | 6 ++++++ 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index fdd6c59..f4eab3a 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -166,19 +166,30 @@ class _HomeScreenState extends State await _positionStream!.cancel(); } + LatLng? _lastUpdatedLocation; + _positionStream = Geolocator.getPositionStream( locationSettings: LocationSettings(distanceFilter: 2)) .listen((locationStream) async { - if (mounted) { - setState(() { - myLatLng = - LatLng(locationStream.latitude, locationStream.longitude); - }); - } + var _newLoc = LatLng(locationStream.latitude, locationStream.longitude); + if (mounted + && (_lastUpdatedLocation == null || + (differenceInMeters(_lastUpdatedLocation!, _newLoc) > 2)) + ) { + setState(() { + myLatLng = _newLoc; + }); + _lastUpdatedLocation = _newLoc; + } }); } } + double differenceInMeters(LatLng _previousLoc, LatLng _newLoc){ + return Geolocator.distanceBetween(_newLoc.latitude, _newLoc.longitude, _previousLoc.latitude, _previousLoc.longitude); + } + + // ignore: always_declare_return_types cleanKeychain() async { var _keyChainManager = KeyChainManager.getInstance(); @@ -277,7 +288,6 @@ class _HomeScreenState extends State : SizedBox(), contactsLoaded! ? ProviderHandler( - key: UniqueKey(), functionName: locationProvider.GET_ALL_NOTIFICATIONS, showError: false, load: (provider) => {}, diff --git a/lib/screens/splash/splash.dart b/lib/screens/splash/splash.dart index 754772f..7e0d09a 100644 --- a/lib/screens/splash/splash.dart +++ b/lib/screens/splash/splash.dart @@ -60,7 +60,7 @@ class _SplashState extends State { } final result = await AtOnboarding.onboard( context: NavService.navKey.currentContext!, - atsign: currentatSign == null ? '' : atSignList?.first, + atsign: currentatSign, config: AtOnboardingConfig( domain: MixedConstants.ROOT_DOMAIN, atClientPreference: diff --git a/pubspec.lock b/pubspec.lock index f83228d..1d841fe 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -123,9 +123,11 @@ packages: at_location_flutter: dependency: "direct main" description: - name: at_location_flutter - url: "https://pub.dartlang.org" - source: hosted + path: "packages/at_location_flutter" + ref: "feat/manual-filter" + resolved-ref: b28ca4e4d697c2c2175866217c943f8c80fb13bb + url: "https://github.com/atsign-foundation/at_widgets.git" + source: git version: "3.1.8" at_lookup: dependency: "direct main" diff --git a/pubspec.yaml b/pubspec.yaml index fae01ae..0fc4b4b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -52,6 +52,12 @@ dependency_overrides: geolocator: ^9.0.2 # on updating to compileSdkVersion 33, we need to upgrade this, permission_handler: ^10.2.0 + at_location_flutter: + git: + url: https://github.com/atsign-foundation/at_widgets.git + path: packages/at_location_flutter + ref: feat/manual-filter + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec From 78d0c8a26200efafc7d71602157d47aa61d83750 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 28 Nov 2022 15:10:39 +0530 Subject: [PATCH 2/4] feat: Added ShowCaseWidget in AtSignBottomSheet --- .../change_atsign_bottom_sheet.dart | 434 +++++++++++------- lib/utils/constants/text_strings.dart | 1 + lib/utils/constants/text_styles.dart | 7 + 3 files changed, 276 insertions(+), 166 deletions(-) diff --git a/lib/common_components/change_atsign_bottom_sheet.dart b/lib/common_components/change_atsign_bottom_sheet.dart index 8c366ab..09026a1 100644 --- a/lib/common_components/change_atsign_bottom_sheet.dart +++ b/lib/common_components/change_atsign_bottom_sheet.dart @@ -1,5 +1,6 @@ import 'dart:io'; import 'dart:typed_data'; +import 'dart:math'; import 'package:at_client_mobile/at_client_mobile.dart'; import 'package:at_contact/at_contact.dart'; @@ -11,11 +12,14 @@ import 'package:atsign_location_app/routes/routes.dart'; import 'package:atsign_location_app/screens/home/home_screen.dart'; import 'package:atsign_location_app/services/backend_service.dart'; import 'package:atsign_location_app/utils/constants/constants.dart'; +import 'package:atsign_location_app/utils/constants/text_strings.dart'; +import 'package:atsign_location_app/utils/constants/text_styles.dart'; import 'package:atsign_location_app/view_models/location_provider.dart'; import 'package:flutter/material.dart'; import 'package:at_common_flutter/services/size_config.dart'; import 'package:provider/provider.dart'; import 'package:permission_handler/permission_handler.dart'; +import 'package:showcaseview/showcaseview.dart'; class AtSignBottomSheet extends StatefulWidget { final List? atSignList; @@ -26,7 +30,11 @@ class AtSignBottomSheet extends StatefulWidget { } class _AtSignBottomSheetState extends State { + GlobalKey _one = GlobalKey(); + GlobalKey _two = GlobalKey(); + BuildContext? myContext; Map contactDetails = {}; + @override void initState() { super.initState(); @@ -54,185 +62,279 @@ class _AtSignBottomSheetState extends State { } BackendService backendService = BackendService.getInstance(); - late var atClientPrefernce; + bool isLoading = false; + var atClientPrefernce; @override Widget build(BuildContext context) { backendService .getAtClientPreference() .then((value) => atClientPrefernce = value); - return BottomSheet( - onClosing: () {}, - backgroundColor: Colors.transparent, - builder: (context) => ClipRRect( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(10), topRight: Radius.circular(10)), - child: Container( - height: 120.toHeight, - width: SizeConfig().screenWidth, - color: Colors.white, - child: Row( - children: [ - Expanded( - child: ListView.builder( - scrollDirection: Axis.horizontal, - itemCount: widget.atSignList!.length, - itemBuilder: (context, index) { - Uint8List? image; + var r = Random(); - if (contactDetails['${widget.atSignList![index]}'] != null) { - if (contactDetails['${widget.atSignList![index]}']!.tags != - null && - contactDetails['${widget.atSignList![index]}']! - .tags!['image'] != - null) { - List intList = - contactDetails['${widget.atSignList![index]}']! - .tags!['image'] - .cast(); - image = Uint8List.fromList(intList); - } - } + return ShowCaseWidget( + builder: Builder(builder: (context) { + myContext = context; + return Stack( + children: [ + Positioned( + child: BottomSheet( + onClosing: () {}, + backgroundColor: Colors.transparent, + builder: (context) => ClipRRect( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(10), + topRight: Radius.circular(10)), + child: Container( + height: 155.toHeight < 155 ? 155 : 150.toHeight, + width: SizeConfig().screenWidth, + color: Colors.white, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Showcase( + key: _one, + description: + 'You can pair multiple atSigns with this app.', + shapeBorder: CircleBorder(), + disableAnimation: true, + radius: BorderRadius.all(Radius.circular(40)), + showArrow: false, + overlayPadding: EdgeInsets.all(5), + blurValue: 2, + child: Padding( + padding: EdgeInsets.symmetric( + horizontal: 10, vertical: 5), + child: Text(TextStrings.sidebarSwitchOut, + style: + CustomTextStyles().blackBold(size: 15)), + ), + ), + GestureDetector( + onTap: () { + ShowCaseWidget.of(myContext!) + .startShowCase([_one, _two]); + }, + child: Container( + decoration: BoxDecoration( + color: Colors.grey.shade400, + borderRadius: BorderRadius.circular(50)), + margin: EdgeInsets.all(0), + height: 20, + width: 20, + child: Icon( + Icons.question_mark, + size: 15, + ), + ), + ), + ], + ), + Container( + height: 100.toHeight < 105 ? 105 : 100.toHeight, + width: SizeConfig().screenWidth, + color: Colors.white, + child: Row( + children: [ + Expanded( + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: widget.atSignList!.length, + itemBuilder: (context, index) { + Uint8List? image; - return GestureDetector( - onTap: () async { - if (Platform.isAndroid || Platform.isIOS) { - await _checkForPermissionStatus(); - } - final result = await AtOnboarding.onboard( - context: context, - atsign: widget.atSignList![index], - config: AtOnboardingConfig( - atClientPreference: atClientPrefernce, - domain: MixedConstants.ROOT_DOMAIN, - rootEnvironment: RootEnvironment.Production, - appAPIKey: MixedConstants.ONBOARD_API_KEY), - ); - switch (result.status) { - case AtOnboardingResultStatus.success: - final atsign = result.atsign; - await AtClientManager.getInstance().setCurrentAtSign( - atsign!, - MixedConstants.appNamespace, - atClientPrefernce, - ); - BackendService.getInstance().syncService = - AtClientManager.getInstance().syncService; - Provider.of(context, listen: false) - .resetData(); - await KeychainUtil.makeAtSignPrimary(atsign); + if (contactDetails['${widget.atSignList![index]}'] != null) { + if (contactDetails['${widget.atSignList![index]}']!.tags != + null && + contactDetails['${widget.atSignList![index]}']! + .tags!['image'] != + null) { + List intList = + contactDetails['${widget.atSignList![index]}']! + .tags!['image'] + .cast(); + image = Uint8List.fromList(intList); + } + } + return GestureDetector( + onTap: isLoading + ? () {} + : () async { + if (Platform.isAndroid || Platform.isIOS) { + await _checkForPermissionStatus(); + } + final result = await AtOnboarding.onboard( + context: context, + atsign: widget.atSignList![index], + config: AtOnboardingConfig( + atClientPreference: atClientPrefernce, + domain: MixedConstants.ROOT_DOMAIN, + rootEnvironment: RootEnvironment.Production, + appAPIKey: MixedConstants.ONBOARD_API_KEY), + ); + switch (result.status) { + case AtOnboardingResultStatus.success: + final atsign = result.atsign; + await AtClientManager.getInstance().setCurrentAtSign( + atsign!, + MixedConstants.appNamespace, + atClientPrefernce, + ); + BackendService.getInstance().syncService = + AtClientManager.getInstance().syncService; + Provider.of(context, listen: false) + .resetData(); + await KeychainUtil.makeAtSignPrimary(atsign); - BackendService.getInstance().atClientServiceInstance = - backendService.atClientServiceMap[atsign]; - BackendService.getInstance().syncWithSecondary(); - WidgetsBinding.instance.addPostFrameCallback((_) {}); - SetupRoutes.pushAndRemoveAll(context, Routes.HOME); - break; - case AtOnboardingResultStatus.error: - BackendService.getInstance() - .showErrorSnackBar(result.errorCode); - print('Onboarding throws ${result.errorCode} error'); - break; - case AtOnboardingResultStatus.cancel: - break; - } + BackendService.getInstance().atClientServiceInstance = + backendService.atClientServiceMap[atsign]; + BackendService.getInstance().syncWithSecondary(); + WidgetsBinding.instance.addPostFrameCallback((_) {}); + SetupRoutes.pushAndRemoveAll(context, Routes.HOME); + break; + case AtOnboardingResultStatus.error: + BackendService.getInstance() + .showErrorSnackBar(result.errorCode); + print('Onboarding throws ${result.errorCode} error'); + break; + case AtOnboardingResultStatus.cancel: + break; + } - setState(() {}); - }, - child: Padding( - padding: EdgeInsets.only(left: 10, right: 10, top: 20), - child: Column( - children: [ - (image != null) - ? ClipRRect( - borderRadius: BorderRadius.all( - Radius.circular(30.toFont)), - child: Image.memory( - image, - width: 50.toFont, - height: 50.toFont, - fit: BoxFit.fill, + setState(() {}); + }, + child: Padding( + padding: EdgeInsets.only( + left: 10, right: 10, top: 20), + child: Column( + children: [ + Container( + height: 40.toFont, + width: 40.toFont, + decoration: BoxDecoration( + color: Color.fromARGB( + 255, + r.nextInt(255), + r.nextInt(255), + r.nextInt(255)), + borderRadius: + BorderRadius.circular( + 50.toWidth), + ), + child: Center( + child: image != null + ? ClipRRect( + borderRadius: BorderRadius.all( + Radius.circular(30.toFont)), + child: Image.memory( + image, + width: 50.toFont, + height: 50.toFont, + fit: BoxFit.fill, + ), + ) + : ContactInitial( + initials: widget + .atSignList![index]), + ), + ), + Text(widget.atSignList![index], + style: TextStyle( + fontSize: 15.toFont, + fontWeight: FontWeight.normal, + )) + ], + ), + ), + ); + }, + )), + const SizedBox( + width: 20, + ), + GestureDetector( + onTap: () async { + if (Platform.isAndroid || Platform.isIOS) { + await _checkForPermissionStatus(); + } + final result = await AtOnboarding.onboard( + isSwitchingAtsign: true, + context: context, + atsign: '', + config: AtOnboardingConfig( + atClientPreference: atClientPrefernce, + domain: MixedConstants.ROOT_DOMAIN, + rootEnvironment: RootEnvironment.Production, + appAPIKey: MixedConstants.ONBOARD_API_KEY), + ); + switch (result.status) { + case AtOnboardingResultStatus.success: + final atsign = result.atsign; + await AtClientManager.getInstance().setCurrentAtSign( + atsign!, + MixedConstants.appNamespace, + atClientPrefernce, + ); + BackendService.getInstance().syncService = + AtClientManager.getInstance().syncService; + Provider.of(context, listen: false) + .resetData(); + // backendService.atClientServiceMap = value; + final value = backendService.atClientServiceMap; + await KeychainUtil.makeAtSignPrimary(atsign); + await BackendService.getInstance().onboard(); + BackendService.getInstance().syncWithSecondary(); + //ignore: unawaited_futures + Navigator.pushReplacement( + context, + MaterialPageRoute( + builder: (context) => HomeScreen(), + ), + ); + break; + case AtOnboardingResultStatus.error: + BackendService.getInstance() + .showErrorSnackBar(result.errorCode); + print('Onboarding throws ${result.errorCode} error'); + break; + case AtOnboardingResultStatus.cancel: + break; + } + }, + child: Showcase( + key: _two, + description: + 'Use the + icon to either generate a new free atSign or pair an existing one. All paired atSigns will appear here, where you can switch between them.', + shapeBorder: CircleBorder(), + radius: BorderRadius.all(Radius.circular(40)), + showArrow: false, + disableAnimation: true, + overlayPadding: EdgeInsets.all(5), + blurValue: 2, + child: Container( + margin: EdgeInsets.only(right: 10), + height: 40, + width: 40, + child: Icon( + Icons.add_circle_outline_outlined, + color: Colors.orange, + size: 25.toFont), ), - ) - : ContactInitial( - initials: widget.atSignList![index], ), - Text( - widget.atSignList![index], - style: TextStyle(fontSize: 15.toFont), - ) - ], - ), - ), - ); - }, - )), - SizedBox( - width: 20, - ), - GestureDetector( - onTap: () async { - if (Platform.isAndroid || Platform.isIOS) { - await _checkForPermissionStatus(); - } - final result = await AtOnboarding.onboard( - isSwitchingAtsign: true, - context: context, - atsign: '', - config: AtOnboardingConfig( - atClientPreference: atClientPrefernce, - domain: MixedConstants.ROOT_DOMAIN, - rootEnvironment: RootEnvironment.Production, - appAPIKey: MixedConstants.ONBOARD_API_KEY), - ); - switch (result.status) { - case AtOnboardingResultStatus.success: - final atsign = result.atsign; - await AtClientManager.getInstance().setCurrentAtSign( - atsign!, - MixedConstants.appNamespace, - atClientPrefernce, - ); - BackendService.getInstance().syncService = - AtClientManager.getInstance().syncService; - Provider.of(context, listen: false) - .resetData(); - // backendService.atClientServiceMap = value; - final value = backendService.atClientServiceMap; - await KeychainUtil.makeAtSignPrimary(atsign); - await BackendService.getInstance().onboard(); - BackendService.getInstance().syncWithSecondary(); - //ignore: unawaited_futures - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (context) => HomeScreen(), + ) + ], + ), ), - ); - break; - case AtOnboardingResultStatus.error: - BackendService.getInstance() - .showErrorSnackBar(result.errorCode); - print('Onboarding throws ${result.errorCode} error'); - break; - case AtOnboardingResultStatus.cancel: - break; - } - }, - child: Container( - margin: EdgeInsets.only(right: 10), - height: 40, - width: 40, - child: Icon( - Icons.add_circle_outline_outlined, - color: Colors.orange, - size: 25.toFont, + ], + ), ), ), - ) - ], - ), - ), - ), + ), + ), + ], + ); + }), ); } -} +} \ No newline at end of file diff --git a/lib/utils/constants/text_strings.dart b/lib/utils/constants/text_strings.dart index 2ba012a..5d5e2b2 100644 --- a/lib/utils/constants/text_strings.dart +++ b/lib/utils/constants/text_strings.dart @@ -112,6 +112,7 @@ class TextStrings { static const pleaseTryAgain = 'Please, try again!'; static const locationPermissionAlreadyRunning = ' A request for location permissions is already running, please wait for it to complete before doing another request.'; + static const sidebarSwitchOut = 'Switch atSign'; // Splash Screen static const stayConnected = 'Stay connected!'; static const whereEver = 'Wherever'; diff --git a/lib/utils/constants/text_styles.dart b/lib/utils/constants/text_styles.dart index 8f8db73..cf68b18 100644 --- a/lib/utils/constants/text_styles.dart +++ b/lib/utils/constants/text_styles.dart @@ -142,4 +142,11 @@ class CustomTextStyles { letterSpacing: 0.1, fontWeight: FontWeight.w700, ); + + TextStyle blackBold({int size = 16}) => TextStyle( + color: Colors.black, + fontSize: size.toFont, + letterSpacing: 0.1, + fontWeight: FontWeight.w700, + ); } From 98909167aabe984572100458dd3ab5bb5acd22e3 Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 28 Nov 2022 21:31:18 +0530 Subject: [PATCH 3/4] feat: 1.0.6+40 ios release changes --- ios/Runner.xcodeproj/project.pbxproj | 6 ++-- pubspec.lock | 50 ++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index ac439e7..8d83619 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -354,7 +354,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 39; + CURRENT_PROJECT_VERSION = 40; DEVELOPMENT_TEAM = 5XUSS6C2DF; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -493,7 +493,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 39; + CURRENT_PROJECT_VERSION = 40; DEVELOPMENT_TEAM = 5XUSS6C2DF; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -528,7 +528,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 39; + CURRENT_PROJECT_VERSION = 40; DEVELOPMENT_TEAM = 5XUSS6C2DF; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( diff --git a/pubspec.lock b/pubspec.lock index 1d841fe..8d53f03 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -21,7 +21,7 @@ packages: name: archive url: "https://pub.dartlang.org" source: hosted - version: "3.3.2" + version: "3.3.5" args: dependency: transitive description: @@ -35,7 +35,7 @@ packages: name: asn1lib url: "https://pub.dartlang.org" source: hosted - version: "1.2.1" + version: "1.4.0" async: dependency: transitive description: @@ -49,7 +49,7 @@ packages: name: at_backupkey_flutter url: "https://pub.dartlang.org" source: hosted - version: "4.0.7" + version: "4.0.8" at_base2e15: dependency: transitive description: @@ -63,7 +63,7 @@ packages: name: at_client url: "https://pub.dartlang.org" source: hosted - version: "3.0.41" + version: "3.0.45" at_client_mobile: dependency: "direct main" description: @@ -84,7 +84,7 @@ packages: name: at_commons url: "https://pub.dartlang.org" source: hosted - version: "3.0.29" + version: "3.0.30" at_contact: dependency: "direct main" description: @@ -149,14 +149,14 @@ packages: name: at_persistence_secondary_server url: "https://pub.dartlang.org" source: hosted - version: "3.0.40" + version: "3.0.43" at_persistence_spec: dependency: transitive description: name: at_persistence_spec url: "https://pub.dartlang.org" source: hosted - version: "2.0.7" + version: "2.0.9" at_server_status: dependency: transitive description: @@ -170,7 +170,7 @@ packages: name: at_sync_ui_flutter url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "1.0.8" at_utf7: dependency: transitive description: @@ -205,7 +205,7 @@ packages: name: cached_network_image url: "https://pub.dartlang.org" source: hosted - version: "3.2.2" + version: "3.2.3" cached_network_image_platform_interface: dependency: transitive description: @@ -268,7 +268,7 @@ packages: name: cron url: "https://pub.dartlang.org" source: hosted - version: "0.5.0" + version: "0.5.1" cross_file: dependency: transitive description: @@ -289,7 +289,7 @@ packages: name: crypton url: "https://pub.dartlang.org" source: hosted - version: "2.0.5" + version: "2.1.0" csslib: dependency: transitive description: @@ -373,7 +373,7 @@ packages: name: file_selector_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.4.0" file_selector_web: dependency: transitive description: @@ -507,7 +507,7 @@ packages: name: geolocator_apple url: "https://pub.dartlang.org" source: hosted - version: "2.2.2" + version: "2.2.3" geolocator_platform_interface: dependency: transitive description: @@ -535,7 +535,7 @@ packages: name: glob url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" hive: dependency: "direct main" description: @@ -689,7 +689,7 @@ packages: name: mutex url: "https://pub.dartlang.org" source: hosted - version: "3.0.0" + version: "3.0.1" nested: dependency: transitive description: @@ -794,7 +794,7 @@ packages: name: path_provider_android url: "https://pub.dartlang.org" source: hosted - version: "2.0.20" + version: "2.0.22" path_provider_ios: dependency: transitive description: @@ -948,7 +948,7 @@ packages: name: pub_semver url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.3" qr_code_scanner: dependency: transitive description: @@ -962,7 +962,7 @@ packages: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.27.5" + version: "0.27.7" share_plus: dependency: transitive description: @@ -990,7 +990,7 @@ packages: name: share_plus_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "3.1.2" + version: "3.2.0" share_plus_web: dependency: transitive description: @@ -1088,7 +1088,7 @@ packages: name: shelf_web_socket url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.3" showcaseview: dependency: transitive description: @@ -1135,14 +1135,14 @@ packages: name: sqflite url: "https://pub.dartlang.org" source: hosted - version: "2.1.0+1" + version: "2.2.0+3" sqflite_common: dependency: transitive description: name: sqflite_common url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.4.0+2" stack_trace: dependency: transitive description: @@ -1233,14 +1233,14 @@ packages: name: url_launcher url: "https://pub.dartlang.org" source: hosted - version: "6.1.6" + version: "6.1.7" url_launcher_android: dependency: transitive description: name: url_launcher_android url: "https://pub.dartlang.org" source: hosted - version: "6.0.19" + version: "6.0.22" url_launcher_ios: dependency: transitive description: @@ -1289,7 +1289,7 @@ packages: name: uuid url: "https://pub.dartlang.org" source: hosted - version: "3.0.6" + version: "3.0.7" vector_math: dependency: transitive description: From 6fdd230984f353ce644e4d70a758c0b3e6e3456a Mon Sep 17 00:00:00 2001 From: Nitesh Kumar Date: Mon, 28 Nov 2022 22:27:06 +0530 Subject: [PATCH 4/4] feat: 1.0.6+40 android release changes --- android/app/build.gradle | 2 +- android/app/src/main/AndroidManifest.xml | 3 ++- pubspec.yaml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 643abe2..7f12e1b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -47,7 +47,7 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.atsign.arrive" minSdkVersion 24 - targetSdkVersion 30 + targetSdkVersion 31 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index f970335..8015624 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -25,7 +25,8 @@ android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" - android:windowSoftInputMode="adjustResize"> + android:windowSoftInputMode="adjustResize" + android:exported="true">