From d8dc05bca3d77773efa7c2295fc0ac5efb9a2833 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sun, 19 Nov 2023 14:08:55 +0100 Subject: [PATCH 01/25] Upgrade flutter 3.16 --- .fvmrc | 2 +- .vscode/settings.json | 2 +- README.md | 4 +- pubspec.lock | 228 ++++++++++++++++++++---------------------- pubspec.yaml | 6 +- 5 files changed, 117 insertions(+), 125 deletions(-) diff --git a/.fvmrc b/.fvmrc index b53d1f9..ee173a1 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,4 +1,4 @@ { - "flutter": "3.13.0", + "flutter": "3.16.0", "flavors": {} } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 5967f4a..61162af 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "dart.flutterSdkPath": ".fvm/versions/3.13.0" + "dart.flutterSdkPath": ".fvm/versions/3.16.0" } \ No newline at end of file diff --git a/README.md b/README.md index 46bb7bd..5351967 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,8 @@ The app is presently optimized for mobile. A web simulation can be found at [htt If you would like to build the app yourself, then you simply need: -- Flutter >= 3.13 -- Dart >= 3.1 +- Flutter >= 3.16 +- Dart >= 3.2 - Xcode >= 13.4 - Android SDK >= 33 diff --git a/pubspec.lock b/pubspec.lock index e1bccf7..92a6903 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0c80aeab9bc807ab10022cd3b2f4cf2ecdf231949dc1ddd9442406a003f19201" + sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 url: "https://pub.dev" source: hosted - version: "52.0.0" + version: "64.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: cd8ee83568a77f3ae6b913a36093a1c9b1264e7cb7f834d9ddd2311dade9c1f4 + sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.2.0" arb_generator: dependency: "direct dev" description: @@ -29,18 +29,18 @@ packages: dependency: transitive description: name: archive - sha256: ed7cc591a948744994714375caf9a2ce89e1d82e8243997c8a2994d57181c212 + sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" url: "https://pub.dev" source: hosted - version: "3.3.5" + version: "3.4.9" args: dependency: transitive description: name: args - sha256: "139d809800a412ebb26a3892da228b2d0ba36f0ef5d9a82166e5e52ec8d61611" + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.2" async: dependency: transitive description: @@ -69,18 +69,18 @@ packages: dependency: transitive description: name: checked_yaml - sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311" + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.0.3" cli_util: dependency: transitive description: name: cli_util - sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c" + sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7 url: "https://pub.dev" source: hosted - version: "0.3.5" + version: "0.4.0" clock: dependency: transitive description: @@ -93,10 +93,10 @@ packages: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.18.0" convert: dependency: transitive description: @@ -109,34 +109,34 @@ packages: dependency: transitive description: name: crypto - sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.3" csv: dependency: transitive description: name: csv - sha256: "18aef53ab72181a0b5384562d18c8cbd57e941e24cb8e54eb41409d3d8abdc6d" + sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e" url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.1.1" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" dart_style: dependency: transitive description: name: dart_style - sha256: "7a03456c3490394c8e7665890333e91ae8a49be43542b616e414449ac358acd4" + sha256: abd7625e16f51f554ea244d090292945ec4d4be7bfbaf2ec8cccea568919d334 url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.3.3" equatable: dependency: transitive description: @@ -165,18 +165,18 @@ packages: dependency: transitive description: name: ffi - sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.0" file: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" flappy_translator: dependency: transitive description: @@ -194,18 +194,18 @@ packages: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: ce0e501cfc258907842238e4ca605e74b7fd1cdf04b3b43e86c43f3e40a1592c + sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" url: "https://pub.dev" source: hosted - version: "0.11.0" + version: "0.13.1" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4" + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "3.0.1" flutter_localizations: dependency: "direct main" description: flutter @@ -215,10 +215,10 @@ packages: dependency: "direct main" description: name: flutter_riverpod - sha256: "0c997763ce06359ee4686553b74def84062e9d6929ac63f61fa02465c1f8e32c" + sha256: "49b55e8a467229eedb801bd0864baa7f891c39cc00f790189ba8479e9ad0fa06" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.4.6" flutter_shogi_board: dependency: "direct main" description: @@ -242,18 +242,18 @@ packages: dependency: "direct main" description: name: get_it - sha256: "290fde3a86072e4b37dbb03c07bec6126f0ecc28dad403c12ffe2e5a2d751ab7" + sha256: f79870884de16d689cf9a7d15eedf31ed61d750e813c538a6efb92660fea83c3 url: "https://pub.dev" source: hosted - version: "7.2.0" + version: "7.6.4" glob: dependency: transitive description: name: glob - sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c" + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" hive: dependency: "direct main" description: @@ -266,10 +266,10 @@ packages: dependency: transitive description: name: image - sha256: "8e9d133755c3e84c73288363e6343157c383a0c6c56fc51afcc5d4d7180306d6" + sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "4.1.3" intl: dependency: transitive description: @@ -282,26 +282,26 @@ packages: dependency: transitive description: name: js - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.7" json_annotation: dependency: transitive description: name: json_annotation - sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317 + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 url: "https://pub.dev" source: hosted - version: "4.8.0" + version: "4.8.1" lints: dependency: transitive description: name: lints - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.0" matcher: dependency: transitive description: @@ -322,10 +322,10 @@ packages: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" package_config: dependency: transitive description: @@ -346,106 +346,98 @@ packages: dependency: "direct main" description: name: path_provider - sha256: dcea5feb97d8abf90cab9e9030b497fb7c3cbf26b7a1fe9e3ef7dcb0a1ddec95 + sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa url: "https://pub.dev" source: hosted - version: "2.0.12" + version: "2.1.1" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: a776c088d671b27f6e3aa8881d64b87b3e80201c64e8869b811325de7a76c15e + sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 url: "https://pub.dev" source: hosted - version: "2.0.22" + version: "2.2.1" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "62a68e7e1c6c459f9289859e2fae58290c981ce21d1697faf54910fe1faa4c74" + sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.3.1" path_provider_linux: dependency: transitive description: name: path_provider_linux - sha256: ab0987bf95bc591da42dffb38c77398fc43309f0b9b894dcc5d6f40c4b26c379 + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.2.1" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - sha256: f0abc8ebd7253741f05488b4813d936b4d07c6bae3e86148a09e342ee4b08e76 + sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" url: "https://pub.dev" source: hosted - version: "2.0.5" + version: "2.1.1" path_provider_windows: dependency: transitive description: name: path_provider_windows - sha256: bcabbe399d4042b8ee687e17548d5d3f527255253b4a639f5f8d2094a9c2b45c + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.2.1" petitparser: dependency: transitive description: name: petitparser - sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4" + sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6 url: "https://pub.dev" source: hosted - version: "5.1.0" + version: "6.0.1" platform: dependency: transitive description: name: platform - sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.3" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a + sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8 url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.7" pointycastle: dependency: transitive description: name: pointycastle - sha256: db7306cf0249f838d1a24af52b5a5887c5bf7f31d8bb4e827d071dc0939ad346 - url: "https://pub.dev" - source: hosted - version: "3.6.2" - process: - dependency: transitive - description: - name: process - sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" url: "https://pub.dev" source: hosted - version: "4.2.4" + version: "3.7.3" pub_semver: dependency: transitive description: name: pub_semver - sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17" + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.4" riverpod: dependency: transitive description: name: riverpod - sha256: "0f43c64f1f79c2112c843305a879a746587fb7c1e388f1d4717737796756e2c4" + sha256: "01fa385aa5d6db42fd602d8c400c28ae1c83d1fd6fbae1cbf0f4c78bac58d4b2" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.4.6" shogi: dependency: "direct main" description: @@ -471,26 +463,26 @@ packages: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" state_notifier: dependency: transitive description: name: state_notifier - sha256: "8fe42610f179b843b12371e40db58c9444f8757f8b69d181c97e50787caed289" + sha256: b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb url: "https://pub.dev" source: hosted - version: "0.7.2+1" + version: "1.0.0" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -511,82 +503,82 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.1" typed_data: dependency: transitive description: name: typed_data - sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.2" url_launcher: dependency: "direct main" description: name: url_launcher - sha256: "698fa0b4392effdc73e9e184403b627362eb5fbf904483ac9defbb1c2191d809" + sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba url: "https://pub.dev" source: hosted - version: "6.1.8" + version: "6.2.1" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "3e2f6dfd2c7d9cd123296cab8ef66cfc2c1a13f5845f42c7a0f365690a8a7dd1" + sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" url: "https://pub.dev" source: hosted - version: "6.0.23" + version: "6.2.0" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: bb328b24d3bccc20bdf1024a0990ac4f869d57663660de9c936fb8c043edefe3 + sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 url: "https://pub.dev" source: hosted - version: "6.0.18" + version: "6.2.1" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "318c42cba924e18180c029be69caf0a1a710191b9ec49bb42b5998fdcccee3cc" + sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: "41988b55570df53b3dd2a7fc90c76756a963de6a8c5f8e113330cb35992e2094" + sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.0" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - sha256: "4eae912628763eb48fc214522e58e942fd16ce195407dbf45638239523c759a6" + sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.2.0" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "44d79408ce9f07052095ef1f9a693c258d6373dc3944249374e30eff7219ccb0" + sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" url: "https://pub.dev" source: hosted - version: "2.0.14" + version: "2.2.0" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: b6217370f8eb1fd85c8890c539f5a639a01ab209a36db82c921ebeacefc7a615 + sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.1.0" vector_math: dependency: transitive description: @@ -599,50 +591,50 @@ packages: dependency: transitive description: name: watcher - sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.0" web: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.3.0" win32: dependency: transitive description: name: win32 - sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46 + sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "5.1.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: bd512f03919aac5f1313eb8249f223bacf4927031bf60b02601f81f687689e86 + sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" url: "https://pub.dev" source: hosted - version: "0.2.0+3" + version: "1.0.3" xml: dependency: transitive description: name: xml - sha256: "979ee37d622dec6365e2efa4d906c37470995871fe9ae080d967e192d88286b5" + sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556 url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.4.2" yaml: dependency: transitive description: name: yaml - sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" sdks: - dart: ">=3.1.0 <4.0.0" - flutter: ">=3.13.0" + dart: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" diff --git a/pubspec.yaml b/pubspec.yaml index afc1d8a..f115a81 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 0.3.0+5 environment: - sdk: '>=3.1.0 <4.0.0' - flutter: ">=3.13.0 <4.0.0" + sdk: '>=3.2.0 <4.0.0' + flutter: ">=3.16.0 <4.0.0" dependencies: flutter: @@ -28,7 +28,7 @@ dev_dependencies: flutter_test: sdk: flutter arb_generator: - flutter_lints: ^2.0.2 + flutter_lints: flutter_launcher_icons: flutter: From 93ecbeb3ccca9b773791342cd5360b2ec6fb2227 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sun, 19 Nov 2023 14:10:56 +0100 Subject: [PATCH 02/25] Fix lints --- lib/widgets/common/buttons/custom_button.dart | 4 ++-- lib/widgets/common/buttons/custom_text_button.dart | 4 ++-- lib/widgets/common/chips/segmented_chips.dart | 4 ++-- lib/widgets/common/page_view_with_indicators.dart | 5 ++--- lib/widgets/common/pages/content_page.dart | 4 ++-- lib/widgets/common/panels/dark_mode_panel.dart | 2 +- lib/widgets/common/panels/data_privacy_panel.dart | 4 ++-- lib/widgets/common/panels/developer_panel.dart | 2 +- lib/widgets/common/panels/piece_symbol_panel.dart | 2 +- lib/widgets/common/text/clickable_text_span.dart | 6 ++---- lib/widgets/home_screen/home_screen.dart | 2 +- lib/widgets/home_screen/proverbs_tab/proverbs_tab.dart | 9 ++++----- lib/widgets/home_screen/settings_tab/settings_tab.dart | 6 +++--- lib/widgets/my_app.dart | 7 +++---- lib/widgets/onboarding/onboarding_screen.dart | 2 +- lib/widgets/onboarding/pages/onboarding_page_1.dart | 2 +- lib/widgets/onboarding/pages/onboarding_page_2.dart | 2 +- lib/widgets/onboarding/pages/onboarding_page_3.dart | 2 +- lib/widgets/proverb_detail/multi_page_detail.dart | 4 ++-- lib/widgets/proverb_detail/page_detail.dart | 4 ++-- lib/widgets/proverb_detail/proverb_detail.dart | 4 ++-- lib/widgets/proverb_detail/sections/diagram_detail.dart | 4 ++-- .../proverb_detail/sections/move_sequence_detail.dart | 4 ++-- .../proverb_detail/sections/paragraphy_detail.dart | 2 +- .../shogi_notation/pages/shogi_notation_page_1.dart | 2 +- .../shogi_notation/pages/shogi_notation_page_2.dart | 2 +- .../shogi_notation/pages/shogi_notation_page_3.dart | 2 +- .../shogi_notation/pages/shogi_notation_page_4.dart | 2 +- lib/widgets/shogi_notation/shogi_notation_screen.dart | 2 +- 29 files changed, 48 insertions(+), 53 deletions(-) diff --git a/lib/widgets/common/buttons/custom_button.dart b/lib/widgets/common/buttons/custom_button.dart index 33a7524..64ca615 100644 --- a/lib/widgets/common/buttons/custom_button.dart +++ b/lib/widgets/common/buttons/custom_button.dart @@ -8,10 +8,10 @@ class CustomButton extends StatelessWidget { final void Function() onPressed; const CustomButton({ - Key? key, + super.key, required this.label, required this.onPressed, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/common/buttons/custom_text_button.dart b/lib/widgets/common/buttons/custom_text_button.dart index 2c9f36a..d5c6cfa 100644 --- a/lib/widgets/common/buttons/custom_text_button.dart +++ b/lib/widgets/common/buttons/custom_text_button.dart @@ -8,10 +8,10 @@ class CustomTextButton extends StatelessWidget { final void Function() onPressed; const CustomTextButton({ - Key? key, + super.key, required this.label, required this.onPressed, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/common/chips/segmented_chips.dart b/lib/widgets/common/chips/segmented_chips.dart index 20948e9..f88a67d 100644 --- a/lib/widgets/common/chips/segmented_chips.dart +++ b/lib/widgets/common/chips/segmented_chips.dart @@ -7,11 +7,11 @@ class SegmentedChips extends StatefulWidget { final void Function(int) onSelected; const SegmentedChips({ - Key? key, + super.key, required this.labels, this.initiallySelectedIndex = 0, required this.onSelected, - }) : super(key: key); + }); @override State createState() => _SegmentedChipsState(); diff --git a/lib/widgets/common/page_view_with_indicators.dart b/lib/widgets/common/page_view_with_indicators.dart index 53767ad..16c03e8 100644 --- a/lib/widgets/common/page_view_with_indicators.dart +++ b/lib/widgets/common/page_view_with_indicators.dart @@ -5,10 +5,9 @@ class PageViewWithIndicators extends StatefulWidget { final List children; PageViewWithIndicators({ - Key? key, + super.key, required this.children, - }) : assert(children.isNotEmpty), - super(key: key); + }) : assert(children.isNotEmpty); @override State createState() => _PageViewWithIndicatorsState(); diff --git a/lib/widgets/common/pages/content_page.dart b/lib/widgets/common/pages/content_page.dart index 91106e5..7fa7a98 100644 --- a/lib/widgets/common/pages/content_page.dart +++ b/lib/widgets/common/pages/content_page.dart @@ -6,10 +6,10 @@ class ContentPage extends StatelessWidget { final Widget content; const ContentPage({ - Key? key, + super.key, required this.headline, required this.content, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/common/panels/dark_mode_panel.dart b/lib/widgets/common/panels/dark_mode_panel.dart index fc8553c..8d93ad3 100644 --- a/lib/widgets/common/panels/dark_mode_panel.dart +++ b/lib/widgets/common/panels/dark_mode_panel.dart @@ -7,7 +7,7 @@ import 'package:shogi_proverbs/services/settings_database/i_settings_database.da final isDarkModeProvider = StateProvider((_) => DIContainer.get().isDarkMode); class DarkModePanel extends StatelessWidget { - const DarkModePanel({Key? key}) : super(key: key); + const DarkModePanel({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/common/panels/data_privacy_panel.dart b/lib/widgets/common/panels/data_privacy_panel.dart index c53d24a..3965e8c 100644 --- a/lib/widgets/common/panels/data_privacy_panel.dart +++ b/lib/widgets/common/panels/data_privacy_panel.dart @@ -7,9 +7,9 @@ class DataPrivacyPanel extends StatelessWidget { final double spacerHeight; const DataPrivacyPanel({ - Key? key, + super.key, this.spacerHeight = 16.0, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/common/panels/developer_panel.dart b/lib/widgets/common/panels/developer_panel.dart index a02ef4b..dafdf95 100644 --- a/lib/widgets/common/panels/developer_panel.dart +++ b/lib/widgets/common/panels/developer_panel.dart @@ -4,7 +4,7 @@ import 'package:shogi_proverbs/l10n.dart'; import 'package:shogi_proverbs/widgets/common/text/clickable_text_span.dart'; class DeveloperPanel extends StatelessWidget { - const DeveloperPanel({Key? key}) : super(key: key); + const DeveloperPanel({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/common/panels/piece_symbol_panel.dart b/lib/widgets/common/panels/piece_symbol_panel.dart index cd20361..0827665 100644 --- a/lib/widgets/common/panels/piece_symbol_panel.dart +++ b/lib/widgets/common/panels/piece_symbol_panel.dart @@ -10,7 +10,7 @@ final selectedPieceSymbolProvider = StateProvider((_) => DIContainer.get await _openUrl(url), ); diff --git a/lib/widgets/home_screen/home_screen.dart b/lib/widgets/home_screen/home_screen.dart index 1cc8b24..4602536 100644 --- a/lib/widgets/home_screen/home_screen.dart +++ b/lib/widgets/home_screen/home_screen.dart @@ -4,7 +4,7 @@ import 'package:shogi_proverbs/widgets/home_screen/proverbs_tab/proverbs_tab.dar import 'package:shogi_proverbs/widgets/home_screen/settings_tab/settings_tab.dart'; class HomeScreen extends StatefulWidget { - const HomeScreen({Key? key}) : super(key: key); + const HomeScreen({super.key}); @override State createState() => _HomeScreenState(); diff --git a/lib/widgets/home_screen/proverbs_tab/proverbs_tab.dart b/lib/widgets/home_screen/proverbs_tab/proverbs_tab.dart index a5100cf..06f1101 100644 --- a/lib/widgets/home_screen/proverbs_tab/proverbs_tab.dart +++ b/lib/widgets/home_screen/proverbs_tab/proverbs_tab.dart @@ -13,9 +13,9 @@ class ProverbsTab extends StatelessWidget { final String filterTerm; const ProverbsTab({ - Key? key, + super.key, required this.filterTerm, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -48,9 +48,8 @@ class _ProverbTile extends StatelessWidget { final Proverb proverb; const _ProverbTile({ - Key? key, required this.proverb, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -103,7 +102,7 @@ class _ProverbTile extends StatelessWidget { /// Returns true if user decides to see tutorial, otherwise false class _AskViewTutorialPopup extends StatelessWidget { - const _AskViewTutorialPopup({Key? key}) : super(key: key); + const _AskViewTutorialPopup(); @override Widget build(BuildContext context) { diff --git a/lib/widgets/home_screen/settings_tab/settings_tab.dart b/lib/widgets/home_screen/settings_tab/settings_tab.dart index 642be9a..97677e2 100644 --- a/lib/widgets/home_screen/settings_tab/settings_tab.dart +++ b/lib/widgets/home_screen/settings_tab/settings_tab.dart @@ -11,7 +11,7 @@ import 'package:shogi_proverbs/widgets/common/panels/piece_symbol_panel.dart'; import 'package:shogi_proverbs/widgets/common/text/clickable_text_span.dart'; class SettingsTab extends StatelessWidget { - const SettingsTab({Key? key}) : super(key: key); + const SettingsTab({super.key}); @override Widget build(BuildContext context) { @@ -62,7 +62,7 @@ class SettingsTab extends StatelessWidget { } class _DataPrivacyPopup extends StatelessWidget { - const _DataPrivacyPopup({Key? key}) : super(key: key); + const _DataPrivacyPopup(); @override Widget build(BuildContext context) { @@ -92,7 +92,7 @@ class _DataPrivacyPopup extends StatelessWidget { } class _CreditsPopup extends StatelessWidget { - const _CreditsPopup({Key? key}) : super(key: key); + const _CreditsPopup(); @override Widget build(BuildContext context) { diff --git a/lib/widgets/my_app.dart b/lib/widgets/my_app.dart index c95df13..a5c9d65 100644 --- a/lib/widgets/my_app.dart +++ b/lib/widgets/my_app.dart @@ -17,7 +17,7 @@ import 'package:shogi_proverbs/widgets/onboarding/onboarding_screen.dart'; import 'package:shogi_proverbs/widgets/shogi_notation/shogi_notation_screen.dart'; class MyApp extends StatefulWidget { - const MyApp({Key? key}) : super(key: key); + const MyApp({super.key}); @override State createState() => _MyAppState(); @@ -88,8 +88,7 @@ class _FakeMobileWrapper extends StatelessWidget { const _FakeMobileWrapper({ required this.child, required this.constraints, - Key? key, - }) : super(key: key); + }); @override Widget build(BuildContext context) { @@ -110,7 +109,7 @@ class _FakeMobileWrapper extends StatelessWidget { } class _MyApp extends StatelessWidget { - const _MyApp({Key? key}) : super(key: key); + const _MyApp(); @override Widget build(BuildContext context) { diff --git a/lib/widgets/onboarding/onboarding_screen.dart b/lib/widgets/onboarding/onboarding_screen.dart index 747fb09..9b33a5c 100644 --- a/lib/widgets/onboarding/onboarding_screen.dart +++ b/lib/widgets/onboarding/onboarding_screen.dart @@ -5,7 +5,7 @@ import 'package:shogi_proverbs/widgets/onboarding/pages/onboarding_page_2.dart'; import 'package:shogi_proverbs/widgets/onboarding/pages/onboarding_page_3.dart'; class OnboardingScreen extends StatelessWidget { - const OnboardingScreen({Key? key}) : super(key: key); + const OnboardingScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/onboarding/pages/onboarding_page_1.dart b/lib/widgets/onboarding/pages/onboarding_page_1.dart index 0ce9c3f..5ffa88c 100644 --- a/lib/widgets/onboarding/pages/onboarding_page_1.dart +++ b/lib/widgets/onboarding/pages/onboarding_page_1.dart @@ -3,7 +3,7 @@ import 'package:shogi_proverbs/l10n.dart'; import 'package:shogi_proverbs/widgets/common/pages/content_page.dart'; class OnboardingPage1 extends StatelessWidget { - const OnboardingPage1({Key? key}) : super(key: key); + const OnboardingPage1({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/onboarding/pages/onboarding_page_2.dart b/lib/widgets/onboarding/pages/onboarding_page_2.dart index 6389bc4..4c038a3 100644 --- a/lib/widgets/onboarding/pages/onboarding_page_2.dart +++ b/lib/widgets/onboarding/pages/onboarding_page_2.dart @@ -7,7 +7,7 @@ import 'package:shogi_proverbs/widgets/common/panels/dark_mode_panel.dart'; import 'package:shogi_proverbs/widgets/common/panels/piece_symbol_panel.dart'; class OnboardingPage2 extends StatelessWidget { - const OnboardingPage2({Key? key}) : super(key: key); + const OnboardingPage2({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/onboarding/pages/onboarding_page_3.dart b/lib/widgets/onboarding/pages/onboarding_page_3.dart index 7e48de7..3b58861 100644 --- a/lib/widgets/onboarding/pages/onboarding_page_3.dart +++ b/lib/widgets/onboarding/pages/onboarding_page_3.dart @@ -9,7 +9,7 @@ import 'package:shogi_proverbs/widgets/common/panels/data_privacy_panel.dart'; import 'package:shogi_proverbs/widgets/common/panels/developer_panel.dart'; class OnboardingPage3 extends StatelessWidget { - const OnboardingPage3({Key? key}) : super(key: key); + const OnboardingPage3({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/proverb_detail/multi_page_detail.dart b/lib/widgets/proverb_detail/multi_page_detail.dart index 565c373..554fe61 100644 --- a/lib/widgets/proverb_detail/multi_page_detail.dart +++ b/lib/widgets/proverb_detail/multi_page_detail.dart @@ -8,9 +8,9 @@ class MultiPageDetail extends StatelessWidget { final List pages; const MultiPageDetail({ - Key? key, + super.key, required this.pages, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/proverb_detail/page_detail.dart b/lib/widgets/proverb_detail/page_detail.dart index 77d2a0c..dde2c8e 100644 --- a/lib/widgets/proverb_detail/page_detail.dart +++ b/lib/widgets/proverb_detail/page_detail.dart @@ -12,9 +12,9 @@ class PageDetail extends StatelessWidget { final Page page; const PageDetail({ - Key? key, + super.key, required this.page, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/proverb_detail/proverb_detail.dart b/lib/widgets/proverb_detail/proverb_detail.dart index 4f3bee4..3984994 100644 --- a/lib/widgets/proverb_detail/proverb_detail.dart +++ b/lib/widgets/proverb_detail/proverb_detail.dart @@ -9,9 +9,9 @@ class ProverbDetail extends StatelessWidget { final Proverb proverb; const ProverbDetail({ - Key? key, + super.key, required this.proverb, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/proverb_detail/sections/diagram_detail.dart b/lib/widgets/proverb_detail/sections/diagram_detail.dart index 1c6537f..908d868 100644 --- a/lib/widgets/proverb_detail/sections/diagram_detail.dart +++ b/lib/widgets/proverb_detail/sections/diagram_detail.dart @@ -9,8 +9,8 @@ class DiagramDetail extends StatelessWidget { const DiagramDetail({ required this.diagram, - Key? key, - }) : super(key: key); + super.key, + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/proverb_detail/sections/move_sequence_detail.dart b/lib/widgets/proverb_detail/sections/move_sequence_detail.dart index b6c4309..63e044b 100644 --- a/lib/widgets/proverb_detail/sections/move_sequence_detail.dart +++ b/lib/widgets/proverb_detail/sections/move_sequence_detail.dart @@ -7,8 +7,8 @@ class MoveSequenceDetail extends StatelessWidget { const MoveSequenceDetail({ required this.moveSequence, - Key? key, - }) : super(key: key); + super.key, + }); @override Widget build(BuildContext context) { diff --git a/lib/widgets/proverb_detail/sections/paragraphy_detail.dart b/lib/widgets/proverb_detail/sections/paragraphy_detail.dart index 73d86a6..4373aa4 100644 --- a/lib/widgets/proverb_detail/sections/paragraphy_detail.dart +++ b/lib/widgets/proverb_detail/sections/paragraphy_detail.dart @@ -5,7 +5,7 @@ import 'package:shogi_proverbs/models/sections/paragraph.dart'; class ParagraphDetail extends StatelessWidget { final Paragraph paragraph; - const ParagraphDetail({Key? key, required this.paragraph}) : super(key: key); + const ParagraphDetail({super.key, required this.paragraph}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart b/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart index 960ee74..7da4399 100644 --- a/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart +++ b/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart @@ -5,7 +5,7 @@ import 'package:shogi_proverbs/l10n.dart'; import 'package:shogi_proverbs/widgets/common/pages/content_page.dart'; class ShogiNotationPage1 extends StatelessWidget { - const ShogiNotationPage1({Key? key}) : super(key: key); + const ShogiNotationPage1({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/shogi_notation/pages/shogi_notation_page_2.dart b/lib/widgets/shogi_notation/pages/shogi_notation_page_2.dart index 8a6b67d..8999a1d 100644 --- a/lib/widgets/shogi_notation/pages/shogi_notation_page_2.dart +++ b/lib/widgets/shogi_notation/pages/shogi_notation_page_2.dart @@ -21,7 +21,7 @@ class _PieceModel { } class ShogiNotationPage2 extends StatelessWidget { - const ShogiNotationPage2({Key? key}) : super(key: key); + const ShogiNotationPage2({super.key}); String _pieceTypeMultipleOptions(PieceType pieceType, {required bool usesJapanese}) => '${BoardPiece(pieceType: pieceType, position: const Position(column: 1, row: 1)).displayString(usesJapanese: usesJapanese)}/${BoardPiece(pieceType: pieceType, player: PlayerType.gote, position: const Position(column: 1, row: 1)).displayString(usesJapanese: usesJapanese)}'; diff --git a/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart b/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart index 67356b9..42b2d68 100644 --- a/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart +++ b/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart @@ -3,7 +3,7 @@ import 'package:shogi_proverbs/l10n.dart'; import 'package:shogi_proverbs/widgets/common/pages/content_page.dart'; class ShogiNotationPage3 extends StatelessWidget { - const ShogiNotationPage3({Key? key}) : super(key: key); + const ShogiNotationPage3({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/shogi_notation/pages/shogi_notation_page_4.dart b/lib/widgets/shogi_notation/pages/shogi_notation_page_4.dart index aacf678..5569811 100644 --- a/lib/widgets/shogi_notation/pages/shogi_notation_page_4.dart +++ b/lib/widgets/shogi_notation/pages/shogi_notation_page_4.dart @@ -8,7 +8,7 @@ import 'package:shogi_proverbs/widgets/proverb_detail/sections/diagram_detail.da import 'package:shogi_proverbs/widgets/proverb_detail/sections/move_sequence_detail.dart'; class ShogiNotationPage4 extends StatelessWidget { - const ShogiNotationPage4({Key? key}) : super(key: key); + const ShogiNotationPage4({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/shogi_notation/shogi_notation_screen.dart b/lib/widgets/shogi_notation/shogi_notation_screen.dart index e9c2d5b..1a30e2f 100644 --- a/lib/widgets/shogi_notation/shogi_notation_screen.dart +++ b/lib/widgets/shogi_notation/shogi_notation_screen.dart @@ -9,7 +9,7 @@ import 'package:shogi_proverbs/widgets/shogi_notation/pages/shogi_notation_page_ import 'package:shogi_proverbs/widgets/shogi_notation/pages/shogi_notation_page_4.dart'; class ShogiNotationScreen extends StatelessWidget { - const ShogiNotationScreen({Key? key}) : super(key: key); + const ShogiNotationScreen({super.key}); @override Widget build(BuildContext context) { From 325e4274fbedff98aa13ec755b3e705aedc23e83 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sun, 19 Nov 2023 14:17:11 +0100 Subject: [PATCH 03/25] Update pods --- ios/Podfile.lock | 6 +++--- macos/Podfile.lock | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 1599f4d..f57129f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -21,9 +21,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - path_provider_foundation: 37748e03f12783f9de2cb2c4eadfaa25fe6d4852 - url_launcher_ios: ae1517e5e344f5544fb090b079e11f399dfbe4d2 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b PODFILE CHECKSUM: 6b9eb94e9f98a329f2ef624b852a6e42d090af2b -COCOAPODS: 1.11.3 +COCOAPODS: 1.13.0 diff --git a/macos/Podfile.lock b/macos/Podfile.lock index e305fb8..49b8fa2 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -21,9 +21,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - path_provider_foundation: 37748e03f12783f9de2cb2c4eadfaa25fe6d4852 - url_launcher_macos: c04e4fa86382d4f94f6b38f14625708be3ae52e2 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 -COCOAPODS: 1.11.3 +COCOAPODS: 1.13.0 From 6b15a8434b19d8a4e523ea21b9aadf89739c5d3c Mon Sep 17 00:00:00 2001 From: James Leahy Date: Fri, 15 Dec 2023 08:05:21 +0100 Subject: [PATCH 04/25] wip --- lib/configs/app_themes.dart | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/configs/app_themes.dart b/lib/configs/app_themes.dart index 9f737b3..7664e4b 100644 --- a/lib/configs/app_themes.dart +++ b/lib/configs/app_themes.dart @@ -6,7 +6,6 @@ class AppThemes { static const _lightAppColors = _AppColors.light(); static final light = ThemeData.light().copyWith( - useMaterial3: true, scaffoldBackgroundColor: _lightAppColors.scaffoldBackgroundColor, splashColor: Colors.transparent, highlightColor: Colors.transparent, @@ -19,8 +18,6 @@ class AppThemes { onSecondary: _lightAppColors.scaffoldBackgroundColor, error: Colors.transparent, onError: Colors.transparent, - background: _lightAppColors.scaffoldBackgroundColor, - onBackground: _lightAppColors.accentColor, surface: _lightAppColors.scaffoldBackgroundColor, onSurface: _lightAppColors.accentColor, ), @@ -42,7 +39,6 @@ class AppThemes { static const _darkAppColors = _AppColors.dark(); static final dark = ThemeData.dark().copyWith( - useMaterial3: true, scaffoldBackgroundColor: _darkAppColors.scaffoldBackgroundColor, splashColor: Colors.transparent, highlightColor: Colors.transparent, @@ -55,8 +51,6 @@ class AppThemes { onSecondary: _darkAppColors.scaffoldBackgroundColor, error: Colors.transparent, onError: Colors.transparent, - background: _darkAppColors.scaffoldBackgroundColor, - onBackground: Colors.white, surface: _darkAppColors.scaffoldBackgroundColor, onSurface: Colors.white, ), From 74a9f5c8b091af9aac0c749e84ab5b1ee0ce38fb Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 23 Mar 2024 16:26:29 +0100 Subject: [PATCH 05/25] Update flutter 3.19 --- .fvmrc | 2 +- .vscode/settings.json | 2 +- pubspec.lock | 172 +++++++++++++++++++++++++----------------- pubspec.yaml | 4 +- 4 files changed, 106 insertions(+), 74 deletions(-) diff --git a/.fvmrc b/.fvmrc index ee173a1..b231bd0 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,4 +1,4 @@ { - "flutter": "3.16.0", + "flutter": "3.19.4", "flavors": {} } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 61162af..4fa8bd3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "dart.flutterSdkPath": ".fvm/versions/3.16.0" + "dart.flutterSdkPath": ".fvm/versions/3.19.4" } \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index 92a6903..262bb75 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "64.0.0" + version: "67.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.4.1" arb_generator: dependency: "direct dev" description: @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: archive - sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" url: "https://pub.dev" source: hosted - version: "3.4.9" + version: "3.4.10" args: dependency: transitive description: @@ -77,10 +77,10 @@ packages: dependency: transitive description: name: cli_util - sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7 + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.4.1" clock: dependency: transitive description: @@ -133,10 +133,10 @@ packages: dependency: transitive description: name: dart_style - sha256: abd7625e16f51f554ea244d090292945ec4d4be7bfbaf2ec8cccea568919d334 + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.6" equatable: dependency: transitive description: @@ -165,10 +165,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: @@ -215,10 +215,10 @@ packages: dependency: "direct main" description: name: flutter_riverpod - sha256: "49b55e8a467229eedb801bd0864baa7f891c39cc00f790189ba8479e9ad0fa06" + sha256: "0f1974eff5bbe774bf1d870e406fc6f29e3d6f1c46bd9c58e7172ff68a785d7d" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.5.1" flutter_shogi_board: dependency: "direct main" description: @@ -242,10 +242,10 @@ packages: dependency: "direct main" description: name: get_it - sha256: f79870884de16d689cf9a7d15eedf31ed61d750e813c538a6efb92660fea83c3 + sha256: e6017ce7fdeaf218dc51a100344d8cb70134b80e28b760f8bb23c242437bafd7 url: "https://pub.dev" source: hosted - version: "7.6.4" + version: "7.6.7" glob: dependency: transitive description: @@ -266,10 +266,10 @@ packages: dependency: transitive description: name: image - sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" url: "https://pub.dev" source: hosted - version: "4.1.3" + version: "4.1.7" intl: dependency: transitive description: @@ -282,10 +282,10 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" json_annotation: dependency: transitive description: @@ -294,6 +294,30 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -306,26 +330,26 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" package_config: dependency: transitive description: @@ -338,34 +362,34 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_provider: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: @@ -378,10 +402,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -394,34 +418,34 @@ packages: dependency: transitive description: name: petitparser - sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8 + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.1.8" pointycastle: dependency: transitive description: name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" url: "https://pub.dev" source: hosted - version: "3.7.3" + version: "3.7.4" pub_semver: dependency: transitive description: @@ -434,10 +458,10 @@ packages: dependency: transitive description: name: riverpod - sha256: "01fa385aa5d6db42fd602d8c400c28ae1c83d1fd6fbae1cbf0f4c78bac58d4b2" + sha256: f21b32ffd26a36555e501b04f4a5dca43ed59e16343f1a30c13632b2351dfa4d url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.5.1" shogi: dependency: "direct main" description: @@ -519,34 +543,34 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba + sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.5" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" + sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.3.0" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 + sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.5" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" url_launcher_macos: dependency: transitive description: @@ -559,26 +583,26 @@ packages: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" + sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" vector_math: dependency: transitive description: @@ -587,6 +611,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" watcher: dependency: transitive description: @@ -599,34 +631,34 @@ packages: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" win32: dependency: transitive description: name: win32 - sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f" + sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" url: "https://pub.dev" source: hosted - version: "5.1.0" + version: "5.3.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556 + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.4.2" + version: "6.5.0" yaml: dependency: transitive description: @@ -636,5 +668,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.0" diff --git a/pubspec.yaml b/pubspec.yaml index f115a81..e4dbd48 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 0.3.0+5 environment: - sdk: '>=3.2.0 <4.0.0' - flutter: ">=3.16.0 <4.0.0" + sdk: '>=3.3.0 <4.0.0' + flutter: ">=3.19.0 <4.0.0" dependencies: flutter: From c59b7fecbeb2aa00387b2451f15cc275665317bf Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 23 Mar 2024 16:45:43 +0100 Subject: [PATCH 06/25] Re-generate iOS --- .metadata | 12 +- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 2 +- ios/Podfile.lock | 8 +- ios/Runner.xcodeproj/project.pbxproj | 171 +++++++++--------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../AppIcon.appiconset/Contents.json | 118 ++++++------ 7 files changed, 159 insertions(+), 156 deletions(-) diff --git a/.metadata b/.metadata index d07f2f1..6f415f0 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "efbf63d9c66b9f6ec30e9ad4611189aa80003d31" + revision: "68bfaea224880b488c617afe30ab12091ea8fa4e" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31 - base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31 - - platform: web - create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31 - base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31 + create_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e + base_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e + - platform: ios + create_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e + base_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e # User provided section diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 9625e10..7c56964 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/ios/Podfile b/ios/Podfile index 2c6a9b8..d97f17e 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '11.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f57129f..f4be3c3 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -20,10 +20,10 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 - url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c + url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586 -PODFILE CHECKSUM: 6b9eb94e9f98a329f2ef624b852a6e42d090af2b +PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 COCOAPODS: 1.13.0 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 43f0508..78d6f2e 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -10,9 +10,9 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 490F76DE0ABC5F0F8058888F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DF83E947A4C6B97FF993A81 /* Pods_Runner.framework */; }; - 53433A67D63AA8994820FA10 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D89B9ECBB2002CD3401A8CD /* Pods_RunnerTests.framework */; }; + 5A8CBDC65DF43D7A85520C7E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A354411FE837B5B383889C24 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7D1E4EA3DC67ECB02327B2EE /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DEE715C502524299E3573B5 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -42,21 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 1228BB08562A5E968C3CDAEA /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 17EE4FCE35D588050C2483ED /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1C5F3E79866C7CFBC5883E20 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 1D89B9ECBB2002CD3401A8CD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 303D339D446459312B2E5C94 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3DF83E947A4C6B97FF993A81 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 47E9E57FF0E62EBC4D76A07F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4DEE715C502524299E3573B5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 578F9C54EF1D9291CC487BC8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 60E1224FAB120E0AE9909F95 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7868C447136245C145914F99 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 972C0392FBD3CA80131B2D16 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -64,58 +62,51 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B1F71CB806EE5F13513210CA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A354411FE837B5B383889C24 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + ABDBDDA5948385E5353A02F3 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + E05F8505A0B1F0907727FF51 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 31F780C094562B6413FFCFEB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 490F76DE0ABC5F0F8058888F /* Pods_Runner.framework in Frameworks */, + 7D1E4EA3DC67ECB02327B2EE /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D34ADFE0B467B26554150B54 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 53433A67D63AA8994820FA10 /* Pods_RunnerTests.framework in Frameworks */, + 5A8CBDC65DF43D7A85520C7E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 05A8D75B4922C12357337B05 /* Pods */ = { - isa = PBXGroup; - children = ( - 1C5F3E79866C7CFBC5883E20 /* Pods-Runner.debug.xcconfig */, - B1F71CB806EE5F13513210CA /* Pods-Runner.release.xcconfig */, - 47E9E57FF0E62EBC4D76A07F /* Pods-Runner.profile.xcconfig */, - 17EE4FCE35D588050C2483ED /* Pods-RunnerTests.debug.xcconfig */, - 1228BB08562A5E968C3CDAEA /* Pods-RunnerTests.release.xcconfig */, - 7868C447136245C145914F99 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; - 322F25D7ABBED411F969CDAF /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 3DF83E947A4C6B97FF993A81 /* Pods_Runner.framework */, - 1D89B9ECBB2002CD3401A8CD /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 5F3AE5465944827ED607A6A7 /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 578F9C54EF1D9291CC487BC8 /* Pods-Runner.debug.xcconfig */, + 972C0392FBD3CA80131B2D16 /* Pods-Runner.release.xcconfig */, + E05F8505A0B1F0907727FF51 /* Pods-Runner.profile.xcconfig */, + ABDBDDA5948385E5353A02F3 /* Pods-RunnerTests.debug.xcconfig */, + 303D339D446459312B2E5C94 /* Pods-RunnerTests.release.xcconfig */, + 60E1224FAB120E0AE9909F95 /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 05A8D75B4922C12357337B05 /* Pods */, - 322F25D7ABBED411F969CDAF /* Frameworks */, + 5F3AE5465944827ED607A6A7 /* Pods */, + B21A99FB57B62E4A3D7FABBC /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + B21A99FB57B62E4A3D7FABBC /* Frameworks */ = { + isa = PBXGroup; + children = ( + A354411FE837B5B383889C24 /* Pods_Runner.framework */, + 4DEE715C502524299E3573B5 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - AEED617F29B739C0F5861FB4 /* [CP] Check Pods Manifest.lock */, + 116574441CE0E3FFF38D2A57 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D34ADFE0B467B26554150B54 /* Frameworks */, + 31F780C094562B6413FFCFEB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - F6EBABBBF7B956B2AAD8C1C6 /* [CP] Check Pods Manifest.lock */, + DA7B934F682EDE65246417AB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - DACEB23CDC3F484CB7567088 /* [CP] Embed Pods Frameworks */, + 907938733FD7B8680B11B62A /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -216,7 +216,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -270,77 +270,77 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 116574441CE0E3FFF38D2A57 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + 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; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - AEED617F29B739C0F5861FB4 /* [CP] Check Pods Manifest.lock */ = { + 907938733FD7B8680B11B62A /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - 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"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - DACEB23CDC3F484CB7567088 /* [CP] Embed Pods Frameworks */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Run Script"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F6EBABBBF7B956B2AAD8C1C6 /* [CP] Check Pods Manifest.lock */ = { + DA7B934F682EDE65246417AB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -416,6 +416,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -445,6 +446,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -453,7 +455,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -469,14 +471,13 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -486,14 +487,14 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 17EE4FCE35D588050C2483ED /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = ABDBDDA5948385E5353A02F3 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -504,14 +505,14 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1228BB08562A5E968C3CDAEA /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 303D339D446459312B2E5C94 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; @@ -520,14 +521,14 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7868C447136245C145914F99 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 60E1224FAB120E0AE9909F95 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; @@ -538,6 +539,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -567,6 +569,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -581,7 +584,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -593,6 +596,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -622,6 +626,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -630,7 +635,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -648,14 +653,13 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -671,14 +675,13 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 87131a0..8e3ca5d 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ Date: Sat, 22 Jun 2024 11:22:16 +0200 Subject: [PATCH 07/25] Update flutter 3.22 --- .fvmrc | 2 +- .vscode/settings.json | 2 +- ios/Podfile.lock | 4 +- pubspec.lock | 120 ++++++++++++++++++------------------------ pubspec.yaml | 4 +- 5 files changed, 58 insertions(+), 74 deletions(-) diff --git a/.fvmrc b/.fvmrc index b231bd0..26d017c 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,4 +1,4 @@ { - "flutter": "3.19.4", + "flutter": "3.22.2", "flavors": {} } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 4fa8bd3..ba6e797 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "dart.flutterSdkPath": ".fvm/versions/3.19.4" + "dart.flutterSdkPath": ".fvm/versions/3.22.2" } \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f4be3c3..4834f2f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -21,8 +21,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c - url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 diff --git a/pubspec.lock b/pubspec.lock index 262bb75..dc6a0da 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,18 +29,18 @@ packages: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.6.1" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -125,10 +125,10 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" dart_style: dependency: transitive description: @@ -202,10 +202,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "4.0.0" flutter_localizations: dependency: "direct main" description: flutter @@ -242,10 +242,10 @@ packages: dependency: "direct main" description: name: get_it - sha256: e6017ce7fdeaf218dc51a100344d8cb70134b80e28b760f8bb23c242437bafd7 + sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1 url: "https://pub.dev" source: hosted - version: "7.6.7" + version: "7.7.0" glob: dependency: transitive description: @@ -266,66 +266,58 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" intl: dependency: transitive description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" - url: "https://pub.dev" - source: hosted - version: "0.18.1" - js: - dependency: transitive - description: - name: js - sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.19.0" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" matcher: dependency: transitive description: @@ -346,10 +338,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" package_config: dependency: transitive description: @@ -370,26 +362,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + sha256: bca87b0165ffd7cdb9cad8edd22d18d2201e886d9a9f19b4fb3452ea7df3a72a url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.6" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -426,10 +418,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -438,14 +430,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" - url: "https://pub.dev" - source: hosted - version: "3.7.4" pub_semver: dependency: transitive description: @@ -527,10 +511,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" typed_data: dependency: transitive description: @@ -543,26 +527,26 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.0" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 + sha256: ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.3" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.0" url_launcher_linux: dependency: transitive description: @@ -575,10 +559,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: @@ -591,10 +575,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" + sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.1" url_launcher_windows: dependency: transitive description: @@ -615,10 +599,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" watcher: dependency: transitive description: @@ -639,10 +623,10 @@ packages: dependency: transitive description: name: win32 - sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 url: "https://pub.dev" source: hosted - version: "5.3.0" + version: "5.5.1" xdg_directories: dependency: transitive description: @@ -668,5 +652,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml index e4dbd48..df202a1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 0.3.0+5 environment: - sdk: '>=3.3.0 <4.0.0' - flutter: ">=3.19.0 <4.0.0" + sdk: '>=3.4.0 <4.0.0' + flutter: ">=3.22.0 <4.0.0" dependencies: flutter: From b908db4fc05eed64ea4ed856c1bc5b6ce54567d6 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 22 Jun 2024 11:27:54 +0200 Subject: [PATCH 08/25] Extract build_locally.md --- README.md | 11 ----------- docs/build_locally.md | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 docs/build_locally.md diff --git a/README.md b/README.md index 5351967..3d0a829 100644 --- a/README.md +++ b/README.md @@ -36,17 +36,6 @@ Shogi Proverbs is presently available to download as a test version via TestFlig The app is presently optimized for mobile. A web simulation can be found at [http://defuncart.com/shogi_proverbs](http://defuncart.com/shogi_proverbs). -## Getting Started - -If you would like to build the app yourself, then you simply need: - -- Flutter >= 3.16 -- Dart >= 3.2 -- Xcode >= 13.4 -- Android SDK >= 33 - -To generate app icons, simply run `flutter pub run flutter_launcher_icons`. - ## Contributing If you noticed any notation issues, please open an [issue](https://github.com/defuncart/shogi_proverbs/issues) or create a pull request. diff --git a/docs/build_locally.md b/docs/build_locally.md new file mode 100644 index 0000000..b9a806d --- /dev/null +++ b/docs/build_locally.md @@ -0,0 +1,10 @@ +# Building Locally + +If you would like to build the app yourself, then you simply need: + +- Flutter >= 3.22 +- Dart >= 3.4 +- Xcode >= 13.4 +- Android SDK >= 33 + +To generate app icons, simply run `flutter pub run flutter_launcher_icons`. From 173ef379efcb00bcb35ae78c19801baa6ee63444 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Wed, 25 Dec 2024 09:02:12 +0100 Subject: [PATCH 09/25] Upgrade Flutter 3.27 --- .fvmrc | 2 +- .vscode/settings.json | 2 +- pubspec.lock | 262 +++++++++++++----------------------------- pubspec.yaml | 4 +- 4 files changed, 87 insertions(+), 183 deletions(-) diff --git a/.fvmrc b/.fvmrc index 26d017c..d1af5d5 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,4 +1,4 @@ { - "flutter": "3.22.2", + "flutter": "3.27.1", "flavors": {} } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index ba6e797..b01430d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "dart.flutterSdkPath": ".fvm/versions/3.22.2" + "dart.flutterSdkPath": ".fvm/versions/3.27.1" } \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index dc6a0da..da5b048 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,46 +1,30 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" - url: "https://pub.dev" - source: hosted - version: "67.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" - url: "https://pub.dev" - source: hosted - version: "6.4.1" arb_generator: dependency: "direct dev" description: name: arb_generator - sha256: "7db57c24a68af05332d4e94757320ea60badbe33040c09c87dd12007717d71d8" + sha256: db689425994fc20d2a3c6a852d8a827daea3608ac3c374753cb0ebb56d1d6ca9 url: "https://pub.dev" source: hosted - version: "0.0.3" + version: "0.0.4" archive: dependency: transitive description: name: archive - sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" url: "https://pub.dev" source: hosted - version: "3.6.1" + version: "4.0.2" args: dependency: transitive description: name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" async: dependency: transitive description: @@ -77,10 +61,10 @@ packages: dependency: transitive description: name: cli_util - sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c url: "https://pub.dev" source: hosted - version: "0.4.1" + version: "0.4.2" clock: dependency: transitive description: @@ -93,26 +77,18 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" + version: "1.19.0" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" csv: dependency: transitive description: @@ -129,30 +105,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" - url: "https://pub.dev" - source: hosted - version: "2.3.6" - equatable: - dependency: transitive - description: - name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 - url: "https://pub.dev" - source: hosted - version: "2.0.5" - excel: - dependency: transitive - description: - name: excel - sha256: f6a76fff6ac14f48fd44a6528e72705965e02cbc593e00427ab1d9a9f5d3bffa - url: "https://pub.dev" - source: hosted - version: "2.1.0" fake_async: dependency: transitive description: @@ -165,26 +117,10 @@ packages: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - flappy_translator: - dependency: transitive - description: - name: flappy_translator - sha256: e249fe4b9a2f61c50ab28113b1f1e949c224c1e42cb40666bb8b0f2ba4b15bf5 + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.3" flutter: dependency: "direct main" description: flutter @@ -194,18 +130,18 @@ packages: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + sha256: "31cd0885738e87c72d6f055564d37fabcdacee743b396b78c7636c169cac64f5" url: "https://pub.dev" source: hosted - version: "0.13.1" + version: "0.14.2" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" flutter_localizations: dependency: "direct main" description: flutter @@ -215,10 +151,10 @@ packages: dependency: "direct main" description: name: flutter_riverpod - sha256: "0f1974eff5bbe774bf1d870e406fc6f29e3d6f1c46bd9c58e7172ff68a785d7d" + sha256: "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.6.1" flutter_shogi_board: dependency: "direct main" description: @@ -242,18 +178,10 @@ packages: dependency: "direct main" description: name: get_it - sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1 - url: "https://pub.dev" - source: hosted - version: "7.7.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + sha256: f126a3e286b7f5b578bf436d5592968706c4c1de28a228b870ce375d9f743103 url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "8.0.3" hive: dependency: "direct main" description: @@ -266,10 +194,10 @@ packages: dependency: transitive description: name: image - sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" + sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.5.2" intl: dependency: transitive description: @@ -290,18 +218,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -314,10 +242,10 @@ packages: dependency: transitive description: name: lints - sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.1.1" matcher: dependency: transitive description: @@ -330,26 +258,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" - url: "https://pub.dev" - source: hosted - version: "1.12.0" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "1.15.0" path: dependency: transitive description: @@ -362,26 +282,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.5" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: bca87b0165ffd7cdb9cad8edd22d18d2201e886d9a9f19b4fb3452ea7df3a72a + sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" url: "https://pub.dev" source: hosted - version: "2.2.6" + version: "2.2.15" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" path_provider_linux: dependency: transitive description: @@ -402,10 +322,10 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" petitparser: dependency: transitive description: @@ -418,10 +338,10 @@ packages: dependency: transitive description: name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" url: "https://pub.dev" source: hosted - version: "3.1.5" + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -430,22 +350,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pub_semver: + posix: dependency: transitive description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "6.0.1" riverpod: dependency: transitive description: name: riverpod - sha256: f21b32ffd26a36555e501b04f4a5dca43ed59e16343f1a30c13632b2351dfa4d + sha256: "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.6.1" shogi: dependency: "direct main" description: @@ -458,7 +378,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -471,10 +391,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" state_notifier: dependency: transitive description: @@ -495,10 +415,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -511,58 +431,58 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.3" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" url_launcher: dependency: "direct main" description: name: url_launcher - sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.1" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf + sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193" url: "https://pub.dev" source: hosted - version: "6.3.3" + version: "6.3.14" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89" + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.2" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.2" url_launcher_platform_interface: dependency: transitive description: @@ -575,18 +495,18 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.3" vector_math: dependency: transitive description: @@ -599,42 +519,26 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" - url: "https://pub.dev" - source: hosted - version: "14.2.1" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "14.3.0" web: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "0.5.1" - win32: - dependency: transitive - description: - name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 - url: "https://pub.dev" - source: hosted - version: "5.5.1" + version: "1.1.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" xml: dependency: transitive description: @@ -647,10 +551,10 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: - dart: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" + dart: ">=3.6.0 <4.0.0" + flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index df202a1..d4e0237 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 0.3.0+5 environment: - sdk: '>=3.4.0 <4.0.0' - flutter: ">=3.22.0 <4.0.0" + sdk: '>=3.6.0 <4.0.0' + flutter: ">=3.27.0 <4.0.0" dependencies: flutter: From f92c0a5ee3e330fc9b3296ffb387dfa34c4b2fad Mon Sep 17 00:00:00 2001 From: James Leahy Date: Wed, 25 Dec 2024 09:03:34 +0100 Subject: [PATCH 10/25] Fix warning --- lib/widgets/home_screen/home_screen.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/widgets/home_screen/home_screen.dart b/lib/widgets/home_screen/home_screen.dart index 4602536..c02cdc3 100644 --- a/lib/widgets/home_screen/home_screen.dart +++ b/lib/widgets/home_screen/home_screen.dart @@ -39,7 +39,7 @@ class _HomeScreenState extends State { hintText: context.l10n.homeScreenSearchHintText, border: InputBorder.none, hintStyle: Theme.of(context).textTheme.titleLarge!.apply( - color: Colors.white.withOpacity(0.4), + color: Color.fromRGBO(255, 255, 255, 0.4), ), ), cursorColor: Colors.white, From 7d6dad35df5b2490ed5c43e57c1c5f217c7d093f Mon Sep 17 00:00:00 2001 From: James Leahy Date: Thu, 2 Jan 2025 12:36:02 +0100 Subject: [PATCH 11/25] Re-generate android --- .metadata | 16 ++++-- android/.gitignore | 2 +- android/app/build.gradle | 53 +++++------------- android/app/src/main/AndroidManifest.xml | 13 ++++- .../defuncart/shogiproverbs/MainActivity.kt | 3 +- .../drawable-hdpi/ic_launcher_foreground.png | Bin 1215 -> 910 bytes .../drawable-mdpi/ic_launcher_foreground.png | Bin 941 -> 703 bytes .../drawable-xhdpi/ic_launcher_foreground.png | Bin 1394 -> 1069 bytes .../ic_launcher_foreground.png | Bin 1985 -> 1399 bytes .../ic_launcher_foreground.png | Bin 2636 -> 2052 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 1948 -> 1962 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 1260 -> 1258 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 2735 -> 2765 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 4439 -> 4480 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 6162 -> 6227 bytes android/build.gradle | 17 +----- android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 19 ++++--- assets_dev/app_icon/android_foreground.png | Bin 2415 -> 2062 bytes 21 files changed, 60 insertions(+), 73 deletions(-) diff --git a/.metadata b/.metadata index 6f415f0..30cdfcf 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "68bfaea224880b488c617afe30ab12091ea8fa4e" + revision: "17025dd88227cd9532c33fa78f5250d548d87e9a" channel: "stable" project_type: app @@ -13,11 +13,17 @@ project_type: app migration: platforms: - platform: root - create_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e - base_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e + create_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a + base_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a + - platform: android + create_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a + base_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a - platform: ios - create_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e - base_revision: 68bfaea224880b488c617afe30ab12091ea8fa4e + create_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a + base_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a + - platform: web + create_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a + base_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a # User provided section diff --git a/android/.gitignore b/android/.gitignore index 6f56801..55afd91 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle index 1a85dc1..a03fad0 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,66 +1,43 @@ plugins { id "com.android.application" id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - android { - namespace "com.defuncart.shogiproverbs" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "com.defuncart.shogiproverbs" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { - applicationId "com.defuncart.shogiproverbs" + applicationId = "com.defuncart.shogiproverbs" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' + source = "../.." } - -dependencies {} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index bc8a0d7..023dce2 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -3,13 +3,13 @@ + android:icon="@mipmap/ic_launcher"> + + + + + diff --git a/android/app/src/main/kotlin/com/defuncart/shogiproverbs/MainActivity.kt b/android/app/src/main/kotlin/com/defuncart/shogiproverbs/MainActivity.kt index 9f364ce..24d41c4 100644 --- a/android/app/src/main/kotlin/com/defuncart/shogiproverbs/MainActivity.kt +++ b/android/app/src/main/kotlin/com/defuncart/shogiproverbs/MainActivity.kt @@ -2,5 +2,4 @@ package com.defuncart.shogiproverbs import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity: FlutterActivity() diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png index 589ce7c880fcedb1df80f7daf4d35de6abbcf3c3..46534725dcd97b2bd1ad6be8941ce430c5ca18ed 100644 GIT binary patch literal 910 zcmeAS@N?(olHy`uVBq!ia0vp^i$Iuz4M-mPBqq(kz#Qu7;uumf=j~m`?w&%1;~)P| zNjftlRpyQ36t^iJmL7UuCtbbb8g9$Y(WsP;k=et{{#5mWistUl=B<9k5$xHQ$6UYHMcZ#%23H?fQ*-$tiekB<(UGlN`}y4#pV!ZR z|6}UTxo;nz&5ic&w>FlktFn<;vwz0DRX4>YADx>0@9iz=y5~1OHk;4-{McEB=h}N+ zUA_A=!O}|qh6oH z*uLxAo^O4HX=+E@GUsS4-IDeGhj6dk&G1v-wOyBgYw%1{b1^eVaa3ZOQ%r1ay=~(A zJLkULe70@v^kZ`+`RwmX^IVhn&%au6_+iG*Z*88d{%@$y$}Ieu_m=nR@#nfxXMcWF ztn0q;T-Piu%_*f=m=+PZFsoztE^EFwug=M?-I=)f*4k$iJJWBSO=hpE*7r-l82@Q$ zO~vj@>%Zx54|RT1_FV5vRdxQ=J0JA7+`cW&_ida0m3tc<{qL>&;(vA5&TwPY6xMP} z@te0MzjpqDDMnJYb&;R{g*wMnUf%!z?W&!PJX_~?e3&cHso2=S`?r`2J8uxRb?T;&-McCj?p( zI-Cq#6eSi3@C0(SX|OnpG%0c&96(_avm?oyU*4YT_48!e?`vBNc1XFY_w*WUJG5i> ztzA3kKK~_`w#j6oiB$09htC=fyb@)&7E2xT*&8>zw({N7ubb2F|F`+~_RpW1OsnOh7k&C8SS zr#y^#zHfiU)4e`^8?0{`Kf%>$l(5zRlZS z{yp&ds_WVQck1Jp234i0<(kNs$0n|8epvswrZD8t46bCWJJZ{aN5$9f{BrT}Im<4f zX%Bp6`JK0W(^&BTz~uG}zw>9W`tjRbtcy>#k-uiqs$t+Pa%e}}j>%ujzvS{795*QY zc=z_s?+4N^ERvorpda(&#j8(KyWRC-e?7dJzc2QW z!Atw&P8uN{j$4B?_fKB-^#6~^5C7!6n_zb1eeu^@Pw#GAZgQsh@BJ>ZMQ&5Tc>rj$ z_1xa6PoKViUuLyEyn653iiMxjFa7`4y2HKVLHCq7N4lr}sQmDOd%2(QRIkasQ|GUj z<2_%h`@S`GWq{(kcJb%SpT2(nDekzyk^HGIboBJrKHEDXQ8T1NDt0jBG#q*U5AVPD Wi`M5k66Jse6N9I#pUXO@geCy-zCR(b=62P6o%inV zJ$E1cB@c8}_Req5A57*T&S}X8Gu|9rwoJW$d5DPPWBxamFPCmy`Es#()3>E_=gQAr z|F(DQil5D!*jHcIukq28J+*Cv$L6n9Z;P+|`1&=!Ki(!krhk_G33Wkep!j@C=` zGd`Y`>B_S-IZ@5IfBtUSzUjt~0^_9k`(@jIt7d(x+r+MY`r73cH@EJbdG6ljq|G|f z{)@_J*R7@?^}B8Q}3pny|T~F zOh|CmI=6I+nsVCz)Q@$1Vw!W$*G-RYZ@0YwbvGyHwq3XCCVcg;R?bQ;etmgEdK*ji p*P@qxM`C`eJR%sq7$IH9^zmV~o}?P*3t+-z@O1TaS?83{1OUW#KpFr5 literal 941 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p|}=Fqe3`IEGX(zP;_AE$k?B?4#Q3 zl*wjlCfC?*KLZcdg;o4&n18FZ@yo0Z2U(rgSWDX}ZVowf*1$0|^N>=EDgI z5ww%VXL~AVIt(Ea%RJxo|6*O zCZ2q*e(vnqyVdbJV(nKhG?pDyQ&*2$a`|Mm<9laKk#(Ze=dVAbr>koy@pEyqL8;^) zrN`x4vu=LceDSr@VUG4EcXwWxdp+x``Mm2ZzZSlm&=a9H+3VE#&+OF~yUGsU+Z((8 z_4m(OQ>6^^?$69CfBrgK`n=BRZ?(Fo?RLH@e|Z4t#0&K?UzFwg+4r_4Z{c=Zo{Y`! z7tL;DsFhY`y*lN!_~NZ8FW2?B9nP)#w(s}(XvJlcyz=v&e|p@#>EG|n=YiWdD+wN+ zF#Xjwx3mh2x|JbX`foyX-@a4Uy2U2^apJ@ydwA}%pLo8x+itqlK7XqOEB3|08PYlT z%e1oR?>lE6y*BoG=B`hxzeQ$0xtnq3jz-O!bKdf&`g3kazWz8xFmk>@&xaLrqEDY* zxG2})=bM$`TG8u&$CNz@Qrl>zbNb(%*GaG6KQ`Z+Dc$3D3}u*nmdf0^XPe*u zpR0GQvkqCCx4L>t+=c4EEu7O%r_UGT+L>CpQ#aY)?egb6etX}2iMe3VXLoGYJk2$y z48Q%p>8_O6mb7t&Rlu9uX_`MDJp9Z3wCL%^Gx6Vw=Qv(eyTSPNiuv`qD;QpuT>5@+ z(#a!V|8LZs`$DYe+ydVX@zK`nzkPcXc|G&rl$F2yrvHkI2$0WsRh{(g#*GLsy@}$f z`BNLd6#|{8b9&th!7p}vnWyWn2%nXA%zt8#+Z32j%>;^`=<6BEo?q~L^Pl4sFdH&> My85}Sb4q9e0J)N^m;e9( diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png index c6fc4df02a313192eb2081a72ef301ff816e5891..d738a45ea88c020f2c26eb1ae1cf96cc53bfb813 100644 GIT binary patch literal 1069 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$!4M=t>=)PrOVE*Fi;uumf=j|=S?6_2!_J_}p za4m{3=@98rP-GQ%6fo>=cJ?m##{A-u$`8>yb7kht{bH-qV)xiyC0`Sh;;Z9bg&j<-Ksm8p5P7gnccgfdx6 zChPpoH~n8~b*wkD=egLPzv)tsSHvH!THOw+4;SOw#MK4xGU-&p1%C?(X(sE zZoiy$A-?|K-`j^5KaPKXFEHZgfxNuE{~k*`ZrxeFWZB1aXV>=5e?G4;(A|B1{ofBS zer(=ZE)r&EFk>=S7hkw6aHBlAC;hoxVchcM8jIeKubQsAC;ROFy6oIb|6=_WYibgz zcmJM$Ztp{-y!ScxWx3hS{%+d7`@iSj&dca&(Se)b8TvzvcJMtv>!ga@K)s$G%*Yc-#wAYS?|e^x3gn z67uQM>lSTwS5M|?Jb2j$duqvKvbM0OsgGK;cS~RYe~X#bhn1#1Yu;O4P+{?%&0_sh nPM&EKv4$$mQwLM?h5gR*A%A9kK354W1{geD{an^LB{Ts5iBF2# literal 1394 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$!4M=t>=)PrOV72sgaSW+oe0%qN_mxta;~zh& z@9N#}7UnMPT<~d@h>P5w68&8j9RIr(1Ygv&5{+%*SfqEi%b|%+&||~*3$q{QsQOyU zmFY-F*Dv|@(=6GgH&1WhpL53^Gv+_D-o5(%`9n7P^IPAiCo^~4jQGy<;J;6TfQkW! zkOT`SPZJB9BU7_NqvM1F3LZmEIQpQlyIlRwyZ81kzy7*D{NBHSXUB~e8%;kQqg%Z8 z*UpC@K7I8*e0uw<=$FmKD{kM6iMuxaW(c9PcJw0dAxc1FUqvNO9SG_Aev&jEd+<`U1$YHhijoZwl$11)T7|e{X-urLr zr(Jg>-mAE6iMnk*tup=AceduG-`y8KT_5~?-j8hYjkn+4x#@W)I4wST&+H22n*XN$ z3ECFb-~MzOFF${^_;X(RXpB^RrxKQ>{tom<#?c1Nv{cP6UULVO6eQ@jQ>#ySu zotZWNe)M;tw0Y!5QjREJskQ&M+iS(ynje}!ee0j9H*KZd<1ksSK-*()(`Mf8-urK> z)byY8-(=;km*d}_`e~chmxa6Tg)O@(VLvN3fBS9AJFmaS>+e6WU%Iw`Bw?o&JPpRDUa6x;h;0-OEZ@=P0h4%;cw%hwyziIrfPObEM zL!^Dz+@A*%GAmNI)NFpYbq(wD^YyzE6CZ|r?RcAbH+!Zj)9gjJ-`0dZTUoU8iiCap zKC6m#R%?~`rJ-$4|<(pwte0H+u!-*?tBm0z4v#;t9$j~?>1)^ z?Of!{Pc zJN1!s;08@#`YAtsy87u?r{q0fW9BC8w3(S@zVVjlp4j_b*}=7OtAq_!#~#sjpKp2V zmCTDbaS;|<_Z!~JeJamlc68?D=XR^Ad5vG4Gu(M~zOIzIf8D>@wW}kUQDS6xWdG&` b_6!e|j|F@D+fWEBOBp;}{an^LB{Ts50PQMa diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png index b69445fe6c189fd1c8e18698865827d7bcde3ec7..5b29e8c90d1d386cc02556adcd6fb7977dda7ed7 100644 GIT binary patch literal 1399 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 XMu6H*FUWj~00000NkvXXu0mjf*79$4 diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 5f349f7..c79c58a 100644 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,9 @@ - + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index 2d9d8f5bcf102315ac77750a79fe41fd077e4d4b..d26ad55d056914ae5049bccfedb39985e3f828d7 100644 GIT binary patch delta 1948 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±KTHZCt}0BG%r^i1hJAK4H8sI%wdg$_?--xJX{O3@137y<-T?~e<}NQcBsp6c zLhUS4<%T5Z6BN+M3Y!hv+uN9*{~UF7b*QSUf-K7gC6q`caBy&daCjHP!)MXl+?;Ve zIm@zqOn*rv5=OQM*|5LAkGppl3rIOVY__4SYZOI+B*CZ%A>>?o8-t-5Jv}dKrCzVs zC!aw2w7a&p2EX5r>gsCr_xES{cA-6iXf%qwy*=%kY+yRo=@cndGnW!AEzP)i@$Fof zC}n|zSB0RGs+hyJ|Q-@m_1gSXo)giOiF} zD5gz7Iy*aY{CG>&YbYS0s&Sd-LOQIkuVZ%hlblFA4K{PvuYZvDbr&wYl~Dl2s;Vj! zdQ!A?I6cS&v)P3DdK0Ru^pK>&4z&)GihsqTn&@nZ$KzbT&$-ag^rYD1q{HCgfOeD; zc6WC!Hw2J3Xm#!p_bPPn+BW-aue;kcL`0ArRQ)=>Y}Yp_NHDu$448Toj2d5m01p$n{zOQGOq{!E@aa#mus9pEPt)c zQpV!qS6E*DE(G8z4pm~>_ja1d^kHdbmZD=x@;7dL{2PE#W+1*xA8sX<=z!BirVq=J zINiWf0ArqElf3g|0KVbpfsIH1=!IzC_qtrJX}8-w+0|v$KmBKqOp}Oz3sz!QSQaVf zd8SIA&j**w9ZSYM!$!-Ws+z#sT2C-#Ge?zETudL<Frh=>s4u@HhpA23w{aB{;QUK|KK(i*=%0nr}myPT&BdH?_b07*qoM6N<$f;O~G Ab^rhX delta 1240 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 literal 2735 zcmb7`Yd8}O|Hnrohiy*xuubIR#%Sdue|-9%0~Kbk|7h?OQ2 zGG|d4az13jxaAxnRuo-vcdpECoMAUvMs~AEfL|p)veXJvdPXvh6jfW%9BXjK)IioBt}I?*sMalTA4K|xtrd3cU& z2=r5Se(oYwT6C$5xg11mj?maAu>D6~wzRHZP&M%s#pD7fK;2sB3=Iv9kjR0QYOsxs zO+?&Mwkq~0H3Bl6ZD~4h7a0r6fFB7{*w=F>Noc3JHnui4;BYvVbj?BkqVN}|F$$tY zi{ew&-INU{cFR-m>mA(A)OM@X+Zt1`Gl~Fc%a)t-4P(r^p0HDJ-{C4~dwcuLRG4td zc@*lZyNAbv!HNNMpK`VSfdMP0hL9@|+Hj)KS$Ib$w`CP}3=W681_wKS{~;1jrOIoe z(F-xGQ=)X<>R_=A@B4?E3M;@Wi9{>6%Rq&hkN()yF3BZANJw2-Rivdo9&b9W3wm8* zI`y%uyF2g4@oQaeZLwayz7m|?Lu==Tk!DYa;4KuL@}>Fk^u(fmX#kd2lwb&ql1eMx zcvtT8Xyjc)y((f-)Ruskb7YTHS5#D#n)!-8!*R{hc|t0&sW-b;P-}}giE4d7@tc_~4SQnmawH1I zL;5~yv#?Z~w)pn#a{s;5*-T;_k-K-NxQIPGGhl0*C~FA;H%;-7+Y&sYd$nTI;Ly=IFZM}Da;~l6RtY-j#btB# zAmrO8SB8Fi@!GA~eF{QPrvt!Y%m?Ay-*o#XCqG^|(01Q1iVw874P1i@gVv8&8*smC z7*3A~bdy)7LSIE4!WgD61*;FFErTDe77Kb!ck*#|MGOj`cQ~R?h@^| zrQO#(UAhlm*KRaJhhk!Qwa%PTIKv5HwSBTy6Hs!f`aE4YVK^!pAD|zVx?3tC! zr$Pq9l1{huOYqL?7=G^KcC3UAVg%YqQ3492K@_17v$Mq%WLHl;_PSZoC3&alI)3@* ztu?}*bL~>{va>a{kw{>_!8H^{J%0z_Gamj$v02xr&=fH zQ#L3Jl|7&}^p%l_NSM z^n0Ku6qNk3x!mMJ$+C-|htHpCda*lK>ocg%4x+U<61!^F%>%(XH3<~TF;XZVk5{2a z9b6Th%jHI)4J4$)pH0Uoi3$)!x4Z8#N=i-??QqQO1RQHgj{|Xv%I$nHlgXu?C(})% zJ7$UmFM({LUA=h!Fq0^h$^*2sfT|P~V=Wz?2mkd12l^v@JUQ89Po7L<;O9g;Es0f9 z!uVnq7K3TeMS5mupjM&_Hw>jf-Cvws=LP&M4K`{J-*}GnXE?`F>h|x&Wff@URAy8 zGQx+0oF=D(u>wT!HC()2s@fvU?SBaUAAO8m01U=WY?@`t*IdArea|i<-J zbkcFr*3(n}A*{Sd+xPk)M#Oq33x1$?eogzNw!<~*8{4aMTO5sl=`Gdq`TKYJ;%3O@ z+nn0mVi(v*=K8+icOj(89#T`lQ6d7Jh9SGWAJe(QRe6}v+;lTM+<+ZF+I#Ge*`6Z+ zBob-i9!c-Z8HP7awF$;=Yv*zPD34GWgMh6WUY;GE^L;+Fv=O^>LlXABGz0)1w0pZ((M25dh)#{g{yz`P%r2hCm z{?Ini4<71auY*mV`=Fy9niKV7(yd=)^xdzK;2ub3p14&w074;52Bfs=m2P!}dl#;W z$Q!7N@ceyoTycDF;M zA12*dyv?VmG-iC5npGGOAw6klR9_PBaOwF`4Fm$J6ZgpjH1@vuxr&qUjLOqsky(Z; z@iEkdPwx)H9u5JA%-Vs6H)+?G#fPi@OyuSso!f`cZt?GL{uA6d6#!zrzK|Py?&e1p z2qlj8k?Kg9K2)O)veXxt%)-LNIORZ@7lh<Bj+YlLKQROUg0rDdELknBlM>9!r_;vHHW-iS6bivrTT~8 QuSXPMWq~uVG9||R8`NGRR{#J2 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index c7f2314c1382de15fdc729f5bb7a8d9720be4478..78ec84c14d3dffde11c1d00bbc7ee69f37e860ad 100644 GIT binary patch literal 4480 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 PD*zo0L-lHyL-hXug%O8w literal 4439 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 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 90ebc087f40aef989bd4357c58ff8de89662a1b6..cdec37874028db0e29d653b79595e35c8dc09ba0 100644 GIT binary patch literal 6227 zcmd6sX*iT`*#B=v_GK((EZGu@tW%AUZS1?6Q1&Hc-?Hzrg^8xIlM!X?vSpVoYavEP zBr&ox*$2=3{;&V9pW}IP-}iA`$Nl2E&g1x=-_Q5Fl8g6|+a06@5P;HnRU@;38>Q4go`2O_uU57!U@lMGC>qgQea80+APw1%j@5#i!h z7bv%quZTT5TXo=13bSl>(B1%*!NZiN85S6kj9*bP&Qz&dOVBa6tmu%Z(6?mD$)C_7 z&XyK*)7+^@C+;lSY%25t!pdsT7=P-6VfA7yvWs}YM4 zV|Ex(^|rz72We;o7rQ=2+d*`!aO)DoC(>75$}jb&DzLrmv)>JBd!)-n1GqI47ueUl zomET(*qF7hK;mWeaQl6Oj=rYCY}t|}d3HG~9~@-|GX@>kNTsDBhmnc}+O0-7FSS45 z0Ur)QI95eRn9Zp<__WsCJ^gU@G~XDC#XfGS!sV6*3vkfi7JfZ=Z|vA^xGrKHW~g

I!D^O_fRS{6 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 aNx5r5M{kdH=pFg80MOAegjcEA#{3TqiM37u literal 6162 zcmc(j)pfRuC!C?ze(fW*)xND4!Tl!}0WgtUTmNe?AR zcQcpYKX6~(`{JCl)?O#}T4%54Jf9N-*HtGaVk80pfK=m&ioyNZ@n0jryYCI=UGV{c z?vI9wl3@VWZf=kd$SAMRqpZ@J@HK_vyMxRKsUuKwhHU?1e_t94xSCqh2NtE=1zg&{ zRYITYREsqy?#RNH&#gjK;YSY>qb0-JwnoIc{(0F=k7b?eJG)ZMj^Fk7!NI{Fl9H0t+BVA_ zZ^N0Gm`cs6p_QbV>>SJR?Ck6>hcvtHFU-f0&Mt(RW@cffRyRxrL>A*VW@cu|`NPnh zYH3;7%CYU!OF7mgCX`mN!qV%qaRz1y=Mk5x+~2={_Xr9K{+?Nw9{7_KJvPS>nk%#8 z*9Wrb82uJ1KJR``5!EG%P3KlTy}cVX>|&~XZDL|FAW35FpVtu7*-dF-|MVdR0S!bb zgFlt_RD376xw(3ghbo~EqA)+_H9x#+Tv?BOUN_+iMTME(MSDZJPm%~Y(b$TF$|a}r zv~lZDi$PvUiPH*)*`{pOx&lO!DpwG!o9ujpXs6MlRG|H_=_s?;dc&x9K|CY$cUw<)#c@D4q;(E#;fHY;p_fBwpnY+g2^)B zB&fY$-%}cW6BB+_@5>`ceIp~mU%!5-IQe0b+X@&9qZcvEe_zwg4ci6t`h_U*i_!sn zav`OVjRnZzam%d#<_NppXrby#x_RkXQ4*|`PSTnXa7?O2`gjnsUzbw*T#hJ4HiS#hU zclt-3q3|3*hE>J$4@BQ9o|Z-PJ_X11_NwWdneipE!Pph9cf2Vp5Yf%{AytdW1o_x~ z6D1YL&;453IKX>Y#3Ym+;akX@;G!?)VZ90yluhN@;mN0cH~^o-7UU~#!s~0b;ns-+%4G;GLufh zkMW+_LR%@oK~eZ&QP0KbA$n=SXI#f_YwWr^ojiRDX>YWP9LDv0IFH+Jca~Gg z>U;S$t6sRQP10YulquQy=IvfyyE=A9(O=7n-Z_R4ef@%q(WJb!vjFf0eD!Ck4pVo~ z{%(dIjv$4S4AEL^d7Q3F!J9VOzq{!``I?9Lo%F0voGK+TtpLUOVh}kKjM{`&xXr{b zac}OtCX@v^W_vL~bg7`?Db*mX64X|X3q+36=dB#PLx~-Cu_>_kCbCfPR?wIB!MlES zMiM(5Z@sK-6&lJDBn`%=bJjK|9+eN^1F3trxf3YL(f#}za&tK8dZXRRAYv10+TxcG zu#ts|ot>S9%aAOkq(2XQkTbD8wfv_ zGm{{!3r*A-k9|E_Gc;NPfO>8y;zKGGbZi@=G>DKS3>=7?Rh^X{y2j|Eqiq%^kvlfi z>hu@2(~Y0&R$HhP@g^o}Qsdr;KoQ_){ey!bev=wdjufm?E9%fgF?g9^zVMcXWv&8% zk9nx{*o8u?%gf;nXCm5SqIN1Nrk`xuAVNZ;C5@z67Zf>pPx^cz06oTn`Qj@yL8j?j zE=t4LnR!%dDQ!z;03NCrCRp2d)%2v#hbxq1qWJvcR*=?hWvnEmr+1i3(74jbI9AGa zrg)nZFiakglRQQDsephNBbCdrt;GO(X|IS(=x(~{Mux2&S-tKUeW85NB4NoW#4)bt zNDDQ54!^id!LcF63upRDIC1&Ot|$DalW3eLzqy0$?jWYT>brshSuZAdX1~&N8#c8! zrwc%CGjOr77UnD@inG-G#k8$~l2*`5`!El59xta1o9G?#T0QJV2AUC^8{>5Z87 ze5T~f(l;6T1qJMBc*7g4a=2cHAcE8EEu2uzZi(9IpbTij;#y$_h`v-fB`;6NxYmlh z!9AGwM47bJ+VwL;;`Z0^KLlDYv`l4Yf_v>wMBCco=Hivz#er>M)y|az)ktTsX+0fa zfx3euho%eCQA*)>+#Ize)O4HjKCM8QI2v!gYs!&SnhW4sTtB~dn+^A9*=>k$OtW3V zn#A2)z?x~eVJ5&4h%Kyo3*5yhMB#*HAI~3bL3$IIGWx%ZX%7~d@VRs_>vWf_cs??g zfI|P_0;{M}`DC)f*Fp59wc^hQopS-38&$|b)Ww@NFC&0Vj>>(K)#q=n|3R^lwx*&- z5{t}93iKyVP}!EDpC(punJidRszrGf(SN|BmzTEeDyID=zv8tsDBSN#HRrbsDRhYs z$QY>hK65EFV|@BUqyiva9vmK~TVG!#kxFhXIM&k;T?) zWtWe?wXg!@@@!`x1l;L@C-do^f9=>f#%VoMW~(yRD(G7!4c15^Mrv@!#>V=b0z?Zq z)0?tfp%SUQZfSl_l0?K^#Y7UyY1lQ+$S0{uFeFZXKyKk| z{zvoq^9=_gc)oHq3^W;TYmjijd!PWuKe^JUoReKlK@7`@g+F+Tm{{EB$f7va4+G?a?MBF3SI#<#&1akIkGn?- zy1GBvJ}$P73XK0yo5r_45vxi}SSpK^oz>+!~MV{;d@ilvx({Hfs1wtb|WLB zl6n8zt9J5)c0F*XWQ-h{3H;;i7P-F0R7~w=Clm^eUhPYY8tZS{O5zAF^Ro(6PNw*3 z2M4*2{^NbC7&o-}v%J-+Rst~#){n?I`N>Q@^n82{y3>t~W$IJW)I`ad3+Db;UzVdH z{xM!=vKNYa&DX3i*8>z4Gv?il13& ztsN|*PB@A)yU^FKuE%h79m|(T$r2u3nQ>~OsDQ3+Mq0q$*%XK`u*DKVB5^zD|BnM2 z3|JN|emWoIUTZoyImO-U$uCLOxB`Ns7ZmtJoB6#s+758iq&~Vy1UQw${vnslqWU&> z0VeFIagspvt>R0E3nUVcffQLIs=AW(=#}yqK6gxd8l|G8TW-Md@7>)oUN6E(bq@9s z<+-$}W-hS8Lx!gk->>(qUTu!xzZyzl{bDcKkBiHCcnJYw^cWR_!H=i$sB%T^n=>U` zIEWu^Z9crq2=wM{Gy3xQu)$datldguDyUSP2+)_}e*)+qcVXL*kP?TAN(cbGBmV_b z#jx|wZs+GM{$Qo2rgAcqMSc2H)%l|S*I7v2vy^K{Y?Eaf{V8ELb>keT-~QslI>P(! zB3Lbfk#hRGbHRpfy}UKki5aPy?vL75E4HKkca+N&j|JrAIc+bsaCkXGZM%>$)#lb| zQptg0sTD=YcpgTqcqS>e!7OoEEa`u&FKm@?@lR==Iz9V%LS7sX^eKOUTW`*frNwvv9^1g?h$wVGF_i&lA`>dGS|~5hD8NP_$1Px zB(ihT;Dc>*5~wcAPJ)M1Ba6Q|RMu|?gbF@ul6XTDx&Y%*Kk1VZ7k}#DP;CD*Ic{N* zk)lPCpdrjYRXD=QzKH+hEgydyO@@$Vthc*637@Ok0~h>=zEw)03?{8QlEPgdsQs(h z?Ci?Ih6dex<T+rUI-zXwQlJa^l3Et2Ma?A(NaK9OM3#<}Vs><;cD ze%2&)r$b*~U&7&;1m$4d7j?XD;)mfR(QjOKn`=FHXC*BW6$d6&#sku2PX{-9-l#^9 zWCy;DB4-m)i-%A>z$2mf^X!=^Iq2D+XB_ei?6RFz#+CWm!CG2NO_UX(v)fv&t!t7J zl9Dk}|fA8HW-b zini3Bo!z0pv(RyKWQtbB=;4V9c$$-epwX>%+Pr!hmg~#?m?cz*RsLggr`XWM5S4b0FWB0A3vTnN-$&b6DpG-*8fU*}U)^`Wn{wB{0y1;+!t$Cn4kDtXAnsHW zYT?d>AkdW%BMDt7!1pke<20_h*^CxQHApsjtn<~(=6u~tqI_;wA<^gwu)a=X*BL<= z^P9b^o09KVe~C00+{lK)aN*iC&hghe(*k)^iYoN6-Q4Gck}Q)+4Iw5Fy$!U zW9%&L(!ZaH2t!LdWCKr#KimAcx!AZ*4j@HbUv1a=x_mmsOdzHR0h(~~Wuja{9Bli^ zukYSca1K#cOMZ;78DjLGe7c#3q1Ss z$UVz3)AYE9&bk9LO&+3%z9YoR-==&iCCT9zKqGs{{4yuo?_l}*h&MSmm!*+JTw8!w zNP(I6(gaPI0`Bu&`Fw~srB_aP@~EJ!6h=5E=jHI zj8Jq8gH)d-YI-{Ne(Q?Dm=9)4K8X`N&$q> z`RzR$AC`9^hc+*wO?X1BhIE2@$0_OO5-MqK>~Dq%GOI zxE^@4p8B;gY`Q|X_vKml+kO2kGT7hQ+?Wf}4lF33_FG;sCR7LP)=&4$*1uf4$t4*# zAF+TLZk33_%m$wyPg~XQ|ENh!0;^>*!Nk~VM({l&_YA3B;!nkgZw&9X6Uq5Yq!pV1 z)8K|-botgbsrb;74a(FaqyAOt$joz0{Zku28L^mJ{4BK5ElAaM_G=3MpeSLa8F$4R zxfBAs1Ow~zcEQkUUm#+ouOKPqVYsGM8T{DtPvq| zA8tvggCGG{IUepFCTQ-}zAvEO5RvR-xZ>&97-k#s!6tfH?jEoaJ6duy%(MHNnwo2K zQij6$r3T0t8i#|4pEQd@wPDJaytUIz?+>XJP}YXVR=dygU89$=RX))VY|pTk-X_Wn zKwW3J{)2Y`v#-fwQ>iGMOp3LCu1j}*Ev#19xQ9kFXf=9_N0B@mZf(1vv0!76Yp%#m z(&uId*qvBINd9eNw#L$Hr`kteYtcS&&Lot>qTN3DAJ@j1VkAC_zp=?7lJxC7OYfkT zp3e1t`lypHxk|+MCew17#l% z^w4p_U~gm|3w~+}|0K_tH$Rf=o%7perTfqTecm`k4Wh>2^tQ)XK}E8(hYP&s-Hk1Y z@){fmwCpxV3heggrB|lRoeo-X7CYE&Y?B<|9r_!VaCR@6tQlf&e=mZXM;hsj$#;D&|}&WTSC4e$diVoM>If0eKp z@4rI*O)|2vcMN1Zt0XFQ%-8D7W6Xm8Z5bdrD)FPgoxJB3&v#F<|AtC{<&M_!!_kqK zbbsPQB@$LSQxFIQe<&_+y9O=5+so%s)7918WPXwF3ciCA>Yi&yYPu6Cy$~z;If^ym zpiv^r5MX3fPoisLZ9OfdX>YQehX|YGzo-s2U4r++-R_V4)}UY5U>QGP6d$YZZkBxn zdAHZ4nw0=6uhcL1QXa1kw}@$7P3JfR549LL4rRQW zOLEMwlivYmYs)U8Ai9wV871f$e?$PtLWTIO5iRQ$N4=}2hffQSS0dCw`#f$V+l!;d z(+*Zb%xlF$%`|YCN#ru$zc+fToPZn)iMbw)=-j1JKzYjKB1UDD-pk?ZSTQZhHF{i* b9$`9`G_(vfUWVNN^#dBJx+*owHevq*7+HuJ diff --git a/android/build.gradle b/android/build.gradle index f7eb7f6..d2ffbff 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -18,12 +5,12 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } tasks.register("clean", Delete) { diff --git a/android/gradle.properties b/android/gradle.properties index 94adc3a..2597170 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 3c472b9..7bb2df6 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 55c4ca8..b9e43bd 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -5,16 +5,21 @@ pluginManagement { def flutterSdkPath = properties.getProperty("flutter.sdk") assert flutterSdkPath != null, "flutter.sdk not set in local.properties" return flutterSdkPath - } - settings.ext.flutterSdkPath = flutterSdkPath() + }() - includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - plugins { - id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + repositories { + google() + mavenCentral() + gradlePluginPortal() } } -include ":app" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.1.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false +} -apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" diff --git a/assets_dev/app_icon/android_foreground.png b/assets_dev/app_icon/android_foreground.png index 6d16f2517c383248fdacafca0b731282d10e4a5b..cb792a2427aacee5a80a004126e815641ba90a14 100644 GIT binary patch literal 2062 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4Yzkn2Hfk$L90|RR(2s7qp%moQD z76-XIF|0c$^AgBmNq6*hWMJ6X&;2Knm4ShMv8Rh;NCo5Dn}&Tdt`ZIp_ou5D>~L?8 z&SAP$pnEez@e$h$VTJh($`Nx8T%WD1Wu&s_Q*-<3aJ zZGRv#n$03xKYx9^Z2zZw=Q?G?d!O&Vd$+D(^D|(=p@B0f_s9q{VL|Ex;rq4!-}b-W zwNvKYu|lEyGV|v@3%T}m`{7OZ_|sn}J-eF+Oi-7$G0%^=t5bAN!-5=XRlW6*dbHV zaCTSB*-htGt~p)w_0hMg2gQGWKD_z2ZhyV~pZ6>Wls8$%?6KUJ$0qlvW%mF3*S?-T zdf@p@yWbzaepF?UV+^NS@rE;kZt?XWOWa&pTWAr(cR+aS?Yn!WhjW$l;Ql|R#T9<< T?6SkQgZ$~~>gTe~DWM4fY8p_( literal 2415 zcmeH|TToL+9L85dxhgQVYHJj#JxQ!kLP69>fTCD9NP^l9lnRaQgiEDSD>j1Kz-U`) z8E)r{0V4#l)r=iwD3@xuGy!MCQ5+vD^ayun3Ng-U)z{W9bCkTpW`*=jIFm?(5;`s1I{04O&*o2l_WU zhwMS$d>Y#kPa-wG4N-QkSFYBsjA&;B%(^!l&)+}G`LX(3VceaT$p^v7X=Oj35G~v6 zejc%d2Dw!b3jE2pFVELKIoY&)^+rvjX)3cm%IIaHj&_seXB$&Z z8mI-1AeT_RzY`bSQ}LB?NH#nOPh&ajq#+Mt>w=u}lhhn!ZWY{LYh8=!;aZCH6#hOk zP6%k27V<{Eph?T|9mwYhVFS$NB~;5&W?1AFO=t{KIiNo`Lc}3O0@-gFd26vmB!sZV zBcAXdG{$X?r3LbPXAl2%5jgY1<=N0>Je6WRaht>-8tV=Lh58NuiqHH(;{l*zrOmXl z0VNq9bs3=Cjd!By>7ke_eLvA@TF!O9NJ}2KoF+!5!n>l9ADfCqj-qNTFTr;omp`oI zBZjHW14rt{mi}ZADIuModBy?R(2CCFIG(Cih!-i?u1vMD%bewpsiDg*WS>utovd*M ze`a|txO-#>obS{7oxM^&EEC=v`oFdR^E&3Y_aaN4ptjhNVl_7$OLBCwYuzR}^I$oh zN0FA|g^f&t`cmmwZS00BrRH+a@jO-$sr5W}$7$2#EywQP4W5a2DGQwj2 zk|~<2lUo^hf312zKc+%j2aO33L&$B&W0v7Xkfh~CIh&U2k6nNy=-ehO48A>+l~;}L z^CbJ)5}fkWnuK_pK*@6Su~x1Bg=b~%$)yx5_(j1tnWN>#;IJhR(h)K-vkD^=Y|=nW zf>`Y1M!)}1!FEo8>&w*c`JHIx1V Date: Thu, 2 Jan 2025 12:42:32 +0100 Subject: [PATCH 12/25] Re-generate iOS --- ios/Runner.xcodeproj/project.pbxproj | 136 +++++++++--------- ios/Runner/AppDelegate.swift | 4 +- .../AppIcon.appiconset/Contents.json | 123 +--------------- .../Icon-App-1024x1024@1x.png | Bin 9472 -> 9493 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 331 -> 325 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 500 -> 495 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 608 -> 604 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 412 -> 411 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 581 -> 581 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 775 -> 770 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 500 -> 495 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 760 -> 760 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 996 -> 994 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 553 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 915 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 610 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 966 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 996 -> 994 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1429 -> 1427 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 725 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 1173 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 734 -> 734 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1207 -> 1206 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1328 -> 1330 bytes ios/Runner/Info.plist | 2 - 25 files changed, 75 insertions(+), 190 deletions(-) create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 78d6f2e..890422b 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -10,12 +10,12 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 5A8CBDC65DF43D7A85520C7E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A354411FE837B5B383889C24 /* Pods_Runner.framework */; }; + 4AE05DF4D5693112C7DE921E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB1D1E9E5BDF2A8F3583C9CD /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7D1E4EA3DC67ECB02327B2EE /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DEE715C502524299E3573B5 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + DE36F329C9403D2B77644580 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC87558CAD64D2090667AEF4 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -44,69 +44,64 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 303D339D446459312B2E5C94 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4DEE715C502524299E3573B5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 578F9C54EF1D9291CC487BC8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 60E1224FAB120E0AE9909F95 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 5A190D282BF0CAECE3B0D6AA /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 779FFCB6FA70C548D1249979 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 972C0392FBD3CA80131B2D16 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 923305B349AE7B608E207844 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97B4417E14CFFCBD4D4A2C35 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A354411FE837B5B383889C24 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ABDBDDA5948385E5353A02F3 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - E05F8505A0B1F0907727FF51 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C7F001C3393A6C2F71F05227 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + CB1D1E9E5BDF2A8F3583C9CD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EC87558CAD64D2090667AEF4 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FA349E529F464A6300E99260 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 31F780C094562B6413FFCFEB /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7D1E4EA3DC67ECB02327B2EE /* Pods_RunnerTests.framework in Frameworks */, + DE36F329C9403D2B77644580 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + D627CD0E0A4FF93D046347AF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5A8CBDC65DF43D7A85520C7E /* Pods_Runner.framework in Frameworks */, + 4AE05DF4D5693112C7DE921E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 2519994C81B2D4F3AAFF9B18 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + EC87558CAD64D2090667AEF4 /* Pods_Runner.framework */, + CB1D1E9E5BDF2A8F3583C9CD /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 5F3AE5465944827ED607A6A7 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 578F9C54EF1D9291CC487BC8 /* Pods-Runner.debug.xcconfig */, - 972C0392FBD3CA80131B2D16 /* Pods-Runner.release.xcconfig */, - E05F8505A0B1F0907727FF51 /* Pods-Runner.profile.xcconfig */, - ABDBDDA5948385E5353A02F3 /* Pods-RunnerTests.debug.xcconfig */, - 303D339D446459312B2E5C94 /* Pods-RunnerTests.release.xcconfig */, - 60E1224FAB120E0AE9909F95 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 5F3AE5465944827ED607A6A7 /* Pods */, - B21A99FB57B62E4A3D7FABBC /* Frameworks */, + CD14953A8745BADEFDC6B190 /* Pods */, + 2519994C81B2D4F3AAFF9B18 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,17 @@ path = Runner; sourceTree = ""; }; - B21A99FB57B62E4A3D7FABBC /* Frameworks */ = { + CD14953A8745BADEFDC6B190 /* Pods */ = { isa = PBXGroup; children = ( - A354411FE837B5B383889C24 /* Pods_Runner.framework */, - 4DEE715C502524299E3573B5 /* Pods_RunnerTests.framework */, + FA349E529F464A6300E99260 /* Pods-Runner.debug.xcconfig */, + 97B4417E14CFFCBD4D4A2C35 /* Pods-Runner.release.xcconfig */, + 923305B349AE7B608E207844 /* Pods-Runner.profile.xcconfig */, + C7F001C3393A6C2F71F05227 /* Pods-RunnerTests.debug.xcconfig */, + 779FFCB6FA70C548D1249979 /* Pods-RunnerTests.release.xcconfig */, + 5A190D282BF0CAECE3B0D6AA /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +171,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 116574441CE0E3FFF38D2A57 /* [CP] Check Pods Manifest.lock */, + 4FF852786AA3DA40879CAFD2 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 31F780C094562B6413FFCFEB /* Frameworks */, + D627CD0E0A4FF93D046347AF /* Frameworks */, ); buildRules = ( ); @@ -191,14 +190,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - DA7B934F682EDE65246417AB /* [CP] Check Pods Manifest.lock */, + E2863B56781DDC0E800BF73A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 907938733FD7B8680B11B62A /* [CP] Embed Pods Frameworks */, + 369DE6551907937E4F30F7D5 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -270,26 +269,21 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 116574441CE0E3FFF38D2A57 /* [CP] Check Pods Manifest.lock */ = { + 369DE6551907937E4F30F7D5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - 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"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { @@ -308,21 +302,26 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 907938733FD7B8680B11B62A /* [CP] Embed Pods Frameworks */ = { + 4FF852786AA3DA40879CAFD2 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + 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; }; 9740EEB61CF901F6004384FC /* Run Script */ = { @@ -340,7 +339,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - DA7B934F682EDE65246417AB /* [CP] Check Pods Manifest.lock */ = { + E2863B56781DDC0E800BF73A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -470,15 +469,18 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -487,14 +489,14 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ABDBDDA5948385E5353A02F3 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = C7F001C3393A6C2F71F05227 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -505,14 +507,14 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 303D339D446459312B2E5C94 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 779FFCB6FA70C548D1249979 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; @@ -521,14 +523,14 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 60E1224FAB120E0AE9909F95 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 5A190D282BF0CAECE3B0D6AA /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; @@ -539,7 +541,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -596,7 +598,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -652,15 +654,18 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -674,15 +679,18 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiProverbs; + PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 70693e4..6266644 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ -import UIKit import Flutter +import UIKit -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index d36b1fa..d0d98aa 100644 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,122 +1 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} +{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index 2e3d8a2c8ecb252f63686d111267c30ce5cd5c44..20cee8c92fe6285e519316b2b5a6f3389566b705 100644 GIT binary patch delta 3297 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 delta 3268 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 delta 304 zcmV-00nh%$0?PuBB!3b~L_t(|0o9YuYQjJih0l~EZbI-UPf!6WlN1s)DZ#PJD) zJQNl(mO|4s=(=7E^nD+$>vACBH|AOxd4*+} zux-1rYay_z{s%ape;^Dake?AE2tq_rgvDZ+-5FnncKZ>d(ergc$8q@3KXDFaHhTx9 zPcTjE_XUF_i9aWFzZ1Pwt)@U#Ri1KF2q^_t(cc57(>KVnob$HZ9p9c9>-8q*GoH?P z{89|0ltNLIoGE7*hOnC?Ny@79ha{X<>r2FhN?jUvRNlpkBX&EK3jsfx4k-nwZUI7=I3j$Yf6F1+9XOMuS>x zsWH#5N6_Q(Ae%jfB#Gd80UWnFr|TV5tG9?m_K`{*JJ$QW!O>_;lyfbZOdb&nSvd6)9IjGzWy;23We4$s3-@>=g;le9mg%-pr&c4RBjNBMvzXYSJp61 z1Jmgg!C=sBTla!~|DOGG!Y~&0DM=Dyv8ZbS61y`bn}P|_!USm{3aaWeL{WqwSW$;< z6~JKdW}nvoT)+QHsQR(AP9_tC!(lqXV)4@6g5A<;Jx-!fxNw!VmfKS4icT;dkJ}$i zUauFN)4u;ptOvGkdOn{MvqZsM?rbeme`WiJWYaJ~T9_a$Opum$Z0>@PD&+|100000 LNkvXXu0mjf5uM)( delta 474 zcmV<00VV$L1M~xsB!9a}L_t(|0qvKuPQp+WKyOJ4L)%dj1_Ft|P?=!h z6+Z!E_zVmN194)*UvR)glRC6r2;zW&5}>VZjm8AZd-|Fn%gw!~H@UC3tfD?x z@Q-0PEr5awl0pSZp@O7rzo20l&~D#>C2!$2 zmI|}1KZ1ck0E)#^5Cq;%$^pZyj#E_)n$25CB=#YfJNC@?)xpU`N6KLfX0u1gL{6N8 zD2gCS5>{~>wtq-A4HYD1cLZfwhNq`z2!%r56Z?~Xzwe%d!7FsT_bYRlrU|;PLnd?`pjeg8S3 z9^0zTX!P!$&OJ9Az9F)HF0Iq)6yotXnP9bg>2ATe^iz6|P^nyC#X8Gvt#-9G1}T_M zr`;c>U@&NZLA*Qo8=Mz*I=xsdkg-U?Qt8YWslT%QL$Yb8ASqOk6e>u{2W;+wkQV>q QKmY&$07*qoM6N<$f@c5L*#H0l diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 670b2bd1f7ae4610f752b0609cf67ecf586a1449..9d85b07bff0e3ccf2514656391129acfcd794c5d 100644 GIT binary patch delta 579 zcmaFBa))JtO1-kDi(^Q|oVT;~`aO0KY3={~*kZOo=EYAU7j%_O0))1dd|>;)pe@z1 zz#&?fwJBGC*M^~_lJUhthFu|Rws5YO+g`Jj%0ds$R$Hj{@0}k)RjJ8WR@_|@sSl<#>XAp-n#Pep(}}ruOv9-<>%Kw`16O!+1d5Rw%!t} zyZ?U^;JKK$y|DiNkuP6F)YMPk+Mld)C&w&s^;MrmwaGPqb_eQRoKhykzB7hz zWeC?a)%_cjjC@DskU|3T!8ucr0{X1gd2?pl*?tA=)jnrosr5Z-O`ar1j6Ak`2BwH`Per; z&rGdW1KYOw_W1Z%Um5rMx>p$9uQ2<_A|;$kEy3#Q3Iv1V@$Ky$czSx~+xh&SJ5l`z zf5tFOcLHqT9DhSfm|fZ5MAJgjS$axihlH_1!q_2U>?jGh+ikeJyN5&~;VwqPyhM1d zoGj~Og~XPbUi;g&1Kn=d9jnDl!}Ro&$|5M0EJKer$rS zw|HIL+}se#3kz4PRj5=3^Y_fl%PXb)a6_ChIJr7Cbs*SHN{Vg6Gkutd&?3)7qOt$va>={A``zW;J>GnJAlS0_ zZ3AQIKZDw~4MGS6L10Qq2;g}xIF3UmlVOAQdben|ub6;~Du0)cP%0g=K?{WgWf%tf{k!*J z`gl9jG^ua3E4SfT~A!-AHN5{he0000LFls3n zJb3Vc;rQ_r(8Pp@yGM^6f$6nt*P)05lM%zOU%wa}9UU1YB_+tS6lB2b*RR2O4%zU} zpFe@=moHzT>G;p^=g%K7#s~0Ps-~s}#^_+*zWof#m#<*R%E}l`y`z@mw)EGp-wa>B zeqmr|XJ$3LuqLV0|y5O0}~VJS>oS6kWYUAeaeSb9;>BXTwK8XsY0@?k=1jPi9Du0~qnY~WiP!z}ii49IdKB%&kEO^S20hCC2hawfhD^yfWe2nxJ z5G(2n&@FX<->d#-7 zKHdT9|8C&5U{PwYC^cA=8Z1f;7NrJ@j-t_MAeYM_nM^`eRe!`{@qgdh5T56u-*?dM zcG2l{P%4$ApAkxQfB!pN*9}t|8L`28d%MzgJi4P;TKa@^I*mjkfvG7mx-kH;v30dt z4ehoO+^?^Hou~%z;dwqB$AM-2L9ge8X*rze^77|UFFQW20~m-_DwT%~dL4LlsllSu zU{PwYC^aI9wtrf!Al;-=sURW6`<2*tR`3Fo--Y5|L?|K?=*~^PziS%cm%^3WZkv3FC*8AF&CE@ zU(2$f>+?}sjV8LdxFEIu^z`hnXti49Q2!FJC^cA=8h0@?k=1jPi9Dt`g(naxT9Q546II^{=x6mH5*uH3jt6nuw*qFx~kS60h z=J#xNYpfaogN?2Mnx=uGJVCdsS!vmt=-S$|&(?hWJZP(W4Hk%58dX`YB$t(KX>!r`#xUTuk%O6O3i zTw1El<#vSb-`H3;qo-A9bjKl?OhPmo1-IJ`E|+s;xGxmWK$ZttH*Q;umZQC9p5{W=C7#zD+NVHa~!O6*~Sa)Brx3_Pres_0U z=&*@K_cIn2=FQD-AP_LOW`iTcpK9$R{N;qM_t=(Ag=X^sW@qPw>V-sOv6y-NMQC)f oL890oQ6FrOC^kqG8zhR2XZ1;s7*L|g&;S4c07*qoM6N<$f`4!lng9R* diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index e0436b2669c71a6f1cb74f601d05e454fccc8957..56d474d67d947f7faabf592a08964a672f90c388 100644 GIT binary patch literal 770 zcmeAS@N?(olHy`uVBq!ia0vp^;ULVx1|$nl+{|HMU^?mP;uumf=k4vYc|wU2M?W6s z;W*sBDaCn%^h3EfsyDWlB#W0NSBaYTN?-Qf+qG*&ctH5nR9?Mok5$W5mZ&*+C;Tvb zpWw5=x8>8kTUS1N-#GKA@sH>fL&4rl+s}pz>Z&ae8F$?p?o3DsHBn`}q3Ny)UPC z`C5r}5b{WeRC)Sy--3AanLhvSE#FxXD}Lb5cJA3{pH0pF{rkQ6tVa9l&5XZlH=Dm^ z`JQh)lgG>~PRAr&@XC&@QM~)!N6)XW_;K-+%x&}I=`SM`f?|}i?yOxKesKQ0n@e4l zCO+6RcTM^kzubM2%a`BZu>E`9t6T5h-EO^R^K6f)+v1b&MXUD8)$C_J{_x+tCaLWK z8alRz|2WS{6()6JB?UetK_MYHGgmapC7DPndV)N%U?0!~6F0=lS95 z=FSa$elO+E*%WI-hwavttCru~z=)9#q49NHyGYE$$JxeqjfLS?oB$mFD|vY-1czFVbW-9 zlw2@pW}d_3reeA5H=n&bPR@`~tAAu@sh|A!N91e{$B6&G*yN0ku_nbR5KF8r^!MB6 zz4)TQ@j{i^XFas0ik;qc#DsTlzVPi7qlp(YR2&67_P_VsetT-!Zr!J!j5Wo&Z{2gx zzEibVkDYyfiC*P$GxPZS_jj0d7dCD=cJ}$_N4uWBJb!%B$s3dW+^h4HCUV4YznHc4 z$%_}K&urbgRea;S;I}&;e~hTPFMeLyWBv8Xt5+_alv9Yys`$~d-|L`r$ z|DAYOHILh&hx^D5d<0AH?#-X|Y_6YuT2%imbJ>h#mVeJaI^H_h@A<8*fB*J-uU+U; zyxE~9{_NRb4}az^44BZ{8}7Y!Gf&2yw9T6Ho@d5?|L|e+w9*p!zVnZ_F#zqlup>G; z|B$_{skgV<-_UgXY;Hc7$xhGestIKz0MkPsn zd~z-s~Uxyh4VbjX3u@Mb7jG;Y>8#t_6oZCHea1QCF^{s z|N8AwZ$I2Cy&$wbsB&fUO!oHMOahOY4E2a5F62)aU0u80vPcq`z!^MU{an^LB{Ts5 D%ldHk diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index d4b768eb7d4443ff524fa1fd0fdaf2fa3e75bc07..788cab18d20848cbec9ac7a7ceb155afe9041104 100644 GIT binary patch delta 469 zcmV;`0V@9V1MdTnB!9L^L_t(|ob8v*N&-@79ha{X<>r2FhN?jUvRNlpkBX&EK3jsfx4k-nwZUI7=I3j$Yf6F1+9XOMuS>x zsWH#5N6_Q(Ae%jfB#Gd80UWnFr|TV5tG9?m_K`{*JJ$QW!O>_;lyfbZOdb&nSvd6)9IjGzWy;23We4$s3-@>=g;le9mg%-pr&c4RBjNBMvzXYSJp61 z1Jmgg!C=sBTla!~|DOGG!Y~&0DM=Dyv8ZbS61y`bn}P|_!USm{3aaWeL{WqwSW$;< z6~JKdW}nvoT)+QHsQR(AP9_tC!(lqXV)4@6g5A<;Jx-!fxNw!VmfKS4icT;dkJ}$i zUauFN)4u;ptOvGkdOn{MvqZsM?rbeme`WiJWYaJ~T9_a$Opum$Z0>@PD&+|100000 LNkvXXu0mjf5uM)( delta 474 zcmV<00VV$L1M~xsB!9a}L_t(|0qvKuPQp+WKyOJ4L)%dj1_Ft|P?=!h z6+Z!E_zVmN194)*UvR)glRC6r2;zW&5}>VZjm8AZd-|Fn%gw!~H@UC3tfD?x z@Q-0PEr5awl0pSZp@O7rzo20l&~D#>C2!$2 zmI|}1KZ1ck0E)#^5Cq;%$^pZyj#E_)n$25CB=#YfJNC@?)xpU`N6KLfX0u1gL{6N8 zD2gCS5>{~>wtq-A4HYD1cLZfwhNq`z2!%r56Z?~Xzwe%d!7FsT_bYRlrU|;PLnd?`pjeg8S3 z9^0zTX!P!$&OJ9Az9F)HF0Iq)6yotXnP9bg>2ATe^iz6|P^nyC#X8Gvt#-9G1}T_M zr`;c>U@&NZLA*Qo8=Mz*I=xsdkg-U?Qt8YWslT%QL$Yb8ASqOk6e>u{2W;+wkQV>q QKmY&$07*qoM6N<$f@c5L*#H0l diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 1c35917ef2e21d72c0a9e1efdecb713244631f06..f8cb3fbf12ee5c9c79423e1dc9c122f376eb10db 100644 GIT binary patch delta 629 zcmV-*0*d|k1^5M!DqWoI+s#TFQ5eSYH_41MNoqqNtBxcqy9qQ;@$~m<{piqU<-RKrp|B3y6Umwo}?|~pA z0V9!!IVnq{aV5!QQctI2F>9%q-EMc`{OqhE7Z=}_x&}3cR^ikHdN3GB zu~?LYgO5wCaUY>=VKsy6^?Le1wcBldJVv|+fe2l z)oOR=g~A)jX0!MH`y*-!tq!$~)xA$`W6yiF(r5XXPy+7ne}H~pZU4o91x}>@SCbtA zAAbe}!2v6kFOo{VynX)R-oBl$2B*uv+WW`#b!*|g*=*|9elhA*-#~m{z3MyG55CmU zb$53MS``jhtyc8_G)(8`U-e;{nwmd&z~_zuL2$rQ>An7n*ZTSkaoxDAt=ak;N-KQ3 zA#}eVGO2suP(OS2{TaL_9B^;11Yg8c#sV!2lOF;d9|i<5Acz4$3<&xKM4i!$7zX=X P00000NkvXXu0mjfii|LC delta 628 zcmV-)0*n3l1^5M!DqR8X+s#TFQ5eSYH)i7Gqc#Mx>PWJ(n?M6~Td7$$?urzzM8u1z zxe{wquwXBuJ4;FyahHYp{+?u-b83Y^7nwX~Q0w!9S&ZOu^2alacP3W-=7%S=HtV4; z;HhJi9|9hKF(8NmK@12o5^z4BOS9ROR4OGK8yhB;49s*om3F%=>2%u2dPV|HCKEY6 zKGE^w@wh~zwpf<6I1igx9^}bvHd};qWjGw_BNmHEsr1>%>PEM)`cLfjdir=Scn<^_ z2^b26B%94jGMSV_A}+Qal}NGbvW zPpMX`_viWi8_8rcEB}2ZHHB7(+Q#bMr?#=1yRuM?R!^4lz@2l;<95By`^#6(h zL6aN;AAdMtx%^d<$(MJ}KcaVU=c~b~|5tney1i{Koi`c{{n{@^z3S_U>#A3M$NIsS z8oKW9zlT(Jpc{T<>fbhn5L%Y4<7KjV?Yobuvq+{zv8vE^&^g!u diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 63d3db81e9ed068894a7cb741e1aaaa4fd9444f0..1bad4b8bfe01a6ee70553df1ed514ae734538ece 100644 GIT binary patch delta 762 zcmVK)Zx1-*kJXz>Q5 zNbRP$uq%5Rc5lIMy3;OPG>~<^Cgy7<s-KL~<|XY?N@M>r?P|5pDp z5rX9>eF0<_ldS$1AKD#c<^a=Dx=FE5MlrzM?E zi|3_WU5-T)iK1AdD3bAbEQ7&7dcB@>Ivr^?o96ehv-85))i?{RKk)VSXIH~5tWv4u zbUfao!7(s61_qZ%;8ZFl`Fu_?nXF_o8S#DJe9rSc@jU$sZ*F5X8VxhCUinq6_H3@> zsLAAEFMS-x<}n(L%p^<4zrVkq>sWuwS>S9oD@RAKq+G5@5EM;N7fw#z$nEXzZ=XLr zJTOlvS9FruYPHO4+9hX!_1~aswd!iPg`+=zrBX2um-rfyu^Ew|7k{`!1J~$DaYeTqG&9`;qb>cm9E*Q z((QI-Z*OgrP>V;>*CwmwEapSM27pYRq9j)B23Ft~*XtowxZp%bj7 zr6sdSd|q2wbRzfEwn&l9&CS^^`sY@aiRcI2s-pXWb)uycyD;p{{Qc)4(ZCxU8*+B` z&di!^nYMLhfB&V`tt%Q|V<#=q!1|YpN}oKsu`X!~af_3m0zQ9FPv1%qtVj?9QY;qC zTH$Q=@j)DR&u*A@MuHyF<>Jf+T>$_16f`}cquULo-EK>%v?ANv&#jJcJ@C!VSBc}u z_AvkK{QP~=mmphPTh_x*j7B5r_xsZAcIEEwPTK9Z`9AFIyl{3m&I0Qfe0llB)o@FzSS&gnkB?|@ z3=EEe!9@}{9*;{ln~~Mk^yFHdOtO;ZeX&?BBHI*KjyAlPn$o{{DWUWBn;-fz#=<92~rsQmHJ3Lf!;*;pphCTwh=R^8Wq(hWUYV zMJJh^PRGoqU2+y!{|%~CDz1iGI{NjO%Vl%9#J|Ddlb`}Ge~UD5v)PpM^G~v|v0+yH z=W;o-I8Rqu>UNfRJR$S0i|h5CUd?!ObF+{|ce;{tGzugLMlu)-9=54?W}AxVd9u6v za_%wa5ouuG_vPZ^b0lLQ9=@?YMmC$ZKF06x5e<%k!7(tnr3kG1g!R%1Rw|V;i^LbT zl|?6VPi-5iN7w8Be!~x@TUExQZ*;4Q?g!S1mQL(^zdQHmUxY{l*J?F6IeBkp&9=i9@6FF%m!Tm|M(O%J)pz$e7U{7m11#Cwzr>K9p8H3tE+DkhJo#2{@Us3 zhp2BswzjsckHJSYI0gpCz~G#oo1{m|>dPAFL`%1cPG5%u;Yiup!f-ysK)2Kl8I zCUx9BFl(>CL#9a^CK`7XupDHS(sSs^>8RerG_R3&9q*cnFV2Yx#ROz(j3%hwUByzGnE=Dsr$5hTIHXeJ-~|=(x=|Ahesib9}YZa@{&deK!1mBQa6w#sn}*5L0Aj zEZX?jMKVM9$+mKt_H`$jHhXNX^3>KyNec2w__*;cYp(9;rmDYPnX*B)k?XIQJbv_% zIb&sFln&)t&m%#pUB3QQwy*S8h0@GwJ;N oj$>c7S>CU1mDOzGg`r;lE1I*aV#DvB0ww_lPgg&ebxsLQ06$*)(*OVf literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6426fa8fa5e4dad18713415339961ebd45a3d1 GIT binary patch literal 915 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-ruLbB$5(o>jh&_4mz(J~aSx@g%)!ApgjAn}5-li(m%eHk%;lB6X&nqvzELn0h$7^fU z;t z-M%09YWIK7`1*IflcjDf(^Jj2bS)I4u^vNYwYyUfLSu^8E(zJOlmFwIVUo2l2wDQEU zWBrZq1AS*!%+v0B?6G;}KgB)MPM`LUjQgi!Y;4RN|J~Aw`_Zm-bLP!^rL6J%`SVSC z_vZfDRo9`v;Sty&oVp%nlP9iRIcZ6d=HB`n+h#d*zWV$4TLs_N_BZd|-L;;6{&{NI zx4#bGug^C6_@3?Ot+##iOjcf(u3|CMS;#u`zrlL`;J$wCT1T$dCLP^cqix5sN$?>o z(vLOInKS1_;*JU%y9*3=3<8=3)`ofWNA>jgOYhzGQDOD!_^&JrW?k`EI!UNs{asv4 z+NSaLccD( z+7z{@|JNoy{(h%ueU3ZMpk(*h@rv4VHIC}{C%x|bXx>VSZ1&x$958!_l-ToSEnWKE<8lvsWVH6|eNXCJ`*lc7w6Ns;kFm)44db3O&u#!S8-u5-pUXO@geCy& CGK;qW literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..89cbf2d6f335da39b73b597ae05feef17468bbed GIT binary patch literal 610 zcmV-o0-gPdP)l&H6vzL7acycq%|K=rhU6nO8%Rwd&D4CCDxaXr2Z$mi?G|-UKR~*q14@O;fLPL@ zozejb8w5r+uI{R!sEUwZt|9Hy`$?8=xqI)YcedW0t?xg+CSZ>B*a@rxk>r9%azP}y zAd*}VNiK-wT?_^TTwHucxmlN(pzk%l!;W$rHZ`W?Oi<6W0dc3{;0?p>jRPmA| zK@>%pPNxWh5sJkkHD$V_>$<2`tK>koZ7;_8d|t0Zp;RiNQmK&RLbfX-M3M_4$pw+* zf|2C$@jFpF1V!jhE}B#EkKj4+(R z^dx5_d2sMn%cY^y>EQ72NRJzh26lH}rH-Svt_enxX$4I&jU!)IE{G%-M3M_4$pw-8 zlQ@p`J?mql?qOA%N6CXEd3yQ*?RFc5LSfOAr$t>3-*A5Z373~&D515OYVyb9vA&pY zwVJ8tlDBIZhWarB&&cVxwiHUo0}W(JP)?5ei5vuL5F@-R3$?MK|uahK$6_q wX;E|gCy=iz7etZ^BFP1jn`xp`Tzg`07*qoM6N<$f}kHI<^TWy literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff3b370b3e9f85bd29dde651469b95279fdf394 GIT binary patch literal 966 zcmeAS@N?(olHy`uVBq!ia0vp^MIg+<1|<9Mw$?H*F!y@8IEGZrd3*P)mvo@Sv5)0O zGi%zHa5=5DcHG0BztCxK<0I3MrS}@viU%CYdvi?hO=w4K#D*nb_?)&r(7RYO%X7}B zc_w-$cTI}Z9zFite3NIA@Xy0fbnZ=7sh|6wr$ugW%ANd%LkA})NC>ewHzjxo@NhOM zIvS{Ow6PE`DCl{jY`1Qwi<8kzACc3(tqL4Vu4Z*Uubkw!eC>L1&l8(Bzb~rz5y{os zG{sBx$wfs`TrBRyty|if(@zKKh^fpz>!mh%@9j4heoiv(|1WW- z?p?fCKWJr$+@1S(YxVnt&q+Bq-h6ZC-o068{nlTfoVQ*3ZJE1NZ`+mErJwEH6(>#T z?(Tlpy@DeO^W{y;g=ytEn^D@a8VBj=#~whrj>b z_-*BG{Bp(d427Nd-_Mqmox3RCWLBD8dfmUBI{NzlUw-}9-ZtU*@#95xb%HNvNlQnE z#n+d9eR`SO^I;MwHk7VS*tJtKuVho2*wxa>&wk9!^H7tF*tciTl-I9cvwv5&7d4gf zkmFVTU3Y)Zj!VK3RV{jc8(Z((tIKw}B_UyF@k3?#^83J$xKopy>riQuD>way)3Tt) z%MZ$H*G_sNDqiPCUaV&;ex1-A=l@b&>7VQKgs&U??dEUa*0yzmxcL6m^yhOqBXz{y z*C{DY{q&Dd$$DXJ@~7IXS*36O{{7p3?V8M`gQ>P_m#S~Ad0AFkurs%9sp+$O_t>+w zqwBZ43U_{O%BwY1e&gD;hi{mDG=`?jYfjIKB7tDy&6|>+Cv)yfzFa+Tx{>re&;IHD zixn;$wqY**Qd^<3H@VJfRoH6JwPD+LZQDAbxVU)JzJIr_oxW^avxPj5A~M1c=J4kq VEPhuf^8oWFgQu&X%Q~loCIFGDn)d(z literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index 63d3db81e9ed068894a7cb741e1aaaa4fd9444f0..1bad4b8bfe01a6ee70553df1ed514ae734538ece 100644 GIT binary patch delta 762 zcmVK)Zx1-*kJXz>Q5 zNbRP$uq%5Rc5lIMy3;OPG>~<^Cgy7<s-KL~<|XY?N@M>r?P|5pDp z5rX9>eF0<_ldS$1AKD#c<^a=Dx=FE5MlrzM?E zi|3_WU5-T)iK1AdD3bAbEQ7&7dcB@>Ivr^?o96ehv-85))i?{RKk)VSXIH~5tWv4u zbUfao!7(s61_qZ%;8ZFl`Fu_?nXF_o8S#DJe9rSc@jU$sZ*F5X8VxhCUinq6_H3@> zsLAAEFMS-x<}n(L%p^<4zrVkq>sWuwS>S9oD@RAKq+G5@5EM;N7fw#z$nEXzZ=XLr zJTOlvS9FruYPHO4+9hX!_1~aswd!iPg`+=zrBX2um-rfyu^Ew|7k{`!1J~$DaYeTqG&9`;qb>cm9E*Q z((QI-Z*OgrP>V;>*CwmwEapSM27pYRq9j)B23Ft~*XtowxZp%bj7 zr6sdSd|q2wbRzfEwn&l9&CS^^`sY@aiRcI2s-pXWb)uycyD;p{{Qc)4(ZCxU8*+B` z&di!^nYMLhfB&V`tt%Q|V<#=q!1|YpN}oKsu`X!~af_3m0zQ9FPv1%qtVj?9QY;qC zTH$Q=@j)DR&u*A@MuHyF<>Jf+T>$_16f`}cquULo-EK>%v?ANv&#jJcJ@C!VSBc}u z_AvkK{QP~=mmphPTh_x*j7B5r_xsZAcIEEwPTK9Z`9AFIyl{3m&I0Qfe0llB)o@FzSS&gnkB?|@ z3=EEe!9@}{9*;{ln~~Mk^yFHdOtO;ZeX&?BBHI*KjyAlPn$o{{DWUWBn;-fz#=<92~rsQmHJ3Lf!;*;pphCTwh=R^8Wq(hWUYV zMJJh^PRGoqU2+y!{|%~CDz1iGI{NjO%Vl%9#J|Ddlb`}Ge~UD5v)PpM^G~v|v0+yH z=W;o-I8Rqu>UNfRJR$S0i|h5CUd?!ObF+{|ce;{tGzugLMlu)-9=54?W}AxVd9u6v za_%wa5ouuG_vPZ^b0lLQ9=@?YMmC$ZKF06x5e<%k!7(tnr3kG1g!R%1Rw|V;i^LbT zl|?6VPi-5iN7w8Be!~x@TUExQZ*;4Q?g!S1mQL(^zdQHmUxY{l*J?F6IeBkp&9=i9@6FF%m!Tm|M(O%J)pz$e7U{7m11#Cwzr>K9p8H3tE+DkhJo#2{@Us3 zhp2BswzjsckHJSYI0gpCz~G#oo1{m|>dPAFL`%1cPG5%u;Yiup!fD^;bDIT_KFH6?k%!yomb<^Ixw*T+! z_}Hqer+2J&PqC`q3vvCpTR^bCPL8EfwA=OcQ>W8u%-l_D>d&SawfvJ?q_OE?!HdVT zeC*fW^RK!7`sT-v8%uZJE&q4!&K()Ye((MFzyG&w*zcWt;lOSIlO=GpMDK+G&)N{J z$b|tP{O#s{SGM_{VkBIb^SsBcJluZY?VC408sGkWXV=$Iopftq*Ta{uUwm=Sc5mGO zwHxQocHVy5{ax(Fxu2a?>|Wg7zJJ?n^Zi?1zLcCjckV|)^~!U5cKteY?fUiewdeo- zzQ6b91J#+_e?NS{5yfm)AyE^)e zrKxG|)1s4V>e^vCVt<~#c&GFw$E>e_>y z*C$UFu3uTX`|dYJc^Q+xNtgHTtz8|a{q4oY{_vu8g`TAs(r2ArR(~e$Xzi5mpMHGw zFO+wj=5pbHWK)|65}Fdi9=rbf+k1QS*T(4Ge)8nWY}YyOI1gX^V>$Wcuhuzv7njcd zyX)h7i}VBM=l{>Sef#$Fea{~rmiIev5_dT9iFmr(#SFQ(VtIXOmzejbY`*>W$IO!D zm$#;Ee)?T#S?sFjxTs%u>^&cCyAzj^_;7QG&OM*SA?&<=gdLr^=z_c+HPwAexw;An zvrPBjTotu8Vq?UXntcgJlMWs-NOzoId$(Y!yH literal 1429 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD4M^IaWiw)6V2$x~aSW+oe0%q-pLDoH`$zHW zWAkr3+njfjYvsvh6IYpZyE$c=o%P+2FY;AsR_WAi59cD*zkK;y@tJ znhVm>v#({CjMx&Rw;elU&8^2cBT3cCd%G>_?+J9qnbN366FTMZ%H=h5&`ygqP4`wX9nsBs|+lt3o zd#YEMhRB~&&p+3-JP%Vdet5j>Tt-Rx*T=ixzRk7YYZ@(?9*4|dTum1>p?elZf%U)l5Zf0wnym_;+-6NIrGsDB?-M)3}*3S1f z6(7#N=8v1S^8!B~-yimp{Pl^~*XbVFyOdki?uE4Zy5oCW|LcBVxH@cgo$6oism7iB zQa|)Lq=Kl9f@HT?AHN~H_Vu}rV^4RyzI*55&aF|p@7Bh6t!ln^=g-M`w$<WyLS-T_dnpV84 ztf_g!Z<@dTw%vojf0ymQQBq$1{>k@%FSk?sAUVU!&iq@7C^_tnOde zQO&(crHSpFfXNbMw8ZK~)!w}C@9T4)7Tr`+SC5ZB@-j@K@7ej8KG)(;ywuxOvN_)T zpX_s?M|JkyyyNGWSkGN& zI$O71Kk?R5s~4}Y+ke&eyra8aJTl^kil})0vcOf%Z2vkJD7MlCsTMlg*X~NXnsqg6 z>#Y4ZS4FJ_CFh!b1)p>xB%bMTY+7y}lX|Rb@zvj*dUeWOLe-D2+`Q+uJ@xC`9~C9h zVcV-y+S}W&Wo=z^Gw0U7`M<;d@5uZ9u2%H>wEGiwEVzE%{EvRn&BN{YkL_*cPs+^f zT+mpEmg7B3F65nySsC)D^#d@3xmx!;Ewbc3e4$AJn4yY4`CSt-@ABJtFd+k&m8$m6 zoA0=L`E2Lyx8F`So#nhcvNT9l@5R%nsjIKsZ~FPOa`n|!c3CRzzxx(k%($^Sy#9y& z_DO1mj`#QO7Wpn#(5JxhM_zjSB#lBx=IM?XCOFX@eG-2?(b0D5-jq4O;+DbF)z4*} HQ$iB}gF=%P diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc7701483cbb404321469be4a8498bcbbb814a9 GIT binary patch literal 725 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2V4CCU;uumf=k2Y7SyGNN$3Omm zwd+`Klq0{{ysQJ_8Gfdka#;&3P1|n-f96o-pXkK(a`TeoUnVTu-eO|=<%#K9g^CRd zU009Y)!n^qq13GT=X89z_VYj4aOhlL{0v^c~HmDfsILmBSE2|5tYGVdg0$c>5aM3In{wW+G-bHyq8~Rp1pm) zZ;ZU`-szt|`y1O{{(Q_np#5;-2WHdBCr^C)#{KlYf$kLtaq;-3&R15}zgN`cuMD|V z_iz4=BMkw}wsFzI+IgNf@ACJ~I{0Z;YUkD{T}!)v1*NfT?Iz}!Szk8(tNN^RT})ix z_r{==Q?8ZI5X)L{>$C3C-><&@a#=8SYWp4jU-5VXTZ28zZ1zFH?I}j8okyHD>|I!O z=j`Wo@zs~*&mEk9z2f)d>VivW?Aa!temdn?5MN2f4?iFX&EJ3V-o4iW$8X=MQInST zpZe~p5VHhF0AI+;kd)G`IxoN2ZhYHvBx#z<;_bz|N@qR(@qU5)!I!uFmM`AQyIN*N zM9qRf7wQlGKR(fKx#&47zegb5n4yUz@<2U_ebMc@>DQTo$(6y=)z4*}Q$iB}N02-u literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ddecb673e571ede7fc2c0fbab02ed89029947dd1 GIT binary patch literal 1173 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 tHKt;%7b}C&oQxKN6Hl({t; zjjYvbTesV>wY9a_#|bhM*wd%a?BwLcYPFix>vdaNTC!@jV&!t#3WcH-3W+62V)=aD z%yO}h8^vfew6n9b@C*h6>-Bop>2$)MTbed4O;bBPJ+-Z^EqnCnm)OS*G85QDv)K#} z7DMI&f5T!SFh~&?qzDXBnGeiwk;UTp7MaiclMA=V+zc*~jmBZPt$j_UQn6ZXS$~Ld zdknvZ--pBDXSc|Hzdw^R{9l;~?C#w=w!FL?Mil-R=VOXesdPS;h~x3&C$_u0`_->q zz50_qeE4AIXZn)I=A(*Ms}*KoM@L6iDivcN6zhY`1a|%Uwb)0POFkR)52im^l#&8T ze=;A~^XI=>qtOT}1y)v8tXi#xy%6Jl6@~EldI80X0srs#-?F#2Z?9hcHuZPf`6|p$ zcTo8L3Ey1kn+%)HmK`4-g}oWRZsE$6A0=m)mdpp%?Vj4ZcYEQV%nF&Ox`VmzwocDvSYpIE!yvi0@#slR{PG9TFG%Rj_E!c6%G z5o%edZaAw~j=IhSW z^!R+;`EA?W+>CO5iohU6V33Ly zn2#kkHa2WUb#>M1^_8$edGeFgd`wX)70*W%$y8U9FA`sMJ|0o@!%cBArf9d@mZnWR zJZ#we_kUTj81LVaXm7rM|6Z(DV}|$^36p^YAd^4>36Y;R7S!LUS}86+IZBQI0000< KMNUMnLSTX}!@;Bg delta 870 zcmV-s1DX7`3AYK5Bx-(1L_t(|0qxz*PTNNmhVkRi*am_X#F7;fi$-GCG*Yu@w#hPI zN^YUbO+;NpU8a|j+(mi=O;<=Lm5Kt36a)Ui#x{0*#yCk;QdNy#&)9l?(!c_w{|Fv~ zW+V>zKlgqc8X%I7y#XvXlQ08KlTQN?e^fGo9UL6kwQFm33VqtDL7-fk4b z;lR$%&%^5X`_}Dtt=(>iuUoy|7_GXUot@eC_O?BJ`eW?v2FV0A(P%Wn!eU4+e=sZ- z0)rHRL5jd2m3&}+iYyeyr^sy9m!BXrmYKmpvQ|3^r?tzJ%jMCDcUiv)^V4H^8{Q8F zgTI|3d%fOF_V9lt6WD_X_icH3Ib2crH_opqipAo^wL~1xp8aHddwZ9D?B>ny?8%eI zGv3iZd2D`F(QG!u9oX^l@#yPT7KpvAkCF-O)~)YjZ(%O^-JriPeWfUq{{cyVk`L^~ zi(jl(tA&vQtE;P4sZ_#Ti1ECNd{{nSKrv##{~Z5I_V*9$_3K}!{!HhiFh8F`;qxba za-mN$Y&4p7a&jEzX85>;8#lg{>|t7x53JKUvv=?I!%E4{&Q4e{`AE&wB_9~(8-YQJ zz#v6nkRmWhB_G(`yLZBI-3P2;mCL0tQqw0N=5qPb8edOjGM~n3W~Mk>^WP>M-oE{V zWWu3eQB0Qe>xzEguPeq^6`fAUTCLO3YTCxe#?+rbZOI3A{rWetw=h%w0{Q$!;u8%0 z&d;nA{tL>yNj@;lH_V(=`VLbWOt1Dstm(Tv1%>VN7j~yN!+M74O&u}-FnT$IhgmLHHZa3`NXNdW@^LqW{V%+&X+uGWSvcqVB z)$4WJ-QA7#_^;-1#SiSi>2`b3p3SdFND&yM2n9y#Z^Uas-wvliH|xTUs3eJNpW&b(Q36ur}Ty$9o6jp`@gJEi1%|O w+LIqWdKl}`m?3^eLXprNk-sjHzZ4er0jOFjF19_%V*mgE07*qoM6N<$f?c7-Q2+n{ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index 45bcb3916987b3ada9598412b5c514994bf0c60f..24b63d07512521dd3bb9f23c716e181850f20f67 100644 GIT binary patch literal 1330 zcmeAS@N?(olHy`uVBq!ia0vp^%R!if4M>)V`MhCZVEO6k;uumf=j~lz?>XTT?H{9` zS3a9sDCge%;83sc<_w1w$=5E`Oj$Om_Ot9Ie!*FF6H69zygb*$>5;TBR&wr{ZvD@8 z(~948WG)VTY4P8Ey}S%l;0ed|H}5nSv)BLITA0(YAmNHQ!#U?U6I|(tR3)GP`n79s z_4eHF?|h>-T4c65rR-9^c9 z$$z7cP1j$?zWVLG^wNd*C9;zWYoiCV6{% zo0rXRJox2N$($>1BbVRan6^3fY}(;jXP3#!$ovRidu>hB+NgyAJ3dy&wWZAIm(%^( zyjr>@Le`wQ?0@3KZCm~~9Pdq;(;%omMNmD3TIi^r-*<*kv)O;2_$tJlvAy@SF79MX z(UtI>lWrXS`RM5RZCkgd9!ej{nX_kme_73+&>{Ro=243dz0jKdj5B9Aew}!`F&tPH OGI+ZBxvX)V`MhCZVEOLp;uuoF`1bB;zuE2*?H|Se z)Y_f8A)%xqmXk5dRasGVvT2syQq5EQcD8>}TC~i3Ql5jy%RVm^A+Hrz)^S+a6&TnB zoexmH#KyE@+kbf*dlRPyRkv@C&qmBL|M7W!uP`$U>*9M11%i)Sbm)mrT3o+={q5b| zxx35rZ*jGHo__ji+Q}ulbI(O+P2FO^qszf04Fq4qmd>3sCt~~UtzoNEd)*Gd`npS2 zRyK0&w)@eh+Ecx@ZQq`L`t<3t|Np`l-+Nc@aqQ>A!|T?rTUYn7@bTlvV%y`u}OA zcO*CbKA?2-cTxU_6%%`e3p#{1Q4uMLFW=puHP^4cNL@hhx!(Jt^Wipf@?XQ&sTLLP ztN6G%H#awOVZev&i+A3BZZxw;RVeS2+k@pfN0JU6V3*t>eM@ii#*e$FdOdCY`+r~F z_Q&kPTW;rOZ@pEQ)i!%Zp_S?4SKnXWyKsKq-wb}a8ru(l|I7zk_}Fdwn>TNMEPeI$ z_5DAG&bk`;-QhjL83{)dyD#(V&X_s#V>3_C%8>WZTmH|LP7q+(xLJA0=WKy%*RHLJ zSr_x;`_ZHMe;>3u7BX}Gx_|!st`c{zvuT&-=g#9(x7hOcZu&r-x1`p&Km9tP-QKaOQrl-iJLucVE;0{O|9#31vm5@3?+`{(fw?X2sX4zi;mS zh+3OA)$8af`P1K?w7-A*@NmA{-qc=;yVhHy*8VDu-c$8;b^H#?PK(C#ihd`QU}#eB z<++=8K3?LYl=!hCBT>S>e2z-NG!eshE>FHltV}+ews?EgwG5LtA3l7@30WxBX(28q zmQz=EZ`rbCIYmbKKmROQdO1@`hN=A9OD5gvr^B>rx7@uOJA2+dsju5?IxV`79u3TY zc&UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents From 800511fe13ead1ddca9dcc9f9443672f9e0f9d74 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Thu, 2 Jan 2025 12:42:42 +0100 Subject: [PATCH 13/25] Remove macOS --- .gitignore | 3 + macos/.gitignore | 7 - macos/Flutter/Flutter-Debug.xcconfig | 2 - macos/Flutter/Flutter-Release.xcconfig | 2 - macos/Flutter/GeneratedPluginRegistrant.swift | 14 - macos/Podfile | 43 - macos/Podfile.lock | 29 - macos/Runner.xcodeproj/project.pbxproj | 791 ------------------ .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 --- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - macos/Runner/AppDelegate.swift | 9 - .../AppIcon.appiconset/Contents.json | 68 -- .../AppIcon.appiconset/app_icon_1024.png | Bin 9472 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 1076 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 294 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 1983 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 428 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 3962 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 675 -> 0 bytes macos/Runner/Base.lproj/MainMenu.xib | 343 -------- macos/Runner/Configs/AppInfo.xcconfig | 14 - macos/Runner/Configs/Debug.xcconfig | 2 - macos/Runner/Configs/Release.xcconfig | 2 - macos/Runner/Configs/Warnings.xcconfig | 13 - macos/Runner/DebugProfile.entitlements | 12 - macos/Runner/Info.plist | 32 - macos/Runner/MainFlutterWindow.swift | 15 - macos/Runner/Release.entitlements | 8 - macos/RunnerTests/RunnerTests.swift | 12 - 31 files changed, 3 insertions(+), 1542 deletions(-) delete mode 100644 macos/.gitignore delete mode 100644 macos/Flutter/Flutter-Debug.xcconfig delete mode 100644 macos/Flutter/Flutter-Release.xcconfig delete mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 macos/Podfile delete mode 100644 macos/Podfile.lock delete mode 100644 macos/Runner.xcodeproj/project.pbxproj delete mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 macos/Runner/AppDelegate.swift delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 macos/Runner/Base.lproj/MainMenu.xib delete mode 100644 macos/Runner/Configs/AppInfo.xcconfig delete mode 100644 macos/Runner/Configs/Debug.xcconfig delete mode 100644 macos/Runner/Configs/Release.xcconfig delete mode 100644 macos/Runner/Configs/Warnings.xcconfig delete mode 100644 macos/Runner/DebugProfile.entitlements delete mode 100644 macos/Runner/Info.plist delete mode 100644 macos/Runner/MainFlutterWindow.swift delete mode 100644 macos/Runner/Release.entitlements delete mode 100644 macos/RunnerTests/RunnerTests.swift diff --git a/.gitignore b/.gitignore index 905da8c..ffe5409 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,6 @@ assets_dev/l10n/ # FVM Version Cache .fvm/ + +# Debug Targets +/macos diff --git a/macos/.gitignore b/macos/.gitignore deleted file mode 100644 index 746adbb..0000000 --- a/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b..0000000 --- a/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d1..0000000 --- a/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index a1cdfd0..0000000 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import path_provider_foundation -import url_launcher_macos - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) -} diff --git a/macos/Podfile b/macos/Podfile deleted file mode 100644 index c795730..0000000 --- a/macos/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -platform :osx, '10.14' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/macos/Podfile.lock b/macos/Podfile.lock deleted file mode 100644 index 49b8fa2..0000000 --- a/macos/Podfile.lock +++ /dev/null @@ -1,29 +0,0 @@ -PODS: - - FlutterMacOS (1.0.0) - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - - url_launcher_macos (0.0.1): - - FlutterMacOS - -DEPENDENCIES: - - FlutterMacOS (from `Flutter/ephemeral`) - - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - -EXTERNAL SOURCES: - FlutterMacOS: - :path: Flutter/ephemeral - path_provider_foundation: - :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin - url_launcher_macos: - :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos - -SPEC CHECKSUMS: - FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 - url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 - -PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 - -COCOAPODS: 1.13.0 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index ddebf22..0000000 --- a/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,791 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 0D2FDFC35669747B3B58C369 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6B7D42F7A530473217DC4FE /* Pods_RunnerTests.framework */; }; - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 4D090A743309E4A555150546 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B05E2595FDF61B2B3AE8F06 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 2B05E2595FDF61B2B3AE8F06 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* shogi_proverbs.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = shogi_proverbs.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 513E1D0A0654B578FEAC6A84 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 5FA38B421B2CC4F6677C4C1C /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 748083C84325E4276DD88E9B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 78067AA7BD13A70981BD2BE9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - C6B7D42F7A530473217DC4FE /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D7DD03114EA2E2132E32DB78 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - F9ED85C2ED6E8EF40D508B21 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0D2FDFC35669747B3B58C369 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4D090A743309E4A555150546 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - CDF33708E89DDF429EB3F039 /* Pods */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* shogi_proverbs.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - CDF33708E89DDF429EB3F039 /* Pods */ = { - isa = PBXGroup; - children = ( - F9ED85C2ED6E8EF40D508B21 /* Pods-Runner.debug.xcconfig */, - 78067AA7BD13A70981BD2BE9 /* Pods-Runner.release.xcconfig */, - 748083C84325E4276DD88E9B /* Pods-Runner.profile.xcconfig */, - 5FA38B421B2CC4F6677C4C1C /* Pods-RunnerTests.debug.xcconfig */, - D7DD03114EA2E2132E32DB78 /* Pods-RunnerTests.release.xcconfig */, - 513E1D0A0654B578FEAC6A84 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 2B05E2595FDF61B2B3AE8F06 /* Pods_Runner.framework */, - C6B7D42F7A530473217DC4FE /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 56ADA4C561176D62519E7160 /* [CP] Check Pods Manifest.lock */, - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 54FDCE69F9B054D2AD7C9B57 /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - BB8ED293C9752D24978FE9F0 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* shogi_proverbs.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1430; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; - 54FDCE69F9B054D2AD7C9B57 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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; - }; - 56ADA4C561176D62519E7160 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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; - }; - BB8ED293C9752D24978FE9F0 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5FA38B421B2CC4F6677C4C1C /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/shogi_proverbs.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/shogi_proverbs"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D7DD03114EA2E2132E32DB78 /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/shogi_proverbs.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/shogi_proverbs"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 513E1D0A0654B578FEAC6A84 /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/shogi_proverbs.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/shogi_proverbs"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index b217e18..0000000 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc1..0000000 --- a/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift deleted file mode 100644 index d53ef64..0000000 --- a/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@NSApplicationMain -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 96d3fee..0000000 --- a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "info": { - "version": 1, - "author": "xcode" - }, - "images": [ - { - "size": "16x16", - "idiom": "mac", - "filename": "app_icon_16.png", - "scale": "1x" - }, - { - "size": "16x16", - "idiom": "mac", - "filename": "app_icon_32.png", - "scale": "2x" - }, - { - "size": "32x32", - "idiom": "mac", - "filename": "app_icon_32.png", - "scale": "1x" - }, - { - "size": "32x32", - "idiom": "mac", - "filename": "app_icon_64.png", - "scale": "2x" - }, - { - "size": "128x128", - "idiom": "mac", - "filename": "app_icon_128.png", - "scale": "1x" - }, - { - "size": "128x128", - "idiom": "mac", - "filename": "app_icon_256.png", - "scale": "2x" - }, - { - "size": "256x256", - "idiom": "mac", - "filename": "app_icon_256.png", - "scale": "1x" - }, - { - "size": "256x256", - "idiom": "mac", - "filename": "app_icon_512.png", - "scale": "2x" - }, - { - "size": "512x512", - "idiom": "mac", - "filename": "app_icon_512.png", - "scale": "1x" - }, - { - "size": "512x512", - "idiom": "mac", - "filename": "app_icon_1024.png", - "scale": "2x" - } - ] -} \ No newline at end of file diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 2e3d8a2c8ecb252f63686d111267c30ce5cd5c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9472 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 r{CbP0l+XkKBdx%? diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index dc8ee366faf8aef214c87334c6291da24252fc92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 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 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 86fec900ec70104c2976ccf1c7b191309ee758c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 675 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV9N4zaSW+od^_u`pH!g8aef}= zDg2RwH?AC4D2*=P8WD3X-C$qa#beiwEsdRV?A=@D4+60pwkVozSgRO3Lx0A(oon07 zGH2{8pJdBZF?mmpN480r<><-FI7Z@*eFqANuC^4W4 z-92>rbiauV-^#f4fg2+hIUVe>KbtD?_P)!-rb7jO>t0_f~jL7h6MgXTXkT7CP#XB#UEiy8|%>uT}$ z!JZ}eG`gmC!#gu{j zbzEO+_3iporD79x8mi07zo)K}l53yNT4FW#$m4=*9^4C<7YH)GV90P`uwsxBY~X8f zV*v|ga#u*~tT*25SFlc{`NsVvVg<#Yr~3Kd4_X@*%X*PS}V~diye|8s}r>1U+YM6iKLv>|bq=8(&@lAL3#n}wEpNUUdQT9Op(D&M{ zC7!wo#h*20<>fCPb9?-~zV*RFvmLvCuiMwNWr^5<+Vk0SAG{9OeDlhxsrJoSoCg(} d<*xrg-C_AM6@NMVWx&M8;OXk;vd$@?2>{+BEua7Z diff --git a/macos/Runner/Base.lproj/MainMenu.xib b/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 80e867a..0000000 --- a/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index e111737..0000000 --- a/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = Shogi Proverbs - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.defuncart.shogiproverbs - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 com.defuncart. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd9..0000000 --- a/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f49..0000000 --- a/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf4..0000000 --- a/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a3..0000000 --- a/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist deleted file mode 100644 index 4789daa..0000000 --- a/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb..0000000 --- a/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a..0000000 --- a/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/macos/RunnerTests/RunnerTests.swift b/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 5418c9f..0000000 --- a/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import FlutterMacOS -import Cocoa -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} From f0b871e7148f837566855d06a201e054c1e98ef1 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Thu, 2 Jan 2025 12:44:52 +0100 Subject: [PATCH 14/25] Re-generate web --- web/favicon.png | Bin 294 -> 289 bytes web/icons/Icon-192.png | Bin 1496 -> 1498 bytes web/icons/Icon-512.png | Bin 3962 -> 3979 bytes web/icons/Icon-maskable-192.png | Bin 1496 -> 1498 bytes web/icons/Icon-maskable-512.png | Bin 3962 -> 3979 bytes web/index.html | 25 ++----------------------- web/manifest.json | 6 +++--- 7 files changed, 5 insertions(+), 26 deletions(-) diff --git a/web/favicon.png b/web/favicon.png index dc8ee366faf8aef214c87334c6291da24252fc92..5b6b8f9d3be9996aed13601905eeaf0a204049ce 100644 GIT binary patch delta 261 zcmV+g0s8)?0-*wsB!B2hL_t(|oUM|-3xYrxhF`@H3cbOsp%yz8YN*-9{HJTKKR^ee z7K6mapg_Sb4K9)_`)Lmxd@tNRd@r1^3)~zv5b8YszaWldBuN5*tGt}&IS7#i;BYvydAs!y zh9MlsWx3n!z_w?v1=Fd;x?W|J4qzAt%RJA&-$0h-VirXa&1MUPkk2c8OG&U?u8^i_ zk$vB1{~`#2n++vcmQ^k2_j@>VtO{-Vo7itU6PoYG<#kP&700000 LNkvXXu0mjfUTStZ delta 267 zcmV+m0rdW%0;U3xB!BHmL_t(|0j-iv3xYrxghwfaLOs~Wp)R&5SB<1DJW3zrY0LnmX&1#3-7@0!_3Pz_TD;04K?aK{y!iH0)%0hO-$+KG)*Cj0(hP; z2OJJZIF18`xdJwuEhI@ox7*19v)S}DU_2)D+>|5aX3 diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png index f6961e197abb3b9d9deb8bf0bf0ad27e4b27d914..ca3f0ee9168e949e4dc38220822f7c36b5424ef6 100644 GIT binary patch literal 1498 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zf+;U|s0x;uumf=j~lzzvys@_K(+} zN!2Gdrz$Y1-0{#^kh37uEHL%PnN>ckdKRU`Twz`ExrBAe;S%;tEyYsy3w$1(_8Xel z+izT5++ZfEX_$Ft>)-miOM*cq?CeL+yMD5+XukjdM{Y*L3WZnP41r1v9?AoXX0Ku> zE8DmI=uy|*rP)`xTAS>5#+=)9vnSO^(pxQfng@#*OXJa`jVsn$8@C-^ICtK>sQvf1 z`z_C28+Q88hRm~Rm$SAeXPZcUd**wyudi=Sh}O-$)$y*iPbd0@GCVE1`R)66_bM~F z{@Zu%%=zEhZ!E!+YhdwJ{$HSI_tA~_UIqiLUzcnk@q;-gHI13U&5>b(8xk@LWz5OT z`?YYobi>ZZ2)p^)TU%MZmtTHcVQ()kJ}zJL?&Rd- zWxv0rn-?u#z2o3?>#~2Pn`SfbxcqvjW5jX(L$}^;YfXI7o}jL-9=7`GpUAj0J_9p; z`8w&ZqAEM4A3LgYcdyGG?$ofe@ABDt8W8MTI%-OUn)L7?{CJ*l%hA^E2l@det9RQQhq&d{qt~z(%pBx&)?tsTb0pA z`1|~q=S(bYYYx=+HiMJizEZJb4cKCDU zfe)8-7TnE?Tzz$$+vBx!=j_=E1kyY2`_7!naP9i_HwT;Z7wtP%9lHAJ#CgT?>w;FA zeEa=C-dLF7gCPgQC3+$?vxca*H-tJ{Qa4L>A3e7FxcK9TWqk7T*ZQXKjyKc=dJZewjTNGk&n%v9`W{^VKV_E7$AR zck(`Hs_qWa60J|W+bwSIUdw7JEYD!zha5jZcCdKE?{oLhGM!6fXjB#YEXH#1{$_@> zw8y40^UgBfxqdm1?ZWHQwbx%qFTcDoZS%|h-{-3dOCPv)ZQ9y3Ya%vAd|4i#@uM?I zYif#-&B8nF`>$sG)T~<@wzX(y&ieTOnI}_>UakJS9O#yFbM+VPV_J7|?~FU~>E&i- s*B0+P=b>iC@IXy~VTs_tp}(wWBqKJ-FAv)cEVCIrUHx3vIVCg!0QT!)asU7T literal 1496 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 F{{b`nT?_yK delta 1922 zcmV-|2YvX9ANn4UB!59kL_t(|0qxk$j~n-W$MGMzQgd+rhoC{vDd0nrg8~?Z(}N8p23l9Pvn%cMl3bF@&dl1fU3+U8&}yaq zyk5W;KhAKLGlD?Qo9z78fB(n4002=sH+=yBz>6mU03eV60JA3nYyp!{0fc|xmiXX< z56f?U^Y7)(ot<*;-s{!eEn8b#Wp#C>wA<~QzC7R+G8_)e!NFnK+uJLT9z80%ySrs? zcdz`@KmTL(nX-D*m&bD=0B(u;4g21E?|ox`r_(8~z4ljSXJ@;tt*tddP=`T1D=RBy zd3jINz_*E62yjWq*IanUj-~YWt)-dGe(Egjg7&APa_SiM54c`PL0`M9{4Rqx?h^LR3ul==LkjK||7;pF zA2S?|s&&-d>`zZmo4<#z@=488qtU1t0B%2%VGdS*5UAB^m9@3CvcA4v27^KA_xqnu zuPiMsH8U72H`~45<-Sg*Q@Y*m=WC}dEY!15O}l!%_UCJ>dH&nZS0Bss_3+^z$~*7; z@>8Mun_E>3>{RP!Szli(Yiny|Yip}|yk1sU zS4zL%Z)S0Ev9wyP8@zJ39j4Q184gF)49n^1X*oJNDhCG#&5i!}fB2*v9v(K2cXxN2 zW4>_z{(S+!cM8C`(IArPu2r(WshnHN)x#f81=tbrAqOceB~7`Ib@-ueSH!f4>>v_LC3{ zSATpj{eHi!udkPtm6b9W465y3Sz79qUT>)^E-scqe^7c~+1KrMo9T2qpU*-y-O_5c z%EH1zHSOwgyR_S_YT92rSH1l#`%*o8_=ob&JHNcvb3AzPpuGL|&#v_xue$ksUS_k| z|Jhfneba9oJDpx0S06v0Uo_hn7xg-QI)9VNq?z&fyqZxN4u{Q*M&oLGT&<&K&d$!t z@$pGHIyx$+rzbDu-^%SG0JzdmfBN_3t+(DP>ualJWp%YIFAtiVIPj%9X20!y(e1vt z_evcUr>AG-L`Kl;?tZf{qTo>bJLdqJcIhzw6!YK>$!LD?oD3~uLuDE0JCHc z5do7B4y%8_OX}CZ{qqt+Khf+05G7T3K0HX(C~D zb+v44Y&6@0!Jzc}{c3up*XxyTx7++3!1pnoPRoC2G%CYkJ;P>BPEN|f!C^T(JSb;p zXVvy;_4u$ne*C!Fe^BQ0`PW|K?%lfr;3XyiULp0H>&cTR%{;66=HKh}pGLvb(oz!z z^>jL&uT8t%s%D{C7Zw(pziqeM)#_J=m(eGmd~)sQ`0&FI%CCO)uh)Jap1+HWS@W53 zad9)zO#KbL-kwfp&CUIbnM@|ljK}An-|*|3{aJH7x0?XCCepo zw~vwGR)4sqmX>;DeQm8QuPm2duUBm^J)OnHZs~ODS@_Dn#b#f--74K~x3pTVYP<7v z1zs)F>9ow}^JcxcxMf)?_xo|FcuBqa=9^_O=$E^9@0QnI zyHnldx0@S&yWPI&O9O(`pE>mxi+buWAXlk>U8v(=cXziudi1D#_St7;b93_rUMb&~ z033Kp{ru+Xx~VlHUIzs07*qo IM6N<$f(CFIQ2+n{ diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png index f6961e197abb3b9d9deb8bf0bf0ad27e4b27d914..ca3f0ee9168e949e4dc38220822f7c36b5424ef6 100644 GIT binary patch literal 1498 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zf+;U|s0x;uumf=j~lzzvys@_K(+} zN!2Gdrz$Y1-0{#^kh37uEHL%PnN>ckdKRU`Twz`ExrBAe;S%;tEyYsy3w$1(_8Xel z+izT5++ZfEX_$Ft>)-miOM*cq?CeL+yMD5+XukjdM{Y*L3WZnP41r1v9?AoXX0Ku> zE8DmI=uy|*rP)`xTAS>5#+=)9vnSO^(pxQfng@#*OXJa`jVsn$8@C-^ICtK>sQvf1 z`z_C28+Q88hRm~Rm$SAeXPZcUd**wyudi=Sh}O-$)$y*iPbd0@GCVE1`R)66_bM~F z{@Zu%%=zEhZ!E!+YhdwJ{$HSI_tA~_UIqiLUzcnk@q;-gHI13U&5>b(8xk@LWz5OT z`?YYobi>ZZ2)p^)TU%MZmtTHcVQ()kJ}zJL?&Rd- zWxv0rn-?u#z2o3?>#~2Pn`SfbxcqvjW5jX(L$}^;YfXI7o}jL-9=7`GpUAj0J_9p; z`8w&ZqAEM4A3LgYcdyGG?$ofe@ABDt8W8MTI%-OUn)L7?{CJ*l%hA^E2l@det9RQQhq&d{qt~z(%pBx&)?tsTb0pA z`1|~q=S(bYYYx=+HiMJizEZJb4cKCDU zfe)8-7TnE?Tzz$$+vBx!=j_=E1kyY2`_7!naP9i_HwT;Z7wtP%9lHAJ#CgT?>w;FA zeEa=C-dLF7gCPgQC3+$?vxca*H-tJ{Qa4L>A3e7FxcK9TWqk7T*ZQXKjyKc=dJZewjTNGk&n%v9`W{^VKV_E7$AR zck(`Hs_qWa60J|W+bwSIUdw7JEYD!zha5jZcCdKE?{oLhGM!6fXjB#YEXH#1{$_@> zw8y40^UgBfxqdm1?ZWHQwbx%qFTcDoZS%|h-{-3dOCPv)ZQ9y3Ya%vAd|4i#@uM?I zYif#-&B8nF`>$sG)T~<@wzX(y&ieTOnI}_>UakJS9O#yFbM+VPV_J7|?~FU~>E&i- s*B0+P=b>iC@IXy~VTs_tp}(wWBqKJ-FAv)cEVCIrUHx3vIVCg!0QT!)asU7T literal 1496 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zf+;V4d&j;uuoF`1Y=^-|TRa_K(TQ zkM(&X*pwU&^&Vk5#WpKVIJE8Tno~D;LZk#)JZshvw zo6B}5pG~_g)w}EJ>(bRBerv*3-<)mkYHeq?&1qr6_jk3z-=-cn3uP4PcD1&!ka&GF z!z8P?xcHyw{AKs$dCt$Q|J<)V|2%ue;`8~dn0EBl?SIez!O&Qm!GI4nEI^LS&OXh* z_YT7u-Xmh-;<<^52ZL5#Ia=7fVTXK6ZyLjM=8Y#lJpaI!{Iuw%oNZOj(_;U5HrsA* z-_P;OD!iy!zg*^f=%(4sJ1)Q7YIOQ2P8NcF3}F9sWEJK{daZs{oK^lqxqVJ(J4kVd+tjZ zM}2E}T_~Lh4BSvH^}65QD?>ibeo$VvkLP#R{Ih3R9)x|hssDF+seL)4%H;R!{iN3V z7d=<|Qnh#Eyy|an(!EuL81Fx;%@e(}JA1;N*xh&6#W!AgS)ylK|NY%{76acq_RFj< zKX~y%Gl#$TvnGBOoPI>$0O@!I*gzoO{X@1N9mcLpVlJ&zXe`Ca- zBsPJq9!F$9ulF;Ndb40n)Y_Yum)pnwyz}?>{aeqTxh*J{l;k;=&hU<>e%B0k9=)?n zQEQi(&emOh_1>+QFQcR5AyDv+uu4S0~aeAA!Iq_=NRekpLSF`FEzrTCOzirz#sc&2DGm@Ak z3g;^=4LUhL^82Hs>l5Q0&mCcBVCiH~=tV-gub2w%|J)sU;3toQnayXh?xX+avKkn3 zUrQ*kV=svJ-!18|{kG)1d0TJiuD<^IU-kb?qm7I?`T4hBy;}A3b7g(e&N=fn)FyMP z9Tq;d_vh@h%jQ1{*GknE>;CrZ>-}jSDu?#ns-Ja(;oY5|T5q%;%(}xq`S<;sbI+db q-LT$xS|=~V4o((^%mGCI8O}&XY?64^@Bvt2GkCiCxvX>c_ZDyk0#9U0`E9teScgbikMUAgm+dR&RqA@m_hnO2vG~%1EAfRjY z?i`!5TxzZL0VJgc6I9|EL=+@B&v<%4;{ym%K*K2!T)+@OP~g^fXLe?HXZPFv{@?Ha zTW83f(0_aYW+b0U$|Q9_uhL3`>{a9Irf}kfY8lL^IC`kS*C(A7bI^zSu2bMRu#x${ zSGM0rdh23#`H<0H1$`T||LI2^Aw@?bUk?2<_~L8O7*1?CfxY=(pjdkHNZYBFExJ)g(5ocC&>^l%OCME(=^XU#mAA1eil#bj5)&#zG*%P~RJx-0@ z23;fAjU0HVFDMibtyZ2M7?z9T7e721LNhEbKDOCxdbexSy7;Vaf$})ZvytXWHy8}? zEewBT+2^RzS42&f9XC!9VMK2ybLV@m4fFc?X1tR8y(HZ|JyN~C>m2K%PyMLv`XV+q zk;!9%{*n$lUAn$r4w+1Rd__gZ`1mpFn;DkV!VH}!QEiQ2UfRCbdM3zEqT?$gxPv_i%Y zDPa(z%+mBn);@Ln$|d;8x$84^RTY2t_{tWzcnp8_tXUb zB$zR-t-*2g3n>)CL~1pW$R8LOD6FayUCs*Cn1@wHLPWsEx9r`wSq&!6?7yEW6ocrr zG=tgvxUsh0FH{CEKyYxdly!cS$LGt9`2P1`FwQ4B+ntVSkAR$@dGgf<`Fx@9=P8*C zD{|^pY=-!4z^>pwl$meUyw+04wv;Gm!<(N0jSZHkSL zFUn0MneQd&@LZ9t4Y7D_4}zg^yIH`9WOgM@P_B?{l-sPAUZTa_BOdy!ZK>Y8pB!S4Tra*{j+THt? z!Ns^kzV$qT;0g|hi#*&|cq(Xqa`K*6UGr58rgx?+vo0do0HgelESknXB#WvEvGl7~ zuRiMREFr|I^gx^x0>l+PSkIMjI){iRKkHPScyJacw92koZOTLue7N>2UR%t(FYb(O z;dE0v+B9xTEEE>lBf`NpXlvpHwjX#fXK6zpiwvPDTT>oH($Tn+txxa(a2c*6;r8uJ zHv5=HDQ;>19AVB(bWCWZ?WH4E+5-)|fe{Rc!?K0>Qtvk?O3AtJHZ>Yb=bo?U=K5n} zDuZ^Ve)p8WerxKI%UllD|V8S-|Ih$tk{-ODu_uJJEdY7 ztceoMNKRaw@|R#ZIBAX^W1mHgVEeM?XJ)olAy=z0Rc|MbS)B&1+^^c)A{U_;pCN?z zsx9rB`StbntZ(3?7S!sJ{JcDtOeS0SQ+94Hx2LBE08xiwj=Go1(qV@uk7ub-cOZLJ$V+pbB-X==8&w>P1(($Op~*G&Z@%{%-N5qDQ4 z+qME2U*IjFd;ga9};&Xl11vQ2TCZDKRjR3^8NP<8VDGcu9EcT_njMB8h7h( zDAio;dfVcuSe7q2h6l5sFb@Tw0s78tz^O;mJLA)%P(RhQJ$-5uY$yj*Q1OHNd+zN(;f z!=ED7aMA2bB8+L`07>uy7O7BJ#1DX93BaiqMR6^bTd84lZIUUawqMcx3lD54C9Ekn zA%UaSvSMRmZh3s8X=%2W|G))O4G}m1kqA@Ek;y?h>_iR#4B%ij!eJK@2$`cxFH-|a z;ccXYG#IPsq_PZe?|Pot(`B>U4R78Is*DiC``vy_xN%=ZSG1bMI>-96N`Pl$DwhGc z@dMFYC47qN!p>S0Ge#0{2iq2LByBD}r{FdG^YJEl+%D(4xilPwvPsD~9;#_Xkdj<$ z`5*`*M#4(`CsissfT2KKE+r;@XMfUe46^Co?xq9o0CKZ;fzRIhN(8(mpGBYP{p?2V F{{b`nT?_yK delta 1922 zcmV-|2YvX9ANn4UB!59kL_t(|0qxk$j~n-W$MGMzQgd+rhoC{vDd0nrg8~?Z(}N8p23l9Pvn%cMl3bF@&dl1fU3+U8&}yaq zyk5W;KhAKLGlD?Qo9z78fB(n4002=sH+=yBz>6mU03eV60JA3nYyp!{0fc|xmiXX< z56f?U^Y7)(ot<*;-s{!eEn8b#Wp#C>wA<~QzC7R+G8_)e!NFnK+uJLT9z80%ySrs? zcdz`@KmTL(nX-D*m&bD=0B(u;4g21E?|ox`r_(8~z4ljSXJ@;tt*tddP=`T1D=RBy zd3jINz_*E62yjWq*IanUj-~YWt)-dGe(Egjg7&APa_SiM54c`PL0`M9{4Rqx?h^LR3ul==LkjK||7;pF zA2S?|s&&-d>`zZmo4<#z@=488qtU1t0B%2%VGdS*5UAB^m9@3CvcA4v27^KA_xqnu zuPiMsH8U72H`~45<-Sg*Q@Y*m=WC}dEY!15O}l!%_UCJ>dH&nZS0Bss_3+^z$~*7; z@>8Mun_E>3>{RP!Szli(Yiny|Yip}|yk1sU zS4zL%Z)S0Ev9wyP8@zJ39j4Q184gF)49n^1X*oJNDhCG#&5i!}fB2*v9v(K2cXxN2 zW4>_z{(S+!cM8C`(IArPu2r(WshnHN)x#f81=tbrAqOceB~7`Ib@-ueSH!f4>>v_LC3{ zSATpj{eHi!udkPtm6b9W465y3Sz79qUT>)^E-scqe^7c~+1KrMo9T2qpU*-y-O_5c z%EH1zHSOwgyR_S_YT92rSH1l#`%*o8_=ob&JHNcvb3AzPpuGL|&#v_xue$ksUS_k| z|Jhfneba9oJDpx0S06v0Uo_hn7xg-QI)9VNq?z&fyqZxN4u{Q*M&oLGT&<&K&d$!t z@$pGHIyx$+rzbDu-^%SG0JzdmfBN_3t+(DP>ualJWp%YIFAtiVIPj%9X20!y(e1vt z_evcUr>AG-L`Kl;?tZf{qTo>bJLdqJcIhzw6!YK>$!LD?oD3~uLuDE0JCHc z5do7B4y%8_OX}CZ{qqt+Khf+05G7T3K0HX(C~D zb+v44Y&6@0!Jzc}{c3up*XxyTx7++3!1pnoPRoC2G%CYkJ;P>BPEN|f!C^T(JSb;p zXVvy;_4u$ne*C!Fe^BQ0`PW|K?%lfr;3XyiULp0H>&cTR%{;66=HKh}pGLvb(oz!z z^>jL&uT8t%s%D{C7Zw(pziqeM)#_J=m(eGmd~)sQ`0&FI%CCO)uh)Jap1+HWS@W53 zad9)zO#KbL-kwfp&CUIbnM@|ljK}An-|*|3{aJH7x0?XCCepo zw~vwGR)4sqmX>;DeQm8QuPm2duUBm^J)OnHZs~ODS@_Dn#b#f--74K~x3pTVYP<7v z1zs)F>9ow}^JcxcxMf)?_xo|FcuBqa=9^_O=$E^9@0QnI zyHnldx0@S&yWPI&O9O(`pE>mxi+buWAXlk>U8v(=cXziudi1D#_St7;b93_rUMb&~ z033Kp{ru+Xx~VlHUIzs07*qo IM6N<$f(CFIQ2+n{ diff --git a/web/index.html b/web/index.html index 23a27e7..0db3469 100644 --- a/web/index.html +++ b/web/index.html @@ -21,7 +21,7 @@ - + @@ -31,29 +31,8 @@ Shogi Proverbs - - - - - + diff --git a/web/manifest.json b/web/manifest.json index 64f2154..9852a4a 100644 --- a/web/manifest.json +++ b/web/manifest.json @@ -1,11 +1,11 @@ { - "name": "Shogi Proverbs", - "short_name": "Shogi Proverbs", + "name": "shogi_proverbs", + "short_name": "shogi_proverbs", "start_url": ".", "display": "standalone", "background_color": "#e2e3d1", "theme_color": "#e2e3d1", - "description": "A mobile application containing various Shogi proverbs.", + "description": "A new Flutter project.", "orientation": "portrait-primary", "prefer_related_applications": false, "icons": [ From 545827cef1e5da01bf568f4e41dad7b930ee5d88 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Thu, 2 Jan 2025 12:47:42 +0100 Subject: [PATCH 15/25] Update README --- docs/build_locally.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 docs/build_locally.md diff --git a/docs/build_locally.md b/docs/build_locally.md deleted file mode 100644 index b9a806d..0000000 --- a/docs/build_locally.md +++ /dev/null @@ -1,10 +0,0 @@ -# Building Locally - -If you would like to build the app yourself, then you simply need: - -- Flutter >= 3.22 -- Dart >= 3.4 -- Xcode >= 13.4 -- Android SDK >= 33 - -To generate app icons, simply run `flutter pub run flutter_launcher_icons`. From c486414fbc57c97f2911c8c7e0e2e1c85748f275 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Thu, 2 Jan 2025 12:52:44 +0100 Subject: [PATCH 16/25] Fix styling --- lib/widgets/common/buttons/custom_text_button.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/widgets/common/buttons/custom_text_button.dart b/lib/widgets/common/buttons/custom_text_button.dart index d5c6cfa..6698259 100644 --- a/lib/widgets/common/buttons/custom_text_button.dart +++ b/lib/widgets/common/buttons/custom_text_button.dart @@ -17,7 +17,7 @@ class CustomTextButton extends StatelessWidget { Widget build(BuildContext context) { return TextButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.all(Colors.transparent), + overlayColor: WidgetStatePropertyAll(Colors.transparent), ), onPressed: onPressed, child: Text( From 82582a0162a3daa6ddc401a85747d61715c925b5 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Fri, 3 Jan 2025 08:46:30 +0100 Subject: [PATCH 17/25] Add back const lints --- analysis_options.yaml | 3 +++ lib/widgets/common/buttons/custom_text_button.dart | 2 +- lib/widgets/home_screen/home_screen.dart | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index b882e27..b60b75d 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -2,4 +2,7 @@ include: package:flutter_lints/flutter.yaml linter: rules: + prefer_const_constructors: true + prefer_const_declarations: true + prefer_const_literals_to_create_immutables: true use_build_context_synchronously: false diff --git a/lib/widgets/common/buttons/custom_text_button.dart b/lib/widgets/common/buttons/custom_text_button.dart index 6698259..307677f 100644 --- a/lib/widgets/common/buttons/custom_text_button.dart +++ b/lib/widgets/common/buttons/custom_text_button.dart @@ -16,7 +16,7 @@ class CustomTextButton extends StatelessWidget { @override Widget build(BuildContext context) { return TextButton( - style: ButtonStyle( + style: const ButtonStyle( overlayColor: WidgetStatePropertyAll(Colors.transparent), ), onPressed: onPressed, diff --git a/lib/widgets/home_screen/home_screen.dart b/lib/widgets/home_screen/home_screen.dart index c02cdc3..8d27884 100644 --- a/lib/widgets/home_screen/home_screen.dart +++ b/lib/widgets/home_screen/home_screen.dart @@ -39,7 +39,7 @@ class _HomeScreenState extends State { hintText: context.l10n.homeScreenSearchHintText, border: InputBorder.none, hintStyle: Theme.of(context).textTheme.titleLarge!.apply( - color: Color.fromRGBO(255, 255, 255, 0.4), + color: const Color.fromRGBO(255, 255, 255, 0.4), ), ), cursorColor: Colors.white, From 38ae06c0e6282a252b94f3276f66c0a96488ac99 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Fri, 3 Jan 2025 08:56:15 +0100 Subject: [PATCH 18/25] Migrate to spacing param --- lib/widgets/common/panels/data_privacy_panel.dart | 2 +- lib/widgets/onboarding/pages/onboarding_page_1.dart | 4 +--- lib/widgets/onboarding/pages/onboarding_page_3.dart | 3 +-- lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart | 3 +-- lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart | 6 +----- 5 files changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/widgets/common/panels/data_privacy_panel.dart b/lib/widgets/common/panels/data_privacy_panel.dart index 3965e8c..d16c914 100644 --- a/lib/widgets/common/panels/data_privacy_panel.dart +++ b/lib/widgets/common/panels/data_privacy_panel.dart @@ -16,6 +16,7 @@ class DataPrivacyPanel extends StatelessWidget { return Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, + spacing: spacerHeight, children: [ RichText( textAlign: TextAlign.justify, @@ -39,7 +40,6 @@ class DataPrivacyPanel extends StatelessWidget { ], ), ), - SizedBox(height: spacerHeight), Text( context.l10n.dataPrivacyPanelLabel2, textAlign: TextAlign.justify, diff --git a/lib/widgets/onboarding/pages/onboarding_page_1.dart b/lib/widgets/onboarding/pages/onboarding_page_1.dart index 5ffa88c..dc0999d 100644 --- a/lib/widgets/onboarding/pages/onboarding_page_1.dart +++ b/lib/widgets/onboarding/pages/onboarding_page_1.dart @@ -11,13 +11,11 @@ class OnboardingPage1 extends StatelessWidget { headline: context.l10n.onboardingPage1Headline, content: Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 16, children: [ Text(context.l10n.onboardingPage1Label1), - const SizedBox(height: 16), Text(context.l10n.onboardingPage1Label2), - const SizedBox(height: 16), Text(context.l10n.onboardingPage1Label3), - const SizedBox(height: 16), Text(context.l10n.onboardingPage1Label4), ], ), diff --git a/lib/widgets/onboarding/pages/onboarding_page_3.dart b/lib/widgets/onboarding/pages/onboarding_page_3.dart index 3b58861..f8f4100 100644 --- a/lib/widgets/onboarding/pages/onboarding_page_3.dart +++ b/lib/widgets/onboarding/pages/onboarding_page_3.dart @@ -17,11 +17,10 @@ class OnboardingPage3 extends StatelessWidget { headline: context.l10n.onboardingPage3Headline, content: Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 16, children: [ const DataPrivacyPanel(), - const SizedBox(height: 16.0), const DeveloperPanel(), - const SizedBox(height: 16.0), Center( child: CustomButton( label: context.l10n.onboardingPage3ContinueButtonText, diff --git a/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart b/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart index 7da4399..161e619 100644 --- a/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart +++ b/lib/widgets/shogi_notation/pages/shogi_notation_page_1.dart @@ -13,12 +13,12 @@ class ShogiNotationPage1 extends StatelessWidget { headline: context.l10n.shogiNotationPage1Headline, content: Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 16, children: [ Text( context.l10n.shogiNotationPage1Label1, // textAlign: TextAlign.justify, ), - const SizedBox(height: 16), Center( child: SizedBox( width: MediaQuery.of(context).size.width * 0.75, @@ -28,7 +28,6 @@ class ShogiNotationPage1 extends StatelessWidget { ), ), ), - const SizedBox(height: 16), Text( context.l10n.shogiNotationPage1Label2, // textAlign: TextAlign.justify, diff --git a/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart b/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart index 42b2d68..e71e652 100644 --- a/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart +++ b/lib/widgets/shogi_notation/pages/shogi_notation_page_3.dart @@ -12,9 +12,9 @@ class ShogiNotationPage3 extends StatelessWidget { content: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, + spacing: 16, children: [ Text(context.l10n.shogiNotationPage3Label1), - const SizedBox(height: 16), const Center( child: Wrap( spacing: 8.0, @@ -29,13 +29,9 @@ class ShogiNotationPage3 extends StatelessWidget { ], ), ), - const SizedBox(height: 16), Text(context.l10n.shogiNotationPage3Label2), - const SizedBox(height: 16), Text(context.l10n.shogiNotationPage3Label3), - const SizedBox(height: 16), Text(context.l10n.shogiNotationPage3Label4), - const SizedBox(height: 16), Table( border: TableBorder.all( color: Theme.of(context).disabledColor, From 52e16a13a949fefd971df81514bd8baf39df7149 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Fri, 3 Jan 2025 08:56:48 +0100 Subject: [PATCH 19/25] Remove unneeded type --- lib/widgets/home_screen/settings_tab/settings_tab.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/widgets/home_screen/settings_tab/settings_tab.dart b/lib/widgets/home_screen/settings_tab/settings_tab.dart index 97677e2..4cf4e66 100644 --- a/lib/widgets/home_screen/settings_tab/settings_tab.dart +++ b/lib/widgets/home_screen/settings_tab/settings_tab.dart @@ -21,7 +21,7 @@ class SettingsTab extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, - children: [ + children: [ const SizedBox(height: 16.0), const DarkModePanel(), const SizedBox(height: 16.0), From 30f58fbf35ca8ac2c3f901f49485665c00c3f965 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Fri, 3 Jan 2025 11:27:33 +0100 Subject: [PATCH 20/25] Improve startup status/navigation bar on Android --- lib/main.dart | 17 ++++++++++++++++- lib/widgets/my_app.dart | 4 +++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 0eacd79..3d77e0e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,20 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:shogi_proverbs/configs/app_themes.dart'; import 'package:shogi_proverbs/widgets/my_app.dart'; -void main() => runApp(const ProviderScope(child: MyApp())); +void main() { + // on Android set status & navigation bar colors to improve launch screen + if (defaultTargetPlatform == TargetPlatform.android) { + SystemChrome.setSystemUIOverlayStyle( + SystemUiOverlayStyle.light.copyWith( + statusBarColor: Colors.transparent, + systemNavigationBarColor: AppThemes.light.scaffoldBackgroundColor, + ), + ); + } + + runApp(const ProviderScope(child: MyApp())); +} diff --git a/lib/widgets/my_app.dart b/lib/widgets/my_app.dart index a5c9d65..5290c1c 100644 --- a/lib/widgets/my_app.dart +++ b/lib/widgets/my_app.dart @@ -128,10 +128,12 @@ class _MyApp extends StatelessWidget { ), child: AnnotatedRegion( value: SystemUiOverlayStyle( + systemNavigationBarDividerColor: + isDarkMode ? AppThemes.dark.scaffoldBackgroundColor : AppThemes.light.scaffoldBackgroundColor, systemNavigationBarColor: isDarkMode ? AppThemes.dark.scaffoldBackgroundColor : AppThemes.light.scaffoldBackgroundColor, - statusBarColor: Colors.transparent, systemNavigationBarIconBrightness: isDarkMode ? Brightness.light : Brightness.dark, + statusBarColor: Colors.transparent, statusBarIconBrightness: isDarkMode ? Brightness.light : Brightness.dark, statusBarBrightness: isDarkMode ? Brightness.dark : Brightness.light, ), From 8af3178fd85cf71f36ed086ac65363a6921dad7e Mon Sep 17 00:00:00 2001 From: James Leahy Date: Fri, 3 Jan 2025 12:05:32 +0100 Subject: [PATCH 21/25] Fix web app metadata --- web/manifest.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/manifest.json b/web/manifest.json index 9852a4a..64f2154 100644 --- a/web/manifest.json +++ b/web/manifest.json @@ -1,11 +1,11 @@ { - "name": "shogi_proverbs", - "short_name": "shogi_proverbs", + "name": "Shogi Proverbs", + "short_name": "Shogi Proverbs", "start_url": ".", "display": "standalone", "background_color": "#e2e3d1", "theme_color": "#e2e3d1", - "description": "A new Flutter project.", + "description": "A mobile application containing various Shogi proverbs.", "orientation": "portrait-primary", "prefer_related_applications": false, "icons": [ From 98b3b7439cb96da99910844f1e6776145a36597e Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 4 Jan 2025 11:57:35 +0100 Subject: [PATCH 22/25] Fix light disabled color --- lib/configs/app_themes.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/configs/app_themes.dart b/lib/configs/app_themes.dart index 7664e4b..95dc114 100644 --- a/lib/configs/app_themes.dart +++ b/lib/configs/app_themes.dart @@ -29,6 +29,7 @@ class AppThemes { foregroundColor: Colors.white, surfaceTintColor: Colors.transparent, ), + disabledColor: _lightAppColors.disabledColor, dialogTheme: const DialogTheme( surfaceTintColor: Colors.transparent, ), @@ -80,7 +81,7 @@ class _AppColors { const _AppColors.light() : scaffoldBackgroundColor = const Color(0xffe2e3d1), accentColor = const Color(0xff474838), - disabledColor = const Color(0xffafafaf), + disabledColor = const Color(0xff7A7B6B), appBarColor = const Color(0xff44423d); const _AppColors.dark() From 029220105b8ed6b638302fd05e8238ee29ec37a9 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 4 Jan 2025 12:01:32 +0100 Subject: [PATCH 23/25] Fix web base href --- web/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/index.html b/web/index.html index 0db3469..0104882 100644 --- a/web/index.html +++ b/web/index.html @@ -14,7 +14,7 @@ This is a placeholder for base href that will be replaced by the value of the `--base-href` argument provided to `flutter build`. --> - + From 3da43b5c1d75f5fcff5fa9a05a375dfceba77fb8 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 4 Jan 2025 12:12:59 +0100 Subject: [PATCH 24/25] Use AppLocalizations.localizationsDelegates --- lib/widgets/my_app.dart | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/widgets/my_app.dart b/lib/widgets/my_app.dart index 5290c1c..6af961d 100644 --- a/lib/widgets/my_app.dart +++ b/lib/widgets/my_app.dart @@ -3,7 +3,6 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_gen/gen_l10n/localizations.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_shogi_board/flutter_shogi_board.dart'; import 'package:shogi_proverbs/configs/app_themes.dart'; @@ -139,12 +138,7 @@ class _MyApp extends StatelessWidget { ), child: MaterialApp( scrollBehavior: _AppScrollBehavior(), - localizationsDelegates: const [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], + localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, themeMode: isDarkMode ? ThemeMode.dark : ThemeMode.light, theme: AppThemes.light, From db0608404e2af862eefebb0f39afcb6928cc17e2 Mon Sep 17 00:00:00 2001 From: James Leahy Date: Sat, 4 Jan 2025 15:15:15 +0100 Subject: [PATCH 25/25] Fix Android CD --- .github/workflows/pull_request.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 134bfde..804e53a 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -17,8 +17,13 @@ jobs: steps: - uses: actions/checkout@v1 - uses: ./.github/actions/set_up_flutter + - name: Install JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' - name: Build apk - run: flutter build apk --release --split-per-abi + run: flutter build apk --release build-iOS: name: Build iOS runs-on: macOS-latest