From 6e8ebb3771463aec41b3999c2d4f6826b8f9738c Mon Sep 17 00:00:00 2001 From: Gary Qian Date: Thu, 1 Dec 2022 07:12:47 -0800 Subject: [PATCH] Reland "Upgrade targetSdkVersion and compileSdkVersion to 33" (#116146) --- .../android/app/src/main/AndroidManifest.xml | 1 + dev/integration_tests/ui/android/build.gradle | 2 +- .../ui/android/buildscript-gradle.lockfile | 163 +++++++++++------- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../ui/android/project-app.lockfile | 100 +++-------- .../android/project-integration_test.lockfile | 100 +++-------- packages/flutter_tools/gradle/flutter.gradle | 4 +- .../android_e2e_api_test.dart | 74 ++++++++ 8 files changed, 222 insertions(+), 224 deletions(-) create mode 100644 packages/flutter_tools/test/integration.shard/android_e2e_api_test.dart diff --git a/dev/integration_tests/ui/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/ui/android/app/src/main/AndroidManifest.xml index 320bec74e38c..25961f4f0769 100644 --- a/dev/integration_tests/ui/android/app/src/main/AndroidManifest.xml +++ b/dev/integration_tests/ui/android/app/src/main/AndroidManifest.xml @@ -19,6 +19,7 @@ found in the LICENSE file. --> [ + flutterBin, + 'create', + tempDir.path, + '--project-name=testapp', + ], workingDirectory: tempDir.path); + expect(result.exitCode, 0); + + final File api33File = tempDir + .childDirectory('android') + .childDirectory('app') + .childDirectory('src') + .childDirectory('main') + .childDirectory('java') + .childFile('Android33Api.java'); + + api33File.createSync(recursive: true); + // AccessibilityManager.isAudioDescriptionRequested() is an API 33 feature + api33File.writeAsStringSync(''' +import android.app.Activity; +import android.view.accessibility.AccessibilityManager; +import androidx.annotation.Keep; +import io.flutter.Log; + +@Keep +public final class Android33Api extends Activity { + private AccessibilityManager accessibilityManager; + + public Android33Api() { + accessibilityManager = getSystemService(AccessibilityManager.class); + } + + public void doSomething() { + if (accessibilityManager.isAudioDescriptionRequested()) { + Log.e("flutter", "User has requested to enable audio descriptions"); + } + } +} + +'''); + + result = await processManager.run([ + flutterBin, + ...getLocalEngineArguments(), + 'build', + 'apk', + ], workingDirectory: tempDir.path); + expect(result.exitCode, 0); + expect(result.stdout.toString(), contains('app-release.apk')); + }); +}