From e7722245633d84dfb80fdf60af7ef6dacb1af643 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Thu, 19 Dec 2024 18:58:28 -0800 Subject: [PATCH 1/9] update List encode/decode and other simple breaking changes --- .../shared_preferences_android/CHANGELOG.md | 6 + .../LegacySharedPreferencesPlugin.java | 41 +-- .../plugins/sharedpreferences/Messages.java | 113 ++++--- .../sharedpreferences/MessagesAsync.g.kt | 10 +- .../SharedPreferencesPlugin.kt | 31 +- .../shared_preferences_test.dart | 96 +++++- .../lib/src/messages.g.dart | 285 ++++++++++-------- .../lib/src/messages_async.g.dart | 8 +- .../lib/src/shared_preferences_android.dart | 35 ++- .../src/shared_preferences_async_android.dart | 51 +++- .../pigeons/messages.dart | 2 + .../pigeons/messages_async.dart | 4 +- .../shared_preferences_android/pubspec.yaml | 2 +- .../test/shared_preferences_android_test.dart | 14 +- .../CHANGELOG.md | 4 + .../src/shared_preferences_foundation.dart | 5 +- .../pubspec.yaml | 2 +- 17 files changed, 474 insertions(+), 235 deletions(-) diff --git a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md index e8abda3d2628..6c59bb9102b3 100644 --- a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md @@ -1,3 +1,9 @@ +## 3.0.0 + +* Updates un-supported type errors to `ArgumentError`. +* Removes support for reading `BigInt` and `Set`. +* Moves `List` encoding to dart `JSON` package. + ## 2.4.0 * Adds `SharedPreferences` support within `SharedPreferencesAsyncAndroid` API. diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java index 24bfb5074837..4cfdefbffe18 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java @@ -19,24 +19,24 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; -import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; /** LegacySharedPreferencesPlugin */ public class LegacySharedPreferencesPlugin implements FlutterPlugin, SharedPreferencesApi { private static final String TAG = "SharedPreferencesPlugin"; private static final String SHARED_PREFERENCES_NAME = "FlutterSharedPreferences"; + private static final String JSON_LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!"; private static final String LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu"; - private static final String BIG_INTEGER_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy"; private static final String DOUBLE_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu"; private SharedPreferences preferences; - private SharedPreferencesListEncoder listEncoder; + private final SharedPreferencesListEncoder listEncoder; public LegacySharedPreferencesPlugin() { this(new ListEncoder()); @@ -73,13 +73,6 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin @Override public @NonNull Boolean setString(@NonNull String key, @NonNull String value) { - // TODO (tarrinneal): Move this string prefix checking logic to dart code and make it an Argument Error. - if (value.startsWith(LIST_IDENTIFIER) - || value.startsWith(BIG_INTEGER_PREFIX) - || value.startsWith(DOUBLE_PREFIX)) { - throw new RuntimeException( - "StorageError: This string cannot be stored as it clashes with special identifier prefixes"); - } return preferences.edit().putString(key, value).commit(); } @@ -99,6 +92,7 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin return preferences.edit().remove(key).commit(); } + // Deprecated, for testing purposes only. @Override public @NonNull Boolean setStringList(@NonNull String key, @NonNull List value) throws RuntimeException { @@ -131,14 +125,13 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin // Gets all shared preferences, filtered to only those set with the given prefix. // Optionally filtered also to only those items in the optional [allowList]. - @SuppressWarnings("unchecked") private @NonNull Map getAllPrefs( @NonNull String prefix, @Nullable Set allowList) throws RuntimeException { Map allPrefs = preferences.getAll(); Map filteredPrefs = new HashMap<>(); for (String key : allPrefs.keySet()) { if (key.startsWith(prefix) && (allowList == null || allowList.contains(key))) { - filteredPrefs.put(key, transformPref(key, allPrefs.get(key))); + filteredPrefs.put(key, transformPref(key, Objects.requireNonNull(allPrefs.get(key)))); } } @@ -148,32 +141,14 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin private Object transformPref(@NonNull String key, @NonNull Object value) { if (value instanceof String) { String stringValue = (String) value; - if (stringValue.startsWith(LIST_IDENTIFIER)) { + if (stringValue.startsWith(JSON_LIST_IDENTIFIER)) { + return value; + } else if (stringValue.startsWith(LIST_IDENTIFIER)) { return listEncoder.decode(stringValue.substring(LIST_IDENTIFIER.length())); - } else if (stringValue.startsWith(BIG_INTEGER_PREFIX)) { - // TODO (tarrinneal): Remove all BigInt code. - // https://github.com/flutter/flutter/issues/124420 - String encoded = stringValue.substring(BIG_INTEGER_PREFIX.length()); - return new BigInteger(encoded, Character.MAX_RADIX); } else if (stringValue.startsWith(DOUBLE_PREFIX)) { String doubleStr = stringValue.substring(DOUBLE_PREFIX.length()); return Double.valueOf(doubleStr); } - } else if (value instanceof Set) { - // TODO (tarrinneal): Remove Set code. - // https://github.com/flutter/flutter/issues/124420 - - // This only happens for previous usage of setStringSet. The app expects a list. - @SuppressWarnings("unchecked") - List listValue = new ArrayList<>((Set) value); - // Let's migrate the value too while we are at it. - preferences - .edit() - .remove(key) - .putString(key, LIST_IDENTIFIER + listEncoder.encode(listValue)) - .apply(); - - return listValue; } return value; } diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java index 4041ad9aa6f2..7dd50e5c6ef8 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v16.0.4), do not edit directly. +// Autogenerated from Pigeon (v22.7.0), do not edit directly. // See also: https://pub.dev/packages/pigeon package io.flutter.plugins.sharedpreferences; @@ -13,6 +13,8 @@ import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MessageCodec; import io.flutter.plugin.common.StandardMessageCodec; +import java.io.ByteArrayOutputStream; +import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -39,7 +41,7 @@ public FlutterError(@NonNull String code, @Nullable String message, @Nullable Ob @NonNull protected static ArrayList wrapError(@NonNull Throwable exception) { - ArrayList errorList = new ArrayList(3); + ArrayList errorList = new ArrayList<>(3); if (exception instanceof FlutterError) { FlutterError error = (FlutterError) exception; errorList.add(error.code); @@ -53,6 +55,28 @@ protected static ArrayList wrapError(@NonNull Throwable exception) { } return errorList; } + + private static class PigeonCodec extends StandardMessageCodec { + public static final PigeonCodec INSTANCE = new PigeonCodec(); + + private PigeonCodec() {} + + @Override + protected Object readValueOfType(byte type, @NonNull ByteBuffer buffer) { + switch (type) { + default: + return super.readValueOfType(type, buffer); + } + } + + @Override + protected void writeValue(@NonNull ByteArrayOutputStream stream, Object value) { + { + super.writeValue(stream, value); + } + } + } + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface SharedPreferencesApi { /** Removes property from shared preferences data set. */ @@ -70,7 +94,11 @@ public interface SharedPreferencesApi { /** Adds property to shared preferences data set of type double. */ @NonNull Boolean setDouble(@NonNull String key, @NonNull Double value); - /** Adds property to shared preferences data set of type List. */ + /** + * Adds property to shared preferences data set of type List. + * + *

