zulip / zulip-mobile

Zulip mobile apps for Android and iOS.
https://zulip.com/apps/
Apache License 2.0
1.3k stars 656 forks source link

Target Android 12 (set targetSdkVersion to 31), by 2022-11 deadline #5101

Closed gnprice closed 2 years ago

gnprice commented 3 years ago

This is the successor to #4284 (and #3665 and #3563 and #3075). We should update our targetSdkVersion to 31, meaning Android 12.

Based on the last few years' experience, Google Play will probably set a deadline for this of late 2022. It's been the first business day of November in each of the last few years.

The important steps for this upgrade are:

  1. Read about the potentially-breaking changes, and identify those that might affect us.
  2. Make a WIP change to targetSdkVersion.
  3. Test the WIP change thoroughly, especially in the areas highlighted in step 1. Fix things as needed, and repeat.

We aren't aware of any blockers to this, so we can try doing it any time. It'd be nice to do it well before the deadline -- or at least to go far enough to learn about any unknown blockers.

gnprice commented 3 years ago

Well, here's one blocking issue: https://developer.android.com/about/versions/12/behavior-changes-12#notification-trampolines We'll need to replace our NotificationIntentService, which we use when you tap a notification to open it, with directly opening an Activity. (We learned about this from a lint warning in Android Studio: https://github.com/zulip/zulip-mobile/pull/5121#discussion_r747107709)

chrisbobbe commented 2 years ago

A few items stand out in the list of breaking changes. Blank checkboxes are things we need to fix before targeting Android 12.