Android: Update minSdk to API level 28#8485
Open
karlenDimla wants to merge 4 commits into
Open
Conversation
anikiki
reviewed
May 7, 2026
| @Test | ||
| fun whenOnNotifyMeButtonClickedOnAndroid8ThenOpenSettingsOnAndroid8PlusCommandIsSent() = runTest { | ||
| whenever(mockAppBuildConfig.sdkInt).thenReturn(Build.VERSION_CODES.O) | ||
| fun whenOnNotifyMeButtonClickedOnAndroid9ThenOpenSettingsOnAndroid8PlusCommandIsSent() = runTest { |
Contributor
There was a problem hiding this comment.
Rename whenOnNotifyMeButtonClickedOnAndroid9ThenOpenSettingsOnAndroid8PlusCommandIsSent to whenOnNotifyMeButtonClickedOnAndroid9ThenOpenSettingsOnAndroid9PlusCommandIsSent
anikiki
reviewed
May 7, 2026
| @Test | ||
| fun whenHandleRequestPermissionRationaleOnAndroid8WithShouldShowRationaleFalseThenOpenSettingsOnAndroid8PlusCommandIsSent() = runTest { | ||
| whenever(mockAppBuildConfig.sdkInt).thenReturn(Build.VERSION_CODES.O) | ||
| fun whenHandleRequestPermissionRationaleOnAndroid9WithShouldShowRationaleFalseThenOpenSettingsOnAndroid8PlusCommandIsSent() = runTest { |
Contributor
There was a problem hiding this comment.
Rename whenHandleRequestPermissionRationaleOnAndroid9WithShouldShowRationaleFalseThenOpenSettingsOnAndroid8PlusCommandIsSent to whenHandleRequestPermissionRationaleOnAndroid9WithShouldShowRationaleFalseThenOpenSettingsOnAndroid9PlusCommandIsSent
anikiki
reviewed
May 7, 2026
| @Test | ||
| @UserJourney | ||
| @FlakyTest | ||
| @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O, maxSdkVersion = Build.VERSION_CODES.P) |
Contributor
There was a problem hiding this comment.
Would this test work on OS > P? (it's also marked as FlakyTest).
Maybe keep @SdkSuppress(maxSdkVersion = Build.VERSION_CODES.P)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Task/Issue URL: https://app.asana.com/1/137249556945/project/414730916066338/task/1211797465357970?focus=true
Description
Steps to test this PR
Feature 1
UI changes
Note
Medium Risk
Medium risk because it drops support for Android 8.x and removes multiple version-gated code paths (UI shadows, process detection, package signature parsing, clipboard behavior) which could alter runtime behavior on the remaining supported devices.
Overview
Bumps Android
minSdkfrom 26 to 28 (docs + rootbuild.gradle) and updates manifest commentary accordingly.Removes pre-API-28 compatibility code and SDK checks across the app: shadow helpers (
addBottomShadow) and callers are now unconditional,MultiProcessApplicationrelies onProcess.isIsolated()/Application.getProcessName(), clipboard image injection always clears the primary clip, and various UI/system flows simplify version branching.Updates/cleans tests to align with the new floor (adjusts
@SdkSuppressranges, removes API-26/27-only cases, and updates expectations), and simplifies autofill/verified-installation signing certificate logic by deleting legacy signature paths and removingAppBuildConfigplumbing where it was only used for SDK gating.Reviewed by Cursor Bugbot for commit b9bc989. Bugbot is set up for automated code reviews on this repo. Configure here.