fix(android): Allow loading local files #883
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Platforms affected
Android
Motivation and Context
This PR allows opening local files in the inappbrowser for Android applications targeting SDK 30 or later. The use-case for this is the same as #693, but applicable to Android instead of iOS.
Description
Starting with SDK 30, the default value for the
allowFileAccess
setting changed in Android (as specified in the documentation). It wastrue
before and it'sfalse
now, meaning that this can potentially break existing applications.This problem is something that has already been tackled in cordova core (Initially in apache/cordova-android#1111, later updated in apache/cordova-android#1222). So I just followed the same strategy and this setting is only updated if the
AndroidInsecureFileModeEnabled
preference is set totrue
.Testing
I've tested the fix in my application. Given that the code is quite simple and it's already in cordova core, I don't think it needs any further testing.
Checklist
(platform)
if this change only applies to one platform (e.g.(android)
)