Skip to content

Commit bcb52af

Browse files
authored
Merge branch 'main' into develop
2 parents 22c1bb0 + 3caa48b commit bcb52af

40 files changed

+729
-418
lines changed

.ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ platform_properties:
9595
[
9696
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
9797
]
98-
os: Mac-14|Mac-15.5
98+
os: Mac-15.5|Mac-15.7
9999
device_type: none
100100
cpu: arm64
101101
$flutter/osx_sdk : >-
@@ -108,7 +108,7 @@ platform_properties:
108108
[
109109
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
110110
]
111-
os: Mac-14|Mac-15.5
111+
os: Mac-15.5|Mac-15.7
112112
device_type: none
113113
cpu: x86
114114
$flutter/osx_sdk : >-

.ci/flutter_master.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e5d5c01850f2d33106f00a19017682f09e83e48b
1+
c5e809a998fe86bb4a4502d51996504279c67ec5

packages/go_router/test/extra_codec_test.dart

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'dart:convert';
77
import 'package:flutter/material.dart';
88
import 'package:flutter_test/flutter_test.dart';
99
import 'package:go_router/go_router.dart';
10+
import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';
1011

1112
import 'test_helpers.dart';
1213

@@ -52,33 +53,40 @@ void main() {
5253
expect(find.text(initialString), findsOneWidget);
5354
});
5455

55-
testWidgets('Restores state correctly', (WidgetTester tester) async {
56-
const String initialString = 'some string';
57-
const String empty = 'empty';
58-
final List<RouteBase> routes = <RouteBase>[
59-
GoRoute(
60-
path: '/',
61-
builder: (_, GoRouterState state) {
62-
return Text((state.extra as ComplexData?)?.data ?? empty);
63-
},
64-
),
65-
];
56+
testWidgets(
57+
'Restores state correctly',
58+
(WidgetTester tester) async {
59+
const String initialString = 'some string';
60+
const String empty = 'empty';
61+
final List<RouteBase> routes = <RouteBase>[
62+
GoRoute(
63+
path: '/',
64+
builder: (_, GoRouterState state) {
65+
return Text((state.extra as ComplexData?)?.data ?? empty);
66+
},
67+
),
68+
];
6669

67-
await createRouter(
68-
routes,
69-
tester,
70-
initialExtra: ComplexData(initialString),
71-
restorationScopeId: 'test',
72-
extraCodec: ComplexDataCodec(),
73-
);
74-
expect(find.text(initialString), findsOneWidget);
70+
await createRouter(
71+
routes,
72+
tester,
73+
initialExtra: ComplexData(initialString),
74+
restorationScopeId: 'test',
75+
extraCodec: ComplexDataCodec(),
76+
);
77+
expect(find.text(initialString), findsOneWidget);
7578

76-
await tester.restartAndRestore();
77-
addTearDown(tester.binding.restorationManager.dispose);
79+
await tester.restartAndRestore();
7880

79-
await tester.pumpAndSettle();
80-
expect(find.text(initialString), findsOneWidget);
81-
});
81+
await tester.pumpAndSettle();
82+
expect(find.text(initialString), findsOneWidget);
83+
},
84+
// TODO(hgraceb): Remove when minimum flutter version includes
85+
// https://github.com/flutter/flutter/pull/176519
86+
experimentalLeakTesting: LeakTesting.settings.withIgnored(
87+
classes: const <String>['TestRestorationManager', 'RestorationBucket'],
88+
),
89+
);
8290
}
8391

