From a477daa48051d11859f3dc588f74a3b0fa31eb9c Mon Sep 17 00:00:00 2001 From: Xiao Yu Date: Tue, 22 Sep 2020 17:17:34 -0700 Subject: [PATCH 1/4] Add deprecation suppression for plugins marked with -Werror --- packages/android_alarm_manager/CHANGELOG.md | 4 ++++ .../androidalarmmanager/AlarmService.java | 11 ++++++----- .../AndroidAlarmManagerPlugin.java | 10 +++++----- .../FlutterBackgroundExecutor.java | 19 ++++++++++--------- .../Application.java | 4 +--- .../EmbeddingV1Activity.java | 4 ++-- packages/android_alarm_manager/pubspec.yaml | 2 +- packages/android_intent/CHANGELOG.md | 10 +++++++--- .../androidintent/AndroidIntentPlugin.java | 5 +++-- .../EmbeddingV1ActivityTest.java | 1 + .../EmbeddingV1Activity.java | 4 ++-- packages/android_intent/pubspec.yaml | 2 +- packages/battery/battery/CHANGELOG.md | 4 ++++ .../plugins/battery/BatteryPlugin.java | 3 +-- packages/battery/battery/pubspec.yaml | 2 +- packages/camera/CHANGELOG.md | 4 ++++ .../plugins/camera/CameraPermissions.java | 9 +++++---- .../flutter/plugins/camera/CameraPlugin.java | 8 ++++---- .../EmbeddingV1ActivityTest.java | 1 + .../cameraexample/EmbeddingV1Activity.java | 4 ++-- packages/camera/pubspec.yaml | 2 +- .../connectivity/connectivity/CHANGELOG.md | 4 ++++ .../connectivity/ConnectivityPlugin.java | 4 ++-- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../ios/Classes/FLTConnectivityPlugin.m | 4 +++- .../connectivity/connectivity/pubspec.yaml | 2 +- packages/device_info/device_info/CHANGELOG.md | 4 ++++ .../plugins/deviceinfo/DeviceInfoPlugin.java | 4 ++-- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + packages/device_info/device_info/pubspec.yaml | 2 +- packages/espresso/CHANGELOG.md | 4 ++++ .../com/example/espresso/EspressoPlugin.java | 4 ++-- packages/espresso/pubspec.yaml | 2 +- .../CHANGELOG.md | 4 ++++ .../FlutterAndroidLifecyclePlugin.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../EmbeddingV1Activity.java | 4 ++-- .../pubspec.yaml | 2 +- .../google_maps_flutter/CHANGELOG.md | 4 ++++ .../plugins/googlemaps/GoogleMapsPlugin.java | 4 ++-- .../googlemaps/EmbeddingV1ActivityTest.java | 1 + .../EmbeddingV1Activity.java | 4 ++-- .../google_maps_flutter/pubspec.yaml | 2 +- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../google_sign_in/CHANGELOG.md | 4 ++++ .../googlesignin/GoogleSignInPlugin.java | 2 +- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../google_sign_in/pubspec.yaml | 2 +- .../image_picker/image_picker/CHANGELOG.md | 4 ++++ .../imagepicker/ImagePickerPlugin.java | 2 +- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../imagepicker/ImagePickerPluginTest.java | 4 ++-- .../image_picker/image_picker/pubspec.yaml | 2 +- packages/in_app_purchase/CHANGELOG.md | 6 ++++++ .../inapppurchase/InAppPurchasePlugin.java | 4 ++-- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + packages/in_app_purchase/pubspec.yaml | 2 +- packages/integration_test/CHANGELOG.md | 4 ++++ .../IntegrationTestPlugin.java | 4 ++-- packages/integration_test/pubspec.yaml | 2 +- packages/local_auth/CHANGELOG.md | 4 ++++ .../plugins/localauth/LocalAuthPlugin.java | 4 ++-- .../localauth/EmbeddingV1ActivityTest.java | 1 + .../localauthexample/EmbeddingV1Activity.java | 1 + packages/local_auth/pubspec.yaml | 2 +- .../packageinfo/PackageInfoPlugin.java | 4 ++-- .../path_provider/path_provider/CHANGELOG.md | 4 ++++ .../pathprovider/PathProviderPlugin.java | 4 ++-- .../java/EmbeddingV1ActivityTest.java | 1 + .../EmbeddingV1Activity.java | 4 ++-- .../path_provider/path_provider/pubspec.yaml | 2 +- packages/quick_actions/CHANGELOG.md | 4 ++++ .../quickactions/QuickActionsPlugin.java | 4 ++-- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + packages/quick_actions/pubspec.yaml | 2 +- packages/sensors/CHANGELOG.md | 4 ++++ .../plugins/sensors/SensorsPlugin.java | 4 ++-- .../sensorsexample/EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + packages/sensors/pubspec.yaml | 2 +- packages/share/CHANGELOG.md | 4 ++++ .../io/flutter/plugins/share/SharePlugin.java | 4 ++-- .../shareexample/EmbeddingV1Activity.java | 4 ++-- .../shareexample/EmbeddingV1ActivityTest.java | 1 + packages/share/pubspec.yaml | 2 +- .../shared_preferences/CHANGELOG.md | 4 ++++ .../SharedPreferencesPlugin.java | 3 +-- .../EmbeddingV1Activity.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../shared_preferences/pubspec.yaml | 2 +- .../url_launcher/url_launcher/CHANGELOG.md | 4 ++++ .../urllauncher/UrlLauncherPlugin.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../EmbeddingV1Activity.java | 4 ++-- .../url_launcher/url_launcher/pubspec.yaml | 2 +- .../video_player/video_player/CHANGELOG.md | 4 ++++ .../videoplayer/VideoPlayerPlugin.java | 15 +++++++++------ .../EmbeddingV1Activity.java | 4 ++-- .../video_player/video_player/pubspec.yaml | 2 +- packages/webview_flutter/CHANGELOG.md | 4 ++++ .../webviewflutter/WebViewFlutterPlugin.java | 4 ++-- .../EmbeddingV1ActivityTest.java | 1 + .../EmbeddingV1Activity.java | 4 ++-- packages/webview_flutter/pubspec.yaml | 2 +- 111 files changed, 254 insertions(+), 140 deletions(-) diff --git a/packages/android_alarm_manager/CHANGELOG.md b/packages/android_alarm_manager/CHANGELOG.md index 22c3d822ec04..aff0e4a30982 100644 --- a/packages/android_alarm_manager/CHANGELOG.md +++ b/packages/android_alarm_manager/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.5+14 + +* Keep handling deprecated Android v1 classes for backward compatibility. + ## 0.4.5+13 * Android Code Inspection and Clean up. diff --git a/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AlarmService.java b/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AlarmService.java index 107d76738fe3..841628074e84 100644 --- a/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AlarmService.java +++ b/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AlarmService.java @@ -13,7 +13,6 @@ import android.util.Log; import androidx.core.app.AlarmManagerCompat; import androidx.core.app.JobIntentService; -import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -91,15 +90,17 @@ public static void setCallbackDispatcher(Context context, long callbackHandle) { } /** - * Sets the {@link PluginRegistrantCallback} used to register the plugins used by an application - * with the newly spawned background isolate. + * Sets the {@link io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback} used to + * register the plugins used by an application with the newly spawned background isolate. * *

