[various] Scrubs pre-SDK-21 Android code (#9112)

- Removes any annotations or runtime checks related to Android API 20 or 21, as 21 is the minimum API version supported by the versions of Flutter these plugins support.
- Removes comment/README references to limitations for <21.
- Updates READMEs for app-facing packages to reflect the current support levels.

Fixes https://github.com/flutter/flutter/issues/157106

## Pre-Review Checklist

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
This commit is contained in:
stuartmorgan-g
2025-04-19 08:27:35 -07:00
committed by GitHub
parent bfb42a62a5
commit b93cc40021
80 changed files with 136 additions and 136 deletions

View File

@ -663,7 +663,7 @@ public class CameraTest {
camera.mediaRecorder = mockMediaRecorder;
camera.recordingVideo = true;
camera.videoRenderer = mockVideoRenderer;
SdkCapabilityChecker.SDK_VERSION = Build.VERSION_CODES.LOLLIPOP;
SdkCapabilityChecker.SDK_VERSION = Build.VERSION_CODES.N;
final CameraProperties newCameraProperties = mock(CameraProperties.class);
assertThrows(

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":camera_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -1,3 +1,7 @@
## 0.4.0+7
* Removes obsolete code related to supporting SDK <21.
## 0.4.0+6
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -4,7 +4,7 @@ Provides bindings for Espresso tests of Flutter Android apps.
| | Android |
|-------------|---------|
| **Support** | SDK 16+ |
| **Support** | SDK 21+ |
## Installation

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -3,7 +3,7 @@ description: Java classes for testing Flutter apps using Espresso.
Allows driving Flutter widgets from a native Espresso test.
repository: https://github.com/flutter/packages/tree/main/packages/espresso
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+espresso%22
version: 0.4.0+6
version: 0.4.0+7
environment:
sdk: ^3.6.0

View File

@ -1,5 +1,6 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
## 1.0.3

View File

@ -8,7 +8,7 @@ A Flutter plugin that manages files and interactions with file dialogs.
| | Android | iOS | Linux | macOS | Web | Windows |
|-------------|---------|---------|-------|--------|-----|-------------|
| **Support** | SDK 19+ | iOS 12+ | Any | 10.14+ | Any | Windows 10+ |
| **Support** | SDK 21+ | iOS 12+ | Any | 10.14+ | Any | Windows 10+ |
## Setup
@ -114,9 +114,7 @@ pass different `XTypeGroup`s based on `Platform`.
| Choose a single file | Pick a file/image | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Choose multiple files | Pick multiple files/images | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Choose a save location | Pick a directory to save a file in | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
| Choose a directory | Pick a directory and get its path | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
† Choosing a directory is no supported on versions of Android before SDK 21 (Lollipop).
| Choose a directory | Pick a directory and get its path | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
[example]:./example
[entitlement]: https://docs.flutter.dev/desktop#entitlements-and-the-app-sandbox

View File

@ -1,3 +1,7 @@
## 0.5.1+14
* Removes obsolete code related to supporting SDK <21.
## 0.5.1+13
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -31,7 +31,7 @@ android {
}
defaultConfig {
minSdkVersion 19
minSdkVersion 21
}
dependencies {

View File

@ -6,7 +6,6 @@ package dev.flutter.packages.file_selector_android;
import static dev.flutter.packages.file_selector_android.FileUtils.FILE_SELECTOR_EXCEPTION_PLACEHOLDER_PATH;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.ClipData;
import android.content.ContentResolver;
@ -193,17 +192,9 @@ public class FileSelectorApiImpl implements GeneratedFileSelectorApi.FileSelecto
}
@Override
@TargetApi(21)
public void getDirectoryPath(
@Nullable String initialDirectory,
@NonNull GeneratedFileSelectorApi.NullableResult<String> result) {
if (!sdkChecker.sdkIsAtLeast(android.os.Build.VERSION_CODES.LOLLIPOP)) {
result.error(
new UnsupportedOperationException(
"Selecting a directory is only supported on versions >= 21"));
return;
}
final Intent intent = objectFactory.newIntent(Intent.ACTION_OPEN_DOCUMENT_TREE);
trySetInitialDirectory(intent, initialDirectory);

View File

@ -443,7 +443,7 @@ public class FileSelectorAndroidPluginTest {
new FileSelectorApiImpl(
mockActivityBinding,
mockObjectFactory,
(version) -> Build.VERSION_CODES.LOLLIPOP >= version);
(version) -> Build.VERSION.SDK_INT >= version);
final GeneratedFileSelectorApi.NullableResult mockResult =
mock(GeneratedFileSelectorApi.NullableResult.class);
@ -465,20 +465,4 @@ public class FileSelectorAndroidPluginTest {
}
}
}
@Test
public void getDirectoryPath_errorsForUnsupportedVersion() {
final FileSelectorApiImpl fileSelectorApi =
new FileSelectorApiImpl(
mockActivityBinding,
mockObjectFactory,
(version) -> Build.VERSION_CODES.KITKAT >= version);
@SuppressWarnings("unchecked")
final GeneratedFileSelectorApi.NullableResult<String> mockResult =
mock(GeneratedFileSelectorApi.NullableResult.class);
fileSelectorApi.getDirectoryPath(null, mockResult);
verify(mockResult).error(any());
}
}

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":file_selector_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -2,7 +2,7 @@ name: file_selector_android
description: Android implementation of the file_selector package.
repository: https://github.com/flutter/packages/tree/main/packages/file_selector/file_selector_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22
version: 0.5.1+13
version: 0.5.1+14
environment:
sdk: ^3.6.0

View File

@ -1,3 +1,7 @@
## 2.0.28
* Removes obsolete code related to supporting SDK <21.
## 2.0.27
* Bumps flutter supported version to 3.27 and use flutter.compileSdkVersion.

View File

@ -11,7 +11,7 @@ major version of the Android `Lifecycle` API they expect.
| | Android |
|-------------|---------|
| **Support** | SDK 16+ |
| **Support** | SDK 21+ |
## Example

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'proguard.txt'
}

