diff --git a/lib/android/app/build.gradle b/lib/android/app/build.gradle index 5abc5ac36bc..9d9e3689d5f 100644 --- a/lib/android/app/build.gradle +++ b/lib/android/app/build.gradle @@ -12,9 +12,9 @@ def safeExtGetFallbackLowerBound(prop, fallback) { Math.max(safeExtGet(prop,fallback),fallback) } -def DEFAULT_COMPILE_SDK_VERSION = 30 +def DEFAULT_COMPILE_SDK_VERSION = 33 def DEFAULT_MIN_SDK_VERSION = 21 -def DEFAULT_TARGET_SDK_VERSION = 30 +def DEFAULT_TARGET_SDK_VERSION = 33 def DEFAULT_KOTLIN_VERSION = "1.5.31" def DEFAULT_KOTLIN_STDLIB = 'kotlin-stdlib-jdk8' def kotlinVersion = safeExtGet("RNNKotlinVersion", DEFAULT_KOTLIN_VERSION) @@ -22,7 +22,7 @@ def kotlinStdlib = safeExtGet('RNNKotlinStdlib',DEFAULT_KOTLIN_STDLIB ) def kotlinCoroutinesCore = safeExtGet('RNNKotlinCoroutinesCore', '1.5.2') android { compileSdkVersion safeExtGetFallbackLowerBound('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION) - + buildToolsVersion = "33.0.0" defaultConfig { minSdkVersion safeExtGetFallbackLowerBound('minSdkVersion', DEFAULT_MIN_SDK_VERSION) targetSdkVersion safeExtGetFallbackLowerBound('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION) @@ -167,6 +167,27 @@ List reactNativeVersionComponents(rnPackageJsonFile) { return reactNativeVersion.tokenize('-')[0].tokenize('.') } +task installBuildToolsAndRenameD8IfNeeded { + def buildToolsVersion = android.getBuildToolsVersion() + def sdkDir = android.sdkDirectory + def buildToolsDir = new File(sdkDir, "/build-tools/" + buildToolsVersion) + + if (!buildToolsDir.exists()) { + def command = sdkDir.absolutePath + "/cmdline-tools/latest/bin/sdkmanager build-tools;" + buildToolsVersion + command.execute().waitForProcessOutput(System.out, System.err) + } + + def d8File = new File(buildToolsDir, "d8") + def dxFile = new File(buildToolsDir, "dx") + d8File.renameTo(dxFile) + + def buildToolsLibDir = new File(buildToolsDir, "lib") + d8File = new File(buildToolsLibDir, "d8.jar") + dxFile = new File(buildToolsLibDir, "dx.jar") + d8File.renameTo(dxFile) +} +build.dependsOn installBuildToolsAndRenameD8IfNeeded + dependencies { implementation "androidx.core:core-ktx:1.6.0" diff --git a/lib/android/app/src/main/AndroidManifest.xml b/lib/android/app/src/main/AndroidManifest.xml index 283e26746d1..285e164fd49 100644 --- a/lib/android/app/src/main/AndroidManifest.xml +++ b/lib/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools" + package="com.reactnativenavigation"> navigator.destroyViews()); } + + private void setBackPressedCallback() { + OnBackPressedCallback callback = new OnBackPressedCallback(true) { + @Override + public void handleOnBackPressed() { + getReactGateway().onBackPressed(); + } + }; + getOnBackPressedDispatcher().addCallback(this, callback); + } } diff --git a/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java b/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java index 55d7bb0485b..8074511d632 100644 --- a/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java +++ b/lib/android/app/src/test/java/com/reactnativenavigation/TestActivity.java @@ -15,9 +15,4 @@ public ReactGateway getReactGateway() { public void setNavigator(Navigator navigator) { this.navigator = navigator; } - - @Override - public void onBackPressed() { - super.onBackPressed(); - } } diff --git a/playground/android/build.gradle b/playground/android/build.gradle index a5f66e1db95..5c208936700 100644 --- a/playground/android/build.gradle +++ b/playground/android/build.gradle @@ -5,8 +5,8 @@ buildscript { kotlinVersion = "1.5.31" RNNKotlinVersion = kotlinVersion detoxKotlinVersion = kotlinVersion - compileSdkVersion = 31 - buildToolsVersion = "30.0.2" + compileSdkVersion = 33 + buildToolsVersion = "31.0.0" minSdkVersion = 21 targetSdkVersion = 31 }