Skip to content

Commit

Permalink
Update iOS to Flutter 3.24
Browse files Browse the repository at this point in the history
Includes temporary hack for settings screen, etc. until we can change design to MD3
  • Loading branch information
luckyrat committed Aug 8, 2024
1 parent 7c582bd commit 8ee54f8
Show file tree
Hide file tree
Showing 8 changed files with 159 additions and 108 deletions.
1 change: 1 addition & 0 deletions ios/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Flutter/flutter_assets/
Flutter/flutter_export_environment.sh
ServiceDefinitions.json
Runner/GeneratedPluginRegistrant.*
**/dgph

# Exceptions to above rules.
!default.mode1v3
Expand Down
29 changes: 15 additions & 14 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,9 @@ PODS:
- FlutterMacOS
- permission_handler_apple (9.3.0):
- Flutter
- rate_my_app (2.0.0):
- rate_my_app (2.2.0):
- Flutter
- FlutterMacOS
- SDWebImage (5.16.0):
- SDWebImage/Core (= 5.16.0)
- SDWebImage/Core (5.16.0)
Expand Down Expand Up @@ -88,7 +89,7 @@ DEPENDENCIES:
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- rate_my_app (from `.symlinks/plugins/rate_my_app/ios`)
- rate_my_app (from `.symlinks/plugins/rate_my_app/darwin`)
- sensitive_clipboard (from `.symlinks/plugins/sensitive_clipboard/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
Expand Down Expand Up @@ -129,7 +130,7 @@ EXTERNAL SOURCES:
permission_handler_apple:
:path: ".symlinks/plugins/permission_handler_apple/ios"
rate_my_app:
:path: ".symlinks/plugins/rate_my_app/ios"
:path: ".symlinks/plugins/rate_my_app/darwin"
sensitive_clipboard:
:path: ".symlinks/plugins/sensitive_clipboard/ios"
share_plus:
Expand All @@ -143,26 +144,26 @@ SPEC CHECKSUMS:
argon2_ffi: 995b9260d81aa17f5d2a8a497f2d2763ba4c45f3
barcode_scan2: 0af2bb63c81b4565aab6cd78278e4c0fa136dbb0
biometric_storage: 1400f1382af3a4cc2bf05340e13c3d8de873ceb9
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_file_dialog: 4c014a45b105709a27391e266c277d7e588e9299
flutter_inapp_purchase: 5c6a1ac3f11b11d0c8c0321c0c41c1f05805e4c8
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
flutter_native_splash: edf599c81f74d093a4daf8e17bd7a018854bc778
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
permission_handler_apple: 036b856153a2b1f61f21030ff725f3e6fece2b78
rate_my_app: 80fba94c4885cd31738231b7b1f51c1ad726f5c7
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
rate_my_app: cd3e1c44d12f387482698ffaf6ea9bd669a69b94
SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6
sensitive_clipboard: d4866e5d176581536c27bb1618642ee83adca986
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
SwiftProtobuf: 40bd808372cb8706108f22d28f8ab4a6b9bc6989
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe

PODFILE CHECKSUM: 0658f7bb36458779f6da1691e33f9d925242f612

Expand Down
38 changes: 37 additions & 1 deletion ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@
8BE5C69E2A3F8C1E0013856C /* Resources */,
DE3599ACE908595EF90359B0 /* [CP] Embed Pods Frameworks */,
8BE5C6AD2A3F928A0013856C /* xcode_backend embed_and_thin */,
694CA39CBC5B3880865BAAC5 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
Expand All @@ -337,6 +338,7 @@
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
FF23F4DC409BF04CA9EF8E1D /* [CP] Embed Pods Frameworks */,
284FECD7F90F2667384034A3 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
Expand All @@ -355,7 +357,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1340;
LastUpgradeCheck = 1430;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
8B253A1128BE694600AA6762 = {
Expand Down Expand Up @@ -427,6 +429,23 @@
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
284FECD7F90F2667384034A3 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
Expand Down Expand Up @@ -465,6 +484,23 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
694CA39CBC5B3880865BAAC5 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
8BE5C6AC2A3F921A0013856C /* xcode_backend build */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1510"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
2 changes: 1 addition & 1 deletion ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import UIKit
import AuthenticationServices
import Flutter

@UIApplicationMain
@main
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
Expand Down
181 changes: 95 additions & 86 deletions lib/widgets/settings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -215,99 +215,108 @@ class _SettingsWidgetState extends State<SettingsWidget> with TraceableClientMix

return BlocBuilder<AutofillCubit, AutofillState>(builder: (context, autofillState) {
return ColouredSafeArea(
child: SettingsScreen(
title: str.settings,
children: [
SettingsGroup(
title: str.setGenTheme,
children: [
RadioSettingsTile<String>(
title: str.setGenTheme,
showTitles: false,
settingKey: 'theme',
values: <String, String>{
'sys': str.setGenTitlebarStyleDefault,
'lt': str.setGenThemeLt,
'dk': str.setGenThemeDk,
},
selected: 'sys',
onChange: (String value) {
BlocProvider.of<AppSettingsCubit>(context).changeTheme(value);
},
),
],
),
SettingsGroup(title: str.deviceAutoFill, children: [
Visibility(
visible: autofillState is AutofillAvailable,
child: autofillState is AutofillAvailable
? SettingsContainer(
children: [
AutofillStatusWidget(
isEnabled: autofillState.enabled,
isDeviceQuickUnlockEnabled: _isDeviceQuickUnlockEnabled),
],
)
: Container(),
),
]),
SettingsGroup(title: str.quickSignIn, children: [
BiometricSettingWidget(isEnabledOnDevice: _isDeviceQuickUnlockEnabled),
]),
SettingsGroup(
title: str.menuSetGeneral,
children: [
SimpleSettingsTile(
title: str.genPsTitle,
subtitle: str.managePasswordPresets,
onTap: () async => await AppConfig.router.navigateTo(
context,
Routes.passwordPresetManager,
transition: TransitionType.inFromRight,
child: Theme(
data: Theme.of(context).copyWith(scaffoldBackgroundColor: Theme.of(context).canvasColor),
child: SettingsScreen(
title: str.settings,
children: [
SettingsGroup(
title: str.setGenTheme,
children: [
RadioSettingsTile<String>(
title: str.setGenTheme,
showTitles: false,
settingKey: 'theme',
values: <String, String>{
'sys': str.setGenTitlebarStyleDefault,
'lt': str.setGenThemeLt,
'dk': str.setGenThemeDk,
},
selected: 'sys',
onChange: (String value) {
BlocProvider.of<AppSettingsCubit>(context).changeTheme(value);
},
),
],
),
SettingsGroup(title: str.deviceAutoFill, children: [
Visibility(
visible: autofillState is AutofillAvailable,
child: autofillState is AutofillAvailable
? SettingsContainer(
children: [
AutofillStatusWidget(
isEnabled: autofillState.enabled,
isDeviceQuickUnlockEnabled: _isDeviceQuickUnlockEnabled),
],
)
: Container(),
),
SwitchSettingsTile(
settingKey: 'expandGroups',
title: str.setGenShowSubgroups,
defaultValue: true,
onChange: (showChildren) {
BlocProvider.of<FilterCubit>(context).changeChildGroupInclusion(showChildren);
},
),
//TODO:f: Need to store group in DB so this should really be a DB-specific setting.
// SwitchSettingsTile(
// settingKey: 'rememberFilterGroup',
// title: str.rememberFilterGroup,
// defaultValue: false,
// ),
SimpleSettingsTile(
title: 'Access / Recovery',
child: SettingsScreen(
]),
SettingsGroup(title: str.quickSignIn, children: [
BiometricSettingWidget(isEnabledOnDevice: _isDeviceQuickUnlockEnabled),
]),
SettingsGroup(
title: str.menuSetGeneral,
children: [
SimpleSettingsTile(
title: str.genPsTitle,
subtitle: str.managePasswordPresets,
onTap: () async => await AppConfig.router.navigateTo(
context,
Routes.passwordPresetManager,
transition: TransitionType.inFromRight,
),
),
SwitchSettingsTile(
settingKey: 'expandGroups',
title: str.setGenShowSubgroups,
defaultValue: true,
onChange: (showChildren) {
BlocProvider.of<FilterCubit>(context).changeChildGroupInclusion(showChildren);
},
),
//TODO:f: Need to store group in DB so this should really be a DB-specific setting.
// SwitchSettingsTile(
// settingKey: 'rememberFilterGroup',
// title: str.rememberFilterGroup,
// defaultValue: false,
// ),
SimpleSettingsTile(
title: 'Access / Recovery',
children: <Widget>[...accessChildren],
child: Theme(
data: Theme.of(context).copyWith(scaffoldBackgroundColor: Theme.of(context).canvasColor),
child: SettingsScreen(
title: 'Access / Recovery',
children: <Widget>[...accessChildren],
),
),
),
),
SimpleSettingsTile(
title: 'Account / Subscription',
child: SettingsScreen(
SimpleSettingsTile(
title: 'Account / Subscription',
children: <Widget>[...accountChildren],
child: Theme(
data: Theme.of(context).copyWith(scaffoldBackgroundColor: Theme.of(context).canvasColor),
child: SettingsScreen(
title: 'Account / Subscription',
children: <Widget>[...accountChildren],
),
),
),
),

BlocBuilder<AppRatingCubit, AppRatingState>(builder: (context, appRatingState) {
return SimpleSettingsTile(
enabled: appRatingState is AppRatingReady,
title: 'Provide Feedback',
onTap: () async {
final arc = BlocProvider.of<AppRatingCubit>(context);
await arc.showRatingDialog(context);
},
);
}),
],
),
],
BlocBuilder<AppRatingCubit, AppRatingState>(builder: (context, appRatingState) {
return SimpleSettingsTile(
enabled: appRatingState is AppRatingReady,
title: 'Provide Feedback',
onTap: () async {
final arc = BlocProvider.of<AppRatingCubit>(context);
await arc.showRatingDialog(context);
},
);
}),
],
),
],
),
),
);
});
Expand Down
9 changes: 5 additions & 4 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -426,10 +426,11 @@ packages:
flutter_settings_screens:
dependency: "direct main"
description:
name: flutter_settings_screens
sha256: b9e5ff87537fceeb67012560db6ef4bb0ff7d7a031e8184e1689538756ca99a0
url: "https://pub.dev"
source: hosted
path: "."
ref: "52ac240b7ae0cf48b723818ee233565fd562bc13"
resolved-ref: "52ac240b7ae0cf48b723818ee233565fd562bc13"
url: "https://github.com/Juggler98/flutter_settings_screens.git"
source: git
version: "0.3.4"
flutter_speed_dial:
dependency: "direct main"
Expand Down
5 changes: 4 additions & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ dependencies:

package_info_plus: ^8.0.0
shared_preferences: ^2.2.3
flutter_settings_screens: 0.3.4
flutter_settings_screens:
git:
url: https://github.com/Juggler98/flutter_settings_screens.git
ref: 52ac240b7ae0cf48b723818ee233565fd562bc13 # 0.3.4 is incompatible with MD2
argon2_ffi:
git:
url: https://github.com/kee-org/argon2_ffi.git
Expand Down

0 comments on commit 8ee54f8

Please sign in to comment.