This should be invoked in {@link Application.onCreate} with {@link * GeneratedPluginRegistrant} in applications using the V1 embedding API in order to use other * plugins in the background isolate. For applications using the V2 embedding API, it is not - * necessary to set a {@link PluginRegistrantCallback} as plugins are registered automatically. + * necessary to set a {@link io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback} as + * plugins are registered automatically. */ - public static void setPluginRegistrant(PluginRegistrantCallback callback) { + @SuppressWarnings("deprecation") + public static void setPluginRegistrant(io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback callback) { // Indirectly set in FlutterBackgroundExecutor for backwards compatibility. FlutterBackgroundExecutor.setPluginRegistrant(callback); } diff --git a/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AndroidAlarmManagerPlugin.java b/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AndroidAlarmManagerPlugin.java index 5a135f95e631..74d903dcc02b 100644 --- a/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AndroidAlarmManagerPlugin.java +++ b/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/AndroidAlarmManagerPlugin.java @@ -6,6 +6,7 @@ import android.content.Context; import android.util.Log; +import io.flutter.embedding.engine.FlutterEngine; import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.JSONMethodCodec; @@ -13,8 +14,6 @@ import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodChannel.MethodCallHandler; import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.PluginRegistry.Registrar; -import io.flutter.view.FlutterNativeView; import org.json.JSONArray; import org.json.JSONException; @@ -28,7 +27,7 @@ *

  • The Dart side of this plugin sends the Android side a "AlarmService.start" message, along * with a Dart callback handle for a Dart callback that should be immediately invoked by a * background Dart isolate. - *
  • The Android side of this plugin spins up a background {@link FlutterNativeView}, which + *
  • The Android side of this plugin spins up a background {@link FlutterEngine}, which * includes a background Dart isolate. *
  • The Android side of this plugin instructs the new background Dart isolate to execute the * callback that was received in the "AlarmService.start" message. @@ -49,12 +48,13 @@ public class AndroidAlarmManagerPlugin implements FlutterPlugin, MethodCallHandl /** * Registers this plugin with an associated Flutter execution context, represented by the given - * {@link Registrar}. + * {@link io.flutter.plugin.common.PluginRegistry.Registrar}. * *

    Once this method is executed, an instance of {@code AndroidAlarmManagerPlugin} will be * connected to, and running against, the associated Flutter execution context. */ - public static void registerWith(Registrar registrar) { + @SuppressWarnings("deprecation") + public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registrar registrar) { if (instance == null) { instance = new AndroidAlarmManagerPlugin(); } diff --git a/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/FlutterBackgroundExecutor.java b/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/FlutterBackgroundExecutor.java index 8d5290842e14..0483765377ed 100644 --- a/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/FlutterBackgroundExecutor.java +++ b/packages/android_alarm_manager/android/src/main/java/io/flutter/plugins/androidalarmmanager/FlutterBackgroundExecutor.java @@ -19,9 +19,7 @@ import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodChannel.MethodCallHandler; import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback; import io.flutter.view.FlutterCallbackInformation; -import io.flutter.view.FlutterMain; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; @@ -32,7 +30,8 @@ public class FlutterBackgroundExecutor implements MethodCallHandler { private static final String TAG = "FlutterBackgroundExecutor"; private static final String CALLBACK_HANDLE_KEY = "callback_handle"; - private static PluginRegistrantCallback pluginRegistrantCallback; + @SuppressWarnings("deprecation") + private static io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback pluginRegistrantCallback; /** * The {@link MethodChannel} that connects the Android side of this plugin with the background @@ -45,14 +44,15 @@ public class FlutterBackgroundExecutor implements MethodCallHandler { private AtomicBoolean isCallbackDispatcherReady = new AtomicBoolean(false); /** - * Sets the {@code PluginRegistrantCallback} used to register plugins with the newly spawned - * isolate. + * Sets the {@code io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback} used to + * register plugins with the newly spawned isolate. * *

    Note: this is only necessary for applications using the V1 engine embedding API as plugins * are automatically registered via reflection in the V2 engine embedding API. If not set, alarm * callbacks will not be able to utilize functionality from other plugins. */ - public static void setPluginRegistrant(PluginRegistrantCallback callback) { + @SuppressWarnings("deprecation") + public static void setPluginRegistrant(io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback callback) { pluginRegistrantCallback = callback; } @@ -101,7 +101,7 @@ public void onMethodCall(MethodCall call, Result result) { *

    The isolate is configured as follows: * *