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

Update build + support Android 14 #4067

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

Conversation

cyb3rko
Copy link

@cyb3rko cyb3rko commented Mar 1, 2024

Here's a PR to update the whole build config.
Furthermore it bumps the app to sdk level 34 and adds Android 14 support.

Besides gradle updates, here are the 10 points of the Android SDK Upgrade Assistant and what I think about their current status:

  1. Reminder: Schedule exact alarms are denied by default
    As the app is not using SCHEDULE_EXACT_ALARM, not relevant
  2. Foreground service types are required
    The VpnService requires a service type, otherwise the app crashes. I chose systemExcepted as described here: https://developer.android.com/about/versions/14/changes/fgs-types-required
    I don't think the AdBlockingTileService does not a service type, because it's not a foreground service.
  3. OpenJDK 17 updates
    "Android 14 continues the work of refreshing Android's core libraries to align with the features in the latest OpenJDK LTS releases, including both library updates and Java 17 language support for app and platform developers. A few of these changes can affect app compatibility."
  4. OpenJDK 17 updates: Changes to regular expressions
    It seems java.util.regex.Matcher is used in some tests, could break the tests. Let's just let them run, right?
  5. OpenJDK 17 updates: ProGuard issues
    "In some cases, the addition of the java.lang.ClassValue class causes an issue if you try to shrink, obfuscate, and optimize your app using ProGuard. If your app was developed against an older version of the runtime without the java.lang.ClassValue class available, then these optimizations might remove the computeValue method from classes derived from java.lang.ClassValue."
    Just assuming it's not an issue
  6. Restrictions to implicit and pending intents
    No implicit intents used, no mutable pending intents used
  7. Runtime-registered broadcasts receivers must specify export behaviour
    Added
  8. Safer dynamic code loading
    No Dynamic Code Loading (DCL) used
  9. Additional restrictions on starting activities from the background
    Not sure, if AdAway launches intents from a background activity
  10. Grant partial access to photos and videos
    No photos or videos are requested from the user

What do you think?
And should we directly update dependencies or do that in a separate step?

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.

None yet

1 participant