8492
class ComplexData {

packages/pigeon/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 26.0.5
2+
3+
* [kotlin] Serialize custom enums as `Long` instead of `Int` to avoid `ClassCastException` on decoding.
4+
15
## 26.0.4
26

37
* Adds compatibility with `analyzer` 8.x.

packages/pigeon/example/app/android/app/src/main/kotlin/dev/flutter/pigeon_example_app/Messages.g.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ private open class MessagesPigeonCodec : StandardMessageCodec() {
142142
when (value) {
143143
is Code -> {
144144
stream.write(129)
145-
writeValue(stream, value.raw)
145+
writeValue(stream, value.raw.toLong())
146146
}
147147
is MessageData -> {
148148
stream.write(130)

packages/pigeon/example/app/lib/main.dart

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -137,16 +137,14 @@ class _MyHomePageState extends State<MyHomePage> {
137137
if (Platform.isAndroid || Platform.isIOS)
138138
StreamBuilder<String>(
139139
stream: getEventStream(),
140-
builder: (
141-
BuildContext context,
142-
AsyncSnapshot<String> snapshot,
143-
) {
144-
if (snapshot.hasData) {
145-
return Text(snapshot.data ?? '');
146-
} else {
147-
return const CircularProgressIndicator();
148-
}
149-
},
140+
builder:
141+
(BuildContext context, AsyncSnapshot<String> snapshot) {
142+
if (snapshot.hasData) {
143+
return Text(snapshot.data ?? '');
144+
} else {
145+
return const CircularProgressIndicator();
146+
}
147+
},
150148
)
151149
else
152150
const Text('event channels are not supported on this platform'),

packages/pigeon/example/app/lib/src/messages.g.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,9 @@ class ExampleHostApi {
143143
BinaryMessenger? binaryMessenger,
144144
String messageChannelSuffix = '',
145145
}) : pigeonVar_binaryMessenger = binaryMessenger,
146-
pigeonVar_messageChannelSuffix =
147-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
146+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
147+
? '.$messageChannelSuffix'
148+
: '';
148149
final BinaryMessenger? pigeonVar_binaryMessenger;
149150

150151
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
@@ -256,8 +257,9 @@ abstract class MessageFlutterApi {
256257
BinaryMessenger? binaryMessenger,
257258
String messageChannelSuffix = '',
258259
}) {
259-
messageChannelSuffix =
260-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
260+
messageChannelSuffix = messageChannelSuffix.isNotEmpty
261+
? '.$messageChannelSuffix'
262+
: '';
261263
{
262264
final BasicMessageChannel<Object?>
263265
pigeonVar_channel = BasicMessageChannel<Object?>(

packages/pigeon/lib/src/generator_tools.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import 'generator.dart';
1515
/// The current version of pigeon.
1616
///
1717
/// This must match the version in pubspec.yaml.
18-
const String pigeonVersion = '26.0.4';
18+
const String pigeonVersion = '26.0.5';
1919

2020
/// Read all the content from [stdin] to a String.
2121
String readStdin() {

packages/pigeon/lib/src/kotlin/kotlin_generator.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,9 @@ class KotlinGenerator extends StructuredGenerator<InternalKotlinOptions> {
475475

476476
void writeEncodeLogic(EnumeratedType customType) {
477477
final String encodeString =
478-
customType.type == CustomTypes.customClass ? 'toList()' : 'raw';
478+
customType.type == CustomTypes.customClass
479+
? 'toList()'
480+
: 'raw.toLong()';
479481
final String valueString =
480482
customType.enumeration < maximumCodecFieldKey
481483
? 'value.$encodeString'

packages/pigeon/platform_tests/shared_test_plugin_code/lib/integration_tests.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2983,8 +2983,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) {
29832983

29842984
testWidgets('callFlutterEchoProxyApiMap', (_) async {
29852985
final ProxyApiTestClass api = _createGenericProxyApiTestClass(
2986-
flutterEchoProxyApiMap:
2987-
(_, Map<String?, ProxyApiTestClass?> aMap) => aMap,
2986+
flutterEchoProxyApiMap: (_, Map<String?, ProxyApiTestClass?> aMap) =>
2987+
aMap,
29882988
);
29892989

29902990
final Map<String?, ProxyApiTestClass?> value =
@@ -3087,8 +3087,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) {
30873087

30883088
testWidgets('callFlutterEchoNullableProxyApi', (_) async {
30893089
final ProxyApiTestClass api = _createGenericProxyApiTestClass(
3090-
flutterEchoNullableProxyApi:
3091-
(_, ProxyApiSuperClass? aProxyApi) => aProxyApi,
3090+
flutterEchoNullableProxyApi: (_, ProxyApiSuperClass? aProxyApi) =>
3091+
aProxyApi,
30923092
);
30933093

30943094
expect(await api.callFlutterEchoNullableProxyApi(null), null);

0 commit comments

Comments
 (0)