Deprecated, this is only here for testing purposes. + */ @NonNull Boolean setStringList(@NonNull String key, @NonNull List value); /** Removes all properties from shared preferences data set with matching prefix. */ @@ -82,7 +110,7 @@ public interface SharedPreferencesApi { /** The codec used by SharedPreferencesApi. */ static @NonNull MessageCodec getCodec() { - return new StandardMessageCodec(); + return PigeonCodec.INSTANCE; } /** * Sets up an instance of `SharedPreferencesApi` to handle messages through the @@ -90,26 +118,34 @@ public interface SharedPreferencesApi { */ static void setUp( @NonNull BinaryMessenger binaryMessenger, @Nullable SharedPreferencesApi api) { + setUp(binaryMessenger, "", api); + } + + static void setUp( + @NonNull BinaryMessenger binaryMessenger, + @NonNull String messageChannelSuffix, + @Nullable SharedPreferencesApi api) { + messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; { BinaryMessenger.TaskQueue taskQueue = binaryMessenger.makeBackgroundTaskQueue(); BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.remove", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.remove" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); try { Boolean output = api.remove(keyArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -122,13 +158,14 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setBool", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setBool" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); Boolean valueArg = (Boolean) args.get(1); @@ -136,8 +173,7 @@ static void setUp( Boolean output = api.setBool(keyArg, valueArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -150,13 +186,14 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setString", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setString" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); String valueArg = (String) args.get(1); @@ -164,8 +201,7 @@ static void setUp( Boolean output = api.setString(keyArg, valueArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -178,23 +214,22 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setInt", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setInt" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); - Number valueArg = (Number) args.get(1); + Long valueArg = (Long) args.get(1); try { - Boolean output = - api.setInt(keyArg, (valueArg == null) ? null : valueArg.longValue()); + Boolean output = api.setInt(keyArg, valueArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -207,13 +242,14 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDouble", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDouble" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); Double valueArg = (Double) args.get(1); @@ -221,8 +257,7 @@ static void setUp( Boolean output = api.setDouble(keyArg, valueArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -235,13 +270,14 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); List valueArg = (List) args.get(1); @@ -249,8 +285,7 @@ static void setUp( Boolean output = api.setStringList(keyArg, valueArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -263,13 +298,14 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.clear", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.clear" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String prefixArg = (String) args.get(0); List allowListArg = (List) args.get(1); @@ -277,8 +313,7 @@ static void setUp( Boolean output = api.clear(prefixArg, allowListArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); @@ -291,13 +326,14 @@ static void setUp( BasicMessageChannel channel = new BasicMessageChannel<>( binaryMessenger, - "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.getAll", + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.getAll" + + messageChannelSuffix, getCodec(), taskQueue); if (api != null) { channel.setMessageHandler( (message, reply) -> { - ArrayList wrapped = new ArrayList(); + ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String prefixArg = (String) args.get(0); List allowListArg = (List) args.get(1); @@ -305,8 +341,7 @@ static void setUp( Map output = api.getAll(prefixArg, allowListArg); wrapped.add(0, output); } catch (Throwable exception) { - ArrayList wrappedError = wrapError(exception); - wrapped = wrappedError; + wrapped = wrapError(exception); } reply.reply(wrapped); }); diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt index 6855bad260b9..6a0899ef8a8e 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// Autogenerated from Pigeon (v22.7.0), do not edit directly. // See also: https://pub.dev/packages/pigeon @file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") @@ -94,7 +94,11 @@ interface SharedPreferencesAsyncApi { fun setInt(key: String, value: Long, options: SharedPreferencesPigeonOptions) /** Adds property to shared preferences data set of type double. */ fun setDouble(key: String, value: Double, options: SharedPreferencesPigeonOptions) - /** Adds property to shared preferences data set of type List. */ + /** + * Adds property to shared preferences data set of type List. + * + * Deprecated, this is only here for testing purposes. + */ fun setStringList(key: String, value: List, options: SharedPreferencesPigeonOptions) /** Gets individual String value stored with [key], if any. */ fun getString(key: String, options: SharedPreferencesPigeonOptions): String? @@ -105,7 +109,7 @@ interface SharedPreferencesAsyncApi { /** Gets individual int value stored with [key], if any. */ fun getInt(key: String, options: SharedPreferencesPigeonOptions): Long? /** Gets individual List value stored with [key], if any. */ - fun getStringList(key: String, options: SharedPreferencesPigeonOptions): List? + fun getStringList(key: String, options: SharedPreferencesPigeonOptions): Any? /** Removes all properties from shared preferences data set with matching prefix. */ fun clear(allowList: List?, options: SharedPreferencesPigeonOptions) /** Gets all properties from shared preferences data set with matching prefix. */ diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt index e0ca35b258cf..2460ef181baa 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt @@ -31,6 +31,7 @@ import kotlinx.coroutines.runBlocking const val TAG = "SharedPreferencesPlugin" const val SHARED_PREFERENCES_NAME = "FlutterSharedPreferences" const val LIST_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu" +const val JSON_LIST_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!" const val DOUBLE_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu" private val Context.sharedPreferencesDataStore: DataStore by @@ -189,9 +190,16 @@ class SharedPreferencesPlugin() : FlutterPlugin, SharedPreferencesAsyncApi { } /** Gets StringList at [key] from data store. */ - override fun getStringList(key: String, options: SharedPreferencesPigeonOptions): List? { - val value: List<*>? = transformPref(getString(key, options) as Any?, listEncoder) as List<*>? - return value?.filterIsInstance() + override fun getStringList(key: String, options: SharedPreferencesPigeonOptions): Any? { + val stringValue = getString(key, options) + stringValue?.let { + if (stringValue.startsWith(JSON_LIST_PREFIX)) { + return stringValue + } + val value: List<*>? = transformPref(stringValue, listEncoder) as List<*>? + return value?.filterIsInstance() + } + return null } /** Gets all properties from data store. */ @@ -360,13 +368,16 @@ class SharedPreferencesBackend( } /** Gets StringList at [key] from data store. */ - override fun getStringList(key: String, options: SharedPreferencesPigeonOptions): List? { + override fun getStringList(key: String, options: SharedPreferencesPigeonOptions): Any? { val preferences = createSharedPreferences(options) - return if (preferences.contains(key)) { - (transformPref(preferences.getString(key, ""), listEncoder) as List<*>?)?.filterIsInstance< - String>() + if (preferences.contains(key)) { + val transformed = transformPref(preferences.getString(key, ""), listEncoder) + if (transformed is String) { + return transformed + } + return (transformed as List<*>?)?.filterIsInstance() } else { - null + return null } } @@ -400,7 +411,9 @@ internal fun preferencesFilter(key: String, value: Any?, allowList: Set? /** Transforms preferences that are stored as Strings back to original type. */ internal fun transformPref(value: Any?, listEncoder: SharedPreferencesListEncoder): Any? { if (value is String) { - if (value.startsWith(LIST_PREFIX)) { + if (value.startsWith(JSON_LIST_PREFIX)) { + return value + } else if (value.startsWith(LIST_PREFIX)) { return listEncoder.decode(value.substring(LIST_PREFIX.length)) } else if (value.startsWith(DOUBLE_PREFIX)) { return value.substring(DOUBLE_PREFIX.length).toDouble() diff --git a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart index 0335b00968b8..1b5f65d3c9dd 100644 --- a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart @@ -483,7 +483,7 @@ void main() { ]; for (final String prefix in specialPrefixes) { expect(preferences.setValue('String', key, prefix + value), - throwsA(isA())); + throwsA(isA())); final Map values = await preferences.getAllWithParameters( GetAllParameters( @@ -493,6 +493,37 @@ void main() { expect(values[key], null); } }); + + testWidgets( + 'old list encoding with getPreferences can be re-added with new encoding without data loss', + (WidgetTester _) async { + await preferences.clearWithParameters( + ClearParameters( + filter: PreferencesFilter(prefix: ''), + ), + ); + await preferences.setValue('String', 'String', allTestValues['String']!); + await preferences.setValue('Bool', 'Bool', allTestValues['Bool']!); + await preferences.setValue('Int', 'Int', allTestValues['Int']!); + await preferences.setValue('Double', 'Double', allTestValues['Double']!); + await preferences.setValue('LegacyStringListForTesting', 'StringList', + allTestValues['StringList']!); + Map prefs = await preferences.getAllWithParameters( + GetAllParameters( + filter: PreferencesFilter(prefix: ''), + ), + ); + expect(prefs['StringList'], allTestValues['StringList']); + await preferences.setValue( + 'StringList', 'StringList', prefs['StringList']!); + prefs = await preferences.getAllWithParameters( + GetAllParameters( + filter: PreferencesFilter(prefix: ''), + ), + ); + + expect(prefs['StringList'], allTestValues['StringList']); + }); }); const String stringKey = 'testString'; @@ -757,6 +788,69 @@ void main() { expect(await preferences.getDouble(doubleKey, options), testDouble); expect(await preferences.getStringList(listKey, options), testList); }); + + testWidgets( + 'list encoding updates to new encoding process without data loss with $backend', + (WidgetTester _) async { + final SharedPreferencesAsyncAndroidOptions options = + getOptions(useDataStore: useDataStore, fileName: 'notDefault'); + final SharedPreferencesAsyncAndroid preferences = + getPreferences() as SharedPreferencesAsyncAndroid; + await clearPreferences(preferences, options); + await preferences.setStringListLegacyForTesting( + listKey, testList, options); + final List? oldSystemList = + await preferences.getStringList(listKey, options); + expect(oldSystemList, testList); + await preferences.setStringList(listKey, oldSystemList!, options); + expect(await preferences.getStringList(listKey, options), testList); + }); + + testWidgets( + 'old list encoding still functions with getPreferences with $backend', + (WidgetTester _) async { + final SharedPreferencesAsyncAndroidOptions options = + getOptions(useDataStore: useDataStore, fileName: 'notDefault'); + final SharedPreferencesAsyncAndroid preferences = + getPreferences() as SharedPreferencesAsyncAndroid; + await clearPreferences(preferences, options); + await Future.wait(>[ + preferences.setString(stringKey, testString, options), + preferences.setBool(boolKey, testBool, options), + preferences.setInt(intKey, testInt, options), + preferences.setDouble(doubleKey, testDouble, options), + preferences.setStringListLegacyForTesting(listKey, testList, options) + ]); + + final Map prefs = await preferences.getPreferences( + const GetPreferencesParameters(filter: PreferencesFilters()), + options); + expect(prefs[listKey], testList); + }); + + testWidgets( + 'old list encoding with getPreferences can be re-added with new encoding without data loss with $backend', + (WidgetTester _) async { + final SharedPreferencesAsyncAndroidOptions options = + getOptions(useDataStore: useDataStore, fileName: 'notDefault'); + final SharedPreferencesAsyncAndroid preferences = + getPreferences() as SharedPreferencesAsyncAndroid; + await clearPreferences(preferences, options); + await Future.wait(>[ + preferences.setString(stringKey, testString, options), + preferences.setBool(boolKey, testBool, options), + preferences.setInt(intKey, testInt, options), + preferences.setDouble(doubleKey, testDouble, options), + preferences.setStringListLegacyForTesting(listKey, testList, options) + ]); + + final Map prefs = await preferences.getPreferences( + const GetPreferencesParameters(filter: PreferencesFilters()), + options); + await preferences.setStringList(listKey, + (prefs[listKey]! as List).cast(), options); + expect(await preferences.getStringList(listKey, options), testList); + }); }); } diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart b/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart index 3a0034796d39..84c1c5fdcbf9 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v16.0.4), do not edit directly. +// Autogenerated from Pigeon (v22.7.0), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers @@ -18,256 +18,283 @@ PlatformException _createConnectionError(String channelName) { ); } +class _PigeonCodec extends StandardMessageCodec { + const _PigeonCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is int) { + buffer.putUint8(4); + buffer.putInt64(value); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + default: + return super.readValueOfType(type, buffer); + } + } +} + class SharedPreferencesApi { /// Constructor for [SharedPreferencesApi]. The [binaryMessenger] named argument is /// available for dependency injection. If it is left null, the default /// BinaryMessenger will be used which routes to the host platform. - SharedPreferencesApi({BinaryMessenger? binaryMessenger}) - : __pigeon_binaryMessenger = binaryMessenger; - final BinaryMessenger? __pigeon_binaryMessenger; + SharedPreferencesApi( + {BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) + : pigeonVar_binaryMessenger = binaryMessenger, + pigeonVar_messageChannelSuffix = + messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + final BinaryMessenger? pigeonVar_binaryMessenger; + + static const MessageCodec pigeonChannelCodec = _PigeonCodec(); - static const MessageCodec pigeonChannelCodec = - StandardMessageCodec(); + final String pigeonVar_messageChannelSuffix; /// Removes property from shared preferences data set. Future remove(String key) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.remove'; - final BasicMessageChannel __pigeon_channel = + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.remove$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([key]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Adds property to shared preferences data set of type bool. Future setBool(String key, bool value) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setBool'; - final BasicMessageChannel __pigeon_channel = + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setBool$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([key, value]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key, value]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Adds property to shared preferences data set of type String. Future setString(String key, String value) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setString'; - final BasicMessageChannel __pigeon_channel = + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setString$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([key, value]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key, value]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Adds property to shared preferences data set of type int. Future setInt(String key, int value) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setInt'; - final BasicMessageChannel __pigeon_channel = + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setInt$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([key, value]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key, value]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Adds property to shared preferences data set of type double. Future setDouble(String key, double value) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDouble'; - final BasicMessageChannel __pigeon_channel = + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDouble$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([key, value]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key, value]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Adds property to shared preferences data set of type List. - Future setStringList(String key, List value) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList'; - final BasicMessageChannel __pigeon_channel = + /// + /// Deprecated, this is only here for testing purposes. + Future setStringList(String key, List value) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([key, value]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key, value]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Removes all properties from shared preferences data set with matching prefix. - Future clear(String prefix, List? allowList) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.clear'; - final BasicMessageChannel __pigeon_channel = + Future clear(String prefix, List? allowList) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.clear$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([prefix, allowList]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as bool?)!; + return (pigeonVar_replyList[0] as bool?)!; } } /// Gets all properties from shared preferences data set with matching prefix. - Future> getAll( - String prefix, List? allowList) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.getAll'; - final BasicMessageChannel __pigeon_channel = + Future> getAll( + String prefix, List? allowList) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.getAll$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([prefix, allowList]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (__pigeon_replyList[0] == null) { + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( code: 'null-error', message: 'Host platform returned null value for non-null return value.', ); } else { - return (__pigeon_replyList[0] as Map?)! - .cast(); + return (pigeonVar_replyList[0] as Map?)! + .cast(); } } } diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart b/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart index c21b49cca96f..d85d0539521d 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// Autogenerated from Pigeon (v22.7.0), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers @@ -190,6 +190,8 @@ class SharedPreferencesAsyncApi { } /// Adds property to shared preferences data set of type List. + /// + /// Deprecated, this is only here for testing purposes. Future setStringList(String key, List value, SharedPreferencesPigeonOptions options) async { final String pigeonVar_channelName = @@ -320,7 +322,7 @@ class SharedPreferencesAsyncApi { } /// Gets individual List value stored with [key], if any. - Future?> getStringList( + Future getStringList( String key, SharedPreferencesPigeonOptions options) async { final String pigeonVar_channelName = 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesAsyncApi.getStringList$pigeonVar_messageChannelSuffix'; @@ -341,7 +343,7 @@ class SharedPreferencesAsyncApi { details: pigeonVar_replyList[2], ); } else { - return (pigeonVar_replyList[0] as List?)?.cast(); + return pigeonVar_replyList[0]; } } diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart index 67cc0835635d..6b13333d2b11 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:convert'; + import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; @@ -10,6 +12,11 @@ import 'package:shared_preferences_platform_interface/types.dart'; import 'messages.g.dart'; import 'shared_preferences_async_android.dart'; +const String _listPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'; +const String _bigIntPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy'; +const String _doublePrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu'; +const String _jsonListPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!'; + /// The Android implementation of [SharedPreferencesStorePlatform]. /// /// This class implements the `package:shared_preferences` functionality for Android. @@ -39,7 +46,15 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { Future setValue(String valueType, String key, Object value) async { switch (valueType) { case 'String': - return _api.setString(key, value as String); + value as String; + if (value.startsWith(_listPrefix) || + value.startsWith(_jsonListPrefix) || + value.startsWith(_bigIntPrefix) || + value.startsWith(_doublePrefix)) { + throw ArgumentError( + 'The string $value cannot be stored as it clashes with special identifier prefixes'); + } + return _api.setString(key, value); case 'Bool': return _api.setBool(key, value as bool); case 'Int': @@ -47,12 +62,12 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { case 'Double': return _api.setDouble(key, value as double); case 'StringList': + return _api.setString(key, '$_jsonListPrefix${jsonEncode(value)}'); + case 'LegacyStringListForTesting': return _api.setStringList(key, value as List); } - // TODO(tarrinneal): change to ArgumentError across all platforms. - throw PlatformException( - code: 'InvalidOperation', - message: '"$valueType" is not a supported type.'); + throw ArgumentError( + 'value: $value of type: $valueType" is not of a supported type.'); } @override @@ -100,6 +115,16 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { final PreferencesFilter filter = parameters.filter; final Map data = await _api.getAll(filter.prefix, filter.allowList?.toList()); + data.forEach((String? key, Object? value) { + if (value.runtimeType == String && + (value! as String).startsWith(_jsonListPrefix)) { + data[key!] = + (jsonDecode((value as String).substring(_jsonListPrefix.length)) + as List) + .cast() + .toList(); + } + }); return data.cast(); } } diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart index 2b6dcd5bcaa1..e396fb608053 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:convert'; + import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_async_platform_interface.dart'; @@ -10,6 +12,7 @@ import 'package:shared_preferences_platform_interface/types.dart'; import 'messages_async.g.dart'; const String _listPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'; +const String _jsonListPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!'; /// The Android implementation of [SharedPreferencesAsyncPlatform]. /// @@ -126,6 +129,21 @@ base class SharedPreferencesAsyncAndroid String key, List value, SharedPreferencesOptions options, + ) async { + final SharedPreferencesPigeonOptions pigeonOptions = + _convertOptionsToPigeonOptions(options); + final SharedPreferencesAsyncApi api = _getApiForBackend(pigeonOptions); + final String stringValue = '$_jsonListPrefix${jsonEncode(value)}'; + return api.setString(key, stringValue, pigeonOptions); + } + + /// Adds a `List` to preferences using the no longer used system to test + /// moving from the old system to the new one. + @visibleForTesting + Future setStringListLegacyForTesting( + String key, + List value, + SharedPreferencesOptions options, ) async { final SharedPreferencesPigeonOptions pigeonOptions = _convertOptionsToPigeonOptions(options); @@ -189,10 +207,25 @@ base class SharedPreferencesAsyncAndroid final SharedPreferencesPigeonOptions pigeonOptions = _convertOptionsToPigeonOptions(options); final SharedPreferencesAsyncApi api = _getApiForBackend(pigeonOptions); - // TODO(tarrinneal): Remove cast once https://github.com/flutter/flutter/issues/97848 - // is fixed. In practice, the values will never be null, and the native implementation assumes that. - return _convertKnownExceptions>(() async => - (await api.getStringList(key, pigeonOptions))?.cast().toList()); + final Object? dynamicStringList = await _convertKnownExceptions( + () async => api.getStringList(key, pigeonOptions)); + if (dynamicStringList.runtimeType == String) { + final String jsonEncodedString = + (dynamicStringList! as String).substring(_jsonListPrefix.length); + try { + final List decodedList = + (jsonDecode(jsonEncodedString) as List).cast(); + return decodedList; + } catch (e) { + throw TypeError(); + } + } else if (dynamicStringList.runtimeType == List) { + return (dynamicStringList! as List).cast().toList(); + } else if (dynamicStringList.runtimeType == Null) { + return null; + } else { + throw TypeError(); + } } Future _convertKnownExceptions(Future Function() method) async { @@ -236,6 +269,16 @@ base class SharedPreferencesAsyncAndroid filter.allowList?.toList(), pigeonOptions, ); + data.forEach((String? key, Object? value) { + if (value.runtimeType == String && + (value! as String).startsWith(_jsonListPrefix)) { + data[key!] = + (jsonDecode((value as String).substring(_jsonListPrefix.length)) + as List) + .cast() + .toList(); + } + }); return data.cast(); } } diff --git a/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart b/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart index e359c3266831..676c0c3afb2f 100644 --- a/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart +++ b/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart @@ -36,6 +36,8 @@ abstract class SharedPreferencesApi { bool setDouble(String key, double value); /// Adds property to shared preferences data set of type List. + /// + /// Deprecated, this is only here for testing purposes. @TaskQueue(type: TaskQueueType.serialBackgroundThread) bool setStringList(String key, List value); diff --git a/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart b/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart index 9334123482b5..15bc4e93c1dc 100644 --- a/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart +++ b/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart @@ -55,6 +55,8 @@ abstract class SharedPreferencesAsyncApi { ); /// Adds property to shared preferences data set of type List. + /// + /// Deprecated, this is only here for testing purposes. @TaskQueue(type: TaskQueueType.serialBackgroundThread) void setStringList( String key, @@ -92,7 +94,7 @@ abstract class SharedPreferencesAsyncApi { /// Gets individual List value stored with [key], if any. @TaskQueue(type: TaskQueueType.serialBackgroundThread) - List? getStringList( + Object? getStringList( String key, SharedPreferencesPigeonOptions options, ); diff --git a/packages/shared_preferences/shared_preferences_android/pubspec.yaml b/packages/shared_preferences/shared_preferences_android/pubspec.yaml index 594d763c6f8a..5c8916ee37c9 100644 --- a/packages/shared_preferences/shared_preferences_android/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_android/pubspec.yaml @@ -2,7 +2,7 @@ name: shared_preferences_android description: Android implementation of the shared_preferences plugin repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22 -version: 2.4.0 +version: 3.0.0 environment: sdk: ^3.5.0 diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index c30fa08d18d2..8931d9691c0d 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -259,7 +259,7 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { final Map items = {}; @override - Future> getAll( + Future> getAll( String prefix, List? allowList, ) async { @@ -267,11 +267,11 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { if (allowList != null) { allowSet = Set.from(allowList); } - return { + return { for (final String key in items.keys) if (key.startsWith(prefix) && (allowSet == null || allowSet.contains(key))) - key: items[key] + key: items[key]! }; } @@ -321,4 +321,12 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { items[key] = value; return true; } + + @override + // ignore: non_constant_identifier_names + BinaryMessenger? get pigeonVar_binaryMessenger => throw UnimplementedError(); + + @override + // ignore: non_constant_identifier_names + String get pigeonVar_messageChannelSuffix => throw UnimplementedError(); } diff --git a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md index 6af9743b2e0a..9f28cea1743a 100644 --- a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.0.0 + +* Updates un-supported type errors to `ArgumentError`. + ## 2.5.4 * Updates Pigeon to fix lint error. diff --git a/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart b/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart index 3fccb90e73c6..152ee13021ea 100644 --- a/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart +++ b/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart @@ -98,9 +98,8 @@ class SharedPreferencesFoundation extends SharedPreferencesStorePlatform { Future setValue(String valueType, String key, Object value) async { final _Setter? setter = _setters[valueType]; if (setter == null) { - throw PlatformException( - code: 'InvalidOperation', - message: '"$valueType" is not a supported type.'); + throw ArgumentError( + 'value: $value of type: $valueType" is not of a supported type.'); } await setter(key, value); return true; diff --git a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml index 915f1c5707a8..b5383ee4a384 100644 --- a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml @@ -2,7 +2,7 @@ name: shared_preferences_foundation description: iOS and macOS implementation of the shared_preferences plugin. repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences_foundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22 -version: 2.5.4 +version: 3.0.0 environment: sdk: ^3.4.0 From 089d11dcdd775d208e9283127f7253321b617d6c Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Thu, 2 Jan 2025 11:36:21 -0800 Subject: [PATCH 2/9] fix test set up and legacy android system --- .../lib/src/shared_preferences_android.dart | 20 ++--- .../src/shared_preferences_async_android.dart | 53 +++++++----- .../lib/src/strings.dart | 12 +++ .../test/shared_preferences_android_test.dart | 84 ++++++++++++------- .../test/shared_preferences_async_test.dart | 9 +- .../shared_preferences_foundation_test.dart | 2 +- 6 files changed, 115 insertions(+), 65 deletions(-) create mode 100644 packages/shared_preferences/shared_preferences_android/lib/src/strings.dart diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart index 6b13333d2b11..d32e96a615ee 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart @@ -5,17 +5,12 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; import 'package:shared_preferences_platform_interface/types.dart'; import 'messages.g.dart'; import 'shared_preferences_async_android.dart'; - -const String _listPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'; -const String _bigIntPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy'; -const String _doublePrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu'; -const String _jsonListPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!'; +import 'strings.dart'; /// The Android implementation of [SharedPreferencesStorePlatform]. /// @@ -47,10 +42,9 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { switch (valueType) { case 'String': value as String; - if (value.startsWith(_listPrefix) || - value.startsWith(_jsonListPrefix) || - value.startsWith(_bigIntPrefix) || - value.startsWith(_doublePrefix)) { + if (value.startsWith(listPrefix) || + value.startsWith(jsonListPrefix) || + value.startsWith(doublePrefix)) { throw ArgumentError( 'The string $value cannot be stored as it clashes with special identifier prefixes'); } @@ -62,7 +56,7 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { case 'Double': return _api.setDouble(key, value as double); case 'StringList': - return _api.setString(key, '$_jsonListPrefix${jsonEncode(value)}'); + return _api.setString(key, '$jsonListPrefix${jsonEncode(value)}'); case 'LegacyStringListForTesting': return _api.setStringList(key, value as List); } @@ -117,9 +111,9 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { await _api.getAll(filter.prefix, filter.allowList?.toList()); data.forEach((String? key, Object? value) { if (value.runtimeType == String && - (value! as String).startsWith(_jsonListPrefix)) { + (value! as String).startsWith(jsonListPrefix)) { data[key!] = - (jsonDecode((value as String).substring(_jsonListPrefix.length)) + (jsonDecode((value as String).substring(jsonListPrefix.length)) as List) .cast() .toList(); diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart index e396fb608053..66c6fdd698ce 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart @@ -10,9 +10,9 @@ import 'package:shared_preferences_platform_interface/shared_preferences_async_p import 'package:shared_preferences_platform_interface/types.dart'; import 'messages_async.g.dart'; +import 'strings.dart'; const String _listPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'; -const String _jsonListPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!'; /// The Android implementation of [SharedPreferencesAsyncPlatform]. /// @@ -133,7 +133,7 @@ base class SharedPreferencesAsyncAndroid final SharedPreferencesPigeonOptions pigeonOptions = _convertOptionsToPigeonOptions(options); final SharedPreferencesAsyncApi api = _getApiForBackend(pigeonOptions); - final String stringValue = '$_jsonListPrefix${jsonEncode(value)}'; + final String stringValue = '$jsonListPrefix${jsonEncode(value)}'; return api.setString(key, stringValue, pigeonOptions); } @@ -209,22 +209,35 @@ base class SharedPreferencesAsyncAndroid final SharedPreferencesAsyncApi api = _getApiForBackend(pigeonOptions); final Object? dynamicStringList = await _convertKnownExceptions( () async => api.getStringList(key, pigeonOptions)); - if (dynamicStringList.runtimeType == String) { - final String jsonEncodedString = - (dynamicStringList! as String).substring(_jsonListPrefix.length); - try { - final List decodedList = - (jsonDecode(jsonEncodedString) as List).cast(); - return decodedList; - } catch (e) { - throw TypeError(); - } - } else if (dynamicStringList.runtimeType == List) { - return (dynamicStringList! as List).cast().toList(); - } else if (dynamicStringList.runtimeType == Null) { - return null; - } else { - throw TypeError(); + print('-------------------------'); + print(dynamicStringList.runtimeType); + print(dynamicStringList); + switch (dynamicStringList.runtimeType) { + case const (String): + { + final String jsonEncodedString = + (dynamicStringList! as String).substring(jsonListPrefix.length); + try { + final List decodedList = + (jsonDecode(jsonEncodedString) as List).cast(); + return decodedList; + } catch (e) { + throw TypeError(); + } + } + case const (List): + { + return (dynamicStringList! as List).cast().toList(); + } + case const (Null): + { + return null; + } + default: + { + print(dynamicStringList.runtimeType); + throw TypeError(); + } } } @@ -271,9 +284,9 @@ base class SharedPreferencesAsyncAndroid ); data.forEach((String? key, Object? value) { if (value.runtimeType == String && - (value! as String).startsWith(_jsonListPrefix)) { + (value! as String).startsWith(jsonListPrefix)) { data[key!] = - (jsonDecode((value as String).substring(_jsonListPrefix.length)) + (jsonDecode((value as String).substring(jsonListPrefix.length)) as List) .cast() .toList(); diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart b/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart new file mode 100644 index 000000000000..e0757e2f0016 --- /dev/null +++ b/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart @@ -0,0 +1,12 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/// String prefix for lists that are encoded with json in dart. +const String jsonListPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!'; + +/// String prefix for lists that are encoded on the platform. +const String listPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'; + +/// String prefix for doubles that are encoded as strings on the platform. +const String doublePrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu'; diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index 8931d9691c0d..2ecbcc0b28c4 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -2,10 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:convert'; + import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences_android/shared_preferences_android.dart'; import 'package:shared_preferences_android/src/messages.g.dart'; +import 'package:shared_preferences_android/src/strings.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; import 'package:shared_preferences_platform_interface/types.dart'; @@ -38,11 +41,22 @@ void main() { 'StringList': ['foo', 'bar'], }; - final Map allTestValues = {}; + final Map allTestValuesForComparison = {}; + + allTestValuesForComparison.addAll(flutterTestValues); + allTestValuesForComparison.addAll(prefixTestValues); + allTestValuesForComparison.addAll(nonPrefixTestValues); + + final Map allTestValuesForAddingDirectlyToCache = + {...allTestValuesForComparison}; - allTestValues.addAll(flutterTestValues); - allTestValues.addAll(prefixTestValues); - allTestValues.addAll(nonPrefixTestValues); + final String encodedListStringValue = + '$jsonListPrefix${jsonEncode(['foo', 'bar'])}'; + allTestValuesForAddingDirectlyToCache['flutter.StringList'] = + encodedListStringValue; + allTestValuesForAddingDirectlyToCache['prefix.StringList'] = + encodedListStringValue; + allTestValuesForAddingDirectlyToCache['StringList'] = encodedListStringValue; setUp(() { api = _FakeSharedPreferencesApi(); @@ -68,8 +82,8 @@ void main() { }); test('clearWithPrefix', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } Map all = await plugin.getAllWithPrefix('prefix.'); @@ -82,8 +96,8 @@ void main() { }); test('clearWithParameters', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } Map all = await plugin.getAllWithParameters( @@ -108,8 +122,8 @@ void main() { }); test('clearWithParameters with allow list', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } Map all = await plugin.getAllWithParameters( @@ -146,17 +160,17 @@ void main() { }); test('getAllWithNoPrefix', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } final Map all = await plugin.getAllWithPrefix(''); expect(all.length, 15); - expect(all, allTestValues); + expect(all, allTestValuesForComparison); }); test('clearWithNoPrefix', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } Map all = await plugin.getAllWithPrefix(''); @@ -167,8 +181,8 @@ void main() { }); test('getAllWithParameters', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } final Map all = await plugin.getAllWithParameters( GetAllParameters( @@ -180,8 +194,8 @@ void main() { }); test('getAllWithParameters with allow list', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } final Map all = await plugin.getAllWithParameters( GetAllParameters( @@ -208,18 +222,19 @@ void main() { await plugin .setValue('StringList', 'flutter.StringList', ['hi']), isTrue); - expect(api.items['flutter.StringList'], ['hi']); + expect(api.items['flutter.StringList'], + '$jsonListPrefix${jsonEncode(['hi'])}'); }); test('setValue with unsupported type', () async { expect(() async { await plugin.setValue('Map', 'flutter.key', {}); - }, throwsA(isA())); + }, throwsA(isA())); }); test('getAllWithNoPrefix', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } final Map all = await plugin.getAllWithParameters( GetAllParameters( @@ -227,12 +242,12 @@ void main() { ), ); expect(all.length, 15); - expect(all, allTestValues); + expect(all, allTestValuesForComparison); }); test('clearWithNoPrefix', () async { - for (final String key in allTestValues.keys) { - api.items[key] = allTestValues[key]!; + for (final String key in allTestValuesForAddingDirectlyToCache.keys) { + api.items[key] = allTestValuesForAddingDirectlyToCache[key]!; } Map all = await plugin.getAllWithParameters( @@ -267,12 +282,25 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { if (allowList != null) { allowSet = Set.from(allowList); } - return { + final Map filteredItems = { for (final String key in items.keys) if (key.startsWith(prefix) && (allowSet == null || allowSet.contains(key))) key: items[key]! }; + filteredItems.forEach((String? key, Object? value) { + if (value.runtimeType == String && + (value! as String).startsWith(jsonListPrefix)) { + print('------'); + print(value); + filteredItems[key!] = + (jsonDecode((value as String).substring(jsonListPrefix.length)) + as List) + .cast() + .toList(); + } + }); + return filteredItems; } @override @@ -318,7 +346,7 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { @override Future setStringList(String key, List value) async { - items[key] = value; + items[key] = '$jsonListPrefix${jsonEncode(value)}'; return true; } diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart index fd2907e164b1..e964c5d60a06 100755 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart @@ -83,7 +83,10 @@ void main() { getPreferences(useDataStore); await preferences.setStringList(listKey, testList, emptyOptions); - expect(await preferences.getStringList(listKey, emptyOptions), testList); + final List? response = + await preferences.getStringList(listKey, emptyOptions); + + expect(response, testList); }); test('getPreferences with $backend', () async { @@ -292,9 +295,9 @@ class _FakeSharedPreferencesApi implements SharedPreferencesAsyncApi { } @override - Future?> getStringList( + Future getStringList( String key, SharedPreferencesPigeonOptions options) async { - return items[key] as List?; + return items[key]; } @override diff --git a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart index 3543e69b9bc5..f5f8265b6b28 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart @@ -265,7 +265,7 @@ void main() { final SharedPreferencesFoundation plugin = SharedPreferencesFoundation(); expect(() async { await plugin.setValue('Map', 'flutter.key', {}); - }, throwsA(isA())); + }, throwsA(isA())); }); test('getAllWithNoPrefix', () async { From c0c08df463987448caffdf02a7b83a0ffb3802ee Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Fri, 3 Jan 2025 04:08:09 -0800 Subject: [PATCH 3/9] format analyze update to latest pigeon --- .../shared_preferences_android/CHANGELOG.md | 2 +- .../java/io/flutter/plugins/sharedpreferences/Messages.java | 2 +- .../io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt | 2 +- .../example/integration_test/shared_preferences_test.dart | 1 - .../shared_preferences_android/lib/src/messages.g.dart | 2 +- .../shared_preferences_android/lib/src/messages_async.g.dart | 2 +- .../lib/src/shared_preferences_async_android.dart | 4 ---- .../shared_preferences_android/pubspec.yaml | 2 +- .../test/shared_preferences_android_test.dart | 2 -- .../shared_preferences_foundation/CHANGELOG.md | 2 +- .../Sources/shared_preferences_foundation/messages.g.swift | 2 +- .../shared_preferences_foundation/lib/src/messages.g.dart | 2 +- .../lib/src/shared_preferences_foundation.dart | 1 - .../shared_preferences_foundation/pubspec.yaml | 2 +- .../test/shared_preferences_foundation_test.dart | 1 - .../shared_preferences_foundation/test/test_api.g.dart | 2 +- 16 files changed, 11 insertions(+), 20 deletions(-) diff --git a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md index 6c59bb9102b3..71f0d88c53be 100644 --- a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md @@ -1,6 +1,6 @@ ## 3.0.0 -* Updates un-supported type errors to `ArgumentError`. +* Updates non-supported type errors to `ArgumentError`. * Removes support for reading `BigInt` and `Set`. * Moves `List` encoding to dart `JSON` package. diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java index 7dd50e5c6ef8..31b3d60fca5a 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.0), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon package io.flutter.plugins.sharedpreferences; diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt index 6a0899ef8a8e..5c1e1018a766 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.0), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon @file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") diff --git a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart index 1b5f65d3c9dd..9cbd5ecdaf84 100644 --- a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:shared_preferences_android/shared_preferences_android.dart'; diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart b/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart index 84c1c5fdcbf9..5d8428f06e35 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.0), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart b/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart index d85d0539521d..8ce209071e10 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.0), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart index 66c6fdd698ce..b040ba5d578c 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart @@ -209,9 +209,6 @@ base class SharedPreferencesAsyncAndroid final SharedPreferencesAsyncApi api = _getApiForBackend(pigeonOptions); final Object? dynamicStringList = await _convertKnownExceptions( () async => api.getStringList(key, pigeonOptions)); - print('-------------------------'); - print(dynamicStringList.runtimeType); - print(dynamicStringList); switch (dynamicStringList.runtimeType) { case const (String): { @@ -235,7 +232,6 @@ base class SharedPreferencesAsyncAndroid } default: { - print(dynamicStringList.runtimeType); throw TypeError(); } } diff --git a/packages/shared_preferences/shared_preferences_android/pubspec.yaml b/packages/shared_preferences/shared_preferences_android/pubspec.yaml index 5c8916ee37c9..a3a10c2450c7 100644 --- a/packages/shared_preferences/shared_preferences_android/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_android/pubspec.yaml @@ -25,7 +25,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - pigeon: ^22.6.0 + pigeon: ^22.7.2 topics: - persistence diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index 2ecbcc0b28c4..f36e0dd945da 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -291,8 +291,6 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { filteredItems.forEach((String? key, Object? value) { if (value.runtimeType == String && (value! as String).startsWith(jsonListPrefix)) { - print('------'); - print(value); filteredItems[key!] = (jsonDecode((value as String).substring(jsonListPrefix.length)) as List) diff --git a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md index 9f28cea1743a..eefc1a78447c 100644 --- a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md @@ -1,6 +1,6 @@ ## 3.0.0 -* Updates un-supported type errors to `ArgumentError`. +* Updates non-supported type errors to `ArgumentError`. ## 2.5.4 diff --git a/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift b/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift index 665ea2e5ed6b..5d945be0fec9 100644 --- a/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift +++ b/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.4.1), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon import Foundation diff --git a/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart b/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart index 50d77fcdc77a..92516db8a3dc 100644 --- a/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart +++ b/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.4.1), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers diff --git a/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart b/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart index 152ee13021ea..7123959bed51 100644 --- a/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart +++ b/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/services.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; import 'package:shared_preferences_platform_interface/types.dart'; import './messages.g.dart'; diff --git a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml index b5383ee4a384..09f71d1ba6dc 100644 --- a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml @@ -29,7 +29,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - pigeon: ^22.4.1 + pigeon: ^22.7.2 topics: - persistence diff --git a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart index f5f8265b6b28..1f60cc1e53ea 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences_foundation/src/shared_preferences_foundation.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; diff --git a/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart b/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart index ebeabbc6d16f..0abbd0b778f6 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.4.1), do not edit directly. +// Autogenerated from Pigeon (v22.7.2), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import, no_leading_underscores_for_local_identifiers // ignore_for_file: avoid_relative_lib_imports From 2ef0a01ce30f7e638eca959cb3412caa6c1e48c0 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Fri, 3 Jan 2025 04:33:35 -0800 Subject: [PATCH 4/9] remove unneeded braces from switch statement --- .../src/shared_preferences_async_android.dart | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart index b040ba5d578c..f9e47730dd7d 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart @@ -211,29 +211,21 @@ base class SharedPreferencesAsyncAndroid () async => api.getStringList(key, pigeonOptions)); switch (dynamicStringList.runtimeType) { case const (String): - { - final String jsonEncodedString = - (dynamicStringList! as String).substring(jsonListPrefix.length); - try { - final List decodedList = - (jsonDecode(jsonEncodedString) as List).cast(); - return decodedList; - } catch (e) { - throw TypeError(); - } + final String jsonEncodedString = + (dynamicStringList! as String).substring(jsonListPrefix.length); + try { + final List decodedList = + (jsonDecode(jsonEncodedString) as List).cast(); + return decodedList; + } catch (e) { + throw TypeError(); } case const (List): - { - return (dynamicStringList! as List).cast().toList(); - } + return (dynamicStringList! as List).cast().toList(); case const (Null): - { - return null; - } + return null; default: - { - throw TypeError(); - } + throw TypeError(); } } From bad5268241063f8683dc11afd6d56a3906add25d Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Mon, 6 Jan 2025 14:39:00 -0800 Subject: [PATCH 5/9] revert all breaking changes --- packages/flutter_markdown/CHANGELOG.md | 3 +- .../flutter_markdown/lib/src/builder.dart | 77 +++++++++++++----- packages/flutter_markdown/pubspec.yaml | 3 +- .../test/custom_syntax_test.dart | 9 +- .../test/flutter_test_config.dart | 13 +++ .../flutter_markdown/test/image_test.dart | 1 + packages/flutter_markdown/test/link_test.dart | 3 +- .../flutter_markdown/test/padding_test.dart | 1 + .../test/scrollable_test.dart | 1 + packages/flutter_template_images/CHANGELOG.md | 4 + packages/flutter_template_images/pubspec.yaml | 2 +- .../templates/app_shared/README.md | 10 --- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 0 bytes .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../AppIcon.appiconset/app_icon_1024.png | Bin 102994 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 5680 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 520 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 14142 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1066 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 36406 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 2218 -> 0 bytes .../web/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../web/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes .../runner/resources/app_icon.ico | Bin 33772 -> 0 bytes .../runner_uwp/Assets/LargeTile.scale-100.png | Bin 6049 -> 0 bytes .../runner_uwp/Assets/LargeTile.scale-125.png | Bin 7419 -> 0 bytes .../runner_uwp/Assets/LargeTile.scale-150.png | Bin 9576 -> 0 bytes .../runner_uwp/Assets/LargeTile.scale-200.png | Bin 14559 -> 0 bytes .../runner_uwp/Assets/LargeTile.scale-400.png | Bin 42545 -> 0 bytes .../Assets/LockScreenLogo.scale-200.png | Bin 1430 -> 0 bytes .../runner_uwp/Assets/SmallTile.scale-100.png | Bin 1821 -> 0 bytes .../runner_uwp/Assets/SmallTile.scale-125.png | Bin 2519 -> 0 bytes .../runner_uwp/Assets/SmallTile.scale-150.png | Bin 2984 -> 0 bytes .../runner_uwp/Assets/SmallTile.scale-200.png | Bin 3721 -> 0 bytes .../runner_uwp/Assets/SmallTile.scale-400.png | Bin 8054 -> 0 bytes .../Assets/SplashScreen.scale-100.png | Bin 6866 -> 0 bytes .../Assets/SplashScreen.scale-125.png | Bin 7899 -> 0 bytes .../Assets/SplashScreen.scale-150.png | Bin 10137 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 15332 -> 0 bytes .../Assets/SplashScreen.scale-400.png | Bin 46573 -> 0 bytes .../Assets/Square150x150Logo.scale-100.png | Bin 2964 -> 0 bytes .../Assets/Square150x150Logo.scale-125.png | Bin 2984 -> 0 bytes .../Assets/Square150x150Logo.scale-150.png | Bin 4617 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 6223 -> 0 bytes .../Assets/Square150x150Logo.scale-400.png | Bin 13913 -> 0 bytes ...x44Logo.altform-unplated_targetsize-16.png | Bin 697 -> 0 bytes ...44Logo.altform-unplated_targetsize-256.png | Bin 15554 -> 0 bytes ...x44Logo.altform-unplated_targetsize-32.png | Bin 1541 -> 0 bytes ...x44Logo.altform-unplated_targetsize-48.png | Bin 2418 -> 0 bytes .../Assets/Square44x44Logo.scale-100.png | Bin 1603 -> 0 bytes .../Assets/Square44x44Logo.scale-125.png | Bin 1893 -> 0 bytes .../Assets/Square44x44Logo.scale-150.png | Bin 2515 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 3239 -> 0 bytes .../Assets/Square44x44Logo.scale-400.png | Bin 6781 -> 0 bytes .../Assets/Square44x44Logo.targetsize-16.png | Bin 479 -> 0 bytes .../Assets/Square44x44Logo.targetsize-24.png | Bin 788 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 1255 -> 0 bytes .../Assets/Square44x44Logo.targetsize-256.png | Bin 10408 -> 0 bytes .../Assets/Square44x44Logo.targetsize-32.png | Bin 1122 -> 0 bytes .../Assets/Square44x44Logo.targetsize-48.png | Bin 1612 -> 0 bytes .../runner_uwp/Assets/StoreLogo.png | Bin 1451 -> 0 bytes .../runner_uwp/Assets/StoreLogo.scale-100.png | Bin 2370 -> 0 bytes .../runner_uwp/Assets/StoreLogo.scale-125.png | Bin 3229 -> 0 bytes .../runner_uwp/Assets/StoreLogo.scale-150.png | Bin 3739 -> 0 bytes .../runner_uwp/Assets/StoreLogo.scale-200.png | Bin 4917 -> 0 bytes .../runner_uwp/Assets/StoreLogo.scale-400.png | Bin 10759 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 3204 -> 0 bytes .../runner_uwp/Assets/WideTile.scale-100.png | Bin 3158 -> 0 bytes .../runner_uwp/Assets/WideTile.scale-125.png | Bin 3211 -> 0 bytes .../runner_uwp/Assets/WideTile.scale-150.png | Bin 5001 -> 0 bytes .../runner_uwp/Assets/WideTile.scale-200.png | Bin 6866 -> 0 bytes .../runner_uwp/Assets/WideTile.scale-400.png | Bin 15332 -> 0 bytes .../runner_uwp/Windows_TemporaryKey.pfx | Bin 2560 -> 0 bytes .../winuwp.tmpl/runner_uwp/resources.pri | Bin 5952 -> 0 bytes .../templates/skeleton/README.md | 5 -- .../assets/images/2.0x/flutter_logo.png | Bin 619 -> 0 bytes .../assets/images/3.0x/flutter_logo.png | Bin 810 -> 0 bytes .../skeleton/assets/images/flutter_logo.png | Bin 419 -> 0 bytes .../google_maps_flutter/pubspec.yaml | 1 + .../test/flutter_test_config.dart | 13 +++ .../image_picker_ios/CHANGELOG.md | 3 +- .../ios/RunnerTests/ImagePickerPluginTests.m | 27 +----- .../ios/RunnerTests/PhotoAssetUtilTests.m | 12 --- .../ImagePickerFromLimitedGalleryUITests.m | 21 ----- .../FLTImagePickerPhotoAssetUtil.m | 6 -- .../image_picker_ios/FLTImagePickerPlugin.m | 40 +-------- .../FLTPHPickerSaveImageToPathOperation.m | 60 ++------------ .../FLTImagePickerPhotoAssetUtil.h | 2 - .../image_picker_ios/pubspec.yaml | 2 +- .../example/android/app/build.gradle | 2 +- .../in_app_purchase_storekit/CHANGELOG.md | 3 +- .../InAppPurchasePlugin+StoreKit2.swift | 1 + .../example/lib/main.dart | 3 +- .../InAppPurchaseStoreKit2PluginTests.swift | 77 +++++++++++++++--- .../in_app_purchase_storekit/pubspec.yaml | 2 +- .../shared_preferences_android/CHANGELOG.md | 4 +- .../LegacySharedPreferencesPlugin.java | 29 +++++++ .../shared_preferences_test.dart | 15 ++-- .../lib/src/shared_preferences_android.dart | 18 ++-- .../lib/src/strings.dart | 3 + .../shared_preferences_android/pubspec.yaml | 2 +- .../test/shared_preferences_android_test.dart | 2 +- .../CHANGELOG.md | 4 - .../messages.g.swift | 2 +- .../lib/src/messages.g.dart | 2 +- .../src/shared_preferences_foundation.dart | 6 +- .../pubspec.yaml | 4 +- .../shared_preferences_foundation_test.dart | 3 +- .../test/test_api.g.dart | 2 +- .../tool/lib/src/pubspec_check_command.dart | 1 + .../tool/test/pubspec_check_command_test.dart | 1 + 127 files changed, 255 insertions(+), 250 deletions(-) create mode 100644 packages/flutter_markdown/test/flutter_test_config.dart delete mode 100644 packages/flutter_template_images/templates/app_shared/README.md delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 packages/flutter_template_images/templates/app_shared/web/icons/Icon-maskable-192.png delete mode 100644 packages/flutter_template_images/templates/app_shared/web/icons/Icon-maskable-512.png delete mode 100644 packages/flutter_template_images/templates/app_shared/windows.tmpl/runner/resources/app_icon.ico delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LockScreenLogo.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-32.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-16.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-24.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-256.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-32.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-48.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Wide310x150Logo.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-100.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-125.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-150.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-200.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-400.png delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Windows_TemporaryKey.pfx delete mode 100644 packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/resources.pri delete mode 100644 packages/flutter_template_images/templates/skeleton/README.md delete mode 100644 packages/flutter_template_images/templates/skeleton/assets/images/2.0x/flutter_logo.png delete mode 100644 packages/flutter_template_images/templates/skeleton/assets/images/3.0x/flutter_logo.png delete mode 100644 packages/flutter_template_images/templates/skeleton/assets/images/flutter_logo.png create mode 100644 packages/google_maps_flutter/google_maps_flutter/test/flutter_test_config.dart diff --git a/packages/flutter_markdown/CHANGELOG.md b/packages/flutter_markdown/CHANGELOG.md index 30e4a3804970..a7274b56908c 100644 --- a/packages/flutter_markdown/CHANGELOG.md +++ b/packages/flutter_markdown/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 0.7.5 * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. +* Fixes some memory leaks. ## 0.7.4+3 diff --git a/packages/flutter_markdown/lib/src/builder.dart b/packages/flutter_markdown/lib/src/builder.dart index 50bdd11591f8..3fdd9ff13e2c 100644 --- a/packages/flutter_markdown/lib/src/builder.dart +++ b/packages/flutter_markdown/lib/src/builder.dart @@ -346,16 +346,20 @@ class MarkdownBuilder implements md.NodeVisitor { child = builders[_blocks.last.tag!]! .visitText(text, styleSheet.styles[_blocks.last.tag!]); } else if (_blocks.last.tag == 'pre') { - final ScrollController preScrollController = ScrollController(); - child = Scrollbar( - controller: preScrollController, - child: SingleChildScrollView( - controller: preScrollController, - scrollDirection: Axis.horizontal, - padding: styleSheet.codeblockPadding, - child: _buildRichText(delegate.formatText(styleSheet, text.text)), - ), - ); + child = _ScrollControllerBuilder( + builder: (BuildContext context, ScrollController preScrollController, + Widget? child) { + return Scrollbar( + controller: preScrollController, + child: SingleChildScrollView( + controller: preScrollController, + scrollDirection: Axis.horizontal, + padding: styleSheet.codeblockPadding, + child: child, + ), + ); + }, + child: _buildRichText(delegate.formatText(styleSheet, text.text))); } else { child = _buildRichText( TextSpan( @@ -448,15 +452,20 @@ class MarkdownBuilder implements md.NodeVisitor { } } else if (tag == 'table') { if (styleSheet.tableColumnWidth is FixedColumnWidth) { - final ScrollController tableScrollController = ScrollController(); - child = Scrollbar( - controller: tableScrollController, - child: SingleChildScrollView( - controller: tableScrollController, - scrollDirection: Axis.horizontal, - padding: styleSheet.tablePadding, - child: _buildTable(), - ), + child = _ScrollControllerBuilder( + builder: (BuildContext context, + ScrollController tableScrollController, Widget? child) { + return Scrollbar( + controller: tableScrollController, + child: SingleChildScrollView( + controller: tableScrollController, + scrollDirection: Axis.horizontal, + padding: styleSheet.tablePadding, + child: child, + ), + ); + }, + child: _buildTable(), ); } else { child = _buildTable(); @@ -1017,3 +1026,33 @@ class MarkdownBuilder implements md.NodeVisitor { } } } + +class _ScrollControllerBuilder extends StatefulWidget { + const _ScrollControllerBuilder({ + required this.builder, + this.child, + }); + + final ValueWidgetBuilder builder; + + final Widget? child; + + @override + State<_ScrollControllerBuilder> createState() => + _ScrollControllerBuilderState(); +} + +class _ScrollControllerBuilderState extends State<_ScrollControllerBuilder> { + final ScrollController _controller = ScrollController(); + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return widget.builder(context, _controller, widget.child); + } +} diff --git a/packages/flutter_markdown/pubspec.yaml b/packages/flutter_markdown/pubspec.yaml index 3c8f7b6ffff7..997d092ae8bd 100644 --- a/packages/flutter_markdown/pubspec.yaml +++ b/packages/flutter_markdown/pubspec.yaml @@ -4,7 +4,7 @@ description: A Markdown renderer for Flutter. Create rich text output, formatted with simple Markdown tags. repository: https://github.com/flutter/packages/tree/main/packages/flutter_markdown issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+flutter_markdown%22 -version: 0.7.4+3 +version: 0.7.5 environment: sdk: ^3.4.0 @@ -20,6 +20,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter + leak_tracker_flutter_testing: any mockito: ^5.4.4 standard_message_codec: ^0.0.1+3 diff --git a/packages/flutter_markdown/test/custom_syntax_test.dart b/packages/flutter_markdown/test/custom_syntax_test.dart index 8dc0c806e51f..9af6106353e2 100644 --- a/packages/flutter_markdown/test/custom_syntax_test.dart +++ b/packages/flutter_markdown/test/custom_syntax_test.dart @@ -276,9 +276,12 @@ class WikilinkSyntax extends md.InlineSyntax { class WikilinkBuilder extends MarkdownElementBuilder { @override Widget visitElementAfter(md.Element element, _) { - return Text.rich(TextSpan( - text: element.textContent, - recognizer: TapGestureRecognizer()..onTap = () {})); + final TapGestureRecognizer recognizer = TapGestureRecognizer() + ..onTap = () {}; + addTearDown(recognizer.dispose); + return Text.rich( + TextSpan(text: element.textContent, recognizer: recognizer), + ); } } diff --git a/packages/flutter_markdown/test/flutter_test_config.dart b/packages/flutter_markdown/test/flutter_test_config.dart new file mode 100644 index 000000000000..9907e578b84b --- /dev/null +++ b/packages/flutter_markdown/test/flutter_test_config.dart @@ -0,0 +1,13 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; + +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; + +Future testExecutable(FutureOr Function() testMain) async { + LeakTesting.enable(); + LeakTracking.warnForUnsupportedPlatforms = false; + await testMain(); +} diff --git a/packages/flutter_markdown/test/image_test.dart b/packages/flutter_markdown/test/image_test.dart index 07a4e87c9058..77cebc10934d 100644 --- a/packages/flutter_markdown/test/image_test.dart +++ b/packages/flutter_markdown/test/image_test.dart @@ -455,6 +455,7 @@ void defineTests() { find.byType(Container), matchesGoldenFile( 'assets/images/golden/image_test/custom_builder_asset_logo.png')); + imageCache.clear(); }, skip: kIsWeb, // Goldens are platform-specific. ); diff --git a/packages/flutter_markdown/test/link_test.dart b/packages/flutter_markdown/test/link_test.dart index 6e4b67c3dcb5..c98fd6f3a1f3 100644 --- a/packages/flutter_markdown/test/link_test.dart +++ b/packages/flutter_markdown/test/link_test.dart @@ -142,7 +142,7 @@ void defineTests() { testWidgets( 'multiple inline links with same content should not throw an exception', (WidgetTester tester) async { - //Arange + //Arrange final Widget toBePumped = boilerplate( Column( children: [ @@ -1477,6 +1477,7 @@ void defineTests() { gestureWidget.onTap!(); expectLinkTap(linkTapResults, const MarkdownLink('moon', '/uri')); + imageCache.clear(); }, ); diff --git a/packages/flutter_markdown/test/padding_test.dart b/packages/flutter_markdown/test/padding_test.dart index 6f27ca9d0913..5a6f5d9ae30f 100644 --- a/packages/flutter_markdown/test/padding_test.dart +++ b/packages/flutter_markdown/test/padding_test.dart @@ -50,6 +50,7 @@ void defineTests() { paddings[3].padding.along(Axis.horizontal) == paddingX * 4 * 2, true, ); + imageCache.clear(); }, ); }); diff --git a/packages/flutter_markdown/test/scrollable_test.dart b/packages/flutter_markdown/test/scrollable_test.dart index 1042a6fa98a8..90f6f8967299 100644 --- a/packages/flutter_markdown/test/scrollable_test.dart +++ b/packages/flutter_markdown/test/scrollable_test.dart @@ -68,6 +68,7 @@ void defineTests() { final ScrollController controller = ScrollController( initialScrollOffset: 209.0, ); + addTearDown(controller.dispose); await tester.pumpWidget( boilerplate( diff --git a/packages/flutter_template_images/CHANGELOG.md b/packages/flutter_template_images/CHANGELOG.md index ac09412c6958..07aedbf3e86a 100644 --- a/packages/flutter_template_images/CHANGELOG.md +++ b/packages/flutter_template_images/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.0.0 + +* Removes `app_shared` and `skeleton`, which are [no longer used](https://github.com/flutter/flutter/issues/160692). + ## 4.3.0 * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. diff --git a/packages/flutter_template_images/pubspec.yaml b/packages/flutter_template_images/pubspec.yaml index 26ff847613ae..4ff9a9451464 100644 --- a/packages/flutter_template_images/pubspec.yaml +++ b/packages/flutter_template_images/pubspec.yaml @@ -2,7 +2,7 @@ name: flutter_template_images description: Image files for use in flutter_tools templates without adding binary files to flutter/flutter. repository: https://github.com/flutter/packages/tree/main/packages/flutter_template_images issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+flutter_template_images%22 -version: 4.3.0 +version: 5.0.0 environment: sdk: ^3.4.0 diff --git a/packages/flutter_template_images/templates/app_shared/README.md b/packages/flutter_template_images/templates/app_shared/README.md deleted file mode 100644 index 5e01a57daf7f..000000000000 --- a/packages/flutter_template_images/templates/app_shared/README.md +++ /dev/null @@ -1,10 +0,0 @@ -**DO NOT UPDATE**: This directory is _deprecated_. - -The `skeleton` template is being removed, which as a result means that the -`app_shared` directory is no longer needed (it was used to share template -pieces between `app` and `skeleton`). - -If you are looking to update the `app` template, update -[`templates/app`](../app/) directly. - -See also: . diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452e458972bab9d994556c8305db4c827017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d933e1120817fe9182483a228007b18ab6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b0099ca80c806f8fe495613e8d6c69460d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe730945a01f64a61e2235dbe3f45b08f7729182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463a9bc882b461c96aadf492d1729e49e725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec303439225b78712f49115768196d8d76f6790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea27c705180eb716271f41b582e76dcbd90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 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 diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/flutter_template_images/templates/app_shared/ios.tmpl/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d9a33e198f5747104729e1fcef999772a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? zgxkP+ytd)OMWe7QvTf8yj4;V=?m172!BEt@6*TPUT4m3)yir}esnIodFGatGnsSfJ z**;;yw=1VCb2J|A7cBz-F5QFOQh2JDQFLarE>;4ZMzQ$s^)fOscIVv2-o{?ct3~Zv zy{0zU>3`+-PluS|ADraI9n~=3#Tvfx{pDr^5i$^-h5tL*CV@AeQFLxv4Y<$xI{9y< zZ}li*WIQ+XS!IK;?IVD0)C?pNBA(DMxqozMy1L#j+ba1Cd+2w&{^d-OEWSSHmNH>9 z%1Ldo(}5*>a8rjQF&@%Ka`-M|HM+m<^E#bJtVg&YM}uMb7UVJ|OVQI-zt-*BqQ zG&mq`Bn7EY;;+b%Obs9i{gC^%>kUz`{Qnc=ps7ra_UxEP$!?f&|5fHnU(rr?7?)D z$3m9e{&;Zu6yfa1ixTr;80IP7KLgkKCbgv1%f_weZK6b7tY+AS%fyjf6dR(wQa9TD zYG9`#!N4DqpMim|{uViKVf0B+Vmsr7p)Y+;*T~-2HFr!IOedrpiXXz+BDppd5BTf3 ztsg4U?0wR?9@~`iV*nwGmtYFGnq`X< zf?G%=o!t50?gk^qN#J(~!sxi=_yeg?Vio04*w<2iBT+NYX>V#CFuQGLsX^u8dPIkP zPraQK?ro`rqA4t7yUbGYk;pw6Z})Bv=!l-a5^R5Ra^TjoXI?=Qdup)rtyhwo<(c9_ zF>6P%-6Aqxb8gf?wY1z!4*hagIch)&A4treifFk=E9v@kRXyMm?V*~^LEu%Y%0u(| z52VvVF?P^D<|fG)_au(!iqo~1<5eF$Sc5?)*$4P3MAlSircZ|F+9T66-$)0VUD6>e zl2zlSl_QQ?>ULUA~H?QbWazYeh61%B!!u;c(cs`;J|l z=7?q+vo^T#kzddr>C;VZ5h*;De8^F2y{iA#9|(|5@zYh4^FZ-3r)xej=GghMN3K2Y z=(xE`TM%V8UHc4`6Cdhz4%i0OY^%DSguLUXQ?Y3LP+5x3jyN)-UDVhEC}AI5wImt; zHY|*=UW}^bS3va-@L$-fJz2P2LbCl)XybkY)p%2MjPJd-FzkdyWW~NBC@NlPJkz{v z+6k6#nif`E>>KCGaP34oY*c#nBFm#G8a0^px1S6mm6Cs+d}E8{J;DX=NEHb|{fZm0 z@Ors@ebTgbf^Jg&DzVS|h&Or)56$+;%&sh0)`&6VkS@QxQ=#6WxF5g+FWSr7Lp9uF zV#rc`yLe?f*u6oZoi3WpOkKFf^>lHb2GC6t!)dyGaQbK7&BNZ7oyP)hUX1Y(LdW-I z6LI2$i%+g!zsjT(5l}5ROLb)8`9kkldbklcq6tfLSrAyh#s(C1U2Sz9`h3#T9eX#Hryi1AU^!uv*&6I~qdM_B7-@`~8#O^jN&t7+S zTKI6;T$1@`Kky-;;$rU1*TdY;cUyg$JXalGc&3-Rh zJ&7kx=}~4lEx*%NUJA??g8eIeavDIDC7hTvojgRIT$=MlpU}ff0BTTTvjsZ0=wR)8 z?{xmc((XLburb0!&SA&fc%%46KU0e&QkA%_?9ZrZU%9Wt{*5DCUbqIBR%T#Ksp?)3 z%qL(XlnM!>F!=q@jE>x_P?EU=J!{G!BQq3k#mvFR%lJO2EU2M8egD?0r!2s*lL2Y} zdrmy`XvEarM&qTUz4c@>Zn}39Xi2h?n#)r3C4wosel_RUiL8$t;FSuga{9}-%FuOU z!R9L$Q!njtyY!^070-)|#E8My)w*~4k#hi%Y77)c5zfs6o(0zaj~nla0Vt&7bUqfD zrZmH~A50GOvk73qiyfXX6R9x3Qh)K=>#g^^D65<$5wbZjtrtWxfG4w1f<2CzsKj@e zvdsQ$$f6N=-%GJk~N7G(+-29R)Cbz8SIn_u|(VYVSAnlWZhPp8z6qm5=hvS$Y zULkbE?8HQ}vkwD!V*wW7BDBOGc|75qLVkyIWo~3<#nAT6?H_YSsvS+%l_X$}aUj7o z>A9&3f2i-`__#MiM#|ORNbK!HZ|N&jKNL<-pFkqAwuMJi=(jlv5zAN6EW`ex#;d^Z z<;gldpFcVD&mpfJ1d7><79BnCn~z8U*4qo0-{i@1$CCaw+<$T{29l1S2A|8n9ccx0!1Pyf;)aGWQ15lwEEyU35_Y zQS8y~9j9ZiByE-#BV7eknm>ba75<_d1^*% zB_xp#q`bpV1f9o6C(vbhN((A-K+f#~3EJtjWVhRm+g$1$f2scX!eZkfa%EIZd2ZVG z6sbBo@~`iwZQC4rH9w84rlHjd!|fHc9~12Il&?-FldyN50A`jzt~?_4`OWmc$qkgI zD_@7^L@cwg4WdL(sWrBYmkH;OjZGE^0*^iWZM3HBfYNw(hxh5>k@MH>AerLNqUg*Og9LiYmTgPw zX9IiqU)s?_obULF(#f~YeK#6P>;21x+cJ$KTL}|$xeG?i`zO;dAk0{Uj6GhT-p-=f zP2NJUcRJ{fZy=bbsN1Jk3q}(!&|Fkt_~GYdcBd7^JIt)Q!!7L8`3@so@|GM9b(D$+ zlD&69JhPnT>;xlr(W#x`JJvf*DPX(4^OQ%1{t@)Lkw5nc5zLVmRt|s+v zn(25v*1Z(c8RP@=3l_c6j{{=M$=*aO^ zPMUbbEKO7m2Q$4Xn>GIdwm#P_P4`or_w0+J+joK&qIP#uEiCo&RdOaP_7Z;PvfMh@ zsXUTn>ppdoEINmmq5T1BO&57*?QNLolW-8iz-jv7VAIgoV&o<<-vbD)--SD%FFOLd z>T$u+V>)4Dl6?A24xd1vgm}MovrQjf-@YH7cIk6tP^eq-xYFymnoSxcw}{lsbCP1g zE_sX|c_nq(+INR3iq+Oj^TwkjhbdOo}FmpPS2*#NGxNgl98|H0M*lu)Cu0TrA|*t=i`KIqoUl(Q7jN zb6!H-rO*!&_>-t)vG5jG>WR6z#O9O&IvA-4ho9g;as~hSnt!oF5 z6w(4pxz|WpO?HO<>sC_OB4MW)l`-E9DZJ$!=ytzO}fWXwnP>`8yWm5tYw`b1KDdg zp@oD;g===H+sj+^v6DCpEu7R?fh7>@pz>f74V5&#PvBN+95?28`mIdGR@f*L@j2%% z%;Rz5R>l#1U zYCS_5_)zUjgq#0SdO#)xEfYJ)JrHLXfe8^GK3F*CA(Y)jsSPJ{j&Ae!SeWN%Ev727 zxdd3Y0n^OBOtBSKdglEBL)i5=NdKfqK=1n~6LX`ja;#Tr!II$AAH{Z#sp%`rwNGT5 zvHT%(LJB+kD{5N}7c_Rk6}@tikIeq%@MqxX%$P!(238YD(H<_d;xxo*oMiv^1io>g zt5z&6`}cjci90q2r0hutQXr!UA~|4e*u=k81D(Cp7n{4LVCa+u0%-8Uha+sqI#Om~ z!&)KN(#Zone^~&@Ja{|l?X64Dxk)q>tLRv{=0|t$`Kdaj z#{AJr>{_BtpS|XEgTVJ4WMvBRk-(mk@ZYGdY1VwI z81;z(MBGV|2j*Cj%dvl8?b2{{B#e0B7&7wfv+>g`R2^Ai5C_WUx|CnTrHm+RFGXrt zs<~zBtk@?Niu%|o6IEL+y60Q>zJlv``ePCa07C%*O~lj?74|}&A0!uA)3V7ST8b_- z6CBP1;x+S@xTzgOY2#s%@=bhZ@i@BwmS)neQG&=9KUtRf^K=MvjC5JnqLqykCE_P0 zjf#V4SdH2#%2EuDb!>FLHK7j;nd6VLW|$3gJuegpEl3DZ`BpJU$<}}A(rW?<6OB@9 zKP9G3An?T5BztrLdlximA;{>Tr7GAeSU=^<*y;%RHj+7;v+tonyh(8d;Izn}2{oz& zW)fsZ9gHYpI?B|uekS3zHUue3mI zb7?0+&Zm>Kq(F>~%VYEn)0b32I3~O^?Wx-HI|Zu?1-OA2yfyJ;gWygLOeU;)vRm3u z5J4vDIQYztnEm=QauX2(WJO{yzI0HUFl+oO&isMf!Yh2pu@p}65)|0EdWRbg(@J6qo5_Els>#|_2a1p0&y&UP z8x#Z69q=d663NPPi>DHx3|QhJl5Ka$Cfqbvl*oRLYYXiH>g8*vriy!0XgmT~&jh3l z+!|~l=oCj<*PD>1EY*#+^a{rVk3T(66rJ^DxGt|~XTNnJf$vix1v1qdYu+d@Jn~bh z!7`a`y+IEcS#O*fSzA;I`e_T~XYzpW7alC%&?1nr);tSkNwO&J`JnX+7X1Q8fRh_d zx%)Xh_YjI3hwTCmGUeq_Z@H#ovkk_b(`osa$`aNmt`9A#t&<^jvuf z1E1DrW(%7PpAOQGwURz@luEW9-)L!`Jy*aC*4mcD?Si~mb=3Kn#M#1il9%`C0wkZ` zbpJ-qEPaOE5Y5iv_z%Wr{y4jh#U+o^KtP{pPCq-Qf&!=Uu)cEE(Iu9`uT#oHwHj+w z_R=kr7vmr~{^5sxXkj|WzNhAlXkW^oB4V)BZ{({~4ylOcM#O>DR)ZhD;RWwmf|(}y zDn)>%iwCE=*82>zP0db>I4jN#uxcYWod+<;#RtdMGPDpQW;riE;3cu``1toL|FaWa zK)MVA%ogXt3q55(Q&q+sjOG`?h=UJE9P;8i#gI*#f}@JbV(DuGEkee;La*9{p&Z?;~lE!&-kUFCtoDHY*MS zzj+S$L9+aTs(F^4ufZe6>SBg;m@>0&+kEZMFmD*~p~sx?rx=!>Ge;KYw<33y#*&77 zFZI`YE(Iz?+tH;Fq;y=MaSqT{Ayh*HFv0(z{_?Q+7@nE%p?S8%X6c!+y;!0NLXwJV8Co_}R3*7>n+oMsQpv8}8ZS-P@(Rg|gmxZHzf=nMOUAAY}AZGfWVzZjE@4$=7xkIrs8BE%606aVU%kxz_04ipig51k& z(>c9rJL2q%xvU%Zj#GR9C9)HLCR;#zQBB@x;e_9$ayn(JmSg_*0G?+wOF?&iu@}S{ zt$;TPf*Lj$3=d<}Q3o!Hq@3~lFxoiCyeEt}o3fihIn{x2s1)e2@3##&GYDq~YO|!q zUs0P-zy)+ohl-VQ`bhvUpC{-d$lkpML_M%Kl6@#_@A}w{jWCDsPa#cSbWA#C4Sf|*C*&Z{ zz?hOU7Cc`?>H$WGqITA2P~fYudnQHxB8^;0ZFKC;19F#~n_2P@{cE{Czq-#K5L_8| zc3aOEwq4%zL5>YU_mc9fc-p~{fBTWUkxTiZvxt9FOqC{s#TBp(#dWc+{Ee{dZ#B!g zHnaOJ8;KO1G;QU2ciodE+#Z$Wuz*Hc6NRO!AUMi|gov=>=cwcZeL&`>Jfn!35hV1J z;B2@0!bIR853w%T*m6)gQ?DPnQ)o6EtKaN3L;o?*q<83d&lG&U=A|6hcT?f0)4h6{ zGIZ0|!}-?*n{zr}-}cC}qWxEN%g60+{my)o^57{QEn(tSrmD7o)|r0+HVpQPopFu; z0<S}pW8W2vXzSxEqGD+qePj^x?R$e2LO&*ewsLo{+_Z)Wl|Z1K47j zsKoNRlX)h2z^ls_>IZ0!2X5t&irUs%RAO$Dr>0o$-D+$!Kb9puSgpoWza1jnX6(eG zTg-U z6|kf1atI!_>#@|=d01Ro@Rg)BD?mY3XBsG7U9%lmq>4;Gf&2k3_oyEOdEN&X6Hl5K zCz^hyt67G;IE&@w1n~%ji_{sob_ssP#Ke|qd!Xx?J&+|2K=^`WfwZ-zt|sklFouxC zXZeDgluD2a?Zd3e{MtE$gQfAY9eO@KLX;@8N`(?1-m`?AWp!a8bA%UN>QTntIcJX zvbY+C-GD&F?>E?jo$xhyKa@ps9$Dnwq>&)GB=W~2V3m)k;GNR$JoPRk%#f3#hgVdZ zhW3?cSQ*((Fog26jiEeNvum-6ID-fbfJ?q1ZU#)dgnJ^FCm`+sdP?g;d4VD$3XKx{ zs|Y4ePJp|93fpu)RL+#lIN9Ormd;<_5|oN!k5CENnpO>{60X;DN>vgHCX$QZYtgrj z*1{bEA1LKi8#U%oa!4W-4G+458~`5O4S1&tuyv>%H9DjLip7cC~RRS@HvdJ<|c z$TxEL=)r)XTfTgVxaG!gtZhLL`$#=gz1X=j|I@n~eHDUCW39r=o_ml@B z0cDx$5;3OA2l)&41kiKY^z7sO_U%1=)Ka4gV(P#(<^ z_zhThw=}tRG|2|1m4EP|p{Swfq#eNzDdi&QcVWwP+7920UQB*DpO0(tZHvLVMIGJl zdZ5;2J%a!N1lzxFwAkq05DPUg2*6SxcLRsSNI6dLiK0&JRuYAqwL}Z!YVJ$?mdnDF z82)J_t=jbY&le6Hq$Qs}@AOZGpB1}$Ah#i;&SzD1QQNwi6&1ddUf7UG0*@kX?E zDCbHypPZ9+H~KnDwBeOXZ-W-Y80wpoGB*A) z_;26Z`#s0tKrf~QBi2rl2=>;CS1w)rcD3-sB!8NI*1iQo59PJ>OLnqeV4iK7`RBi^ zFW{*6;nlD&cSunmU3v4JKj|K4xeN(q>H%;SsY8yDdw5BJ75q8>Ov)&D5OPZ`XiRHl z;)mAA0Woy6f!xCK(9H2rq?qzp83liZAIpBPl-dQ&$2=&H?Im~%g;vnIw1I+8q|kr! z36&^9}CMmR(U2rf|j12oG=vb%Ypsq8u9Kq}U*ANX*)9uK}fAi8;V_7Z;0_4*iydDxN-? zv?qJ=T*{MzL~-xUv{_Kh_q9#F{8gPV!yPUUS8pEq*=}2-#1d=sC_|U-rX~F0 zBLawgCWy#?#ax{~DAnDvh^`}wyUO`ioMK~jgh%L7^}#h?beSyvQ_g>+`2`}`-1h7# zg*?qJdm=53hwN8~B=^|LPmYtOVrQ(W{sNm4uofq=4P@dUA%$onWbw_m-KWia&n9iv zi)!9#OJ#^}eg8tE{wSb9(c0D^PS1 z9EBS5*ypSiVRS_G0v?$hyoZOS7hFWlp4qbYkf9Y&{%OzhsIdHskLptn96@k6@^K@U zszd8POehITDK+AyW#JKpnWY;ju#MC$JjB1Y*~(E6N%{p#kO+bVxG3X<34n3fW=k{A zCZt|KP%x^GQ9%mU)KE0{LA=vaZvRQbxSlK~eAkwWo2Z<{j5eS5NVTMe`m%re8%~7K zZLtU&b~YDN%~uA9wPf>x2=PI=MA6_oVe>Ek$s5&&Z=8vvF5EODP4Av(b|dlNgF1O8 zy83W0WRdzjz2iNA~t1piEqlyU&`$yZtqR`6X_PmuP>W+D|8iH;FQ zN{JuU#Tz9mV=4R_IewROL1|mK^`lLat#LcIBfggzM(iO$pQT*-c_ z94^LUWw#5B9~sp2W1p`c)Y(xfR<{O^9n4E6vDDw{#-R4UMBKo{>Hqlqn*a9rl_>+0 zS5MwJC~nCC`1X%VCyWFsiDX;bfAJQAUkU#105f_s5U-8rqO}n8fA1{b>Fr6Q|Ea(V z5B11Lo^ooWF?`^{-U#?iatokWI-e$632frzY?Yzzx(xJc@LFM4A~-eg!u|tl{)8Nx ztZLXsSC*68g%9TFu(f&J9nmc^9hgyy#uUOMJFCaifSaDcyQ&6=8e9=t zIFEAQ{EK{|73{($!a4=!wj4ABcQrUQp#+gGM?wEUp(w@+Fzi{!lt}|3`PM%&d-seeR zB$}BrFGD3R10CE>Hsb>;PrP}pd` zaY4}6+Wu(`#uAV+E5SV7VIT7ES#b(U0%%DgN1}USJH>)mm;CHPv>}B18&0F~Kj@1= z&^Jyo+z-E)GRT4U*7$8wJO1OibWg0Jw>C$%Ge|=YwV@Y1(4fR>cV#6aGtRoF@I`*w_V4;)V231NzNqb6g@jdpjmjv*<2j02yU$F8ZS$fTvCC`%|Yn#x< zXUnP&b!GLpOY-TY3d?<-Hhxom_LM9`JC9LEX2{t1P-Nj%nG+0Vq)vQwvO^}coPH-> zAo8w#s>Je^Yy*#PlK=XDxpVS~pFe-j#jN-(As&LRewOf(kN-aKF(H+s*{*!0xrlZw zchJu@XAvQWX7DI1E8?F}Wc8m46eT+C<0eXVB+Z^(g=Kl@FG-cn@u$suj)1V2(KNg_ zh29ws6&6(q~+sOAoHY^o86A<#n*?Pg2)cK$+y;cY$hJLq4)4V84=j+3ShSr##Tk5kgmxB zkW+8A1GtceEx~^Ebhwm36U?oA)h)!mt=eg0QE$D1QsLNZ_T3NH?=B&0j~#298!6iv zhc0|-{46*3`Rx&nKSXnf1&w-Rs>#PGAGuY@cBTU-j|Fxbn3z49S#6KBaP^Lx*AOXxIibr z!1ysMi(&kr!1wwQB5w`BDH2~>T4bI`T1}A2RM0zd7ikC&kuBRsB`Z2@J!Udm{AmSN zrr0k6_qCZL**=)xRW`MFu(OY=OT;3G8eF~ z2mmkXZ9X(sjuKmq+_<=LSjphB$~R1o^Yb=rO!j!(4ErIox^x55o{pXSE9X$!76^*$ zoKhlAX6y%n^U=C~@!vIlEgXQGD@>oOU=_(aXF-Sjas*$AKESfRzxQ8#3yOj|y0OCU z>6Z-0%LCcjla&7I+CXm&caKp@@jQ!5M`(_{CL=@4#JJ}cHeZw>^b6fpv269LSV?gV5Q{kk?4;;y9RIsy5vk%DIRiL(9xe1aA@4!VX zDh2}xgUd5X?6nji%&7-%QuyKSYA-Z{PwJijUQ}In+EJl|x@dF1P<5bPa5W3&&?^h$ zZCo8LepKo0a(Fsln*cHL;D(gu9MMkoiM0*n31u)jHqX5x^F95tnI&^}^yKx3YwEm@ zo8?EZ710ykx@19{=yz5IXb8w4yjdveWb{IVL6Z(Cs>!a_0X^1E27o!4e&b43+J*u2Gb(59k2uK0goLwhO{ujLS ziI9LA9`&x~Y$6JNX!aEXR``}LUI}Gr#=<^wBHmg%v<)zRWDVtq)kT$-P7iU1R)2XZ zi~bYhV@EZ`@prgK(cs{>2jn$pxg$<|KjJ7%26Km>%KcXh^bU@y@V_Lf@=j1x%R4{v zOcQn{I}!2W<~08FOVnoV>zOTH=+>v9!jFo|q)ucqIe!N4{U5_G`>>*sVD{8I~4FqyU8imZ**-Gy`~Xd z4w35GMf%7^i65HdX{Iz|f2Kg193#KhPIeR)-=eYx3Z!%RM=JjwLrdk^B#6rg!ym2w zPbFqYyO4>W_Z6PonAwiu7?!h=x%sR-T+_*xZOGh2wWhWr%}%2^$$ zQvACIB~pi=m|`hXIMvoq`TOCx=J_D2>pi6$NPy3&8#vy|oX)=kM0Z}$BR$r0G}MzOk-OqG+VmZtOZoj6x4(tLh|5h) zBv64Y{DPHsy&_H(5_l(&Y}FhVvr9m_*_Q~Zy-}V9+VmGnvndEjYW4qt4K~N&Y&6g| zfpz*V=A#^mVmuOAz)(KVI<%v5NY0%Goy!{9&o41upsPWk(yFuRP|A4q6NMnX%V~MT zi_Rb-Bno2kI+j0Cw`@ydy{e%ARS#Z%b6I%_yfo_ZKXr4BLVoHzBKJ^ZG z-2>2IzU)55@9C|?_P$ew^-7zEiAKG1XAi{!3h%1m#9s%^pGy6S9wKFYY4<$djeoJP z{GI}Vd%idY$4_fh(7NXm7#;cC!DS&-{tGr!Qze{^%bUx2jgG@-kMta^q-EwrKB}d8 z{%FT>rFk_bzW<{lc%eYlrsiYTZXGgzD1&lmRyp+c1O=0=zAX=KV62bx-a~JP{cPF4 zU$-XT#(9&T>l@bMu3nSr{)%-5lV+0t&bxip4DVJ~vlL$J2P6X~ zd{FS8vm{Lhrieul*7&(AgPuXhjpGila%6_?-+k#b)cdk#M1jB*nE>G6NGOr+Ek{`= z9b%S1`$`=g0CC$>0$Db;l_szReLYVmce*(()9%Zz1`*fNXhI*oRlerWHarD(v^W^c zuc1Vuw6Gbp7ZsoRH>QGt#&lv;5G~Ovt$%7VFd*-rN2>UjbOWBFGNGO`bru7CFB4tn zL`^?69Lj_g_TA&`9`dSI8s|)K|QM0 zybvV7!>xDY|6c6y;Q}qs`){1+WQu_5Dgd8Qe|q}}bxjH+joQQtqs1IVZn6{e7T{ia zF|=^xa%eWO%(x<7j*QZbcU_;aVaVP!arexOLOtoSNt*hvsRL%}%)jPetSich(`b-^ zMZ$PM9%s@%*jPVz0Z^W*cK_>G4f}+eEVX`HOaHg#!B`<4v;x}zDLMR*M27`kNfp!! zOfdt(>k-g>7jf^{Se@3$8<+;R*cYtw+wD_Z8Pl~!JDCUEPq{Ea*!J9`%ihyNJZ30i zmfve}S5<$Uso}_?SuI$ks|{-ddGLu9WR9`^9)Kdi@Vs;x#SY-xp}wHPU0|vEA7234 z@BN1z7OF=OOQtPF$4twn3!HTVlUVD_)ubMM7PEPoiC6lQgL2q9PK4~e8v-OuH%lie z?NgBLkIdPMG$QBq(>r^AOHB`|*1#*!2Z? zuU8H|FD`OBRu^(R?Z-Vhr0j;FLpS~a34KREnd}B=EYHS*>Hm+f%tgJt!4J8Q`qn^4 z9F=tO#JRJ}tzA`vx$nZ)O%wC?Uiv0+_nz}5Lj4ki*&=K&*#U`=rv z`Q@Q{+IhAj@6lrNK2B=8Yln!O2%zomfRehFT~;!O@(@Xy|1Jlw*uOB-M$#6K^)QBm z_7%#QVUDPwnW{iOV-grMQQU|3{=BQMh}c5(yMGdoQf*)k9-B zMQ(^GdJh+y)>qJprknS!%WxqM>HlHOP#7UVdy>%PW$!l72J`n-p7j(DBKoGxXWh(Y z>BFDZl|7knU_jg_SSbvFk8)39%2)Hu5W0}HKlh>EaqvFoXI&56Yy)3) zQkE4X^P0QnPn?iUUVHJZXzPp`s5uv?pG{K9IgGoHvcmlBxubi|iF7n{)mhenIcxGs zgr0OpQy#Y#u=5lOyiECfE_Sn?Fj1LyoRKcbTgX{p<T*v!CGkPc)pcA2D=4Ekp0Gb*wpy7S88C%Ywsbr?MI(3UdsCM?XJ1X%*hNjB)XqZ*W(qDdtSb z<3XN74ARXL3=c^bfW~F%NM^5*Zx92>Wq`&M625p~j$8mYwLbk%Kf)jbn#<2z$%vP5 zy#b>-tF-S2_AB4;R^K&^-1LJrUmi@9rB^FLF)-k&YHK8P+k@RCJ1qSTZ@=kHxA3l$ zmK_ZG)l6(nmCR1a8|;QF-B5e_ELnjJ1$m-;4UXX?WytF_wz7#&AjwZYTMVieLbq@R z3t-q|G4^BB#EpNu4uyfDebB+-uu_$9>y-dzB30Y9F=R zrW-Heqnj*InPTWHgR9v^R7~hokldh&h8=HDhMW(EFfim1*{)5Lc1-+eBVkK-2!u=N zuZKABgJs3I--NbjE;>Undg6uK`^U>AQ6V zhc!RhYgvrmeGNsftr+(C<_MtuV$`5RZTf#5r=DR?gWG->#})#=(td%C3`oO+2B7im zUqY}&a_QNTn?s+?=mNXiREN%x_=(H)L|DtYPY>SR3pQfBOel7G_jR_{!9`dSj8Up-`JgcB;=Oor)U=_EVjF3C5{Sqh8cq=~bRjoBpoc$kJCgtTyZGSpQ4= zYi$6b$-dGmuTDF&@amhV?cU05g(AZV&v2$4m&j_~GZk;&keSO(@LRESRZ&p`dV*6w z2$em~p*8yM6j;SYorw`M5K2mluJq7P5Yn$VtZj8DEs2Zk=O@4T&Q}>~f31Z{uk}`E z{Dp{KObh1kk~~MfLUod72{Pk6G@T$_0_N??lOrdR=Z;VV#m0l)&@hz{Z?)@sgImi-&i1@95g53rON83v!yVPDHRU*Mzc4yZ(-Fr z{8{WXmIJf7jeswk$;6s~Qac6QyM3W&`}m#gRt=rr95A+Ad&wSAgvXZ|F))rBJVJ5W1CsjN`QaOzct2ocq#0!v zmj#075)C!3oS>&N;aHS@<+c>RHL)8j^p)k(8#7$LEx!1g_1^02!4_qA=;uhKW=+ix zGX%+vBMiRiF^^jm{mdO(?GdWJ#unO#_F^7mhT8)s(z_WlwFyJ#Xh)k5+RG2f;LC*K**1dr`#}~6A=0B=I&V;%zDA1)d@G!X#Rng)7G*2k8Kg447r0ox> z5NK`d(H-afBwo9feDOUi>;BbPsu!2|=@g=3j*PY}@YrOb+SX6?#Yb2xaaK!?>SX1J z_!VsB`2n1=wwSftkydm!39|-1?c%Epx?TO<(#GO~I&{f4+)XwRk<7RQ1~5>QcKH|D z?!}j1ueO0Lk;FZ{k4FA_(S`Ot0w~tl&m0duID*f6RY#bkw||o;kZ# zISYNTb|{~|X$m$Q-Jv#uxyw)eM0gIv`V#wOAp&Vv@>X4_tSZ&L#juM@$S9 zx_X_tLh<_^-F;LAQ09s@sPb%PMTrcw*HUV0P=RYSlM&AXEOI&&R&YCm_S<7DRBx^L zA^R^iwW+LMk(r*$Pq-fKU5X@=mQ=`ErO30H@@&qqnI7zJcrbSh+H<V ze&7Uli0xj@WrW#&-9%*FP~kPYF_YYM_hs5~|ExMynQ%qvq`leRB6W0yhC@pCb8>_P zlf=F~WMv_u*-DV=UaVu#2rlzK{q8D95VwZrfV?gj@rSNWXFvktUq)V5+YrlxwX302ae(;aG4e>L-M@3J+-f3IT{b9l!kg*2M zC1+ND9}6m^()LE87Mt+^Q|)!y#suc&v26C=0W88%a{?)E8Yvo@kM&KNMaOst#|-_CbUTm}WS@-c>nRb;&z^ zYr)+IE$1=jov(CZ%3uR+`~NI>1&Gs6W(jaamjcN$a`2!*nO}l|b%?)Q%%UWzw>A`C zR@px(P*7j$TK?jbv*%x)e^|jcLsv}aF(Z0=7(%Oa7+1wY>{B>d+i&ZA$}k(qgZPZY z;VkW~8eWnU&HPIAbco?&tc2O1$6=7n{u|^Y*nXoac{o1W-6aXfy~KlNbJfLoq~6;+ zDYmnv--Fhqrl+UV#k@_(1=gWNtqhyVKN=9CZ-{Ohi>e=~bm4IKbhM%%W zW8oXE!rGpV7Wt(_^4nndH1_imheaWzDi|I})9ZVZ9>pN+P%dVc5wG`Ze*4`@rjn1^ z`ln(;vPBHQUb}y8S>=8q__r7g+=z$>!pReVB0@XKchAvyGjLQs-u>+w%`frV4FeIG zj=7n~hGrwx*&5aHy(7X$bDZ7YhcP%(*>G^lAYMK;qG~V8Jz@b7oNg;IA1z$9@TbzW z;@I51@Ekef#qbxnG$Y8Z%bm~ibZ=4#%yKr%#b)CDrfKN`ujIY?tA4h9)i~dZ4E;ZM znvb$n2)zn$Wx&zlW%mJZDh28ox$@%`w3i7YFepXUChw}$UXKI=-TM51`M#FH=tdr*mQ!c=aB1296Lu>iTTKZWss0f z5~ihdImPN$aTle_AdbYC^31}_^EK|9R&l#%3hbx;8vJ+Gp^tm{9JDILu*1PW!rh^Dn9p<)h#Sl4kKM%nm<+!ESSk* zC;lLNT$fgr-!+{aBsSx$41b}yy6o>r3F#1&iv3cfY2N<+`0qJ+>=&Qxs}JOEkD?^l-F5i`t5+zNuvJf z3Fh4$mNqiFXL-aq4U4K@Ae$fq-TDT`rvrx;gqx96w^*@s=mcthCaIyPe(w)6kI{EqV10tcShHU9eeAPs)s?6#vrq}>y3FeTJu$Udha+z zs7}rmA@yR(L&>35sNjQqrw}o^)UitMU!5g6nnG)(tgst!^`FKJEzI1(d@j_w@;^hr zgYxlIRYjho4U$bhczfq&YySCqCE(5_d>l(4tk1v9!V7PB%Vx{QO=G2NC@c1%3rEzw zN<6i?h;CJX>h)kn49Sr)g#Em6km6ESP`1qc5C3ZHizN>r>V-fSS=X1nT{+Thh@kC! z(H=PlqDt7V6gOYezXUK-dretz!1?IUD6&eL2b!4=9h+HUO&DYZKMM>|YhlEEg?q?S z^XT4$2Fd|zT=x3U#L1|F;-#`to-Y6hiYkWdO=rRC)meY72pIfl`3zEGDU8($iWR^K zI$nq80aSJII<;#W5Pj>^_T&013BJ*O89Uoq z5>;Paa^E}xar^r=!pexg&OTM8wluk4R~Ru=)Hgk`Y#i_$jk{jc8hx}?(dW*X!l4vs z6_%$s#duJJFmaFc-5#>v6Yea=I~)s_pXGS>Tkz?s+WS}>Qp<9MappMLXpkXpSM~SmH6u)`Z5>o02kJs;w@KhdiZ3}29y*xr|6tMo zBHzGic+b+dTd!xOJ;p{Rguh^corJ;K?R6daayQKm+0rf7|AXg0qs!R9eS7t4{G=fs z1$=?kK1Ih=gEkI>@jgXDWHZt*C7FUEWs|u^pE3Z``^K|1KEC^sbN*4nQUfRc_AyE0 zn)?RrGjgPkzfE~_s!rDB!fDsV+*|kEX4+DyS#8%!cshn;s8svwBXSsDGX2ZRa0={* z=`p1F{zD17*Rk>Uk_cw3t5j=9-d6$}MoM~z{v{t^M!g75-+o8_XkP@CZWUQ2z!^26 zCNOu~hgrrK)y>bgqb{`Q_1^zrG4;cGarP!nb4E~(ZKWc`LVeEq;IewVneLp^ZU2+% z95PgN*M5v7Q;ZlGvM#`&u2NdHm%&gZ{bZM5wBCp&?HeZhwU87wyT_z!n4z+1?=RvXZ^72d*%+R1s1$KbAFtR|= zw;MEq=O7pMIKpFwKH6$OOszJAf<_Z<1)36cB>D>|Z6$gJL~jH`n3MMou$#Si%rDAu z4pSkJspG|^CJ86vg6kkfXsA_`8@8iOryOe!Qhn8SV6}mPlof3=WJRVqAr_b;e->`Z zMR(p|K|$L0^6;u~USxg#B6-ZNc%E1dv*^P=|2k*^NOBni#G%9Y?##{=)8KZwh85OL zSBG9|gb|hdmY^gn(ziY&O5#@I?W)W;361Yb^VQNpz0A7&^(7HRAsUvw#)fvhocvja zLxV65J0_$>&cVRctJFsn^qLos^tG`+B0_gQ{NeOwKt-!C^gGFufdtPT*Vi>l#X1|V z2XxsAcixN)Ekq=a##_^=k_^BFH5_zpvPDRP>u6+3$}i&b zy0@FdzAHw?i9OqnlTts_w5D@Nd#eM)KKEuN#m{|AJyscxa}(eA?z4&4yvXo{OBS65 z-?gW;<+;+ntM}U_yTmHm6*2zj0Imj<&ZgE9Wj|gfsXhrVH-c0p$7HXnR8bxDYOi z=_r3FA~u`L&2;Vir8}P3)k|@c?sK1U@&iWo{HEXcoy>6wQSuJ+b4l%aTBuigs&k@Y<2c=S3Ef?p zH>ki4yDuXdo_eu>X1{E$g(Q-u#zVXN^&%70guoizo7x(kQ0OZ}H$O9UB}(FaX8Ct1 zFpx~}EbHf2r6V;x=@8GH$C2|6*?K~?LrtMYd^bw*WYXhA z_))@RMH;nZedW3+qfWbv<|_#BYOxX^rhbN+!za)|!|8K*LRs(R$O*2SDM{g9k7e{u zN4VIdi}e#0&h?sBxu$>Yy%)j(k1V2fuhp8r!}gfF@b;F?U`6}YnnMh1&sSU&lR^?# zu!61+lGsuFEfDraX3+$QZibCbKzc{75G^T7@WZSQ)j5898G1AOXB*H*TSd`f<`IK# zm1%&t?i|2Z-a&r!pJehzg@!awNp)R)aa?q_SqGrxE5u+T#f?K2;GAHV?O&>!W@Q*k)7=g2vDW+7K zbyY9i{|nOF*SbMYoRQSAbSH2y$bE5(@d6xKxcF#@TE~X#3o=;`0sc!RupdRmQsML? z&>SCwS{FOpSr+@6Uuz3m`hj}(^g`Jz|6?({!%WVJn$H|ugxW+x-GEA?J&U^ugj3Nb z;65~)W<}iH2PJ@st8LtLfSOLXYgj=9<;?ih7rq$bXW9J#!B8!Wu6#U`A$wlcoC*&` z_9Js~7%m79#+edeT&P`@_Ng@e&5J+pqpx%31tAF71)pcz~-yJ>P5yX(nuM4;bUHDa8E(~~l{j~JeCGkX>nHJDpgSf&bTHEf)qw8{Q~CBPEVen|MW2P3vmf`8X9-g|>>ddp zcgfjbl~(?3Wa*NzQH>4nsM$3}Ul>pX1xC0oF3TZXe7=V!9!n?WgvH|R zpbruczmB%z=zkZ>=1R|gXwGThLELqD5KCUhtiRGT*JwKIvzbzV%ZU!e!VcNHSSX3> zObH|oohc8nvQZ2}q??C}@>!fe3gH+HF@4(qWqi>;ag~md#D;cl8&gQb^?2a@5cikT z=7r78@&5gV3Ggc9f=<<8v~yz`NcEGvbX1V_`IL(&+Z>LB zM~$ok2qXzod@1$TEl*U~H$V5g$er{Uj^($sWb7Nr{gsIbE(`$LRGECTOraXiU%=uq z0zvpi1S%)RxTjzoVcR4#10)fs()4Mtsa@e?9j)Bk!LsYyXIZga2q7d%`vQE!V@<1Y zmkpH3LeXJNO9f7l>F84g;huc=4nk(UnU}RLZmYk2TtB#lv34K(?8~gyx-mN%g=U44 zOPdr_!j-;IEbe|l9-buuKEy^Q9MLjSKG$S6dz)!U_32{1)N}L)3+COmlg=nY1@od$ zJ<0z-B%sisAR1yh>z-RfQQb6M4i-d#vxvb~f69M{JLPZv1JSCh1$gQ*LxOF-tH9!k zbQ0ZW)S7)qCSF|=2`q_A3}OHBNBueZwTTz^ar~gz#2KA74&&D)KHt~m4F_nK<^*7_ z!!pN@xiGkq%>1N(rNxw$zu-=1t*IpAy$ z4~dD0w%9;E?(greVWZ3(o9ux`elM>Rek#0 zO=#-(4p5B+wFzlEU7^k{3EdL6sIp|K*>xrriI`}E8ze|z-$YpN`^_teL_7P`%e>IN z7tNiH619P+0Q1hBR|W#POOta)1|LkIRtgz zMJ9VOxXN#o)mlXS=u%`Q>~PBuKEmOWsIuQRp{y%!ty{fEyL0gV)$LQeL#pqX3L@SR zJ2Gb^E9+KVd?;joVOXlGie3?z6>(>u(i!(qGz(W( ze~^xj&IRF<98ypEis{Y_FoHn%C0bW(XeF#Lj=2WUEBqKNPPFppEH?_a3}-h906X}C zSYKcZFU`Om5YlWhh@ogzCn3NvuM~F9jOX|xe-X*!YL+#ceh_tJoHXz`aTnvSrOAZ| zOtdGz?QdT!oAJr3(XL2G(p%2X4{xEohU&vd_zQ(U%ihHOlKPWnb$&YYhx48?|R++>`5?sxvM?!;ru|9 zZ#nwuTK^S%ce<+ggdJBE&fRrXN7O!{nu`%q`M{2Ef_+IRad2cf01P9pST9AOK>y75c!9}~)Et^6$`&Nm{wzWcm4c0j9DF!xJTpGrMp3esI4D_iiDe`sswXSu{dQZE_`^A11 z?Z@Hw=65mVu^%X`>;$mciK}XiZ{xw7I_!t)S00^JuxdCXhIRO~S*lPS(S^je`DH4E zxbKNs8RL`N?gCQ@YSOU=>0FE#Ku#DRO7JA&fu-X8b;3!^#{=7`WsDXUxfUsE(FKSQ z&=N`A7IwLq%+vt(F;z+T=uZNl=@K4|E%p{p^o5(BGjsE|WOR`%8+XgGW8xJTFJc4L zVY#L`OdnSM{HyS$fX1)3_JuNNH1aDsDqi>CzCT5=kY5zV<~29bX)c^I8R5n&ymHkx zj(QC4t#mDK;2xi8O%V;C{HqDQeM64=b4@sa*N_K0a&ro4+8LY6cFHz< ze|!g}zF|tDrP=`+U7KwKl20gdW1%!iN>1=uxA|NZJ2peruBOj?RBPb~8G;s6xIi6- z?_odhafsxoxiBf zwZZ)c*)FLc0#wE~bXw0TPBYl+h9hs|DYr_B4LR_YL@S1hQs=p zNEh%_fUvWZCbJtaF#kP5=(O#{8|g&Kmz1&8{@Lufw^DhtvKx955~aqxi2C=)Z-!Kd z+m-u+#^U4(HYn6a1w652kO0bYBt&goyx(n?MR^kI+{Q?0Y{G~W2) z0dS3fuJ?SU(6ZDp=kUley%PK}K_;YQyK|U|?7t9SHiyIfpT4a_kUVIhH4PSaj@3mo z`z}|mHhx1Pq?@(3vTBb5HTXuFAzFZEt0D-fw_kd=XvwIUh3VXTm{wbDA~cESd5cI1 zd>6=&AvG3yu+)`9oxmfrDQ(1fzv(_0l?bp{a364dXLRRBI8kBv!KsL;brY)#E3`o{ z3TlWUsS0{Voci?6MejccG9x_KiqN>So*1{25r6BSl9jUyR}1TgXBLL7Pr6Wv~Nu47;fbiU7TbL}>qmtl36YSZ() zVf@nqW(As~#`@bIC+AxSw!O5Pocf&rYaCFm?Jd?XR)p#@{!|5^Ws@wd855)mI^8y{ zws+VvGXW6%xoj@JkGb=~%oJ~7m6+uhOv?bH+jJJ~eFgp+}~*^C+3>R-MY!IZQoabCh( zN(T+z@Oyc^C)WqQESmh{d!!T8zS(!wX=R#hEKxMXy(eg zZ+Cwm1a%?;RH$h2_ws|nRjn8ZY!>3gn+6Ep4xT|AeFox7!rac2Lw?jsz}JqPE?5JG zok0}q1P;cuzs%Yrze|&d$oTr<`Lx{fbq2OV=!3v-ODq(n?|WxuhtmwJBIoW^^FB+D z-?Ok9HBKc5@)L(W&vmI{prL?4^OE9TR)bELS=<>*w%&aKjzi*@;5#P3moG@dm{Eke zhE#Is;&=o|{2GWai}7LYEI+gmc^Kj4K7w7n)+9godg?yB2?xs}pF1<*!Sv?D~Uvbkgs9xx9s#6zBv9l@ox>d#H6eqw^KZO;Vg}h!q zI33^$4}yF*q+q{DsJsa(SsV!YQ#zi^IF9MQV6i{SiN4dWWCi%YQ+hNc1r!^+<(YnB zG62-D`M3w3Q2;@X{S`n`{QO>migDpz0FK`->sYDOESs6u>-~<}_XN_6><2g7U#XC{ z$#Ig;n{_yEMnlvx-lP*;ts#DHV0r8j518>~33?Ak#jocW>uk>6V||p7{4rov#RS9c zdPD6r`qF1om9r!zS4Jk1>7fn#GCnmD=JIt1Na`X)=*LP7R!3XATgk`;&U*P<(0d z9p<0T&eYqQ9jot39FxpfuPSPYlfQ$s-*;+c1KL+cHIVcG5`H~^Ryu1Hk7%Nf$TCwR!SzG31@NHpm`mcp8v!wyWM49TjTxASJ-8JP*MTHLC}hF==PUOh8kaaXeGFGd<|e29vSDaS ztPeu&zv0^wN}Hahi`$pcDs~FVt2F;K!q}q*Y@{7i#stWfU`u2La4aerBKhV`^zG~j zJWvtZpcHIP7x*tfLSQcng6D(`HVp4=LWp_0Xt=2wEHjK)!DSz_Z?5J@>awRyk?azj zU-kdSs~cp))*pfJ_q7u`IsCq8F|OShB~D56S(Mwwlt?{yURE7#eI&WcpVq(@9Fd~g zeUiD!a4w51Nj(YzLnau+O3MDub|?loF0=<#jLztAM>PruE7yNDD0L}y=Ayuc?^?Ni zf~%GK=iEhn2}xKp7GonJx!JpDmDsco$|$XtRdUDwbM9$9s7x9-of2nKNj~?b@UOKz z9{`=Irz^ba-c&1vSQxSh;I2`cKc8-4)aCy%#bam;3_8vSJ-jw`_}lyukEC~z00EbC zI*dU3F21A)dSZr{qA5QF+{a%D`h#?8o%M?)*hWxuqnQD(TpcmfNq&UN$BmB)0!r8) zxno@Q?$_D&*4(rW6b+?-Y^5|*P`DHmJ%pI<6*yP)o}2^?>d7P#bd2j=vvx2mfLW@R zQLD`%buR*}nzNYNf%68w-D$7%v|=bXg1mYrdZy~}(@RRZ-U+Gx=nmCjVxr5Ag# zLw3R29-MHJl|`mRxj#sv@EfyR#-q>BE-XFEENbV$#dWM?!VjU8~kKZsd@G=HPrI{HiqN&j<92*-3$^M*;n@rG*i! zvi#?j;lc5w>@+r!6*CVUrN9as=S3?(ZBT979$5R#ZpPm?2VjIyQcEFp9orGR>f;G? zK<~FiYY6ow-&}|v7k?+03TC++so$)2~rN``u z>N%j$AbNQLX_!evzG8abf=15260vIXdz7K^a$YS)iw{@x5<|Rr#ii|ov=LJ{eu>dZYe_ip$ZuzvRu1dpjQK1BvP zH~m#t=2_wy>9+YkdNF-z` zQ*#7=^r%R*pIi2AI`>n9>(QJVE1k8?Ilav<)NUjW^O$}^yZZ{_Uwn!4Fq1`aslX;Y zj`XDIm`E1sz|wShA=?a@ZGKDSMU#Z3$E!1nZ)g^Eg3ZDoSN6@RXrGVCHvMIauS7d> zuJltXf9)LdTWdF!n%-iA9b#2$W#i??K)zYho^((ZqluvhAr@{H{diy0%@-~VW zKYC|2Ma)2^=skdLT@ZVqJfiCDqS@~qIGexL(BKy6Aw9ch0hoHN&E+m3*uka9+AIh3gTWdSe~W({-&^oFw`!j7$DcsF$7`pO?kRMK<9h=SV?cmyJIe`$4|zoI(6u9#qY9zM?#zNe^!Dl2>Z^dH`>`wSY# ztU;V*+g0R0DH6EnJA$U{QL&T~&s{`smeC2I-5mzv=v$l@iF;yN0hMibU=CG^e>J;+9k`Si9PzLaj$>}QKI6lWmO_o+_( zmhxA*0|-Na`+*J1qEMIXZf9rb#;pcOw>EDeDjb!|GumQ2!1ac;YqU|X;F@l1_lemzTN0J|U zFJF(kO21aHg)*KfuKT=BA{VDkOvlx(b{f|A9D69_BHUm#S$F>~`Mt@GesjLp3;reY zP~q>6Tt;`XkjqV?i7lqPbWGh`y<7dq<}pDHl-dDA4QG6`QDq)+vq_&HfW!}P6Cp4d zt>Qnli5ri*I1ILEOGD~3Y!@2^Jmcy1xDXmKolC?at}_6;neEfca0rLHT}NLpoUYh` zDbCtfZnYN&>}m-(F{5d1=)bBuZ?OcP`GmsQV@kn%JMJUIep`Avon#8=ATpEo-@hg& z12f-)R=HCD%pUjvbWa|P!}u)=wInpZG*LHKrZDMeC>Qils^IyY)x;kDRs4c3!DDOG zAptSsf#1X>kSli|Qka@S)6O4un-2aKL?bcV;$*>KSxHovjrfZ^-+c#>;(42yj71K| zzRyFiLrwv$rPcNA{mtv=o(*JDA0kS93>OE0D{KMJzLk$cc_5dCLWnJcFJd6_>BpE< z?aW9;^!;arQcIjloW&YL+~MkNO&a>N=pmhg>{SM<@`a&VeUA`ay*P@R$_+WS2%r?_ zs&Z%c`>ie+%!I=Lz>$9$7a`-`hoc&*dl60^whsaQ;~9~@JYn1Oc_bmgVVyAzUOYgZ z#j{`#D_YZ)(wa5;qzR#zo4a|-ANJjBB90r4Iun3*BkMxw_Ti>SjhktsmR|BPCLt>9 zZ_3eQjweI*-8+HNt)$9^s|+10w@sU!PY{`#BnF!ULS=#{k0Zr5`yOS?p8PfWbKT`6 z@T+PeRJ4`fj5t8bMs)0>o9|C>mBTlfQ*nFG#Rri-Q7}E}+eaz`LmO!`Y_pHkoAruu z`&!5VNnA3IG$}Pz)V&pt&AF!$E{J-;or3vWv3&Sl&9KzG+ae73Zf}=aP*SCI1{?0T z9SAC)W(?DSKOkcmW$(K5Bl?c@(5#>J#j@eq#ctX~$TIjkl>Wrfv%Ey+bl1Z-v?NxJ zwZ9!ae-MsHPUx&_W22?9$mCE%&~lzVG?hDXM%~gXGk+Q!Jf0BspkMWxy;^!n<6JIrSYjv z6F%~$8)0^qbUho9Sdf97b_n({$;|XH9-RHrohHuPcro@03KEPFejN&q?&nJFoIQY; zSI#uL6>2^^yOR!51OLO65xGas55dPG;3=uQ35ZYW04#+~byXQf^7Vq`G z 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 Pe7HEdAEg|=c=LY&YVNkY diff --git a/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eba55c6dabc3aac36f33d859266c18fa0d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5680 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 diff --git a/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa40fb3d1e0710331a48de5d256da3f275d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 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 diff --git a/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/flutter_template_images/templates/app_shared/macos.tmpl/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632cfddf3d9dade342351e627a0a75609fb46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2218 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! diff --git a/packages/flutter_template_images/templates/app_shared/web/icons/Icon-maskable-512.png b/packages/flutter_template_images/templates/app_shared/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c56691fbdb0b7efa65097c7cc1edac12a6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20998 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 MPgg&ebxsLQ025IeI{*Lx diff --git a/packages/flutter_template_images/templates/app_shared/windows.tmpl/runner/resources/app_icon.ico b/packages/flutter_template_images/templates/app_shared/windows.tmpl/runner/resources/app_icon.ico deleted file mode 100644 index c04e20caf6370ebb9253ad831cc31de4a9c965f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33772 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-100.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-100.png deleted file mode 100644 index fa651eb71070bd8ada344ac3a4a23f346297a449..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6049 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 AQ2+n{ diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-125.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-125.png deleted file mode 100644 index 649e07696ba75f5e525a72f60ee9bbe868e28f0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7419 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 J{=a$u{{XcY6^#G@ diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-400.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LargeTile.scale-400.png deleted file mode 100644 index 979878f735eb4275bf5246992734c14311f833d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42545 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 W!tA=RzUH diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LockScreenLogo.scale-200.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 735f57adb5dfc01886d137b4e493d7e97cf13af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-100.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-100.png deleted file mode 100644 index 35e7f6242f49b50ec3c688b0d9fe21ff6ca3bee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1821 zcma)-S2!CA1BQbdv9(6xP$O+9Vx~m2YDAEd#z?IyqC|{Zb?ll|iO?!)9NRCVHF~Vj zqE^&w#5h!|t&&pIF-q$=>Nq$5)qn9{yx;dc-}BwSWE|E~L{L@`004+sTcPYv+VWon z_)Zf4%vIr}fFV{c;Q)YW|G#j(3Z~xz0QgweC{xF%;;%(+A!qQQMAl|$*ZH8BUjOQ9 znUQ*KCOG@L2d>r_fqae7=9*6?*mVd9AeUZrZuKFQ%cWIwrRmA(`F2Xc+zhH#o+(Zo zHO+mG6i%Aofc~}-qt8e)6I0uS+OTG6Zv&gAu6!uoEjzyACLqwyJtc1fHDC5r4AT}j z1f|OfqeS_X`FXNal7@Os{`dSaJ4`m~n=K(6_EwqV>(IZr91Xkc$WE#B6Qocrz_|Ad zd+qJx=?Gmcb|EyHdyF7gHzfImMY^qxf^DbpC9-(Rk1>AD-}0X=(4BQL*nYd{OTRG@ zU{Pu7t|mcxFT3*0Q3;J?{D9}kiL)1U@sliMX&7XXdBYR;d z7M;N!7BCdby6Rmag#?|=Vl#1nrL)sIfn98%N4%UPYCs zwuOkIJx6@B&||9S2G7jDvme(oFdA$bA|a$f<}S`EryVLXz(sLY2YgbxeX8+lyjSL3 zU>dfT#kA4iBTrEdH2whcBCwPP1r;3z&@}!>Ds!m=owt9b0&Vh|KOQEr>v{~!d#JC- z61&my1A!KVn-}%ED+-`Q_I46KDJk4cNY8G^6K!+%&H$X@D3s~T)R&_T)vm8<{YT?D z2=N6=xD^?~f4X^y+P;~(7$$voGXXFk#V_f_k+-BekxU6Ub&<3LN=4X)=Kk2Q4^y(eAu*Z0glF~K$WKHfSv@ifJnEw6C zut5vMhcEbAS6#QcTFRRV(<-RrnssflgQbZ7g{bL(gT^%DId@2>m(|~)!r9GBI@@9| zst!pK%SHz`yf7`1lzg-+pBeHE2=1mmAG{K)R@xZW}A9;V-ixXO#z zr)6r24AdxDQGiiq3Y)cy`CzF?wKPpmnQ>u+yi{WA>QYA_C(b9qX*Kb9a;3S~H8$+= z<)$k*8;;5S`vi66*>kOPvU*hu=b&#=?{?Opoe8(bYC$(owT+Lhp*xmcYAxL&hFSH7 zz6_Q8J@8=+Wm+y??f0erc&=81q986+Y47C9V7WjuM!DQ>5qq0Pz#L8>9XhF^PwiRw z_&0h;!uYSc+(xD{Rb}1}b4tsl zLx7kek6I#DPEHCpjOG}~CWZ`Rpv6c18nN8^p;sB&=dD*B8&UX zG_AJ`2yANY6)|vyc6MvJNs>bde7uvY=q?PQ^z80NPjEH>!a_p<7@)5pMA6diJzL z?jLS?#M05D_#L7Zu3?5L<&5c4VLh3B8Co$2Brk%*)t}<=Ie+<4Sni@L!TA0cH^JcV z^>3 zMab4zlFHU?yM4_AUU~mXc}w)ju;l-xhW{GlC!c0ao)Ad60eIp&fVBk{)nMkC{0|Ij BO8@`> diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-125.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-125.png deleted file mode 100644 index 2a74cc67e6d7ed7a5f219ea738e21d2a67806262..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2519 zcmb7`S2!CCAH`#b7^OvHmuT8*)o4qNrfP?#w6=s8jV)TOQE!Y;JNBqeYqw%`*cB}i zUL(}16%krBU(~4ec`v`a@4GnXJkS4scP`HJi!njy^Kgl90RR9VLj#?Mr)mAKfb6Gk z4vMZm4Ne~eYhM6>_shRxB4f*)Pj4}XI$CA{xvM!rK4v4}_5s{%^F$v@tVozaxkW{{ z$Cbix9- z;k+w*HWYplkZugPk_9kRVk&oLHleWoPmj>o8ORXG)9Rn5w$<8C-)n zU4v8P_#)Q%;kRMXjr7`H5rOUoa$efj)K~(GSO(js0>4hb`@l_Dp{JBMmTE{`<(=)z zlnX{Muw!3X@XB~r7KoJ=-YJs+^DIEvDU_B&s{evM%cMPLOVq(%*jZMs*cauH#8?Zt z)V$~n2tIhWq^}cx|FtV*OaeH4IY2Wn_wPhF5Yc6b3uB$<9%b%|>l-eHazd>yL`0^oNiOCxTZY7d`a-q2*LRf{cTNO>(^XBDMX;~pc`lF*M; z`_V_&4L0};yRr%R)2d9wWgJLKFg=i4fLIqsv+;pKJKmHX>z#e^Botk){jes*QY^-t zB0(CUAa4pxjZsQ?hjNR_0qim)+hiKqkgR@=?Q-Bk(YPyBrjUEF?cELtQ5J#@Q<}QQ zpZPm8r?i&xaHh_y68S)B^!mLS z*^p1oyB2L`n;W7?8GHoQhE=QZRz-R^Kh0tWS2m4 zIq6Fcdj5lDX-_X_wz{?nu5ZlK$%sW6Q1{K(xk{D@o^(QEi?39ELi_oj5?M|BP4 z)zlgqCnw2zbcl}qs;uhT*0#E8FVBRQX+&cIUuDPqBO+rSa|vnibNU^qxI`oR1y@GV zTLdbWGck-HS|2R&lFO8mD9&R6Opyyv5)!jtq0~u)AzzzD$f>%v2(Ix9W2d@{If?3( z4;BTr6wOyFPiE_`7RGOIV!Go!3*;p}_b)QI6)Dd{;u6lW&hb#?j17q-FzDqxM&&I{ zL`>m(ke{UWv!7W}4!_)flO17aarF8@_PZu&+cy`AKPN!1=W{{SFj|v}i!<$|C_%@R zz{rDiZ1KhilYujj9z&m?6y`2Ra+2#hv zv$6m^M`FvjzGMFIPPGVOqFl*iN^iF}>6&x5??nA$B)F;5w|bbnHG0GxKDPrVlbCk!%6PVf`H%J7rRAmyf+#axy8)G$7MyTV z+V{L(7g&=iP7mTNV1x@p>!UyDw0iTCXAvA~>_+7XXj2grSy9nx;XpKF{70V4JdF)t;zyqmo`TayeSB!W_FlMjG}}(bzAKfoN_Qa zwh^rBveWsV3|vM1{^SfOE8)RJ8F3M}Sx}26-#Dl?b7~cP;nyk1Lvn>=lk#$}7WsOD z2x>wf`nK0DPDH*<_NQdMdapj!9k`I`*>^gQq8b}lhp+!hc*?Ju>vWzUXE>=XySg78 zc!>+KnTD&inKSCa$VDrSD{&-BKlCx;U@*BT)WB7QKlNYIAict;ax)#abLD8hlQy$W zeqXc+@Sdh2snAJ2WfU}VK880v7X)ovz+vh3EcFd_De}Z`%A>qw^e=dMvo(;jYZ5cy z=NG;KyR(qiQwhy$s*<(wWtsL*20?`_4iDN?SnAnmu|!0)UzCTH!a(B@tuev-jK-EC z4Sw!t`30d%B|MJP7Opo`2E}z6ecZJ=KX-lNaEXgAi`xq9vYLApBnIjdZ5~)(W-c0b z0j&Q9aHzFwY2Sv3)W9d)YrR1N(+0a83mpfE8N2a8%2qN#D5|-iad_xLd*^iUncx%c z(5^uMeNxaQdv{h6uWWNA=$=(ATlS>r60sk-=cBb>mO8`R7b!N}8MHt>@tS4{FM}}` zPH|k#XG^+|f;^QPymwV5vue)L^X2FcdlT%oFye2y1IF=LpPh*@zUOTHsPk;t%i&V{ zzm^O6CHmbtlx)t&$fJ74q^Z|GY+uHl1-_((@+I_^Q( zg28q|m*fwb6?#g%g0199wEgj4JU(!BYpSoPf+Kp6-r8&_|4;5xvpSpr(A)6>^xo1Q zZ2AK&c9K`4ocAFA89p2m_9!$PqFgHZ#O#44!1gohwfqYv*wHwd{K#IF%urvau`ul= zVHd2B?q#skhpMAc`{NEVj+z|64b4Hsgkq9gNNC0Dr}6{%^a2_oc6;U*vc~V7`b!B6 pLp|ZG>9>?Pw*Q-3{)=?>BvBPVcOHE^zI#e)07G4b4)Gou{~xviyj1`I diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-150.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-150.png deleted file mode 100644 index 157124823d548ae2cb06ee30c2b6bcc898e5f1ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2984 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-200.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-200.png deleted file mode 100644 index 07ec2ddcb15f766f41f8ac49e8f85082ea931a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3721 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-400.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SmallTile.scale-400.png deleted file mode 100644 index c205729b7281ca6742a6b15f836e80adae2d78fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8054 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 VT1Mgv${?M}P}fwa>VXsde*jWjXtn?V diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-100.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-100.png deleted file mode 100644 index 6012579815fa4a18c7d12e900b629c6fde5c8d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6866 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 UwD|=1lM1Bs$WW{7Puqz91ABlFQUCw| diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-125.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-125.png deleted file mode 100644 index 0c35be827fa2ccaf34c9ed18255011511678c342..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7899 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-150.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-150.png deleted file mode 100644 index f1e60f33c3b4ae5d0f7fcd893a89b7adae98adc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10137 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-400.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/SplashScreen.scale-400.png deleted file mode 100644 index b2b7ca9c4002a64ec810b0006ca34c330bb12550..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46573 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 Ys(B0le%?Tzy4wM0sA^+NRV+jQ52u_yv;Y7A diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-200.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square150x150Logo.scale-200.png deleted file mode 100644 index 20814081dbf6b3a37a4671c68409af535fa5550c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6223 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

4u6S^t?ou(>^5(^ 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png deleted file mode 100644 index 1c78d96bf8b7a1144eb382cbe37abdbfee03212f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmV;q0!ICbP)pHYe_^wRCt_)lU+y@Q547T-kq5{GwZgiZGIK`;J&plMc@ibg{6=d z^g$+}OIYAj6um4V^s=-sLA@2?lND+b?n`Ne28ElF5NVL9EC!OhHCx;6eBGJZdz&5< zKUO_&7ykd>Ih=F<4A`NryjAvdUT&BWP);lYoFe1GGLH1uiVs#b%y#C^c&3;jc9a#F zfFT3mDhEJL;wRNX;o*8+LBRECD&(p0iY;OTT3RE#Pk>6&c>c78@7S!}0;nG!cjkc^ z<2+nYl{6yk6`=mt7?qb|ZH1a`0r=f@1IWWRDz=%o%{Xhs6_Y(T+}cWZ1zerddwDN= zQIT}Qdj)99){LQR%`fVaUdX%w5SrBP^ChTLN$Ujd;h~|L2_^fdap*)@W;^p5AT)`i zf{(kcN|95!cOfr(&B&T(p4Au41m9>; z>OoyvQYTJ(s$9zaZmCw?;4yKz;0~%@q8p3H<(`3)?%5+Fa@cb7;rV5q_)9oI3Hd>E z(zMyU0T78eD2RaB!>^SVu2hT~zcA1s1PM8xFO^m<#m-lK+wlskMe@QVmhc!`j2dWK z17Anp!}#L-EzsQ^x4Y0?0iRDpDbTlamQv4HYT{Ecw=hT0zRC+E;p#U5xV$Uie|_nw zP{GlA&5XbF9rRTkqFA-lRMHCDdJR&&6k0#YwrK>@cYa$3dYTwUk5Nj>X-=}$d<$GS fc+>vVYjOSukcb*(FO@J{00000NkvXXu0mjfXTw1^ diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png deleted file mode 100644 index d49d3d89908c2dfcbd1de42523ebe39418b95dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15554 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png deleted file mode 100644 index 6389ede5a62dbe77e287f93b9bff4c7235732ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2418 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-125.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-125.png deleted file mode 100644 index 50faa932851c251727b33cce223e75c4ede7e993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1893 zcmV-r2b%baP)pM7fD1xRCt{2+G&gvRU82D|C^c4wLRG73`_W`xX2mV1%iYuU}8v! zQNyu|8xA8z@!;}{ep5dwAVfp~(Jh4qH3UOoVY|y=K=~vJ8@~8qqsXzc?Y7-^rnBuE z-da$x~=s6~(oj9~jRP7$7$E}D^L&`VL;{QW)Q^u838PUF9L*So*<^020i!SG$Qlil%$VX=cM#at zQray$ZiP2Aj&lhe9Dyk*805)XDq{rZsh75t+ICrS6lSj>rC7y1Nit!SV$Pt@Buw#Z zJFS4xC>yT%a%ij|iC)_y!lXpTb{?*mHe1z)vf!G}X2Rf~U^OITK6RIsFdCNQ4A@u$ zHZ7I0?BQjMH&ezGpSH_gFTHJbUo6F~y%Ze7+QkkEi{ybBVIE^X?Gtx{U^$G2Ww-=P zq8Xd6_@g*)C7NJrzqXse-m*2T8?I?9eWr|>5G2a+8|a0Mx!WPb4P%}=op)oZ@M=kb5^9V*GuYc zfl)AS{gwV|EJ$fs&N8H7f<^kGd)*a=(I^P_0)gpb6&+)9LbZHM>5W%oCO&k0vQC3^@<(88Y$O;5&c>`EFZDdK3<|)pNc+$} zNthkzF>Qj)LOr>zC8zs{FS^fN{~&DjmB>7sWIK&m)~OH10kPcB*XWsr!163GHXt*s zy8hS#>6=1e1>tlJzZ<$8n<~|avlM@h6V4Q@It_a@`#YL1N9M8;e}=-efuW@Xba)_Z z49_$4ASyoPrQ-`^ccHL?aP9^2AEca?A`m;oQQ}NBwcAf$rXsM>bXJUho)dO4Fqf5W z?G!c`&H+P12Z_QMo&hbOv=j>~2uI`SB4;021{UjpykfODGo3*?#t1Cj7yaUJgSavK z|1D}KFsIzku$)s1n@)k!2POw>Kxt`PP}rrsl5jK*FLC)u2AAl%bgi;-pM z9<&hH2ifn>IvuEIBnq>+;*kjE7=XW2O2JS|kaW=DeGM;ENDS>os}>emS1L=b}BH3vGZpMY*Y%C z9$qNXU~e>0mXn+|29dQaN?>jCr9)Qt#ZugCul5vT;SwNDpfEkxHYN$YA7g>TY;2Mi zZy~TFR`w$mmg3?V`^n1N!wT@2uH^ZUv7sg~j)iMyucC8Tetg`@KA6K&+_k0RZ*?a_ zPYX!z#TH%SG8VP)A*4XHpmIk6@ZD z1J-c?e81eFFu)j-B|*nX4Khe{Z01%U)MH21mvr;P9A&$lPJvTS4K#{6@^Uru)OdIh z_qKOI|IgQfbJ`)slC_RO^wufi5v3X;dpPG70tBmoWxWw{bD8}f0WRiIywiXAM&12i zyD^M*5*Rb|A!D7O>jgGS6j5N)0X^o~Q1pGdRFwS|76pn;?!_2uov3!=6S^8ooDpQ5 z!Q&(lQJ~=3%B(s7_-JXsirjouJ!|g5b2}P&8{3HlM-n(RjpFpbQY9LsCAt+>?$>eK z%iD`>w{rKyPi(%+H0^7QVbsM4jwxh};mrG5rqggDBnN<$sB0Uu@*n}Of2WuxD|*9U z^=!N=uH4fYBg+JmMomF6HSvb&EFt+c5pfNWeav=PdB6@)$0j(j0%w2c!=mCp)ll0u z-65TAZn(zZAP6@&W(eQR00000NkvXXu0mjf=R=Dz diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-150.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-150.png deleted file mode 100644 index f0293ed8147c619a36415f1b742076b02a69378e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2515 zcmV;^2`u)BP)pOg-Jv~RCt{2nrmU_UP-%mC5$9@Qp!x5OgbH=-%2PY!3ooW zFM+00+R1~bjf4ph2(R!6A-o}lG-*Nzgpgo7*w}`~ebb3yQW(a>*knkc;ZtW4Cet)P zQcHeG`;vBh?(RyK<+ZS_UCWu#e_$kbwYz73{O`HvKHR7%UG72$Fj`auVX6qiR1t)! zA_!AO5T=SCOpQ7ai>^rf+{8UYj>(qiHS<%=IEERFT)f+-^ho>bANHOc&T~f=lP=oL`AFc3cS#IF(M;PRaL~$qgEJ9(Nh>>a1Rn9(xH4I zP!$|RMVs)lx0GxUqY8yUoq%&OKq)6s2<_5abq|qMcEnLo5Q|!ceS9g|WI#yj%^{~U zAw;CN0m4eVVksDiaGUTFS4uXE9YcV?m=L1UJ0~9`&)6AHK|q9Bg*~K{Y|$Yk2M>XK zhecvUItCDy*&Wk}g9x=syWoYkQV6OA1T8y1q?|w@bSPD|50a;yh-*YagxjPY&_!+^ zsuOewQKh9w)DP*ye@r?+GP@DK7 z339uo&P2)yI9Cs8IDr8taI|-*h2{`)I!4Dqgj&TH_#n5JLQs>5oXtVc4;c`|s8k0K zDx8jy%25#EHt~59;C?H0CHo}C0o`CiAchkf0K!5ip3B+`~eca^Id;c17}*LU+$yi({GQk39_j=|?KOdB4MC%S z3_IMu85B|nJfuQx^IfB*c5tagkBeL#X>7toKVPiLZ6k+*R& z(>0VUQyLbC^2@>!&QFdig6;&B85{&mA;6%kDSnfkUGo%^u)KGhSoOsX_2>8Tig{&! zWws-|4s$)ih}Tu(k)@4rsD3!_G-MEq+Qe0ypF60;3@0#jjxmSyiZRt3y5w`Wzy4zO z*{3EbR=+L3BG!^pZlTf*6Jg8Kl z89&yW13-{FfnF0WKF}y&e?1Ep2O< zO7;%@RD=_e)mythgdp z1B42pU5B6!5(0+ejSkLsoGQx?0@bi`L~WVxX!(aROoHCG6mUrYWN8#jMsrXu#1zkC zf1JTsLZCSTAcTZ=IpqZ0=Qi12O(*COqVg_)uzNV~kgZ|&8nqAmjx216VLsqJM3?9? zVbJCPZ5>Hn^2Nx1*~iYzW<;xd0EBlTfi8|y2#^8?azgJhD9CAZ00?44-gByq+d16$ zvz1pJak9*JxV%MRxBxAvG`*mr@$;pGLTFA#BEL8@d%R$E?ZmV3qjxxN$+(CN-cgZ? z28Ljy8xumngQN&ejNJBoV$W9Im1S)ie`vvF5u5=fHe`D;){Ug@#HDx-JFD^0@o}qb zCZ7|JxC7kMJGVt7c{Fsd59=7r{Mtv^5QM0>@6=R&Yrb)3%a*Z5-BfaLVT*`MzR$fL z|5|QyiCwcAr{5E^`t781;$eWWT15p%X| z8-1QEBL^z3NZ$ytjt}0OKCZ{=H$OcWKjaB;D=382Vy_$icF6RVRdk;h>ytR?g2`O$ zWrI3|R~n}Bo9&7>Tei+e)J);(20AzSZ2X`*z^{}60@5M$<^&hKf7FC=uQ%lkeVr3? zLAuy0{{B=Mzsb&6vo#{q`IDOB2V6mZl?lOE@kV{qfg3X!Fc`=Q796f zgbqO)#Nf;YFuFY)y4w2LXa5TSXha}TISS(b&N1h2qS$s%z_&Zu4I}Pc>z%Z!gzVtr z32Oi3Q}pHKs}tDyRn>BRW!T9WQ*solT0e7lElhndRF#u_=ZSwz9I%WMWxOWIuYjmVRnACD%Xd<{o4YluFdpqpLkYa+OF`ljgu z!h}UC=SE4WA2i&XL()5FL>_pAyIE8%a{en)kNLm6?Vo{uw8W@PjkJ%K5-N?(sgLj6o&p3iR%B%Y~!6Y1DwA0vK!D^Qt7o^3zqh|5RuH z6k;4;6oJ8R{t>l9q?=3zoD<2VQ3Zl3(NH<$2^c%}6O1|#g;EiOsUiqdMG&TnAWRiO dm@0xW^?%+OX$U3ZWQ+g+002ovPDHLkV1kmSq`UwC diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-200.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index e54a56dbca06bcfffc2561ac551ea5dfd58afaa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3239 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 OV6ZT;GOjgp$NU#Bj5MgPpB!c$GVm! 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 RfhYg~002ovPDHLkV1isQMO6R* diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-256.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/Square44x44Logo.targetsize-256.png deleted file mode 100644 index 50efc008dce6f8096c4c0394438f00c8e7154cfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10408 zcmc(Fc|25q^!GI;YxXQzG9znWp{VR5WJ!!IR2V`+D0`L}lI+=v5F<;rvPL9EWY3;t zC&p6N8DY3)p4;zv{(k=b&FeMy-apPgpL0H+bIv{IeNL>Yi9Q>PAPWEhY=#E9<^Vtk zJ<g=;Q;!E51NFEQ0ia6u z!|(|Ja1iE%E{+HQXl>I1fbggY003C&A^G_jU;rR{5)J@10!$FS!v6wc@}(8RdE=XI zab~(5tLA<#+vvsJsxw7uAKG!x_7&S%dg(X;Ei0wZ{j@k4U)zEhriry-T#lv4U}kT% zxhf`=al(n?QQ}qUD$L}&V0G7GpPzSOFrfQYrwCY3;j<^$a!1b{Ual>H{cMj+t^`bX z_U-g9NFT)h#IABGx`v5J6#c(9Vmd!|=-U#%)oCXsn2K{B>uXGfY8sf!t98acwQt;* zf79$cKAv+|mBI`OG^zAp1@|Rgah!*8Qw+5Rc1Ys5W5ByfAE@(Jquq#7&_25jH|T`M zh_r(?34Pw$F`#+Uhc{r};I824TOD5t{vQpzlCtI0mzmvRpVlL)pO|>uJd&+(lzGczB{cKOr@~Me9guK+ z@iNt3miGQ_1`6S6-o)WVNveGT!kGXEUBNlNt$Tg1@Nvy?jl`|AS#u7x-{4r+BfSh~ zI497`CHpv=(08kIn(rm*fuG7@LFW~)uwOg5)T8vRtPF|{1_;3H$#W4zg5A2}M=)r8 z>o@PwZ+krUM)zuJ0vrac7CSaQRD(!Ldqgi+f(>MEl^}%alzqsJA&3An&Y}C$a?_pZ zYFihZz@UD@%~fVcN)o$(ojDTHF7KI08+zj6%FNx?Y0}~VfvpcSYOeBja5a_X1QQTH z+Mv_G+lQ+>u{1Z!zvTWS9MlPiOq^}1@lF-E??(D>p|EmAUX|f87yy4V{q53dUr3@{ z=@3LC-9VmOlJ%w9#sy+|dbbiPC^P{+0a*gik|-S$z*^%Rz0KoVN~W_2r233dUZPl{ z4}Pa-4xA}4I%kOhWc3!UHuYp_k><(Wl@1i+d$@PxMf?`JBs+WJV(q&rNW9Y!mulyx zZ720Tlz8+FS=1)zV@jzF{%JpBc`NuQL?HqxFw~IPbf%BSs&Yz?OC`ZFtylg8F=v{e z(Y3`kM7eFIg1S@1pL>4XwwfBp#RTw-ROJx3 z1F4w*Br`C~J-9`Bb7I+A7uL(qu!992-gAF?0J9+LD2f&*42J|v2kph&84LN?fh5b*w@Ez64_e(uNvd629N+)kLyFd+wb9 zEP7xyLAmj>*7cS_dn;?--ZH>i;j$CGm?uQsbv`j^vCL|6S0~nlQamDc(~*L@^hvxH zpfg=k@>-DZB%$8N=wf9`LA`ghT2{V4V6xKVY`ws$D@6{<9aeC5TZEsd6@w8(S%b_lN2&W$7G!5ye>c1N!?emFSYT1 zcC;v*+h3yvoI)DaZ?7mytdke8ltob=SMDnCWD3TVdOqH#qfBNq400zch+V?7^B}iu z7b{n0!m$};>=aQx?l0~JRUsX-D&a&3@s|4y%ZIpe8P)r+B_tht>R$Ylg*r!Q>l1w% zxzPJ^)K2uYUFt*xAk8gU@AEfd@b6I!cLu6?g&%|=HTTH9(JWmzmGEZuU8||@0Js*{ zP?fRm(yoHMJ1JgA{%?^g^-p4jQ25S(e0PYhrfs#)^@(WJGa?2MX~by5%RAjc!p80b zB1qhuG;=*pict)>ps@f24!?26#tK#e0G1d2#e;f+UH(r}ulyM#4(UxTda~DcMiysd zshN7%&`TUOqB;2)ThYVvwA_BS<*aNgXOAgd$_MrG`wm3YFkCO2Qydz6C?7^}e;!&Q zj1d4!@}cK1jvTMaO1%dKy_nS*)bQiQ91PcsurLdZCTu4C+TE?I{mFgaZo6o#)@EBxKu15sUx6nCpHe;Ir8Prjjy+Ise0C zEgv~JV_?@*eX^D!4l=H&z! zs+`Le;sZwIExI>N&65c~KM@2mBCG`h+J$*WGji0^vl+kPt;-wZ4)nU#(Aj z`Wb57MF1pSonnQwy^(TX3BvFUCb6$lnvtkk9o%tx)=uRd^AHzPxH{y$l>rT_)-t`D zH?C3rE`*xI^oXXv)Tt@7x`JPraf3LyYXM8Ip2@Y0ECduv;NB!qW&CLkV4RP^LQ!Ua znmVrMv17OwM3XErb-%t=pI{P88!mm z4KJ<48BxERoSECU`1CT*auLr$;y=p?sN_9jrO~VJr44M!U8kgpyzbr_?xdcnPAa$4 ze80P4n@+#P&IIJ#`W%Jd+#ag5sQS^xp_5s4efuV?J=cl2Nf{7>YFJGsID!A`=&E;uK8f(%uqASQ~U+;d%rUsxh zNtLjhcAo5iSFpN7ay^ID{3Z4V^x`XBc&PPj>9#D+`b;k!2@cod`yS|%CTuTDnAz-m z2|nZg1D55(d9UUY@h3^yY)s)N-KM`8`vr--x1pwfCAk*2IL_em$c#nF7yD2h%_vrB+x5B?@ z0SQ{i>GR5+8@AqoL;6Oly%>dkSSL~6(eT&P+T*llPrVGd06n}_L9pqGlUtG`?Si@1 z&<2}2+i@$q|0;iVHO8u8dxB~>Yt_y|f07aAz!|R=ITzbQlW1PL^65{KB;i~1pjXz{ z3dMH{d5CZzX1Gda+q1K;;^T!qrw*+EC&KVZ*J(LI&e)Rm*JP#2$2G3+9i!+@(8Gay z3vXLL-WP46>!V>Nx-rtfc=S^7`E7CEqlx(6kNd0I!k@H}=&BC-Td(94tuv_UxXR+b z#EBj;ilMZx+bp%M92N)v5HRC6ePyEx2&&T4bV8~@lSAcdc?}Ay;h}OtpD6o(uymZ* zQ5ly%T~xdaeI7P#n=Lx2GiMGPT1Mi}-+iQ)J{L>N*KK>Pgqsi_bU*tW#v)|IpmqGV z#ap4MKGB9MZ^XPL@4UdMm<68VjqQGYV+l8r3`y4ILswN|q};JkomNfjYgfZnGofB_ z5d-yzT^>|2$TM^P*(ruoC(>EMuX*q0wlzFj2^^srFG-D4;>{q@dc7@DPNni4N;O)a zHWx5evXKPRA8@yL{Z}3MbD{(co}I#b>xBqaHh^~xY{Q9|%>B0T{B~}-DhG?L@lx(1 zD6M0T{Q-7pX;U`NrRuP(f&YU#6x%#=60pl{HD!o^KLeV67uM+*I6Nze)UaZ?Xd7-Pe8 z=`ThqL{-Z0f|dDW0p1W>RU_268Pkb9L!s{l({Gz1dcV_ERi&Xa14awUc=0_x?-lg! z8xdWskf)A$cx4yqhx@p|*^2dEjk|42ajFh*X zS)Lvvujr2`UmJET18f?i)V{0*_$k{QdUX7tSokoby7|&DEX@2$#y-b#@UT`?;DW+DBMk97=zjL&iC{Q<&c}hqKP|nV45uc=Bwl>k7*ivikv8dXditCEY zTJ*p9^eha>!Qb(Ub93ka!o+j=pM7wjQ-()h8BLgF&}^nbT>Fwl6Pp$A4rt zss^p~iGw@35AvY8s*?QkRc$qRT`*cc_y!N~lvrF#v;RJJr^j?NQ5jBcO4ddc^!pfN zqa_JH+wFcRO_1MhMoHvh8EMk#H2ut8e7rHLIo9)_jyl@;ZHA)JYfj?1!3)4?OC$Sy z{>;1w{Bbv6m-lP$j2(+n z%AqHCcHL~S=r!>+dK|0~SJiXYv#aO?#Tve{Oo!9&j=?z|U?P@3#h zzqOlva%MC7v^as2v*Lm3%-=#2eUsRZDN6Ljh4sHtl7!r^KR}_q=A*Ug0Wvy;gt@xl zFbVNd%Q;?ooD*>_BV*&?;m<|?(=ej$vu1<5lkl3EZZNUgQcAT1Pik~}aY3A~PF&F;4?;r=~J5$QgBflGm zY9pa?7ZusxV51L!JDt-pU3V?|lEy)yB8}&Y8H2^L@~AJnbXxbbHjj?lj3dsumR@EC zt=kN>L`eGBRwpOrZwMF0cBuF1RF(`Klzdl}VyRHb9MOe;aBMMIEXO_ZJ3mzV^hyFK_2clB|!s zNfezqY}b07uXHkwGo2Y|iz{s*$YIagMD-3cM9T}pI_Xf6Sp z9VDMl`|&yP_%uqUy`7tqG@?q&X8gp_zxm2n7@u9sFQ3i=Xpf%UQe&MvX{G3LpMKGa zAinaL+m!J*D&d%&;})5GxSOAceTqOwo8~x_kVea+R3lKgI^Cb}4*}4b!FWV#wzANuoOkbQCpu{N7lz=KfF9 ztmqG?(%FC~w3Ax{Q8{niI}40q`fFS;W?aN#j%eTD{`M8f`4`@qq)WQ`lL8yM6au%K zm(wx7Ek40g3-J|Bfz*YCgwX_ICO;%D($m|BIzlEe1=D!jq%s8)0B_-kr9*Q9!U%oi&heymd)h}^2)XBZE@2l zKcrYAZd}W|uXeWz1RZy*ASfdF<`=h%jvD)l`lWy5-k`NZ+8q7zGqj7?S!7f`31@7k z`TYUuT*|)-mARE_s3tEX&$Gg{PSTVH@dH!ScNR&XrbN!v+p?^El;X_5tn%TW5eb-# z$hY04LJfD;xW_dX@}5dV8TWZYGm)IvmtY71Rw<4@=oDU1xSsuF4#E*uZsZV&SRd3BG9Rht$?tFf~=C`MrbKN+W8R8E? zI$V^ohkmOc7eu9=6j7v44NFFF2QL{SFeKNp<5-YrBEB!9rj7h`&sgFFshAncy|Ug0 z&)N@lj498!t1Y@1)lLYAlhg`4s8bm^1GDA6rOaQPX#MQ?KPwA))AG32R8A&6DLT1&IPdSBup7BitdH!AFjt8rY7xMhwwykb zz?rlHbN!|7Kjw`gbV-zbVW3j_><>+6?xA%0Q>nG5XA)CrNh3(?y}oxfxk?<2U&8@` zC}LXX2J02yI(AX_cBE;l36tq%SsZiXf!D(3+flnfV#9Z20%mX~hKNH5i{;>)DT^nc zhL@dZ{JcA4h;T^|IHK>xi)U7PW#0Ocv%C;~^RS?B zX>Y+ya)k_lJ01PV`_}i4F%|XaR+H_AFW^Y6i3eFAh+Kovfep$#-!_KL;LpoAWf97v zPlr^5Mi95M%$Q-T0_7#4(cDl`O&Y0dU z#MWhB%&6{)C*|GN_xe`<595DhBne{0A1qJHIpLVTO47;a!u8l9)Von&PxS!7NF8BG zu)X6Wo!w4H4{08=^ zH~6}c7M^rwK{Gr$X>fuDfCH&tT_gRm-7kp8I%e5J(fn-CiJM3R2Bh>wmxvqdudcEwq%dF6U zBS2Mpx@5`zG`nm*?*-RUuMg=vHC}3woH(1Hk~P2a^OSe=eYm=U@6DEJ7!z6CCo%RG zv=%F!S}uG<{h1so!;zvw6e;5G!z`#Je?dlwYXQz$qvGS)@ei3AI!!&EdQl$B(u^tU zw9<_?<*VHLmA**a>w~cfjveubHC@lt-E76an^6hZ>8jmtMs3AI$`wL5&$9!mMydiq z=T%kB$X~4Hpc>Y0{yKDWvYBA;^mBBF4nkKO@k!VqAXXuSa#I!+KMs=S9-EZi)|feZ z%n%JXhr&=3$wyV z8$D?S0xw|qv_rPVCjVgd(lBwo-cJuAt2tOA((WRY2UugC{Y&E?t>EOp$?#U1?1!da zHPqsR;3jFFA1CAsHF8~JL9Vs#OSpPx9`PMR2Xq!vA@n0Ywt_O3aiZw%*y+urT50BP zPG}Y9P>=1<$(6@)Vt?cb_B^_ukPn}NMY86~#IQH$(jb>-A$SuPIyV@dsRLwXmnWNZ z`P)dXKPwpkm3JG6xKQn7b`san_J6a>?S@4TNDYsv^SyBUY3DvQIH40h}2omCW^ zxdm21(R0l<)YC4af~H~$5N6Gw_~zxE`()MZ?+^D#LP)AZ71==WgH)a|jEh&LAP1Ku zz;v_zoAgoZ{KW_;U-s_y45 zGreRH4y~ZCN9Bv#eY)_AgUYbzmv8C~)XCu@S-d8_`XImsLJkGK4rI>GC3>(jeVD3y z-BzQUDoe*=7^*Es*)So!5uy9=(Vw1bp&WI*d8Mgs4*OQy{;{DwMw3mP5!R{|Fm_;d z!-hZafqkGNbHu_C5G5J*T9-7XM2TE2sAm@!)_fO5cP+%E6=ltMd)qncGf2X%)Y%}A zkRs#^)j1OL``b(hJJShbs}L~ zEKrCOH$N{;>OyR}hG)>n>|n><24B8N&dr46uF>zRiBN(7Y=wZaV2tn-pLk!yoTG(b z*foc;!hcPY>oKF9SYzzv`epRNSE}KB`QFWm2OWqwM+#_Jv21^RP^zx!p8qg6$xMwk}cW=R0v2Zzl-sKAe zq;uY9i$BMn4^*~8D|8Sp&~`l!z@FK-^U*$SZlGqk9^Ju>D7xr`oZrRHNR|ubtY~WJ z*!s(SzF+{sVA2lTKJ!tJJa03pXT);y8~gzsR z_76Dhf8`a8TgZA_c05gH*P^9t3%eT3gu)92NQ%G=5 zZ{bOo=7zoGgdNh+IluzOgVV9aiM1-%Z3zhvZSo)fMsj9kbffLV8fd)J6x3w&x>v^D zOv%dklq&}(+38Mg9CDHPj}SYf$c3U_DyKj^?!({J*F`s1i5~2417Qy0P?NGv?b4=x zSDo)EyI;ZL!q?Bh=s#|8Q$!|3p6Oz-gZ8>klq0nZm*$V5gWZ!jy>m00?b`ZfWAKK7 zC%Fa%?^G=Dqi>#HyY59PioU3d9O8h7$Ns!DdfZp-c{RJ>JGqJv*2|Q^6dlU71?p0* zzJ@hinWQZG(((r82tE2sA4{{gxddq$%Q2|eyA`%yb@H4)KiL+qI;cMP-S6+hw?THO zQJOGwX%>^<*`B6V`sYn|p5Z*x;Gr5JL9?Ai77bN0pxStS-I_d0JL{z3nRMN|n8AK8 zd!eZ7oBXZRa{4fFxJi+Vd-KJWYWEKe+6W6sLciMzh6c@KmO6On2a-A$l0360#=lX(6;UKr^Pg@oh<7h$ zcpEOerPRBpSM&zG#SyVJT=vQS*0wJ1ZR|C4fNRwmsO!6&Be+FBXU|_K?4*uLg7@Tx zbHBte7s$teTVVn-+wplNyC>6gV*^4iVGZT;2REV)dqt)AV6yCV%ys|yp6Td|_!C^K zmR1M#xKwcO$+M_>yD6Rqc`=8^Ys?}+%t^;vxR?@ij?_mP9BOMNyG!?Ssa&Z1KFZ$) z4V4|_Lnfx%OriKacccQ3Ho_ljt+#GwZsL>f3{FV@cs$5o>7^BRw1@NyRbffv!p9Mw zVaBLN)VSvFJ;vjru~bgw#J44vU1moW&H9SMCURz=X1C2#yRprXq?UWpx^3{wqs!pvv^e~OHCL`zyzZnJYsP?X|2Vv+^6ND8W=y1!>rDH1ly|M# z^-aqTPHILKwi2PM7mGRo4<@wbYpNx9Qk*>!zuDf7pG3mBAy2tb=)ynSAsZS|(-<09 za+i~4RQ>L6S`KdLeS8piRdq|x{e(|)7mvQ&-aRz_vRf1i=R`r51! zBZ}M1<9d7=w$b1fpIf<;mXN-}rE6{Y3#|BBvx<>B-9kQ+ED_qPhm+*db5G-(ppO=n9<2?otXu&kDj`UcRt<+qrkcHGiP#ybzR?wsJ{R zJ`GxtY?zms%S%G3Cv{H?V_n#zhzkfIaHg;yA#f(3i>E#IUnL+PA5 z=kE~S{-!WF_r|IJnPm}&qhaG0SnczY`vTb-n**vgubsz&jZ4Kbvr?u)W@y_)Ijp-} z@ZLp<@+WajOaMY=gv45rXbiJXGt`>PU>B0by}r-%{o0c+WA{M|*Ecyon4nP=gv7S^ z_SqUKEtN3qwMVh0Nu0yRROMmLSG*LxdETdTnnD|)KX(7k(iA5ABFww{_=n#$s`#b^ zXEFb$lS9CgP;nh%YiA{Ips6hr|9(3H07hVFnDsDgk4R+8f6um<#S7+%Njz*3Dk+t( zhn@`Fe$0Mb1B1U}EUg7?)dy&+8dBGpO&_ee=%za(9X=dD_A^tH@T_$@M(`{0;Sco> z!F4h^05q`0q|R*XCAH67)ncT7hg}zi&SN4bp^|LH{L*ua%KXcRZmr~abQ=C6eN{z! z(kFe9xuI81&(STpv<&jYZ(ZH^)z1ej`JouqJ8YrD&zCjSMC)uHl%Ww%0H6jEIz#z4 zjv#o=QYucm>~z4l50_B~j9khr7fj??%9j*JkpJ6iGxuRCt{2mu+YqMHt7Qo!gh$3$3|}ih>pqDSi-NipE3~{1Ez4 z5y7)IXOg=nrqR?kiijvJZKValDy=5gYn4mVOF%)z52p1)M6k(OQ?M%iqGHg?Va>fH zxx1a+y;+~xYi$)wcCQw(_}s#=bG!5V&&)IbXHJHHIpqHZTowX4)5cqbDs5KD!aI&1 zj6eWnEzn?=tsSXWedv-2=$JMVv`LGz1!PjqZ3{>MS{Ps{!`?j7LWfezynj&wI?`-V z53BLYZ;U(K0Y@}SgwU`GrHt{~Xp6pWbcH_Z7SQ=6+fPGkZ)KhVI8Lomk_ZZdN}e4U zLAaNG>Jrd3&Gyko^{Mi_Dd4;|atZV%4JtV{G<-Mh_u7|l0kJfDMGL80D|u6}x#YG= zfO$YFc`JeN&3^jxC7^4H?Lqjn2EsW%3l}2~3pjgsxS4kQ>Ccyd&MCGFlk53E!Ntg3 zxHXb&rd@vFo(15VZ^wjt(J0j5j*G5MyHQ|c2#?kS_ap%K`3pGhJB*@r0UT;;UNGNF z-bFXm3tv&de~kPSZAN`4*(p%4RUE?_ouUU>*Qlu#RQV{Pf^N?^;_t(~d<*4{5OyTCuB8TxYF# zY0lV(MQC6-__6{-jNB948$Di@S6#2~DrN1@mcGwEFcDd6ir;RVD8F$=)q1YZF)kro zWT%8yEa2rF+dt+3zM=pT!>z&H(KP$TDHy2T6JlK@vlv-XbozWEzR31*DF$`y2rRWKlc*_IRYfw_3oH5z9{`(Ubt z_IZVS7H}?tKbO|4*ES58zhWIgPjEZHR9#dl%*@RGaI*adUvM|sA06=z_; zE^s1L1auv8r%uD{=jj{eM-zkg*rrQYj85Moi8I$TcO0z*Z#8hKmhO;`1Rxr7G9YljnKfuM+fvLRvf)TWE`ftA7-?|wqvcvuFyItFG1 z+*6^rtO}5ZE4T4TLV@vk|6fe?pA#U$9F4_s%B$$ZZD1L-Be|#$_B;>;i&Z4?Eg!F= o7WfHV@1ApK{z*hZRCt{2nM-UGbsWckGds_Hbi1HbQEw(Dl*mDowsO&wMDT!# zF%c-GAaGHh3e>aVBy_hgyhue_N-aT+L;;aTJj}dsw$iU}| z%EBv?>Y>3Vu_Sn+su^g*InNgfFHdO%{y;h9RK);+$C2+WD)MplFs`s=!4r9IVDp%^ zi?3xnbqsG}cq;F_JLi?ScKAf2xWAI}JT&*3sW6?(?EtPYi4sQ+M(;Y_}$vVCr+>owN~1+Dxg@0gvE` zDmKtY;A{DAO(yWVoi|Avoi1b(k~sD)Lu0RoRBf5hF| z%*mUX$am$#Z@iRznh6Ki=n@`No93+BOxF$<5d=MvzA>~?yx^GuJhs^mMgacd?94gSOMw2{W}({f4h zMH?U*crDP|I;wzBEA;3x(4-QRftj$#hVL23gJ1JYsty<)rwvoDIPi{X0#CW%H4Lwq zCBv6wAY(%8-FQi&@SEti6pH3Tz6^YWu*-ejt3RabCJ;M>6Ki>%1j|8rMHX_11Z_=l_v zwCw?9B9Gr9fp5m}*UNz~%K*{f%0Ty~apf9rZGLqhZ}>jB#0;?)eImPDPsoU&0q&`m z4gH)zfl1AVHxp(>@MRky>d%9($M8mo&%u*pBvpKnF+ub!Ho=pe$ME_?Wz}$n@I;=> z2VOa^z62co4Ti5bFnq3m%kD5##snh@@H}JvsVB^LhF>o)=kw)>0R%=99|_cJ53~Yv z0kDm*JO_8CRrr1Q=h6GIw>^O;^2ETE)xob;oR`9E*x!k8KVh##IQzTqGDXNoPk)5O_WV|M!`5pvL3i3-|%} z(0;C^546Fp6`SyMRpRPfq0SXQNx+8uF)IbQ8^Au265RUkM^GP30uvAcnI^K-hcqSB z>}S^ZfiYB>3D4JsuD%)QeED3G;ui;_+TA35=hPXbPE7$F@&oeW{(z(wLI~6(o@-(g z8~QBcwiX35Ly2rpoY_anN+-#iIKZ@gX&Hm> ze^O3aRa+bVV{JG_zuQZ(i0-8fOnJurd55@HOr59yT#tnu)4^AJ9*3kFx9ffD(fp7BXmx zj3sgt8Ea-||Ia5TB6Db43~ypyKX>6P<$PeN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-100.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-100.png deleted file mode 100644 index fcefe81ba952544e550afe6ed2b97837fb2ce465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2370 zcmV-I3BC4-P)pN^hrcPRCt`lntNvcTGBGCgvq_KsLOtMPJo~ z_b`Kzi8tGnap`#L!`6#N_n8YEXIgW8B)vvT*?J|25Njjxpc74-@`^A*#DUP*m(qFJ z&R{$Z=C0->?wq6{Tks5~oZ-z+^qQP$%Bi_j(|9_;Dt!1Px-ScM!q-s!j1p?YG zdS#@ks)`sr)YLc7OBiEN4+&oB)N~NkW*nr-BfM-aB|Ai)LLsOUI2{9uDM2BIrMFrh zB3m-?Gov8u28CmMDcKc)2Xjo1QUhuN$*^I zkUW!(zZn5>4GKp{DcPe#gfoXA-(ivHmCgaghHQNn9KIjN+y@W`#ZetXoen}DC!m8- z2&jn*&5KBNKK=^=;_`?u5+`?98V$vi!09?{Lu6CsS%&_E5^od9A)?tm7%BCm*3SXLnJLAj2zTV9jL zsS=7hA%bQMq0yfRgy@t1)bum<$@I$QZW)8P2E?tL!*W6%4@J|7E_u=`5lbh4_{$Ie z#y)`-%?t#!j6l})3(s;6?hQE*gP5i}=~6_x6O8hI_1|V6KYEl&JGA6$(}KWMd=s&g zH354FAU_GICr}sIA{dM0G#t`CwrkQ$rvk9{o{kWon z@m)vOj)jch=o5w@YX^i{&Q8uMg06(hWCnpL1WXz`gSXk`O;0f)!)JTMhA(cZKfjMx zqIV`+Vjk+_sOb?#yr~k4EbWB1S~CJ!=MlGXcJ8DSh$z9(HFi1#Eukj-a`({JUo7u> zYMx>UaZPL{rCg;vj*y9PlR*-QCOI@A#FZcv9FkvZE4La#7=pk9aYm(}MLw*j6F|tL z@(0?juYT3#o@co8R^<^da89mL_@AWTtR*_p41T2!OeVxyEhsP~?Q1I|N7KcV1ajda z^2XZ!fJhwHw`p#GDv`B?HYE*olE`2ujmkaR82ig6_x+L~#5J)IAgY969YW0z0>j`- zCzl7>%hN*`f>3KNx1C-4VE_}S^(_SyN-p-uU>8Xzr8l5h9{b}G#t?$m1VFfiVL7G* zp7a=F2&6;! z-h~EG9i$LY!l{&)cn>BtG@SrK^vXxt%ejM@K%@nscCp-cdTqbJa1J^kYWjdk{qv=S zLiB~b-d|i^K36chcYas!>|Ktlo#T~3I~A!YHH4N3;jkddOADLZpDDz&Ak>=6`BQ5K zL{J8%D9~+4i5W>_p{v1hc3H=xbAv|rEbJD~m>t~uyF((9EE>AkhII@r0|>z<9&0b- z_hti;5eT)GGIFxAU&O`V=UxwfEqhF&e_2PxJprT7F6b6d1H?vUM1;<%A|EXcc#Xp( zEM4LdI07Mh#g_qMPqq*lgHXFzPEJ%^lfDrGBOkn1F=yQ9Ge7MPp0YT&O%x)wS#5@Y zBQgzHMfX{;z6gsCc+t&j)~Q3h(pJXr&IKYX5Nb_}xRzAc7IpxfTUx18+h)ZOoafp$+KB{LXR4;PV2tVsDyQ8r~#14 z$|E17)17}_0SF7ycO;>vRH~dXiZE|?v#T3bxz+vcA1hG1vDCJIewV&fEcO{ zG4k=J=x%o}O(#T`O{x}I$HYf?fI-Aw12qFMHS2TnUGNjD8;|n)e$pv`GGvbi)05GU zZlZ5Gdl4oqQaLjU!}y`$i5iNZV2L`+)23DD)o@$&#%%r0$Qk0zrTmKv`oehp-*tD%3q!Ew}V2hHT4vR;T>C1 zNQxaOCaoGL{|(o}GQvgo)T=AsDMH2SCiLz`!;QaL{k|5!)R|W`NQmVtR5^L6pIkzb oHyA}=u$g~E9TDjvk>Q%?{~y$4P53g0O#lD@07*qoM6N<$f|9~XX#fBK diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-125.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-125.png deleted file mode 100644 index 4381be777f8c9cb537e8b52ad4fe785008d91772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3229 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 P00000NkvXXu0mjf-k~wu diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-150.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-150.png deleted file mode 100644 index e49390bf3de46d97dad9ece51fa8ec80e869bd15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3739 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-400.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/StoreLogo.scale-400.png deleted file mode 100644 index d1472741ec5c969e0da6c2979c4b4b07ab3b0b9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10759 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

MY- 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 PT>!@CEDWmjsEmID&pRVU diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-150.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-150.png deleted file mode 100644 index d4b275a5731f374ce9ffe8b03dbf157b2a9b473a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5001 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-200.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-200.png deleted file mode 100644 index 6012579815fa4a18c7d12e900b629c6fde5c8d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6866 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 UwD|=1lM1Bs$WW{7Puqz91ABlFQUCw| diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-400.png b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Assets/WideTile.scale-400.png deleted file mode 100644 index 73d2461cecfef8227108b9a6b3bc0ad6c736d4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15332 zcmeIZXHb)C)HeFK6>*D*g3_c3ib_|S5+I@oDk5%Czz~Xb2%$*t3L6z^A_5}PL_kVH z(Lm?|LMT$Cg@h)A-fQUO+z;oS@0=g!$NBkvGus&_#>um?%C)Xl?mHn5?rX9hJK64P%i}iWpLy$_@De9!zA$Xx6|z>E)aCQ7XEvHywe2-v+~F9f3J4v4+8%p52;TH$0h-Je#X`gY$aI=j%d$`!f|&lLxl37=jcb)DSyx zB46){mdxu0_IIYYUOcCAelJ2|xHz42ZoH$+E3NN6oBwt0X3>+@#Ij$?$-I|G2VDl! z_J(O|o&l|QV7;Ipf#(xc;D12hWnZwuufivQ+7Kl4*MD#S^TvN*_%9d!qk{j#nJ_ja z+(dHknQ-*%#fjz?0n2~hXYQq6xqPzO-MVynvml`N8LBNn(MJk0o#Fu8ANwM_tezp% z8RP9?DSYH%eAhonLmbU-;u-GRkYg-ckAJr735!T=Ci5X_|I10!{&i?+R_H|VkHb*@ zPpr2LW1C_wyC4;D{}9Jm$P?rc{)OZYEyBF>DY^`Cd21kaJ7DbJn*ZmKf3Z8u8w-|t z7JKDaA08Lu7!&$h|52r*riHz?kYp9OlQc4b+hF2T zieCx%hgXt0#>qvp=cBXaC$Z@sG&lLEk5=CW8VZd*2=U%EJqQ^DDk#5aB;GR_muCA( zu+sVNSwqz8H|#$txQlO*hf*#bQh=VHx1!zL9BQRo4(jqI7;rk{WYGQbKC8@J1JB~E z@du!mv-t-giL++}elhgiZ;e+FhtP#{|@#*uSSpXLhY`=;Ohx}8>V}V7P_VC170>7%FC8SXlx-!Kk`8G*Avj+ zH2;E*z=E*$ok5!>I_s9Io zlkvP}TJs+Rn>lRinDn^jIy&EN?OPr2O8OC4o(=70iAnRS6~pSuPl9!KM6mxQqy}Wuwo)70s5#v>zQ5h+HxEGzkJF&6f<(=HAbY4 zS=3*yaGvf4%cAbf%3n(D$H=NsBJbA|M&3nYf}=+8cdrrLO$Q>wtzDY=ZP*z{eOsoy@{(c>0OW7uDOWLG6lX)`t+QilKZoU74FS>agDph;>Sh}=PMmHX&P{<6`HzFcfI6A!zga{mhprmFih zTs`QH;>|+%;5M{)SS%y86j5b0lU+H`BJejPbQHFc$-Y;<^7269u0?wJYGklg4Hs|N z`#on*9fvh+j-K)W9Lmq^K(~+fH2e~4eA4Vt_Xz6gNgArwgw1<$x0a~KE4iy{D<=(7 zLF*;#7WD)H?kcf?=-o%@e0=QW>4DmhRPynkgjb|JMAcTTTZN9i3m^2{dta&rZI`B> z;a#YxT~DZahvY=@iX)X3l8_7Fb4WY-Z3tRB2Y@73onb_q0T#D(hgfou1+sQ70#V(- z-27G8BdkSBFKWiJ@D>5$^#pGL5uAW$YBf2huEr}te|;xEB90ld;epY85bK@d^duW` z%>efkC57+qe$hh6<7y6mY#rpb?Cx4c9)jAB0C_)zOTEb(>5cf&2L#^8 zxD}T^G-lMcwKRSZeMXw0wKS!Y^Rg9jA23)f>%L%nz^gfpt)mYfgkKP~bH-6P_y+=O z2VK!;#2GWaNfi@Vl?CELw~G|?T<-$RRDn5yzf9gu-@|6jM`E5DVOkxipDX{E2B5|L zzLjQvx0@+J(g$vp17B&u5t;^ZF9_95Y)lBUQ@(bYWS)wh`ccsC7^``Af}Y%W9)!L5 z9SHja%>;o4llSv?{Yz2W$|Cs36U2%hg*Fq!3G$vKqjvbQVUO|*0tQ~n6BwXMC0lz1 zahavj$;SiL`>^;H@!7{YY8ldJ1XyR1+ZX zK)C8bXXe}Tv^~;QISwtYMvb5l_IWLK-Y$|Rdu>gVKT8Z-=TDFURSE+We|6R~uV6a( z8x4aDlsVj7B)fhc^XT%?sUtkY@0g@76+Av@y{^)eQUHkX4UjFvmf$|7m#OrwxZW%z zt)5`zn0HH60Jv??UM5N$`EiIt)djckyYv`P;}Bc{T)q##==aKM?Xos6P^V8OU|jMH zCB0s|!s_@-B#S4Pjam9Jy5WRJ#lv5~d}g5y*W{Y1dgjo#Is#|7mCK_!V+CsW;ga7q;=dKZyVf(chWnx9YtOx_QJ2IV49=Z_5DUueC43?vLwJ)N?cKK$)U;uK;eMBT&I z-gyKi{)IRlM%3eO&f`_eS!ZDA_WxX($~;J>i-o06s30{)@11 zx?T+M!R#ja79R^_N&(J#Zi%h+tLxMqSVEX%dCB9sDAtE6gcicW#Pa52MbKD4ZXy6~ z%{_on#dQ-4%FII47tHDibqbktgejt)L_pP}ueqh0t4RS*R;z(aPXe0^V)1(;8@7$D zt42$=A~4!*&bp)<&2`IcN7G_fUbZ&*rtMRmJRq?AS$kr@PM3v;BpzooK~(6YqujRQ zF?At=?@31|SQEQ<+d`E=AuEJwz4G$zT&72?mjr-8h|?h zldd7GiG+RsFPDSn z*8keT$tpzBJwA?l0wp3?YE?TGw|FB6g%*zqc=StOZyk`e6Wml890wROy;HXJqJZlH zqQirv8)6=J1C1D=Q&$VxA8uxu6%f5mE#p9rvv~Yml(xPvdj z=TXj_5#+tf4ney6s#6w!Oop;2F3p8lER&9E_M<~T_Mpz;-2kVWdDwn0wOX9T=P5Xy zgCHvyR_D!YE7GLzdRV!i(`}?36?qkj`Q3?{`AG-~Sx)LOaKJR%n-N=hEnB45@K6}q9t&X4i%-Dd__{OrFX5R$mwd^@e{(zrwhRFpm*=t1y7B!wq;EhdWppLfXGP8F1F`4$ z)|l8BF}lLyb3u_zy`0hFdfOmj zD*+64i4AcYcFtJMTIPdLiUaJC^SM>h9ydOV6J+DHKfN^(aK=4oijf-h)mx{(WIGI9 zH-f#<8SE_C8AH4fqg`(5?SdO<;UtSLkA*7c&BEnB7J`GDol{BN-f-2QGniyq))K<= zE97eLs!8IR#>||Fi#fa29zz2SC3-_o?jW}*V~jJQ=S$bM^F0+m(x^|<_u~2k#?;05 zSL_I{mH6|M$O~8C35kkzouHXl{8%pe) z=ZGEHL}aY7ZtKD}^0^Vk%P+wA1tvl;sZD-jhvFv~wy+&goHZ}R?Jvw2%uH_b^$;jN z02#=@YQI@y3qwkG#`niJi3Vik7d!P92Ny*HZ2a8sK&Q2>-G(Tz-kZ49NJ0HA`y%NI ztJUpbuYfA-2vxN}UHG=gg`kSau{~28%ZcPRS`Gw7fsX!qEsn9%+1BiOZsCqqH1doC zp5TH;n1MLdg4|UrdBi7aObyV`2R&Q5Vt`2Z<}3{vJ*ACnQK>jKg3`ItFekM$%n6FU z&AysnbE>ZH^&5EDS!c^`ehXHaD=TsD%2!x>VNq06q9+!{Db0U1ZHE5xn8Fw}PcJ$+ zWi{U3ae7Av-?AQ_JGXk6JVh*82+#@mZfQwx`>4VO)Bz37|MU1wcrhi`; zr=mwt!iIfl@i@&3HAH%e#xHqEkjr*UJ@zJBfiJ<50h>3s{XpUx4|&<=s3VV(d``52CV};L4@Y9pEK(gLQFj979N*(l*C&G3MpI$>y~o6m3X6KDXQtKll26SR-`$m zNP2BKxSmkAm1kW5vRP+Or|8q~&4}PuCg_1QToorBfCpN_*C*~r)|sta=vnAoEZRu8 zIl=$eI*HJv?wsrNgu!E!{N#Og#GiMP-JWfK*Wu#LA9773**!oT{yTwhsoQHIWUe?4 zJ@Y2@&G>pj&zazQ_;RC*ho9lr%|*|>TUR=NXWc4N`dD%AKfkB{GH-W9vxtg~Ep?3T zW_k=foM?=gekW--G9Z1?U#U!Z;F&XSFfP1~L#Nwo!n z23nNkXW-rQNL0DmpI@yyqZ#yc`CX zV|!`R(hgITS|%TTvU`cdo`2I)pQ4*{Z!?t))FJs%lqFKA>;dSy99&~gDJBv|hVse- z7P4L2y>v1Zw{=4c8jCJEN+u4XL-m7d42IwAbs~x-YK$Vh8DPzL+;Y1k4-~c)##t@| zzIz5q2YaeVZ-){C*4u6Q9kV(u4?xp!yZbSN5q5g0bmYbGV~U+7v60^YH46JrAXQEA zYaK!T#QXZAGut`~e5g@`fb#YH;hc0Ce1+KhYRw4sFUK-&L6zx=bw|94(ayKj82$jc zw&uSex%Z%O$aVjjs$dii4-P+8D|eaj74G{?`d-^FBOt({eMrq&B4BJhCNYRLNvL-* zX6HeXw9k|G#2zte`K#24Od9H`&QjYeJ*z#Zq&OzX<|<5mr3tN5yW=mJS8@XF){-7M z(g9488haMsx^s8)Bw*^6Iv($eBba$rYU`yZn6Hp5q?)A{4Qy;K(@+&sDt;1j#Rx{+ z%}lqQ>Je=SdVqwz%D$fu%}C@kWBP|*tzdt1;iyQs*HX2;C=I3b`n6M93u(XTxIe~3)uWGTr9&<bH;Phz2gJfbEUT z8XcAY7<1k4{`!_o4+n=;i8EF2hCZo?68v|v%<|uc5&kT8|4B>j zbe3ee?p53rNBBD?#T|ld#9;F;B`e9U4^L_O%Zio}jp%E8t6*#AmnF3RXwMIp=dmwO36^(FvFiJTNzV}CnQ`fb zGTF}PUBS?jM)%(9r$B%*gFM9qPQ6;mn@3ix=!QO9N$Xu4+sOn@#UC}X$$!iIoA4N& z(2w?Ev^PZz#ZR0+0HNRs{QH*|F5Z;|{`yZJpLoA;XU!tnDBIiuVaI(`kz7NJJsuf6 zZc?$i8llrOma*crroR#phl--SHM~K(!DbC6V}|R}!5|PKcYdkA0p{Tl6&}{Js&ww2 z&}<9k=a{{{ZjsDy8I8TKW+R3_-?1cwd>7F2qp6-mFd2;6wkQz)R#2MhMnkDcRWS@E z=SNIf6Js}VbrlHc$H;z{QnYC~U{W<*`Fkb1z|=bX!Zyuiz#_pz`eOtp9yqbpL^i*W z#=*jSHIQrJSAcMl@V6;Lo$;Uv4<v6)h<#Hi#EFy!Gyyv~x^~>?s$}_M#y#u$qH9vUb^RS+#tK~wR zeJ3@FN-H)@HPGVoEmiJ+!XnOmHgWa8Pf_(Zx4T7R{7pk)ll+i++}#3aaED1Aq(Hod z)6WJ@NeQWG65H;ME83@YF}1q0&@pLW^H^B(@Pzvd{-cjg_>2Z9XZn(+TLtua!?`I* zUJ|QrfVt5oRkjo3b%+)61$_%TiD1htYB+mMJK^-NKch5-CJt%A@%(94gvv0Of)En;KyFAIL;z*H1km8oNQvD`Hp$k z>3DK0Cpkk~vq+PaUA<&fkg{^I%>waR^d}*OliZ;OD9k)4({hOT9Cio1;kGf{op9Z) zJ#EteO|-MqZT*w5AvgJUJBMFkIta#-Y_`C z2w$O~5&fC$pi+0qQmj;@s6UCZeMUt8$*$QMPN!>NGKAM5S~cU}N-Lj@`I%#M2c~2S z*XAPaJDqW|Cr8&g2m6QqCAv2a&;;-DcP`bJIN)38Asgt3Pz7;3f5P!)ozo6{po^h0 zp^rl;lAuZW@$NTht>P5>k(COQM{632K3|PxW7l=Y5v_L=xAfh2-O{X;Y)KnKU$&I| zu~+bqt#)_NB4k-%Ll5QNb&>lTMTdh4H!F)71~yamASuWai|>G6;jD{&pU^t#JDDvV zk*7^R+;>I1P`su}zgKsorA53%rRMWe3DXDCwkFalAyR?>}HB7J)Q$+`U}yFU>X_Vyl`&=v3c zMDmfRPxc(IZ2hHO#9SASWJNkRH6eSNZcz#E^vGS$wy6F8>rN z#Nfm!Yw+O#z$H$df3hgrEam4wEa2n0uIffa{b0iE%m%I&i=_o zZBReF7Q1HakATW){T|33t;nyy0+7IgDX2J)uA$KF5eluY%tmWN2_pV<|^<1*!!!qv9EqlqC0N4 zYK$`y(>cydi8w_*TE=2{Sf|Cf;7A&f`!_6C`O`Cxc^wYYzs@)VGO>vJDK=xOf!=Fy z{_37g)ZA-ltj^TxOYqeiTs05Epp;~5vHWqLnC*N=h}W93?}l9YR+@sbdKe9)qq?-|;aF;4B_ z>W}h&yomRZ$2d9Flx5BG94X?;fTU_A0>!|*>CzG>(kO={`@;{tx-f} zVWq!!*qrLq&GROgnc-xl!0G`$sgBrxIB9lfhZaJWC36apQCW{3=g3BcM(737$}U8P zW<)d|3Rc-PT#2*(wqiYtM2s3I z#!pdDlDWYkbT>lm6}a~z8OM@{9{SdVbz)ySYmW>hN1OYX2q58dc5nn|&kX{RZW4KTXm6*2pqM6Frnhq={XI3_IH0zq?gb{v zrr|9B=5r8Wr&DZsGo`dISXfGz0)?(wq!(`2X%&iTv{&doQ%~@zd=QFRvbgeIuUnf#f$Bj%^w>N*c62Q9?;md%<_PDN?(W zCBZny4TrAy15m6mC|0IP0>*uAGj}|Wn{X~n6HA_e<{$(^C=ONyM>TEC-63~R=zw)l zMqP%9?;=lBw&bDhc&-6?_a~oaPiqu;rV01?)}Su_j$+ji@Kg4D zrpZkf4OAC%Du2mLAzHD-}$4ZJ~1MZ4_;dBB9Qe&=@;6 zYx=v$#DuD~wV`B&I>1RZ(C$RF2*#%rRi_Z!;d|U|q`1B)*Qns?{!HJf1oZ$|7v&2lyC3eU(5^N%kKepcOpQ^wyGy zW}OD3WINaxo*=s)j(K+Nb^1f*&(!KDY(zLtX}7wO_L))EVKflsH}*)6;qO|Ymb&`ds3=|XNzK>;i`h8`{uQ7@W) zWP#Yp?Y?<;Xs>~;6(dxXMk}1rA1gv{51rIF40;WK#_Ng7<#?Co(0RU)3#ABVv-o=t zBu|a=Q9j$}YUk7uNJ&SM%3VmZ3S?1fzr}ItQ~!W=S<3NnOsA-bp>pR+O^8tMZ|81J zy)lKVrB}ZL{(_#bqqgpTyBwFdZ=}u1d7q ziB)8L^+)nR*L`3<?^FnK!f771F0+-iXKR=n1PAO~uOdkduy8 zddw7|&|3c{U^)Y?8ntEQpk|MdZiz?d$sHNl-qTZ7YPa&G%HTXx7sV8F|gid{Kh(LSdW&8vIQ#5ntnN>}|b>Hv+G;PT5mIWtqrPzbZn zO2VHJuO1fZOJ&XBJ*T7;*v~Qaccn*jVzqkZiJ!9337BYBN&2rA0#!ddnuO$7G8H}v zETsCGy{f3r9p~(^qEya7=7-2VC#yU7c#%b(HKC>=tWOe?VC$qn;=5bn~)z8eF46NGDXV64s1*4+x(vo7_InxxJMJ#CYIVCS z*>gjBETO$M`mOX(?+|N$KZY#jz80PD8_svi4HJmVI}_o~3_b6Gnh_56Az z=Gf7pJ%`2G)HbG=r6r-s*&|I^>M~K3b@BMG{0DGzCEcG<=a(0`<~+k0G9Tf=B; zu_J~2gl7a~HdFQJKkZ6(4L#Jeps|r137$@jVPTjVIc+aQY9t?mQm(-v;#_W7YumlO zTo_sZPKD%u@#5*g6cm1UH~nOf)f=Yney0;{^iMpiI~$2HTFCEGy;~Utle)nB@W9?~ z)?_%iIJ^;~_;VzFzA7uWW+FFc#(Q_1MBu5GL9+k+R$!F1w?Z(Tc2T&APo8IqX};BN6U-jvQd~>!AYb57_j`Uv zI|j*(_A-Ba+oJ_h*u7GK4do?gjA;f6^=)@pv>AXt<^-%745;tKhYXA=H`@88a?+fC zfJ|J2Ubw(dE40`MQ}#-khX2(t`>J^Mxu4 zxY%cHukE!&@l3i%E&r>pEq&U;^@G|TE9}h$S7#aw&i4VXw(nM^JR(=yKcL=GRHQH4^QlCby)>+z9(=g_J^mp>et|VIwEjv(0M98G zwFlt>6mTI-J0Z+|qK+l4_;IW6%&ls_1=tg@`+iI9_(52>gZ>90wZ-+1uwgTpV1VH1 z4V}bAO4Br(@hSTNm&+ZjV2cg+TQ<5JLF66FkvC_|)rz*;CeBc%>9N1-BH*r|@8d>6 zw@jgtMBxDl2cMSPnAcU4cW!y_t`!J%Zd@N%ODtU%2sA!@r=Wyb8%f>8X!o zb-`$4b9kB+UMsN;FoXt(Yq|1pnmOCJpY zt*)@bk>%(&&7vX-3h}A2!QFZ6Lh||)IBkkMTx_gY#oP`?(fxa0HBAS}J9n;x*#nJK zU7|tvK+gKqy-MU{;r!5ZydR;+{ua(c$ZuP0wTR4`AI%Gy(RGjy6-i(@j(8!&qH8;r60x0DYz z1?72R>~~oM1hu}D2Hwr$l}H`H-)s$x@I`X|)E!W>7w!x50ym2_0hA0xvk#K{4U>aX zAm|rNE)aD65HK11QHKwM|9ktNH~v4su)~<^1y>6p=!a0ijM}VZ*x~B^Ux5VyNI}qZ zwSDCL5CVXPAk!0osv$_`hywh=eP|zC#{&0%Blh28|GDHplmHC;|45v_w3NnWRMM2d l?>-^u&aM0E_#38y|D_xBzd4os75M(c#}?05VgK*2{a^deKTrSw diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Windows_TemporaryKey.pfx b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/Windows_TemporaryKey.pfx deleted file mode 100644 index 1cad9993d6abdb0e1bc1456b2470dd386f8f3ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 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 diff --git a/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/resources.pri b/packages/flutter_template_images/templates/app_shared/winuwp.tmpl/runner_uwp/resources.pri deleted file mode 100644 index 7de03c9dc31868ee4734e9e92536aad0bfc0573f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5952 zcmcgwO>7%Q6n@^d9XmhGPg7BfAWPILB{YfSI3*MbxmBrph)}^rMQV_>*qg+{PF&lS zEDoGGaDZEHaNxkP2Tq)NLL4}9KnO)WaOjB>NL7VYzBhlnUVGOeO_|mB&Aj)`dpmF5 zycut!)hIVxwLDRRiZ2j3MD&eCG)qsPqDi+K093uoUb(inz5fxjOxXZV$f2O>wJToN zm$PgaNFm>CS9ZOI3%R2QvyGyyoj@R&q)AbBdE}`GA zU*63UU5}AJ7>$=_#^dETCW!9E=znw~etd3)$3W1-rp zNz@c-8k`L3DC#)s3GgOSr_i1OJ&8Jts!M`?qQB6!K=ZI~gWds6f<8hlr$GNiKTQ`B zj2oe<7@9$!Iqww6WZ1C-FOq`Ez?jv`+{4 zuLj!Z0`2pG_UmY~w=B#qi5aD#CxeLG!dO=(_0V6~AEQ7a{$C-lZF~Ntfv+y+c>Q;ZZDELyM?D8-iEB@4=J5 z590C?=Oiwc$Zs4K920~!XCAMqKWm=h80Ip8Sxo{lji^A_io$l{@>`LWq9iaA_Vw+m zw_V=da~ob8SCY~-`q7^)EV#ay8Lf4?@GFnUMZ(!b6 z(OQF)>k{M_@mv!;_Q?jYSKy-!dIS75NLHZ#xODNGuc9Iaz+3X&L8u4^X7$9ROTkUS zdJ3tUpK-ibI_JR433>(m)436N-NJ6&qzR`9tVMHZ&p4kUewbeZ|0~3lMK7a0<$Nu6 z>^$11ocoA5iyX91IzM8qH2ycN8uM>~{|GiMdJ*k$=O3)3O$*SUaTf4qHeC?ZMEPurclZp&L;&vjA#L4qq@!sqqay@i{=+G_78<{3-y z7Z=_?MeGrAKNxWS^VzS9Y>vS939(N&W9Y*1$Au}c4O7N5 zDNZBw6Nqg|C7w?w*_U`ev1DK3IqtY`D;(#1?pq4S^N@0hODdeLaJItP3P*@$#uJ}> zf{rVS(@^xs6rEOdN>QAeLXLAwP@JTod?qkWDZ5E!H>vFME|GGHODkMT;rR5Ca*dOI z<C0KZPJhM_Wf%mD`F>kH)og9!LM zc-;xTxzQ8K6-JFXpW?nF98;bsgw`XRZ~Nr^zBUlE9udAaz*t`!l<|>&7D+D}M8Ma9 z@GxQ#w!`u*f2+`iL%S$CmwM;oUu@laXM4ZZSh~9hM|8Yuxx@GAPP_Ig&aR6xnL{f>jA?@vwNiZuH~P3zDKfK*!T~2_5XTa6kcEcx. diff --git a/packages/flutter_template_images/templates/skeleton/assets/images/2.0x/flutter_logo.png b/packages/flutter_template_images/templates/skeleton/assets/images/2.0x/flutter_logo.png deleted file mode 100644 index b65164de707ffeaf0adfca5fca65532bf97e6903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&H3s;ExB}^b{r?#vrgK>I2kif@ zvH816@%GSTKN!MhbHpsw+WI}@_)o2^Ujq(*4>|fhmwB2f9E#&lh@dHUo7LNZ{xgp@r+-ynauvLPwNoN4|Z_>tNAZ;@h5j(?S79JcUYfB`=#qy r6fZFpo3n_4Rl|XiE8s&sR~^H;NW15^d4qg`5ys%@>gTe~DWM4f{@o*g diff --git a/packages/flutter_template_images/templates/skeleton/assets/images/3.0x/flutter_logo.png b/packages/flutter_template_images/templates/skeleton/assets/images/3.0x/flutter_logo.png deleted file mode 100644 index 97e5dc9af6e1093966c5cd42d608fd6fbb6a0c59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 810 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE8Azrw%`pX16#+gWu0UF2`*(-^-y@EH58eMI z^w{s z-$IW5@LT%57HGFUA^wwrfyu|y#WAGf*4wMk zgAN-AxF%k#KCURBVA1=%-ucp;9Uj}ZG#l?Wes0(B%({NdIoXW<{g3WiupaK0x3By2 zO4s)_FGS)mJr|)n_%@ z)kihD)q6Gi)z>tJ)#o(E)yFiZ)%!H&)t5Jx)rUK-{vXl2fA4~;^_xE>GN_~ps{eO!b9`tLyxW8Xh;HNSd-@|xOj=ytR+do>D zt9>mOkvaAL$-iq%!vCf*DgR4ol&oKHV8Z?Agj4S|4W8wT%=mnri|3a%tJ>eCOpE`; zHb(y6c3?w&Y{ISmIsp&Mrw9G7`Sv8_P1LLTesVhEI)8;vvu5vq*tGV3&cSo}TNXSq zj|})It+V3iSy7We$GB|jf?4DCFKlYK@8ftOf60QQ_A~Fi*3bCZZ_jpf?zg4|^)^x| zt2OmGe$>0=M;cybjjOklN_(oQ_u}uL;@3elyf)C=)PemO(7H=26jVtWmubrDh3}(04)hM&xSK7O%X|>Mc j1|}|z1*pUejUUWgK0Q%uH(H?zOn3~Qu6{1-oD!M<&k2w@ diff --git a/packages/flutter_template_images/templates/skeleton/assets/images/flutter_logo.png b/packages/flutter_template_images/templates/skeleton/assets/images/flutter_logo.png deleted file mode 100644 index b5c6ca710c937527ca8d2d344214243d6db33832..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!@&kNAT!FN~`u7^!zegPZ&Ja3_ z)pe?NNpCL!ThaUauw)u_bwr{%Izl9$A!5B7M$govP zxh~|$561A>Od+#a0;aQjP2sie<+JJ*(`u4bZve_F*PR4v(b@jZ=Md1SAK%^B{{yWQ zFA4GsW)M(NFaUyj5NMdc{{H>@?}1?b(XAk7pYe2Y42d}W_VP)gCIbQ2ix!U>4q9?~ zIsEybZ^G7cAu^%-PQ=yx*;eIK#gYnUFW+9QvQNJH+nbx4)6dKOIC(3+3g6;V=GFge(48{@_RM&lLju^uE+^au+>tK7OIONyesA;#Zub zQs3&YevL0~GuE6t~Fo%7BFztX3q{1RVU;;PiN_-8qleWA`_& zw({X*ef?P{^t~Y0vFF>PCUdo}=4?%^3QRb0$VpT0kLyEL`Hh?APM diff --git a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml index 661ed9b8d3c1..6afe27288aaf 100644 --- a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml @@ -29,6 +29,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter + leak_tracker_flutter_testing: any plugin_platform_interface: ^2.1.7 stream_transform: ^2.0.0 diff --git a/packages/google_maps_flutter/google_maps_flutter/test/flutter_test_config.dart b/packages/google_maps_flutter/google_maps_flutter/test/flutter_test_config.dart new file mode 100644 index 000000000000..9907e578b84b --- /dev/null +++ b/packages/google_maps_flutter/google_maps_flutter/test/flutter_test_config.dart @@ -0,0 +1,13 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; + +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; + +Future testExecutable(FutureOr Function() testMain) async { + LeakTesting.enable(); + LeakTracking.warnForUnsupportedPlatforms = false; + await testMain(); +} diff --git a/packages/image_picker/image_picker_ios/CHANGELOG.md b/packages/image_picker/image_picker_ios/CHANGELOG.md index 8fd9f953c285..87bb947cfdf2 100644 --- a/packages/image_picker/image_picker_ios/CHANGELOG.md +++ b/packages/image_picker/image_picker_ios/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 0.8.12+2 +* Removes the need for user permissions to pick an image on iOS 14+. * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. ## 0.8.12+1 diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/ImagePickerPluginTests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/ImagePickerPluginTests.m index 3ade851e1ec9..eb6bcd29b84f 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/ImagePickerPluginTests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/ImagePickerPluginTests.m @@ -495,11 +495,11 @@ - (void)testSavesImages API_AVAILABLE(ios(14)) { [self waitForExpectationsWithTimeout:30 handler:nil]; } -- (void)testPickImageRequestAuthorization API_AVAILABLE(ios(14)) { +- (void)testPickImageDoesntRequestAuthorization API_AVAILABLE(ios(14)) { id mockPhotoLibrary = OCMClassMock([PHPhotoLibrary class]); OCMStub([mockPhotoLibrary authorizationStatusForAccessLevel:PHAccessLevelReadWrite]) .andReturn(PHAuthorizationStatusNotDetermined); - OCMExpect([mockPhotoLibrary requestAuthorizationForAccessLevel:PHAccessLevelReadWrite + OCMReject([mockPhotoLibrary requestAuthorizationForAccessLevel:PHAccessLevelReadWrite handler:OCMOCK_ANY]); FLTImagePickerPlugin *plugin = [[FLTImagePickerPlugin alloc] init]; @@ -514,29 +514,6 @@ - (void)testPickImageRequestAuthorization API_AVAILABLE(ios(14)) { OCMVerifyAll(mockPhotoLibrary); } -- (void)testPickImageAuthorizationDenied API_AVAILABLE(ios(14)) { - id mockPhotoLibrary = OCMClassMock([PHPhotoLibrary class]); - OCMStub([mockPhotoLibrary authorizationStatusForAccessLevel:PHAccessLevelReadWrite]) - .andReturn(PHAuthorizationStatusDenied); - - FLTImagePickerPlugin *plugin = [[FLTImagePickerPlugin alloc] init]; - - XCTestExpectation *resultExpectation = [self expectationWithDescription:@"result"]; - - [plugin pickImageWithSource:[FLTSourceSpecification makeWithType:FLTSourceTypeGallery - camera:FLTSourceCameraFront] - maxSize:[[FLTMaxSize alloc] init] - quality:nil - fullMetadata:YES - completion:^(NSString *result, FlutterError *error) { - XCTAssertNil(result); - XCTAssertEqualObjects(error.code, @"photo_access_denied"); - XCTAssertEqualObjects(error.message, @"The user did not allow photo access."); - [resultExpectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:30 handler:nil]; -} - - (void)testPickMultiImageDuplicateCallCancels API_AVAILABLE(ios(14)) { id mockPhotoLibrary = OCMClassMock([PHPhotoLibrary class]); OCMStub([mockPhotoLibrary authorizationStatusForAccessLevel:PHAccessLevelReadWrite]) diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PhotoAssetUtilTests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PhotoAssetUtilTests.m index 45ad94a00e02..16aeb4f518b9 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PhotoAssetUtilTests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerTests/PhotoAssetUtilTests.m @@ -20,18 +20,6 @@ - (void)getAssetFromImagePickerInfoShouldReturnNilIfNotAvailable { XCTAssertNil([FLTImagePickerPhotoAssetUtil getAssetFromImagePickerInfo:mockData]); } -- (void)testGetAssetFromPHPickerResultShouldReturnNilIfNotAvailable API_AVAILABLE(ios(14)) { - if (@available(iOS 14, *)) { - PHPickerResult *mockData; - [mockData.itemProvider - loadObjectOfClass:[UIImage class] - completionHandler:^(__kindof id _Nullable image, - NSError *_Nullable error) { - XCTAssertNil([FLTImagePickerPhotoAssetUtil getAssetFromPHPickerResult:mockData]); - }]; - } -} - - (void)testSaveImageWithOriginalImageData_ShouldSaveWithTheCorrectExtentionAndMetaData { // test jpg NSData *dataJPG = ImagePickerTestImages.JPGTestData; diff --git a/packages/image_picker/image_picker_ios/example/ios/RunnerUITests/ImagePickerFromLimitedGalleryUITests.m b/packages/image_picker/image_picker_ios/example/ios/RunnerUITests/ImagePickerFromLimitedGalleryUITests.m index d65b16d70fb2..bc5f8add84f8 100644 --- a/packages/image_picker/image_picker_ios/example/ios/RunnerUITests/ImagePickerFromLimitedGalleryUITests.m +++ b/packages/image_picker/image_picker_ios/example/ios/RunnerUITests/ImagePickerFromLimitedGalleryUITests.m @@ -104,8 +104,6 @@ - (void)testSelectingFromGallery API_AVAILABLE(ios(14)) { } [pickButton tap]; - [self handlePermissionInterruption]; - // Find an image and tap on it. NSPredicate *imagePredicate = [NSPredicate predicateWithFormat:@"label BEGINSWITH 'Photo, '"]; XCUIElementQuery *imageQuery = [self.app.images matchingPredicate:imagePredicate]; @@ -119,25 +117,6 @@ - (void)testSelectingFromGallery API_AVAILABLE(ios(14)) { [aImage tap]; - // Find and tap on the `Done` button. - XCUIElement *doneButton = self.app.buttons[@"Done"].firstMatch; - if (![doneButton waitForExistenceWithTimeout:kLimitedElementWaitingTime]) { - os_log_error(OS_LOG_DEFAULT, "%@", self.app.debugDescription); - XCTSkip(@"Permissions popup could not fired so the test is skipped..."); - } - [doneButton tap]; - - // Find an image and tap on it to have access to selected photos. - aImage = imageQuery.firstMatch; - - os_log_error(OS_LOG_DEFAULT, "description before picking image %@", self.app.debugDescription); - if (![aImage waitForExistenceWithTimeout:kLimitedElementWaitingTime]) { - os_log_error(OS_LOG_DEFAULT, "%@", self.app.debugDescription); - XCTFail(@"Failed due to not able to find an image with %@ seconds", - @(kLimitedElementWaitingTime)); - } - [aImage tap]; - // Find the picked image. XCUIElement *pickedImage = self.app.images[@"image_picker_example_picked_image"].firstMatch; if (![pickedImage waitForExistenceWithTimeout:kLimitedElementWaitingTime]) { diff --git a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPhotoAssetUtil.m b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPhotoAssetUtil.m index 294bbc77947a..a4a3e5ac0fa8 100644 --- a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPhotoAssetUtil.m +++ b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPhotoAssetUtil.m @@ -14,12 +14,6 @@ + (PHAsset *)getAssetFromImagePickerInfo:(NSDictionary *)info { return info[UIImagePickerControllerPHAsset]; } -+ (PHAsset *)getAssetFromPHPickerResult:(PHPickerResult *)result API_AVAILABLE(ios(14)) { - PHFetchResult *fetchResult = [PHAsset fetchAssetsWithLocalIdentifiers:@[ result.assetIdentifier ] - options:nil]; - return fetchResult.firstObject; -} - + (NSURL *)saveVideoFromURL:(NSURL *)videoURL { if (![[NSFileManager defaultManager] isReadableFileAtPath:[videoURL path]]) { return nil; diff --git a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m index f54db3b9fef7..fd88b8c46968 100644 --- a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m +++ b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m @@ -113,11 +113,7 @@ - (void)launchPHPickerWithContext:(nonnull FLTImagePickerMethodCallContext *)con pickerViewController.presentationController.delegate = self; self.callContext = context; - if (context.requestFullMetadata) { - [self checkPhotoAuthorizationWithPHPicker:pickerViewController]; - } else { - [self showPhotoLibraryWithPHPicker:pickerViewController]; - } + [self showPhotoLibraryWithPHPicker:pickerViewController]; } - (void)launchUIImagePickerWithSource:(nonnull FLTSourceSpecification *)source @@ -390,40 +386,6 @@ - (void)checkPhotoAuthorizationWithImagePicker:(UIImagePickerController *)imageP } } -- (void)checkPhotoAuthorizationWithPHPicker:(PHPickerViewController *)pickerViewController - API_AVAILABLE(ios(14)) { - PHAccessLevel requestedAccessLevel = PHAccessLevelReadWrite; - PHAuthorizationStatus status = - [PHPhotoLibrary authorizationStatusForAccessLevel:requestedAccessLevel]; - switch (status) { - case PHAuthorizationStatusNotDetermined: { - [PHPhotoLibrary - requestAuthorizationForAccessLevel:requestedAccessLevel - handler:^(PHAuthorizationStatus status) { - dispatch_async(dispatch_get_main_queue(), ^{ - if (status == PHAuthorizationStatusAuthorized) { - [self showPhotoLibraryWithPHPicker:pickerViewController]; - } else if (status == PHAuthorizationStatusLimited) { - [self showPhotoLibraryWithPHPicker:pickerViewController]; - } else { - [self errorNoPhotoAccess:status]; - } - }); - }]; - break; - } - case PHAuthorizationStatusAuthorized: - case PHAuthorizationStatusLimited: - [self showPhotoLibraryWithPHPicker:pickerViewController]; - break; - case PHAuthorizationStatusDenied: - case PHAuthorizationStatusRestricted: - default: - [self errorNoPhotoAccess:status]; - break; - } -} - - (void)errorNoCameraAccess:(AVAuthorizationStatus)status { switch (status) { case AVAuthorizationStatusRestricted: diff --git a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTPHPickerSaveImageToPathOperation.m b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTPHPickerSaveImageToPathOperation.m index bf3922ae7d3d..c1befa3f61f8 100644 --- a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTPHPickerSaveImageToPathOperation.m +++ b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/FLTPHPickerSaveImageToPathOperation.m @@ -128,64 +128,20 @@ - (void)start { - (void)processImage:(NSData *)pickerImageData API_AVAILABLE(ios(14)) { UIImage *localImage = [[UIImage alloc] initWithData:pickerImageData]; - PHAsset *originalAsset; - // Only if requested, fetch the full "PHAsset" metadata, which requires "Photo Library Usage" - // permissions. - if (self.requestFullMetadata) { - originalAsset = [FLTImagePickerPhotoAssetUtil getAssetFromPHPickerResult:self.result]; - } - if (self.maxWidth != nil || self.maxHeight != nil) { localImage = [FLTImagePickerImageUtil scaledImage:localImage maxWidth:self.maxWidth maxHeight:self.maxHeight isMetadataAvailable:YES]; } - if (originalAsset) { - void (^resultHandler)(NSData *imageData, NSString *dataUTI, NSDictionary *info) = - ^(NSData *_Nullable imageData, NSString *_Nullable dataUTI, NSDictionary *_Nullable info) { - // maxWidth and maxHeight are used only for GIF images. - NSString *savedPath = [FLTImagePickerPhotoAssetUtil - saveImageWithOriginalImageData:imageData - image:localImage - maxWidth:self.maxWidth - maxHeight:self.maxHeight - imageQuality:self.desiredImageQuality]; - [self completeOperationWithPath:savedPath error:nil]; - }; - if (@available(iOS 13.0, *)) { - [[PHImageManager defaultManager] - requestImageDataAndOrientationForAsset:originalAsset - options:nil - resultHandler:^(NSData *_Nullable imageData, - NSString *_Nullable dataUTI, - CGImagePropertyOrientation orientation, - NSDictionary *_Nullable info) { - resultHandler(imageData, dataUTI, info); - }]; - } else { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - [[PHImageManager defaultManager] - requestImageDataForAsset:originalAsset - options:nil - resultHandler:^(NSData *_Nullable imageData, NSString *_Nullable dataUTI, - UIImageOrientation orientation, NSDictionary *_Nullable info) { - resultHandler(imageData, dataUTI, info); - }]; -#pragma clang diagnostic pop - } - } else { - // Image picked without an original asset (e.g. User pick image without permission) - // maxWidth and maxHeight are used only for GIF images. - NSString *savedPath = - [FLTImagePickerPhotoAssetUtil saveImageWithOriginalImageData:pickerImageData - image:localImage - maxWidth:self.maxWidth - maxHeight:self.maxHeight - imageQuality:self.desiredImageQuality]; - [self completeOperationWithPath:savedPath error:nil]; - } + // maxWidth and maxHeight are used only for GIF images. + NSString *savedPath = + [FLTImagePickerPhotoAssetUtil saveImageWithOriginalImageData:pickerImageData + image:localImage + maxWidth:self.maxWidth + maxHeight:self.maxHeight + imageQuality:self.desiredImageQuality]; + [self completeOperationWithPath:savedPath error:nil]; } /// Processes the video. diff --git a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPhotoAssetUtil.h b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPhotoAssetUtil.h index 212f09236b0f..fa175be78f95 100644 --- a/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPhotoAssetUtil.h +++ b/packages/image_picker/image_picker_ios/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPhotoAssetUtil.h @@ -14,8 +14,6 @@ NS_ASSUME_NONNULL_BEGIN + (nullable PHAsset *)getAssetFromImagePickerInfo:(NSDictionary *)info; -+ (nullable PHAsset *)getAssetFromPHPickerResult:(PHPickerResult *)result API_AVAILABLE(ios(14)); - // Saves video to temporary URL. Returns nil on failure; + (NSURL *)saveVideoFromURL:(NSURL *)videoURL; diff --git a/packages/image_picker/image_picker_ios/pubspec.yaml b/packages/image_picker/image_picker_ios/pubspec.yaml index 694a7a8cf3bd..7e5fa868bc11 100755 --- a/packages/image_picker/image_picker_ios/pubspec.yaml +++ b/packages/image_picker/image_picker_ios/pubspec.yaml @@ -2,7 +2,7 @@ name: image_picker_ios description: iOS implementation of the image_picker plugin. repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_ios issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22 -version: 0.8.12+1 +version: 0.8.12+2 environment: sdk: ^3.4.0 diff --git a/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle b/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle index 1945f61dbd36..520bfb96c61e 100644 --- a/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle +++ b/packages/in_app_purchase/in_app_purchase/example/android/app/build.gradle @@ -108,7 +108,7 @@ dependencies { implementation 'com.android.billingclient:billing:3.0.2' testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.0.0' - testImplementation 'org.json:json:20240303' + testImplementation 'org.json:json:20241224' androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md index 225bcc0c1ddb..289f3c36b037 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 0.3.20+3 +* Fixes `finishTransaction` not completing. * Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. ## 0.3.20+2 diff --git a/packages/in_app_purchase/in_app_purchase_storekit/darwin/Classes/StoreKit2/InAppPurchasePlugin+StoreKit2.swift b/packages/in_app_purchase/in_app_purchase_storekit/darwin/Classes/StoreKit2/InAppPurchasePlugin+StoreKit2.swift index 47daff575302..af4a19345890 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/darwin/Classes/StoreKit2/InAppPurchasePlugin+StoreKit2.swift +++ b/packages/in_app_purchase/in_app_purchase_storekit/darwin/Classes/StoreKit2/InAppPurchasePlugin+StoreKit2.swift @@ -139,6 +139,7 @@ extension InAppPurchasePlugin: InAppPurchase2API { let transaction = try await fetchTransaction(by: UInt64(id)) if let transaction = transaction { await transaction.finish() + completion(.success(Void())) } } } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart index 06950a977e50..a6beb31f9094 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/example/lib/main.dart @@ -12,12 +12,11 @@ import 'consumable_store.dart'; import 'example_payment_queue_delegate.dart'; void main() { + InAppPurchaseStoreKitPlatform.enableStoreKit2(); WidgetsFlutterBinding.ensureInitialized(); - // When using the Android plugin directly it is mandatory to register // the plugin as default instance as part of initializing the app. InAppPurchaseStoreKitPlatform.registerPlatform(); - InAppPurchaseStoreKitPlatform.enableStoreKit2(); runApp(_MyApp()); } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/example/shared/RunnerTests/InAppPurchaseStoreKit2PluginTests.swift b/packages/in_app_purchase/in_app_purchase_storekit/example/shared/RunnerTests/InAppPurchaseStoreKit2PluginTests.swift index 34caa9271331..b16548adc329 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/example/shared/RunnerTests/InAppPurchaseStoreKit2PluginTests.swift +++ b/packages/in_app_purchase/in_app_purchase_storekit/example/shared/RunnerTests/InAppPurchaseStoreKit2PluginTests.swift @@ -60,6 +60,35 @@ final class InAppPurchase2PluginTests: XCTestCase { XCTAssertEqual(testProductMsg, fetchedProductMsg) } + func testGetTransactions() async throws { + let purchaseExpectation = self.expectation(description: "Purchase should succeed") + let transactionExpectation = self.expectation( + description: "Getting transactions should succeed") + + plugin.purchase(id: "consumable", options: nil) { result in + switch result { + case .success: + purchaseExpectation.fulfill() + case .failure(let error): + XCTFail("Purchase should NOT fail. Failed with \(error)") + } + } + + await fulfillment(of: [purchaseExpectation], timeout: 5) + + plugin.transactions { + result in + switch result { + case .success(let transactions): + XCTAssert(transactions.count == 1) + transactionExpectation.fulfill() + case .failure(let error): + XCTFail("Getting transactions should NOT fail. Failed with \(error)") + } + } + await fulfillment(of: [transactionExpectation], timeout: 5) + } + func testGetDiscountedProducts() async throws { let expectation = self.expectation(description: "products successfully fetched") @@ -91,7 +120,7 @@ final class InAppPurchase2PluginTests: XCTestCase { case .success(let productMessages): fetchedProductMsg = productMessages expectation.fulfill() - case .failure(_): + case .failure: XCTFail("Products should be successfully fetched") } } @@ -110,7 +139,7 @@ final class InAppPurchase2PluginTests: XCTestCase { plugin.products(identifiers: ["subscription_silver"]) { result in switch result { - case .success(_): + case .success: XCTFail("This `products` call should not succeed") case .failure(let error): expectation.fulfill() @@ -127,7 +156,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "Purchase request should succeed") plugin.purchase(id: "consumable", options: nil) { result in switch result { - case .success(let purchaseResult): + case .success: expectation.fulfill() case .failure(let error): XCTFail("Purchase should NOT fail. Failed with \(error)") @@ -143,7 +172,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "products request should fail") plugin.purchase(id: "consumable", options: nil) { result in switch result { - case .success(_): + case .success: XCTFail("Purchase should NOT suceed.") case .failure(let error): XCTAssertEqual( @@ -162,7 +191,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "Purchase request should succeed") plugin.purchase(id: "consumable", options: nil) { result in switch result { - case .success(_): + case .success: XCTFail("Purchase should NOT suceed.") case .failure(let error): XCTAssertEqual(error.localizedDescription, "Item Unavailable") @@ -176,7 +205,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "products request should fail") plugin.purchase(id: "invalid_product", options: nil) { result in switch result { - case .success(_): + case .success: XCTFail("Purchase should NOT suceed.") case .failure(let error): let pigeonError = error as! PigeonError @@ -192,7 +221,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "Purchase request should succeed") plugin.purchase(id: "subscription_discounted", options: nil) { result in switch result { - case .success(let purchaseResult): + case .success: expectation.fulfill() case .failure(let error): XCTFail("Purchase should NOT fail. Failed with \(error)") @@ -205,7 +234,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "Purchase request should succeed") plugin.purchase(id: "subscription_discounted", options: nil) { result in switch result { - case .success(let purchaseResult): + case .success: expectation.fulfill() case .failure(let error): XCTFail("Purchase should NOT fail. Failed with \(error)") @@ -218,7 +247,7 @@ final class InAppPurchase2PluginTests: XCTestCase { let expectation = self.expectation(description: "Purchase request should succeed") plugin.purchase(id: "consumable_discounted", options: nil) { result in switch result { - case .success(let purchaseResult): + case .success: expectation.fulfill() case .failure(let error): XCTFail("Purchase should NOT fail. Failed with \(error)") @@ -233,7 +262,7 @@ final class InAppPurchase2PluginTests: XCTestCase { plugin.purchase(id: "subscription_silver", options: nil) { result in switch result { - case .success(_): + case .success: purchaseExpectation.fulfill() case .failure(let error): XCTFail("Purchase should NOT fail. Failed with \(error)") @@ -250,4 +279,32 @@ final class InAppPurchase2PluginTests: XCTestCase { await fulfillment(of: [restoreExpectation, purchaseExpectation], timeout: 5) } + + func testFinishTransaction() async throws { + let purchaseExpectation = self.expectation(description: "Purchase should succeed") + let finishExpectation = self.expectation(description: "Finishing purchase should succeed") + + plugin.purchase(id: "consumable", options: nil) { result in + switch result { + case .success(let purchase): + purchaseExpectation.fulfill() + case .failure(let error): + XCTFail("Purchase should NOT fail. Failed with \(error)") + } + } + + await fulfillment(of: [purchaseExpectation], timeout: 5) + + // id should always be 0 as it is the first purchase + plugin.finish(id: 0) { result in + switch result { + case .success(): + finishExpectation.fulfill() + case .failure(let error): + XCTFail("Finish purchases should NOT fail. Failed with \(error)") + } + } + + await fulfillment(of: [finishExpectation], timeout: 5) + } } diff --git a/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml index dc4444926bb4..c8e929e0b6b2 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml @@ -2,7 +2,7 @@ name: in_app_purchase_storekit description: An implementation for the iOS and macOS platforms of the Flutter `in_app_purchase` plugin. This uses the StoreKit Framework. repository: https://github.com/flutter/packages/tree/main/packages/in_app_purchase/in_app_purchase_storekit issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 0.3.20+2 +version: 0.3.20+3 environment: sdk: ^3.4.0 diff --git a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md index 71f0d88c53be..a855db93ad90 100644 --- a/packages/shared_preferences/shared_preferences_android/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_android/CHANGELOG.md @@ -1,7 +1,5 @@ -## 3.0.0 +## 2.4.1 -* Updates non-supported type errors to `ArgumentError`. -* Removes support for reading `BigInt` and `Set`. * Moves `List` encoding to dart `JSON` package. ## 2.4.0 diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java index 4cfdefbffe18..776a32b0c23f 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java @@ -19,6 +19,7 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -33,6 +34,7 @@ public class LegacySharedPreferencesPlugin implements FlutterPlugin, SharedPrefe private static final String SHARED_PREFERENCES_NAME = "FlutterSharedPreferences"; private static final String JSON_LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!"; private static final String LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu"; + private static final String BIG_INTEGER_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy"; private static final String DOUBLE_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu"; private SharedPreferences preferences; @@ -73,6 +75,13 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin @Override public @NonNull Boolean setString(@NonNull String key, @NonNull String value) { + // TODO (tarrinneal): Move this string prefix checking logic to dart code and make it an Argument Error. + if (value.startsWith(LIST_IDENTIFIER) + || value.startsWith(BIG_INTEGER_PREFIX) + || value.startsWith(DOUBLE_PREFIX)) { + throw new RuntimeException( + "StorageError: This string cannot be stored as it clashes with special identifier prefixes"); + } return preferences.edit().putString(key, value).commit(); } @@ -145,10 +154,30 @@ private Object transformPref(@NonNull String key, @NonNull Object value) { return value; } else if (stringValue.startsWith(LIST_IDENTIFIER)) { return listEncoder.decode(stringValue.substring(LIST_IDENTIFIER.length())); + } else if (stringValue.startsWith(BIG_INTEGER_PREFIX)) { + // TODO (tarrinneal): Remove all BigInt code. + // https://github.com/flutter/flutter/issues/124420 + String encoded = stringValue.substring(BIG_INTEGER_PREFIX.length()); + return new BigInteger(encoded, Character.MAX_RADIX); } else if (stringValue.startsWith(DOUBLE_PREFIX)) { String doubleStr = stringValue.substring(DOUBLE_PREFIX.length()); return Double.valueOf(doubleStr); } + } else if (value instanceof Set) { + // TODO (tarrinneal): Remove Set code. + // https://github.com/flutter/flutter/issues/124420 + + // This only happens for previous usage of setStringSet. The app expects a list. + @SuppressWarnings("unchecked") + List listValue = new ArrayList<>((Set) value); + // Let's migrate the value too while we are at it. + preferences + .edit() + .remove(key) + .putString(key, LIST_IDENTIFIER + listEncoder.encode(listValue)) + .apply(); + + return listValue; } return value; } diff --git a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart index 9cbd5ecdaf84..60ea935f3cf1 100644 --- a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:shared_preferences_android/shared_preferences_android.dart'; @@ -482,7 +483,7 @@ void main() { ]; for (final String prefix in specialPrefixes) { expect(preferences.setValue('String', key, prefix + value), - throwsA(isA())); + throwsA(isA())); final Map values = await preferences.getAllWithParameters( GetAllParameters( @@ -494,7 +495,7 @@ void main() { }); testWidgets( - 'old list encoding with getPreferences can be re-added with new encoding without data loss', + 'Platform list encoding with getPreferences can be re-added with new encoding without data loss', (WidgetTester _) async { await preferences.clearWithParameters( ClearParameters( @@ -505,8 +506,8 @@ void main() { await preferences.setValue('Bool', 'Bool', allTestValues['Bool']!); await preferences.setValue('Int', 'Int', allTestValues['Int']!); await preferences.setValue('Double', 'Double', allTestValues['Double']!); - await preferences.setValue('LegacyStringListForTesting', 'StringList', - allTestValues['StringList']!); + await preferences.setValue('PlatformEncodedStringListForTesting', + 'StringList', allTestValues['StringList']!); Map prefs = await preferences.getAllWithParameters( GetAllParameters( filter: PreferencesFilter(prefix: ''), @@ -789,7 +790,7 @@ void main() { }); testWidgets( - 'list encoding updates to new encoding process without data loss with $backend', + 'platform list encoding updates to JSON encoding process without data loss with $backend', (WidgetTester _) async { final SharedPreferencesAsyncAndroidOptions options = getOptions(useDataStore: useDataStore, fileName: 'notDefault'); @@ -806,7 +807,7 @@ void main() { }); testWidgets( - 'old list encoding still functions with getPreferences with $backend', + 'platform list encoding still functions with getPreferences with $backend', (WidgetTester _) async { final SharedPreferencesAsyncAndroidOptions options = getOptions(useDataStore: useDataStore, fileName: 'notDefault'); @@ -828,7 +829,7 @@ void main() { }); testWidgets( - 'old list encoding with getPreferences can be re-added with new encoding without data loss with $backend', + 'platform list encoding with getPreferences can be re-added with new encoding without data loss with $backend', (WidgetTester _) async { final SharedPreferencesAsyncAndroidOptions options = getOptions(useDataStore: useDataStore, fileName: 'notDefault'); diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart index d32e96a615ee..450a8473a190 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart @@ -5,6 +5,7 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; import 'package:shared_preferences_platform_interface/types.dart'; @@ -41,14 +42,7 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { Future setValue(String valueType, String key, Object value) async { switch (valueType) { case 'String': - value as String; - if (value.startsWith(listPrefix) || - value.startsWith(jsonListPrefix) || - value.startsWith(doublePrefix)) { - throw ArgumentError( - 'The string $value cannot be stored as it clashes with special identifier prefixes'); - } - return _api.setString(key, value); + return _api.setString(key, value as String); case 'Bool': return _api.setBool(key, value as bool); case 'Int': @@ -57,11 +51,13 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { return _api.setDouble(key, value as double); case 'StringList': return _api.setString(key, '$jsonListPrefix${jsonEncode(value)}'); - case 'LegacyStringListForTesting': + case 'PlatformEncodedStringListForTesting': return _api.setStringList(key, value as List); } - throw ArgumentError( - 'value: $value of type: $valueType" is not of a supported type.'); + // TODO(tarrinneal): change to ArgumentError across all platforms. + throw PlatformException( + code: 'InvalidOperation', + message: '"$valueType" is not a supported type.'); } @override diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart b/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart index e0757e2f0016..7285f808cbdd 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/strings.dart @@ -10,3 +10,6 @@ const String listPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'; /// String prefix for doubles that are encoded as strings on the platform. const String doublePrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu'; + +/// String prefix for big ints that are encoded as strings on the platform. +const String bigIntPrefix = 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy'; diff --git a/packages/shared_preferences/shared_preferences_android/pubspec.yaml b/packages/shared_preferences/shared_preferences_android/pubspec.yaml index a3a10c2450c7..a755d72ec077 100644 --- a/packages/shared_preferences/shared_preferences_android/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_android/pubspec.yaml @@ -2,7 +2,7 @@ name: shared_preferences_android description: Android implementation of the shared_preferences plugin repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22 -version: 3.0.0 +version: 2.4.1 environment: sdk: ^3.5.0 diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index f36e0dd945da..f1d57cde293a 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -229,7 +229,7 @@ void main() { test('setValue with unsupported type', () async { expect(() async { await plugin.setValue('Map', 'flutter.key', {}); - }, throwsA(isA())); + }, throwsA(isA())); }); test('getAllWithNoPrefix', () async { diff --git a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md index eefc1a78447c..6af9743b2e0a 100644 --- a/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md +++ b/packages/shared_preferences/shared_preferences_foundation/CHANGELOG.md @@ -1,7 +1,3 @@ -## 3.0.0 - -* Updates non-supported type errors to `ArgumentError`. - ## 2.5.4 * Updates Pigeon to fix lint error. diff --git a/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift b/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift index 5d945be0fec9..665ea2e5ed6b 100644 --- a/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift +++ b/packages/shared_preferences/shared_preferences_foundation/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.2), do not edit directly. +// Autogenerated from Pigeon (v22.4.1), do not edit directly. // See also: https://pub.dev/packages/pigeon import Foundation diff --git a/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart b/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart index 92516db8a3dc..50d77fcdc77a 100644 --- a/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart +++ b/packages/shared_preferences/shared_preferences_foundation/lib/src/messages.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.2), do not edit directly. +// Autogenerated from Pigeon (v22.4.1), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers diff --git a/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart b/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart index 7123959bed51..3fccb90e73c6 100644 --- a/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart +++ b/packages/shared_preferences/shared_preferences_foundation/lib/src/shared_preferences_foundation.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/services.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; import 'package:shared_preferences_platform_interface/types.dart'; import './messages.g.dart'; @@ -97,8 +98,9 @@ class SharedPreferencesFoundation extends SharedPreferencesStorePlatform { Future setValue(String valueType, String key, Object value) async { final _Setter? setter = _setters[valueType]; if (setter == null) { - throw ArgumentError( - 'value: $value of type: $valueType" is not of a supported type.'); + throw PlatformException( + code: 'InvalidOperation', + message: '"$valueType" is not a supported type.'); } await setter(key, value); return true; diff --git a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml index 09f71d1ba6dc..915f1c5707a8 100644 --- a/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml +++ b/packages/shared_preferences/shared_preferences_foundation/pubspec.yaml @@ -2,7 +2,7 @@ name: shared_preferences_foundation description: iOS and macOS implementation of the shared_preferences plugin. repository: https://github.com/flutter/packages/tree/main/packages/shared_preferences/shared_preferences_foundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22 -version: 3.0.0 +version: 2.5.4 environment: sdk: ^3.4.0 @@ -29,7 +29,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - pigeon: ^22.7.2 + pigeon: ^22.4.1 topics: - persistence diff --git a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart index 1f60cc1e53ea..3543e69b9bc5 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences_foundation/src/shared_preferences_foundation.dart'; import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart'; @@ -264,7 +265,7 @@ void main() { final SharedPreferencesFoundation plugin = SharedPreferencesFoundation(); expect(() async { await plugin.setValue('Map', 'flutter.key', {}); - }, throwsA(isA())); + }, throwsA(isA())); }); test('getAllWithNoPrefix', () async { diff --git a/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart b/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart index 0abbd0b778f6..ebeabbc6d16f 100644 --- a/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart +++ b/packages/shared_preferences/shared_preferences_foundation/test/test_api.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v22.7.2), do not edit directly. +// Autogenerated from Pigeon (v22.4.1), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import, no_leading_underscores_for_local_identifiers // ignore_for_file: avoid_relative_lib_imports diff --git a/script/tool/lib/src/pubspec_check_command.dart b/script/tool/lib/src/pubspec_check_command.dart index d8fafb1b2b62..db6e7d0dc799 100644 --- a/script/tool/lib/src/pubspec_check_command.dart +++ b/script/tool/lib/src/pubspec_check_command.dart @@ -564,6 +564,7 @@ class PubspecCheckCommand extends PackageLoopingCommand { 'build_runner', 'integration_test', 'flutter_test', + 'leak_tracker_flutter_testing', 'mockito', 'pigeon', 'test', diff --git a/script/tool/test/pubspec_check_command_test.dart b/script/tool/test/pubspec_check_command_test.dart index 6fec0be36210..073321319046 100644 --- a/script/tool/test/pubspec_check_command_test.dart +++ b/script/tool/test/pubspec_check_command_test.dart @@ -1769,6 +1769,7 @@ ${_topicsSection()} 'build_runner', 'integration_test', 'flutter_test', + 'leak_tracker_flutter_testing', 'mockito', 'pigeon', 'test', From 2c10fb7ba68faf30874e05a971ad45a9d32bbd76 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Mon, 6 Jan 2025 15:23:50 -0800 Subject: [PATCH 6/9] rest of the comments --- .../LegacySharedPreferencesPlugin.java | 14 +++++-- .../plugins/sharedpreferences/Messages.java | 35 +++++++++++++++++- .../sharedpreferences/MessagesAsync.g.kt | 37 ++++++++++++++++++- .../SharedPreferencesPlugin.kt | 13 +++++-- .../shared_preferences_test.dart | 6 +-- .../lib/src/messages.g.dart | 34 ++++++++++++++++- .../lib/src/messages_async.g.dart | 30 ++++++++++++++- .../lib/src/shared_preferences_android.dart | 4 +- .../src/shared_preferences_async_android.dart | 6 +-- .../pigeons/messages.dart | 6 ++- .../pigeons/messages_async.dart | 10 ++++- .../test/shared_preferences_android_test.dart | 8 +++- .../test/shared_preferences_async_test.dart | 12 +++++- 13 files changed, 187 insertions(+), 28 deletions(-) diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java index 776a32b0c23f..dddd32c5ece3 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java @@ -32,6 +32,7 @@ public class LegacySharedPreferencesPlugin implements FlutterPlugin, SharedPreferencesApi { private static final String TAG = "SharedPreferencesPlugin"; private static final String SHARED_PREFERENCES_NAME = "FlutterSharedPreferences"; + // All identifiers must match the SharedPreferencesPlugin.kt file, as well as the strings.dart file. private static final String JSON_LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!"; private static final String LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu"; private static final String BIG_INTEGER_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy"; @@ -102,6 +103,7 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin } // Deprecated, for testing purposes only. + @Deprecated @Override public @NonNull Boolean setStringList(@NonNull String key, @NonNull List value) throws RuntimeException { @@ -150,10 +152,14 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin private Object transformPref(@NonNull String key, @NonNull Object value) { if (value instanceof String) { String stringValue = (String) value; - if (stringValue.startsWith(JSON_LIST_IDENTIFIER)) { - return value; - } else if (stringValue.startsWith(LIST_IDENTIFIER)) { - return listEncoder.decode(stringValue.substring(LIST_IDENTIFIER.length())); + + if (value.startsWith(LIST_PREFIX)) { + // The newer JSON-encoded lists use an extended prefix to distinguish them. + if (value.startsWith(JSON_LIST_PREFIX)) { + return value; + } else { + return listEncoder.decode(stringValue.substring(LIST_IDENTIFIER.length())); + } } else if (stringValue.startsWith(BIG_INTEGER_PREFIX)) { // TODO (tarrinneal): Remove all BigInt code. // https://github.com/flutter/flutter/issues/124420 diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java index 31b3d60fca5a..b8306a35475f 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java @@ -94,13 +94,16 @@ public interface SharedPreferencesApi { /** Adds property to shared preferences data set of type double. */ @NonNull Boolean setDouble(@NonNull String key, @NonNull Double value); + /** Adds property to shared preferences data set of type List. */ + @NonNull + Boolean setStringList(@NonNull String key, @NonNull String value); /** * Adds property to shared preferences data set of type List. * *

Deprecated, this is only here for testing purposes. */ @NonNull - Boolean setStringList(@NonNull String key, @NonNull List value); + Boolean setDeprecatedStringList(@NonNull String key, @NonNull List value); /** Removes all properties from shared preferences data set with matching prefix. */ @NonNull Boolean clear(@NonNull String prefix, @Nullable List allowList); @@ -280,7 +283,7 @@ static void setUp( ArrayList wrapped = new ArrayList<>(); ArrayList args = (ArrayList) message; String keyArg = (String) args.get(0); - List valueArg = (List) args.get(1); + String valueArg = (String) args.get(1); try { Boolean output = api.setStringList(keyArg, valueArg); wrapped.add(0, output); @@ -293,6 +296,34 @@ static void setUp( channel.setMessageHandler(null); } } + { + BinaryMessenger.TaskQueue taskQueue = binaryMessenger.makeBackgroundTaskQueue(); + BasicMessageChannel channel = + new BasicMessageChannel<>( + binaryMessenger, + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDeprecatedStringList" + + messageChannelSuffix, + getCodec(), + taskQueue); + if (api != null) { + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + String keyArg = (String) args.get(0); + List valueArg = (List) args.get(1); + try { + Boolean output = api.setDeprecatedStringList(keyArg, valueArg); + wrapped.add(0, output); + } catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); + } else { + channel.setMessageHandler(null); + } + } { BinaryMessenger.TaskQueue taskQueue = binaryMessenger.makeBackgroundTaskQueue(); BasicMessageChannel channel = diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt index 5c1e1018a766..4c36ce43993d 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/MessagesAsync.g.kt @@ -94,12 +94,18 @@ interface SharedPreferencesAsyncApi { fun setInt(key: String, value: Long, options: SharedPreferencesPigeonOptions) /** Adds property to shared preferences data set of type double. */ fun setDouble(key: String, value: Double, options: SharedPreferencesPigeonOptions) + /** Adds property to shared preferences data set of type List. */ + fun setStringList(key: String, value: String, options: SharedPreferencesPigeonOptions) /** * Adds property to shared preferences data set of type List. * * Deprecated, this is only here for testing purposes. */ - fun setStringList(key: String, value: List, options: SharedPreferencesPigeonOptions) + fun setDeprecatedStringList( + key: String, + value: List, + options: SharedPreferencesPigeonOptions + ) /** Gets individual String value stored with [key], if any. */ fun getString(key: String, options: SharedPreferencesPigeonOptions): String? /** Gets individual void value stored with [key], if any. */ @@ -252,7 +258,7 @@ interface SharedPreferencesAsyncApi { channel.setMessageHandler { message, reply -> val args = message as List val keyArg = args[0] as String - val valueArg = args[1] as List + val valueArg = args[1] as String val optionsArg = args[2] as SharedPreferencesPigeonOptions val wrapped: List = try { @@ -267,6 +273,33 @@ interface SharedPreferencesAsyncApi { channel.setMessageHandler(null) } } + run { + val taskQueue = binaryMessenger.makeBackgroundTaskQueue() + val channel = + BasicMessageChannel( + binaryMessenger, + "dev.flutter.pigeon.shared_preferences_android.SharedPreferencesAsyncApi.setDeprecatedStringList$separatedMessageChannelSuffix", + codec, + taskQueue) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val keyArg = args[0] as String + val valueArg = args[1] as List + val optionsArg = args[2] as SharedPreferencesPigeonOptions + val wrapped: List = + try { + api.setDeprecatedStringList(keyArg, valueArg, optionsArg) + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } run { val taskQueue = binaryMessenger.makeBackgroundTaskQueue() val channel = diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt index 2460ef181baa..2817f946c0b4 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt @@ -30,6 +30,8 @@ import kotlinx.coroutines.runBlocking const val TAG = "SharedPreferencesPlugin" const val SHARED_PREFERENCES_NAME = "FlutterSharedPreferences" +// All identifiers must match the LegacySharedPreferencesPlugin.java file, as well as the +// strings.dart file. const val LIST_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu" const val JSON_LIST_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu!" const val DOUBLE_PREFIX = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu" @@ -411,10 +413,13 @@ internal fun preferencesFilter(key: String, value: Any?, allowList: Set? /** Transforms preferences that are stored as Strings back to original type. */ internal fun transformPref(value: Any?, listEncoder: SharedPreferencesListEncoder): Any? { if (value is String) { - if (value.startsWith(JSON_LIST_PREFIX)) { - return value - } else if (value.startsWith(LIST_PREFIX)) { - return listEncoder.decode(value.substring(LIST_PREFIX.length)) + if (value.startsWith(LIST_PREFIX)) { + // The newer JSON-encoded lists use an extended prefix to distinguish them. + if (value.startsWith(JSON_LIST_PREFIX)) { + return value + } else { + return listEncoder.decode(value.substring(LIST_PREFIX.length)) + } } else if (value.startsWith(DOUBLE_PREFIX)) { return value.substring(DOUBLE_PREFIX.length).toDouble() } diff --git a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart index 60ea935f3cf1..099ee46e76b3 100644 --- a/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_android/example/integration_test/shared_preferences_test.dart @@ -799,10 +799,10 @@ void main() { await clearPreferences(preferences, options); await preferences.setStringListLegacyForTesting( listKey, testList, options); - final List? oldSystemList = + final List? platformEncodedList = await preferences.getStringList(listKey, options); - expect(oldSystemList, testList); - await preferences.setStringList(listKey, oldSystemList!, options); + expect(platformEncodedList, testList); + await preferences.setStringList(listKey, platformEncodedList!, options); expect(await preferences.getStringList(listKey, options), testList); }); diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart b/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart index 5d8428f06e35..449bfce89651 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/messages.g.dart @@ -204,12 +204,42 @@ class SharedPreferencesApi { } } + /// Adds property to shared preferences data set of type List. + Future setStringList(String key, String value) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([key, value]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as bool?)!; + } + } + /// Adds property to shared preferences data set of type List. /// /// Deprecated, this is only here for testing purposes. - Future setStringList(String key, List value) async { + Future setDeprecatedStringList(String key, List value) async { final String pigeonVar_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList$pigeonVar_messageChannelSuffix'; + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDeprecatedStringList$pigeonVar_messageChannelSuffix'; final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart b/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart index 8ce209071e10..ddc4126ac29e 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/messages_async.g.dart @@ -189,13 +189,39 @@ class SharedPreferencesAsyncApi { } } + /// Adds property to shared preferences data set of type List. + Future setStringList( + String key, String value, SharedPreferencesPigeonOptions options) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesAsyncApi.setStringList$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = await pigeonVar_channel + .send([key, value, options]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + /// Adds property to shared preferences data set of type List. /// /// Deprecated, this is only here for testing purposes. - Future setStringList(String key, List value, + Future setDeprecatedStringList(String key, List value, SharedPreferencesPigeonOptions options) async { final String pigeonVar_channelName = - 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesAsyncApi.setStringList$pigeonVar_messageChannelSuffix'; + 'dev.flutter.pigeon.shared_preferences_android.SharedPreferencesAsyncApi.setDeprecatedStringList$pigeonVar_messageChannelSuffix'; final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart index 450a8473a190..817734e7a198 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_android.dart @@ -50,9 +50,9 @@ class SharedPreferencesAndroid extends SharedPreferencesStorePlatform { case 'Double': return _api.setDouble(key, value as double); case 'StringList': - return _api.setString(key, '$jsonListPrefix${jsonEncode(value)}'); + return _api.setStringList(key, '$jsonListPrefix${jsonEncode(value)}'); case 'PlatformEncodedStringListForTesting': - return _api.setStringList(key, value as List); + return _api.setDeprecatedStringList(key, value as List); } // TODO(tarrinneal): change to ArgumentError across all platforms. throw PlatformException( diff --git a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart index f9e47730dd7d..da85371e8290 100644 --- a/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart +++ b/packages/shared_preferences/shared_preferences_android/lib/src/shared_preferences_async_android.dart @@ -137,8 +137,8 @@ base class SharedPreferencesAsyncAndroid return api.setString(key, stringValue, pigeonOptions); } - /// Adds a `List` to preferences using the no longer used system to test - /// moving from the old system to the new one. + /// Adds a `List` to preferences using platform encoding to test + /// moving from platform encoding to json encoding. @visibleForTesting Future setStringListLegacyForTesting( String key, @@ -148,7 +148,7 @@ base class SharedPreferencesAsyncAndroid final SharedPreferencesPigeonOptions pigeonOptions = _convertOptionsToPigeonOptions(options); final SharedPreferencesAsyncApi api = _getApiForBackend(pigeonOptions); - return api.setStringList(key, value, pigeonOptions); + return api.setDeprecatedStringList(key, value, pigeonOptions); } @override diff --git a/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart b/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart index 676c0c3afb2f..a3244a1fb22f 100644 --- a/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart +++ b/packages/shared_preferences/shared_preferences_android/pigeons/messages.dart @@ -35,11 +35,15 @@ abstract class SharedPreferencesApi { @TaskQueue(type: TaskQueueType.serialBackgroundThread) bool setDouble(String key, double value); + /// Adds property to shared preferences data set of type List. + @TaskQueue(type: TaskQueueType.serialBackgroundThread) + bool setStringList(String key, String value); + /// Adds property to shared preferences data set of type List. /// /// Deprecated, this is only here for testing purposes. @TaskQueue(type: TaskQueueType.serialBackgroundThread) - bool setStringList(String key, List value); + bool setDeprecatedStringList(String key, List value); /// Removes all properties from shared preferences data set with matching prefix. @TaskQueue(type: TaskQueueType.serialBackgroundThread) diff --git a/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart b/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart index 15bc4e93c1dc..6aa0dac978e7 100644 --- a/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart +++ b/packages/shared_preferences/shared_preferences_android/pigeons/messages_async.dart @@ -54,11 +54,19 @@ abstract class SharedPreferencesAsyncApi { SharedPreferencesPigeonOptions options, ); + /// Adds property to shared preferences data set of type List. + @TaskQueue(type: TaskQueueType.serialBackgroundThread) + void setStringList( + String key, + String value, + SharedPreferencesPigeonOptions options, + ); + /// Adds property to shared preferences data set of type List. /// /// Deprecated, this is only here for testing purposes. @TaskQueue(type: TaskQueueType.serialBackgroundThread) - void setStringList( + void setDeprecatedStringList( String key, List value, SharedPreferencesPigeonOptions options, diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index f1d57cde293a..e30ab2d18509 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -343,11 +343,17 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { } @override - Future setStringList(String key, List value) async { + Future setStringList(String key, String value) async { items[key] = '$jsonListPrefix${jsonEncode(value)}'; return true; } + @override + Future setDeprecatedStringList(String key, List value) async { + items[key] = value; + return true; + } + @override // ignore: non_constant_identifier_names BinaryMessenger? get pigeonVar_binaryMessenger => throw UnimplementedError(); diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart index e964c5d60a06..8ca1491c54de 100755 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart @@ -4,10 +4,13 @@ // ignore_for_file: non_constant_identifier_names +import 'dart:convert'; + import 'package:flutter/src/services/binary_messenger.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences_android/shared_preferences_android.dart'; import 'package:shared_preferences_android/src/messages_async.g.dart'; +import 'package:shared_preferences_android/src/strings.dart'; import 'package:shared_preferences_platform_interface/types.dart'; void main() { @@ -329,7 +332,14 @@ class _FakeSharedPreferencesApi implements SharedPreferencesAsyncApi { } @override - Future setStringList(String key, List value, + Future setStringList( + String key, String value, SharedPreferencesPigeonOptions options) async { + items[key] = '$jsonListPrefix${jsonEncode(value)}'; + return true; + } + + @override + Future setDeprecatedStringList(String key, List value, SharedPreferencesPigeonOptions options) async { items[key] = value; return true; From 614cbe4c98b783280678d7285d98d1f8fd6d3180 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Mon, 6 Jan 2025 15:55:31 -0800 Subject: [PATCH 7/9] update test getter to match setter --- .../test/shared_preferences_async_test.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart index 8ca1491c54de..370ce6a17075 100755 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart @@ -300,7 +300,10 @@ class _FakeSharedPreferencesApi implements SharedPreferencesAsyncApi { @override Future getStringList( String key, SharedPreferencesPigeonOptions options) async { - return items[key]; + return (jsonDecode((items[key]! as String).substring(jsonListPrefix.length)) + as List) + .cast() + .toList(); } @override From e622f0488a623c24ee43b7b03b0756596663bd2d Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Mon, 6 Jan 2025 16:17:07 -0800 Subject: [PATCH 8/9] fix tests that I broke fixing tests --- .../test/shared_preferences_android_test.dart | 2 +- .../test/shared_preferences_async_test.dart | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index e30ab2d18509..e260370946e0 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -344,7 +344,7 @@ class _FakeSharedPreferencesApi implements SharedPreferencesApi { @override Future setStringList(String key, String value) async { - items[key] = '$jsonListPrefix${jsonEncode(value)}'; + items[key] = value; return true; } diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart index 370ce6a17075..ac96cde53fdf 100755 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_async_test.dart @@ -300,10 +300,12 @@ class _FakeSharedPreferencesApi implements SharedPreferencesAsyncApi { @override Future getStringList( String key, SharedPreferencesPigeonOptions options) async { - return (jsonDecode((items[key]! as String).substring(jsonListPrefix.length)) - as List) - .cast() - .toList(); + return items[key] == null + ? null + : (jsonDecode((items[key]! as String).substring(jsonListPrefix.length)) + as List) + .cast() + .toList(); } @override From d317354548306c61c478389010096e6f4c21b3b1 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Tue, 7 Jan 2025 08:35:55 -0800 Subject: [PATCH 9/9] fix android code for error handling changes reversion --- .../LegacySharedPreferencesPlugin.java | 16 +++++++++---- .../SharedPreferencesPlugin.kt | 23 +++++++++++++++---- .../LegacySharedPreferencesTest.java | 21 +++++++++-------- .../SharedPreferencesTest.kt | 2 +- 4 files changed, 42 insertions(+), 20 deletions(-) diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java index dddd32c5ece3..b9cd0ec3010a 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesPlugin.java @@ -102,10 +102,16 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin return preferences.edit().remove(key).commit(); } + @Override + public @NonNull Boolean setStringList(@NonNull String key, @NonNull String value) + throws RuntimeException { + return preferences.edit().putString(key, value).commit(); + } + // Deprecated, for testing purposes only. @Deprecated @Override - public @NonNull Boolean setStringList(@NonNull String key, @NonNull List value) + public @NonNull Boolean setDeprecatedStringList(@NonNull String key, @NonNull List value) throws RuntimeException { return preferences.edit().putString(key, LIST_IDENTIFIER + listEncoder.encode(value)).commit(); } @@ -152,10 +158,10 @@ public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding bin private Object transformPref(@NonNull String key, @NonNull Object value) { if (value instanceof String) { String stringValue = (String) value; - - if (value.startsWith(LIST_PREFIX)) { - // The newer JSON-encoded lists use an extended prefix to distinguish them. - if (value.startsWith(JSON_LIST_PREFIX)) { + if (stringValue.startsWith(LIST_IDENTIFIER)) { + // The JSON-encoded lists use an extended prefix to distinguish them from + // lists that are encoded on the platform. + if (stringValue.startsWith(JSON_LIST_IDENTIFIER)) { return value; } else { return listEncoder.decode(stringValue.substring(LIST_IDENTIFIER.length())); diff --git a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt index 2817f946c0b4..a9abbaa602a6 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/main/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesPlugin.kt @@ -106,8 +106,14 @@ class SharedPreferencesPlugin() : FlutterPlugin, SharedPreferencesAsyncApi { } } - /** Adds property to data store of type List. */ - override fun setStringList( + /** Adds property to data store of type List as encoded String. */ + override fun setStringList(key: String, value: String, options: SharedPreferencesPigeonOptions) { + return runBlocking { dataStoreSetString(key, value) } + } + + /** Deprecated, for testing purposes only. Adds property to data store of type List. */ + @Deprecated("This is just for testing, use `setStringList`") + override fun setDeprecatedStringList( key: String, value: List, options: SharedPreferencesPigeonOptions @@ -195,6 +201,8 @@ class SharedPreferencesPlugin() : FlutterPlugin, SharedPreferencesAsyncApi { override fun getStringList(key: String, options: SharedPreferencesPigeonOptions): Any? { val stringValue = getString(key, options) stringValue?.let { + // The JSON-encoded lists use an extended prefix to distinguish them from + // lists that are encoded on the platform. if (stringValue.startsWith(JSON_LIST_PREFIX)) { return stringValue } @@ -288,7 +296,13 @@ class SharedPreferencesBackend( } /** Adds property to data store of type List. */ - override fun setStringList( + override fun setStringList(key: String, value: String, options: SharedPreferencesPigeonOptions) { + return createSharedPreferences(options).edit().putString(key, value).apply() + } + + /** Adds property to data store of type List. */ + @Deprecated("This is just for testing, use `setStringList`") + override fun setDeprecatedStringList( key: String, value: List, options: SharedPreferencesPigeonOptions @@ -414,7 +428,8 @@ internal fun preferencesFilter(key: String, value: Any?, allowList: Set? internal fun transformPref(value: Any?, listEncoder: SharedPreferencesListEncoder): Any? { if (value is String) { if (value.startsWith(LIST_PREFIX)) { - // The newer JSON-encoded lists use an extended prefix to distinguish them. + // The JSON-encoded lists use an extended prefix to distinguish them from + // lists that are encoded on the platform. if (value.startsWith(JSON_LIST_PREFIX)) { return value } else { diff --git a/packages/shared_preferences/shared_preferences_android/android/src/test/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesTest.java b/packages/shared_preferences/shared_preferences_android/android/src/test/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesTest.java index 08bbf2fe219f..2945a09f82bd 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/test/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesTest.java +++ b/packages/shared_preferences/shared_preferences_android/android/src/test/java/io/flutter/plugins/sharedpreferences/LegacySharedPreferencesTest.java @@ -13,6 +13,7 @@ import android.content.Context; import android.content.SharedPreferences; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.plugin.common.BinaryMessenger; import java.util.Arrays; @@ -54,17 +55,17 @@ public void before() { data.put("Language", "Java"); data.put("Counter", 0L); data.put("Pie", 3.14); - data.put("Names", Arrays.asList("Flutter", "Dart")); + data.put("Names", Arrays.asList("Flutter", "Dart").toString()); data.put("NewToFlutter", false); data.put("flutter.Language", "Java"); data.put("flutter.Counter", 0L); data.put("flutter.Pie", 3.14); - data.put("flutter.Names", Arrays.asList("Flutter", "Dart")); + data.put("flutter.Names", Arrays.asList("Flutter", "Dart").toString()); data.put("flutter.NewToFlutter", false); data.put("prefix.Language", "Java"); data.put("prefix.Counter", 0L); data.put("prefix.Pie", 3.14); - data.put("prefix.Names", Arrays.asList("Flutter", "Dart")); + data.put("prefix.Names", Arrays.asList("Flutter", "Dart").toString()); data.put("prefix.NewToFlutter", false); } @@ -80,7 +81,7 @@ public void getAll() { assertEquals(flutterData.get("flutter.Language"), "Java"); assertEquals(flutterData.get("flutter.Counter"), 0L); assertEquals(flutterData.get("flutter.Pie"), 3.14); - assertEquals(flutterData.get("flutter.Names"), Arrays.asList("Flutter", "Dart")); + assertEquals(flutterData.get("flutter.Names"), Arrays.asList("Flutter", "Dart").toString()); assertEquals(flutterData.get("flutter.NewToFlutter"), false); Map allData = plugin.getAll("", null); @@ -142,9 +143,9 @@ public void setDouble() { } @Test - public void setStringList() { + public void setStringListSetsAndGetsString() { final String key = "Names"; - final List value = Arrays.asList("Flutter", "Dart"); + final String value = Arrays.asList("Flutter", "Dart").toString(); plugin.setStringList(key, value); Map flutterData = plugin.getAll("", null); assertEquals(flutterData.get(key), value); @@ -206,17 +207,17 @@ private void addData() { plugin.setString("Language", "Java"); plugin.setInt("Counter", 0L); plugin.setDouble("Pie", 3.14); - plugin.setStringList("Names", Arrays.asList("Flutter", "Dart")); + plugin.setStringList("Names", Arrays.asList("Flutter", "Dart").toString()); plugin.setBool("NewToFlutter", false); plugin.setString("flutter.Language", "Java"); plugin.setInt("flutter.Counter", 0L); plugin.setDouble("flutter.Pie", 3.14); - plugin.setStringList("flutter.Names", Arrays.asList("Flutter", "Dart")); + plugin.setStringList("flutter.Names", Arrays.asList("Flutter", "Dart").toString()); plugin.setBool("flutter.NewToFlutter", false); plugin.setString("prefix.Language", "Java"); plugin.setInt("prefix.Counter", 0L); plugin.setDouble("prefix.Pie", 3.14); - plugin.setStringList("prefix.Names", Arrays.asList("Flutter", "Dart")); + plugin.setStringList("prefix.Names", Arrays.asList("Flutter", "Dart").toString()); plugin.setBool("prefix.NewToFlutter", false); } @@ -236,7 +237,7 @@ public static class FakeSharedPreferencesEditor implements SharedPreferences.Edi @Override public @NonNull SharedPreferences.Editor putStringSet( - @NonNull String key, @NonNull Set values) { + @NonNull String key, @Nullable Set values) { sharedPrefData.put(key, values); return this; } diff --git a/packages/shared_preferences/shared_preferences_android/android/src/test/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesTest.kt b/packages/shared_preferences/shared_preferences_android/android/src/test/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesTest.kt index 1803138bc123..242e92f819d5 100644 --- a/packages/shared_preferences/shared_preferences_android/android/src/test/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesTest.kt +++ b/packages/shared_preferences/shared_preferences_android/android/src/test/kotlin/io/flutter/plugins/sharedpreferences/SharedPreferencesTest.kt @@ -41,7 +41,7 @@ internal class SharedPreferencesTest { private val testDouble = 3.14159 - private val testList = listOf("foo", "bar") + private val testList = JSON_LIST_PREFIX + listOf("foo", "bar").toString() private val dataStoreOptions = SharedPreferencesPigeonOptions(useDataStore = true) private val sharedPreferencesOptions = SharedPreferencesPigeonOptions(useDataStore = false)