Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Not for merge] Android 4 compatibility #1107

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
Draft

Conversation

di72nn
Copy link
Member

@di72nn di72nn commented Dec 1, 2020

Notice: minimum Android version requirement is not going to be lowered from Android 5 in the official app, but this branch can be built and used by those who need it.

I wanted to know which things are compatible with Android 4 and how hard it is to maintain compatibility.
Not worth it. So the remaining legacy version checks should be removed from master.

Tested on Android 4.0.3 emulator (API 15).

There's a security issue with JavaScript having access to any Java methods (not only specifically annotated to work with JS) on the injected into WebView objects on Android <4.2.

WebView: window.getSelection() seems to not work (maybe an emulator issue, though). Maybe workarounds are possible, haven't checked it. As a result:

  • "Add tag" from selection doesn't work.
  • Annotation creation doesn't work. Displaying, editing and deleting annotations works (to my surprise).

Full-text-search is enabled only since Android 4.1. Android 4.0 uses the old title-based search.

TTS: parsing seems to work, didn't check the work with TTS engines. Guaranteed degraded fast-forward/rewind functionality on Android <4.0.3.

This branch is updated with force-pushes. Backups of the previous versions: 2.4.2.

@di72nn di72nn force-pushed the android_4_compatibility branch 2 times, most recently from d8fda66 to 6fe5338 Compare December 7, 2020 13:07
@di72nn
Copy link
Member Author

di72nn commented Dec 7, 2020

Rebased on the latest release.

Linter fails and suggests to add android.defaultConfig.vectorDrawables.useSupportLibrary = true which satisfies it, but makes the app crash at runtime on Android 4.
As a result, ./gradlew build fails, but ./gradlew assemble assembles APKs (without performing checks) just fine.

@tristan-k
Copy link

I'm really looking forward to Android 4 compatibility because the Tolino Shine 3 only runs on Android 4.4.2.

@di72nn di72nn changed the title Android 4 compatibility [Not for merge] Android 4 compatibility Dec 28, 2020
@di72nn
Copy link
Member Author

di72nn commented Dec 28, 2020

@tristan-k there's nothing to look forward to - this PR is not going to be merged. You can build the app from this branch yourself - just use gradle assemble.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants