Skip to content

Commit bd4a8eb

Browse files
authored
[webview_flutter] update pigeon to 11 (flutter#4821)
updates pigeon version to 11 to remove need for primitive enum wrappers - removes unnused enum wrappers. Some work toward flutter#133455
1 parent 5f90356 commit bd4a8eb

File tree

11 files changed

+663
-609
lines changed

11 files changed

+663
-609
lines changed

packages/local_auth/local_auth_ios/pigeons/messages.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ class AuthResultDetails {
8585
/// Pigeon equivalent of the subset of BiometricType used by iOS.
8686
enum AuthBiometric { face, fingerprint }
8787

88-
// TODO(stuartmorgan): Remove this when
89-
// https://github.com/flutter/flutter/issues/87307 is implemented.
88+
// TODO(stuartmorgan): Enums need be wrapped in a data class because thay can't
89+
// be used as collection arguments. See https://github.com/flutter/flutter/issues/133728
9090
class AuthBiometricWrapper {
9191
AuthBiometricWrapper({required this.value});
9292
final AuthBiometric value;

packages/webview_flutter/webview_flutter_android/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 3.9.5
2+
3+
* Updates pigeon to 11 and removes unneeded enum wrappers.
4+
15
## 3.9.4
26

37
* Adds pub topics to package metadata.

packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/FileChooserParamsFlutterApiImpl.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,21 @@ public FileChooserParamsFlutterApiImpl(
3434
this.instanceManager = instanceManager;
3535
}
3636

37-
private static GeneratedAndroidWebView.FileChooserModeEnumData toFileChooserEnumData(int mode) {
38-
final GeneratedAndroidWebView.FileChooserModeEnumData.Builder builder =
39-
new GeneratedAndroidWebView.FileChooserModeEnumData.Builder();
37+
private static GeneratedAndroidWebView.FileChooserMode toFileChooserEnumData(int mode) {
4038

4139
switch (mode) {
4240
case WebChromeClient.FileChooserParams.MODE_OPEN:
43-
builder.setValue(GeneratedAndroidWebView.FileChooserMode.OPEN);
44-
break;
41+
return GeneratedAndroidWebView.FileChooserMode.OPEN;
42+
4543
case WebChromeClient.FileChooserParams.MODE_OPEN_MULTIPLE:
46-
builder.setValue(GeneratedAndroidWebView.FileChooserMode.OPEN_MULTIPLE);
47-
break;
44+
return GeneratedAndroidWebView.FileChooserMode.OPEN_MULTIPLE;
45+
4846
case WebChromeClient.FileChooserParams.MODE_SAVE:
49-
builder.setValue(GeneratedAndroidWebView.FileChooserMode.SAVE);
50-
break;
47+
return GeneratedAndroidWebView.FileChooserMode.SAVE;
48+
5149
default:
5250
throw new IllegalArgumentException(String.format("Unsupported FileChooserMode: %d", mode));
5351
}
54-
55-
return builder.build();
5652
}
5753

5854
/**

packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/GeneratedAndroidWebView.java

Lines changed: 160 additions & 159 deletions
Large diffs are not rendered by default.

packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/FileChooserParamsTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ public void flutterApiCreate() {
5757
final long identifier =
5858
Objects.requireNonNull(
5959
instanceManager.getIdentifierForStrongReference(mockFileChooserParams));
60-
final ArgumentCaptor<GeneratedAndroidWebView.FileChooserModeEnumData> modeCaptor =
61-
ArgumentCaptor.forClass(GeneratedAndroidWebView.FileChooserModeEnumData.class);
60+
final ArgumentCaptor<GeneratedAndroidWebView.FileChooserMode> modeCaptor =
61+
ArgumentCaptor.forClass(GeneratedAndroidWebView.FileChooserMode.class);
6262

6363
verify(spyFlutterApi)
6464
.create(
@@ -68,7 +68,6 @@ public void flutterApiCreate() {
6868
modeCaptor.capture(),
6969
eq("filenameHint"),
7070
any());
71-
assertEquals(
72-
modeCaptor.getValue().getValue(), GeneratedAndroidWebView.FileChooserMode.OPEN_MULTIPLE);
71+
assertEquals(modeCaptor.getValue(), GeneratedAndroidWebView.FileChooserMode.OPEN_MULTIPLE);
7372
}
7473
}

packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart

Lines changed: 216 additions & 204 deletions
Large diffs are not rendered by default.

packages/webview_flutter/webview_flutter_android/lib/src/android_webview_api_impls.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,14 +1025,14 @@ class FileChooserParamsFlutterApiImpl extends FileChooserParamsFlutterApi {
10251025
int instanceId,
10261026
bool isCaptureEnabled,
10271027
List<String?> acceptTypes,
1028-
FileChooserModeEnumData mode,
1028+
FileChooserMode mode,
10291029
String? filenameHint,
10301030
) {
10311031
instanceManager.addHostCreatedInstance(
10321032
FileChooserParams.detached(
10331033
isCaptureEnabled: isCaptureEnabled,
10341034
acceptTypes: acceptTypes.cast(),
1035-
mode: mode.value,
1035+
mode: mode,
10361036
filenameHint: filenameHint,
10371037
binaryMessenger: binaryMessenger,
10381038
instanceManager: instanceManager,

packages/webview_flutter/webview_flutter_android/pigeons/android_webview.dart

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,6 @@ enum FileChooserMode {
5757
save,
5858
}
5959

60-
// TODO(bparrishMines): Enums need be wrapped in a data class because thay can't
61-
// be used as primitive arguments. See https://github.com/flutter/flutter/issues/87307
62-
class FileChooserModeEnumData {
63-
late FileChooserMode value;
64-
}
65-
6660
class WebResourceRequestData {
6761
WebResourceRequestData(
6862
this.url,
@@ -393,7 +387,7 @@ abstract class FileChooserParamsFlutterApi {
393387
int instanceId,
394388
bool isCaptureEnabled,
395389
List<String> acceptTypes,
396-
FileChooserModeEnumData mode,
390+
FileChooserMode mode,
397391
String? filenameHint,
398392
);
399393
}

packages/webview_flutter/webview_flutter_android/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: webview_flutter_android
22
description: A Flutter plugin that provides a WebView widget on Android.
33
repository: https://github.com/flutter/packages/tree/main/packages/webview_flutter/webview_flutter_android
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22
5-
version: 3.9.4
5+
version: 3.9.5
66

77
environment:
88
sdk: ">=2.19.0 <4.0.0"
@@ -27,7 +27,7 @@ dev_dependencies:
2727
flutter_test:
2828
sdk: flutter
2929
mockito: 5.4.1
30-
pigeon: ^9.2.4
30+
pigeon: ^11.0.0
3131

3232
topics:
3333
- html

packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1085,7 +1085,7 @@ void main() {
10851085
0,
10861086
false,
10871087
const <String>['my', 'list'],
1088-
FileChooserModeEnumData(value: FileChooserMode.openMultiple),
1088+
FileChooserMode.openMultiple,
10891089
'filenameHint',
10901090
);
10911091

0 commit comments

Comments
 (0)