- Fixes https://github.com/apache/cordova-android/issues/1388
- `CordovaInterfaceImpl` called the deprecated method `CordovaPlugin.onRequestPermissionResult` but not the new one. Now the one will also be called.
- Renamed `CordovaInterfaceImpl.onRequestPermissionResult` to `CordovaInterfaceImpl.onRequestPermissionsResult` to reflect the new method name
- The `PermissionHelper` was for cordova-android versions pre 5.0.0. Since cordova-anroid 5.0.0 the relevant permission methods can be called directly on `CordovaInterface`.
- The method deliverPermissionResult is private and nowhere used. Because it's private, it cannot be called from outside and cannot be overwritten and is safe to remove.
- Remove the limitation for Android version <15 when preference AndroidEdgeToEdge is true.
- The motivation and context was described here: apache/cordova-discuss#114
- When having cordova android in Edge To Edge the app does not extend to the full height of the device in version bellow Android 15. This change allows the app to behave the same way it was possible to do with the statusbar plugin preference StatusBarOverlaysWebView given that this stopped having any effect in cordova-android 15.
- When pressing the back button after the app starts nothing happens. When navigating to another page, the back button js event starts to fire.
- On Android versions, which support the back gesture, nothing happens
- This was due to the empty `OnBackPressedCallback.handleOnBackPressed` method, which has to forward its call to `cordova.getActivity().getOnBackPressedDispatcher().onBackPressed()`, but has to disable during this call the `backCallback`.
- Generated-By: GPT-5.4, GitHub Copilot Chat
- warning about back button override on the right
* chore: resolve methods `registerBackPressedCallback` and `unregisterBackPressedCallback``
- The code moved to inline code
- `CoreAndroid.java` referenced `OnBackInvokedCallback` directly (including lambda generation), which can trigger class resolution on runtimes older than API 33, where the class is not available. This was introduced in PR https://github.com/apache/cordova-android/pull/1831
- Replaced `OnBackInvokedCallback` with AndroidX `OnBackPressedCallback`
- Fixes error message: `java.lang.Class<org.apache.cordova.CoreAndroid$$ExternalSyntheticLambda0>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/window/OnBackInvokedCallback;` on older Android versions
---------
Generated-By: GPT-5.3-Codex, GitHub Copilot Chat
Co-authored-by: Norman Breau <norman@breautek.com>
Ensures that when in edge to edge or fullscreen modes the values for
margin left and right are 0
Co-authored-by: Kepa Totorica <kepa.baum.totorica@outsystems.com>
* feat: support previous non-e2e (add FrameLayout wrapper)
* feat: implement internal SystemBar plugin
* feat: implement StatusBar plugin JS API (SystemBarPlugin)
* feat!: force custom statusbarView for all SDKs
* chore: various cleanup, refactors, fixes, and docs from recent changes
* feat: use getComputedStyle for setBackgroundColor
* chore: suppress deprecation warnings for method using setNavigationBarColor
* chore: return null when rootView is null
* fix: setOnApplyWindowInsetsListener to return insets
* fix: setting appearance when e2e is enabled
* fix: set statusBarColor to transparent, use new statusBar UI
When building a plain Android Cordova app without plugins, there will be Gradle depraction warnings: `Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.`. Compiling it with `--warning-mode all` shows, that some properties are assigned without an `=`, which will not be supported any longer with Gradle 10.0.
* feat!: Upgrade to Gradle and AGP 8
* java 17
* feat!: API 34 Support
API 34: Upgrade AGP from 8.2.0-rc01 to 8.2.0-rc02
API 34: Upgrade AGP from 8.2.0-rc02 to 8.2.0-rc03
API 34: Upgrade AGP from 8.2.0-rc03 to 8.2.0
feat: add AndroidKotlinJVMTarget preference to set the kotlin JVM target
This is in addition to the java source / target compatibility preferences.
AndroidKotlinJVMTarget is only affective if Kotlin is enabled.
chore: Upgrade Gradle from 8.4 to 8.5
AGP 8.2.0 -> 8.2.1
Gradle 8.5 -> 8.7
fix: Add --validate-url to gradle wrapper commands
AGP 8.4.0
* fix(test): ProjectBuilder using Gradle 8.3, no longer supported version
* API 34: Change Kotlin JVM Target default.
The new default value is null. When null, it will by default
to the Java Target compatibility. Updating AndroidJavaTargetCompatibility
will also influence the Kotlin JVM target, unless if AndroidKotlinJVMTarget
is also explicitly defined.
* removed leftover debug prints
* API 34: Gradle Wrapper
* API 34: ratignore generated gradle wrapper files
* fix gradle wrapper jar via git attributes
* fix(test): normalise gradle paths
* fix(windows): Gradle paths
* fix(windows): Keep CRLF endings for bat files
* chore: Updated license for Gradle Wrapper 8.7 pointer
* API 34 Support Gradle Tools project
* API 34: omit --validate-url on installing the wrapper
* revert: LICENSE notice on bundling the gradle wrapper jar
* Revert: AGP 8.4 -> 8.3
* test(ci): Added NodeJS 22 to the test matrix
---------
Co-authored-by: jcesarmobile <jcesarmobile@gmail.com>