View File

@ -2,7 +2,7 @@ name: flutter_plugin_android_lifecycle
description: Flutter plugin for accessing an Android Lifecycle within other plugins.
repository: https://github.com/flutter/packages/tree/main/packages/flutter_plugin_android_lifecycle
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+flutter_plugin_android_lifecycle%22
version: 2.0.27
version: 2.0.28
environment:
sdk: ^3.6.0

View File

@ -1,3 +1,7 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
## 2.12.1
* Fixes typo in README.

View File

@ -8,7 +8,7 @@ A Flutter plugin that provides a [Google Maps](https://developers.google.com/map
| | Android | iOS | Web |
|-------------|---------|---------|----------------------------------|
| **Support** | SDK 20+ | iOS 14+ | Same as [Flutter's][web-support] |
| **Support** | SDK 21+ | iOS 14+ | Same as [Flutter's][web-support] |
[web-support]: https://docs.flutter.dev/reference/supported-platforms

View File

@ -1,3 +1,7 @@
## 2.16.1
* Removes obsolete code related to supporting SDK <21.
## 2.16.0
* Adds support for animating the camera with a duration.

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 20
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {

View File

@ -16,7 +16,6 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.os.Build;
import androidx.test.core.app.ApplicationProvider;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.model.CameraPosition;
@ -41,10 +40,8 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class ClusterManagersControllerTest {
private Context context;
private MapsCallbackApi flutterApi;

View File

@ -24,7 +24,6 @@ import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
import android.content.res.AssetManager;
import android.os.Build;
import android.util.Base64;
import androidx.annotation.NonNull;
import com.google.android.gms.maps.model.BitmapDescriptor;
@ -49,10 +48,8 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class ConvertTest {
@Mock private AssetManager assetManager;

View File

@ -18,7 +18,6 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.os.Build;
import androidx.activity.ComponentActivity;
import androidx.test.core.app.ApplicationProvider;
import com.google.android.gms.maps.CameraUpdate;
@ -41,10 +40,8 @@ import org.mockito.MockedStatic;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class GoogleMapControllerTest {
private Context context;

View File

@ -13,7 +13,6 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import android.content.Context;
import android.os.Build;
import androidx.test.core.app.ApplicationProvider;
import com.google.android.gms.maps.MapsInitializer.Renderer;
import io.flutter.plugin.common.BinaryMessenger;
@ -23,10 +22,8 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class GoogleMapInitializerTest {
private GoogleMapInitializer googleMapInitializer;

View File

@ -12,7 +12,6 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.AssetManager;
import android.os.Build;
import android.util.Base64;
import androidx.annotation.NonNull;
import androidx.test.core.app.ApplicationProvider;
@ -31,10 +30,8 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class GroundOverlaysControllerTest {
@Mock private BitmapDescriptorFactoryWrapper bitmapDescriptorFactoryWrapper;
@Mock private BitmapDescriptor mockBitmapDescriptor;

View File

@ -15,7 +15,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
import android.os.Build;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.model.TileOverlay;
import com.google.android.gms.maps.model.TileOverlayOptions;
@ -30,10 +29,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class HeatmapsControllerTest {
private HeatmapsController controller;
private GoogleMap googleMap;

View File

@ -15,7 +15,6 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.os.Build;
import androidx.test.core.app.ApplicationProvider;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.model.LatLng;
@ -36,10 +35,8 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
public class MarkersControllerTest {
private Context context;
private MapsCallbackApi flutterApi;

View File

@ -2,7 +2,7 @@ name: google_maps_flutter_android
description: Android implementation of the google_maps_flutter plugin.
repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22
version: 2.16.0
version: 2.16.1
environment:
sdk: ^3.6.0

View File

@ -1,3 +1,7 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
## 6.3.0
* Adds a sign-in field to allow Android clients to explicitly specify an account name. This

View File

@ -4,7 +4,7 @@ A Flutter plugin for [Google Sign In](https://developers.google.com/identity/).
| | Android | iOS | macOS | Web |
|-------------|---------|-------|--------|-----|
| **Support** | SDK 16+ | 12.0+ | 10.15+ | Any |
| **Support** | SDK 21+ | 12.0+ | 10.15+ | Any |
## Platform integration

View File

@ -1,3 +1,7 @@
## 6.2.1
* Removes obsolete code related to supporting SDK <21.
## 6.2.0
* Adds a sign-in field to allow clients to explicitly specify an account name.

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":google_sign_in_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -2,7 +2,7 @@ name: google_sign_in_android
description: Android implementation of the google_sign_in plugin.
repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22
version: 6.2.0
version: 6.2.1
environment:
sdk: ^3.6.0

View File

@ -1,3 +1,7 @@
## 0.8.12+23
* Removes obsolete code related to supporting SDK <21.
## 0.8.12+22
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":image_picker_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -2,7 +2,7 @@ name: image_picker_android
description: Android implementation of the image_picker plugin.
repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
version: 0.8.12+22
version: 0.8.12+23
environment:
sdk: ^3.6.0

View File

@ -1,3 +1,7 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
## 3.2.1
* Updates minimum supported SDK version to Flutter 3.24/Dart 3.5.

View File

@ -7,7 +7,7 @@ which can be the App Store (on iOS and macOS) or Google Play (on Android).
| | Android | iOS | macOS |
|-------------|---------|-------|--------|
| **Support** | SDK 16+ | 12.0+ | 10.15+ |
| **Support** | SDK 21+ | 12.0+ | 10.15+ |
<p>
<img src="https://github.com/flutter/packages/blob/main/packages/in_app_purchase/in_app_purchase/doc/iap_ios.gif?raw=true"

View File

@ -1,5 +1,6 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
## 2.3.0

View File

@ -10,7 +10,7 @@ fingerprint or facial recognition.
| | Android | iOS | macOS | Windows |
|-------------|-----------|-------|--------|-------------|
| **Support** | SDK 16+\* | 12.0+ | 10.14+ | Windows 10+ |
| **Support** | SDK 21+\* | 12.0+ | 10.14+ | Windows 10+ |
## Usage
@ -200,7 +200,7 @@ app has not been updated to use Face ID.
## Android Integration
\* The plugin will build and run on SDK 16+, but `isDeviceSupported()` will
\* The plugin will build and run on SDK 21+, but `isDeviceSupported()` will
always return false before SDK 23 (Android 6.0).
### Activity Changes

View File

@ -1,3 +1,7 @@
## 1.0.49
* Removes obsolete code related to supporting SDK <21.
## 1.0.48
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":local_auth_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -2,7 +2,7 @@ name: local_auth_android
description: Android implementation of the local_auth plugin.
repository: https://github.com/flutter/packages/tree/main/packages/local_auth/local_auth_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+local_auth%22
version: 1.0.48
version: 1.0.49
environment:
sdk: ^3.6.0

View File

@ -1,5 +1,6 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
## 2.1.5

View File

@ -9,7 +9,7 @@ Not all methods are supported on all platforms.
| | Android | iOS | Linux | macOS | Windows |
|-------------|---------|-------|-------|--------|-------------|
| **Support** | SDK 16+ | 12.0+ | Any | 10.14+ | Windows 10+ |
| **Support** | SDK 21+ | 12.0+ | Any | 10.14+ | Windows 10+ |
## Example
<?code-excerpt "readme_excerpts.dart (Example)"?>

View File

@ -1,3 +1,7 @@
## 2.2.17
* Removes obsolete code related to supporting SDK <21.
## 2.2.16
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":path_provider_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -2,7 +2,7 @@ name: path_provider_android
description: Android implementation of the path_provider plugin.
repository: https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22
version: 2.2.16
version: 2.2.17
environment:
sdk: ^3.6.0

View File

@ -31,7 +31,7 @@ android {
}
defaultConfig {
minSdkVersion 19
minSdkVersion 21
}
testOptions {

View File

@ -43,7 +43,7 @@ android {
}
defaultConfig {
minSdkVersion 19
minSdkVersion 21
}
testOptions {

View File

@ -1,5 +1,6 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
## 1.1.0

View File

@ -11,7 +11,7 @@ Android.
| | Android | iOS |
|-------------|-----------|------|
| **Support** | SDK 16+\* | 9.0+ |
| **Support** | SDK 21+\* | 9.0+ |
## Usage

View File

@ -1,3 +1,7 @@
## 1.0.21
* Removes obsolete code related to supporting SDK <21.
## 1.0.20
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -26,7 +26,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {

View File

@ -30,7 +30,8 @@ tasks.register("clean", Delete) {
gradle.projectsEvaluated {
project(":quick_actions_android") {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:all" << "-Werror"
// Ignore classfile due to https://issuetracker.google.com/issues/342067844
options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile"
}
}
}

View File

@ -2,7 +2,7 @@ name: quick_actions_android
description: An implementation for the Android platform of the Flutter `quick_actions` plugin.
repository: https://github.com/flutter/packages/tree/main/packages/quick_actions/quick_actions_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
version: 1.0.20
version: 1.0.21
environment:
sdk: ^3.6.0

View File

@ -1,4 +1,9 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
## 2.5.3
* Fixes a bug in the example app.
## 2.5.2

View File

@ -13,7 +13,7 @@ Supported data types are `int`, `double`, `bool`, `String` and `List<String>`.
| | Android | iOS | Linux | macOS | Web | Windows |
|-------------|---------|-------|-------|--------|-----|-------------|
| **Support** | SDK 16+ | 12.0+ | Any | 10.14+ | Any | Any |
| **Support** | SDK 21+ | 12.0+ | Any | 10.14+ | Any | Any |
## Usage

View File

@ -1,3 +1,7 @@
## 2.4.10
* Removes obsolete code related to supporting SDK <21.
## 2.4.9
* Enables callers to use `getInt` to read preference of type `int` that was written to shared preferences by native code without passing though plugin code.

View File

@ -50,7 +50,7 @@ android {
}
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {

View File

@ -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.9
version: 2.4.10
environment:
sdk: ^3.6.0

View File

@ -1,5 +1,6 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
## 6.3.1

View File

@ -8,7 +8,7 @@ A Flutter plugin for launching a URL.
| | Android | iOS | Linux | macOS | Web | Windows |
|-------------|---------|-------|-------|--------|-----|-------------|
| **Support** | SDK 16+ | 12.0+ | Any | 10.14+ | Any | Windows 10+ |
| **Support** | SDK 21+ | 12.0+ | Any | 10.14+ | Any | Windows 10+ |
## Example

View File

@ -1,3 +1,7 @@
## 6.3.16
* Removes obsolete code related to supporting SDK <21.
## 6.3.15
* Updates compileSdk 34 to flutter.compileSdkVersion.

View File

@ -29,7 +29,7 @@ android {
compileSdk = flutter.compileSdkVersion
defaultConfig {
minSdkVersion 19
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -4,7 +4,6 @@
package io.flutter.plugins.urllauncher;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
@ -50,27 +49,10 @@ public class WebViewActivity extends Activity {
private final WebViewClient webViewClient =
new WebViewClient() {
/*
* This method is deprecated in API 24. Still overridden to support
* earlier Android versions.
*/
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
view.loadUrl(url);
return false;
}
return super.shouldOverrideUrlLoading(view, url);
}
@RequiresApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
view.loadUrl(request.getUrl().toString());
}
view.loadUrl(request.getUrl().toString());
return false;
}
};
@ -87,7 +69,6 @@ public class WebViewActivity extends Activity {
final WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
final WebViewClient webViewClient =
new WebViewClient() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(
@NonNull WebView view, @NonNull WebResourceRequest request) {

View File

@ -2,7 +2,7 @@ name: url_launcher_android
description: Android implementation of the url_launcher plugin.
repository: https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22
version: 6.3.15
version: 6.3.16
environment:
sdk: ^3.6.0
flutter: ">=3.27.0"

View File

@ -1,3 +1,7 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
## 2.9.5
* Fixes layout issue caused by `Transform.rotate` not affecting space calculation.

View File

@ -8,7 +8,7 @@ A Flutter plugin for iOS, Android and Web for playing back video on a Widget sur
| | Android | iOS | macOS | Web |
|-------------|---------|-------|--------|-------|
| **Support** | SDK 16+ | 12.0+ | 10.14+ | Any\* |
| **Support** | SDK 21+ | 12.0+ | 10.14+ | Any\* |
![The example app running in iOS](https://github.com/flutter/packages/blob/main/packages/video_player/video_player/doc/demo_ipod.gif?raw=true)

View File

@ -1,3 +1,7 @@
## NEXT
* Updates README to indicate that Andoid SDK <21 is no longer supported.
## 4.11.0
* Adds support to set the over-scroll mode for the WebView. See `WebViewController.setOverScrollMode`.

View File

@ -60,22 +60,6 @@ See the Dartdocs for [WebViewController](https://pub.dev/documentation/webview_f
and [WebViewWidget](https://pub.dev/documentation/webview_flutter/latest/webview_flutter/WebViewWidget-class.html)
for more details.
### Android Platform Views
This plugin uses
[Platform Views](https://docs.flutter.dev/platform-integration/android/platform-views) to
embed the Android's WebView within the Flutter app.
You should however make sure to set the correct `minSdkVersion` in `android/app/build.gradle` if it was previously lower than 19:
```groovy
android {
defaultConfig {
minSdkVersion 19
}
}
```
### Platform-Specific Features
Many classes have a subclass or an underlying implementation that provides access to platform-specific
@ -175,7 +159,7 @@ for more details.
### PlatformView Implementation on Android
The PlatformView implementation for Android uses Texture Layer Hybrid Composition on versions 23+
and automatically fallbacks to Hybrid Composition for version 19-23. See section
and automatically fallbacks to Hybrid Composition for version 21-23. See section
`Platform-Specific Features` and [AndroidWebViewWidgetCreationParams.displayWithHybridComposition](https://pub.dev/documentation/webview_flutter_android/latest/webview_flutter_android/AndroidWebViewWidgetCreationParams/displayWithHybridComposition.html)
to manually switch to Hybrid Composition on versions 23+.

View File

@ -1,3 +1,7 @@
## 4.4.1
* Removes obsolete code related to supporting SDK <21.
## 4.4.0
* Adds support to set the over-scroll mode for the WebView. See `AndroidWebViewController.setOverScrollMode`.

View File

@ -75,9 +75,7 @@ class AndroidWebViewCookieManager extends PlatformWebViewCookieManager {
/// Sets whether the WebView should allow third party cookies to be set.
///
/// Apps that target `Build.VERSION_CODES.KITKAT` or below default to allowing
/// third party cookies. Apps targeting `Build.VERSION_CODES.LOLLIPOP` or
/// later default to disallowing third party cookies.
/// Defaults to false.
Future<void> setAcceptThirdPartyCookies(
AndroidWebViewController controller,
bool accept,

View File

@ -2,7 +2,7 @@ name: webview_flutter_android
description: A Flutter plugin that provides a WebView widget on Android.
repository: https://github.com/flutter/packages/tree/main/packages/webview_flutter/webview_flutter_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22
version: 4.4.0
version: 4.4.1
environment:
sdk: ^3.6.0