[sword-devel] New shared common SWORD path on Android

Tobias Klein contact at tklein.info
Sun Oct 29 04:16:10 EDT 2023


Hi Timothy,

yes, that's the user perspective and it is clear.

What makes it complicated in my case is the following.

Ezra Bible App on Android is a Cordova app. When it comes to 
permissions, etc. I depend on Cordova Plugins.

The one that I had been using is this:
https://www.npmjs.com/package/cordova-plugin-android-permissions

I believe that is the one that Troy is using, too.

When I tried last I couldn't get it to work with Android 11/12 and I 
have not tried Android 13 yet. In general, the plugin authors seem to be 
dealing with a long list of issues:
https://github.com/NeoLSN/cordova-plugin-android-permissions/issues

Now, I could put in the effort to fix that plugin or create my own. But 
that would add another technology/programming language to the list of 
technologies/programming languages I need to keep myself familiar with 
and where I would need to maintain it for future Android changes ... and 
that's currently too much. In case of Ezra Bible App, I already need to 
deal with peculiarities of Windows and macOS ... aside from the Cordova 
platform and I am supporting two different "development contexts" (C++ 
for SWORD, JavaScript for the app).

At some point I checked whether the "scoped storage" could be handled 
from C/C++ side, but I didn't find any easy enough entry points.

So, unless the Cordova world evolves further (including the respective 
plugins) ... it's going to be difficult with shared storage in Ezra 
starting from Android 11.
Maybe Troy has more luck and comes up with a reproducible approach ... I 
am open to learn and discuss!

Best regards,
Tobias


On 10/29/23 4:44 AM, Timothy Allen wrote:
> On 29/10/23 05:50, Tobias Klein wrote:
>> If you happen to figure out a reliable solution for >= 11 and the new 
>> Scoped Storage model, I'd be happy to learn.
>>
>> For >= 11 I am thinking about introducing a Cloud sync feature for 
>> the sword directory. This could then work with Dropbox and maybe also 
>> OneDrive.
>>
> As an Android user, my understanding is that apps can ask the user for 
> a a shared directory to store their stuff in[1] and then read and 
> write arbitrary files within that directory. If this option were 
> available, I could point any SWORD apps to the same directory, and 
> they would share modules. Personally, I would point apps to a 
> subdirectory of my SyncThing directory, taking care of the cloud-sync 
> problem too.
>
>
> Timothy
>
> [1]: 
> https://developer.android.com/training/data-storage/shared/documents-files#grant-access-directory
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page


More information about the sword-devel mailing list