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

Fix #4470, #4472, #4473 : Handle configuration change using onSavedInstance. #5478

Merged
merged 25 commits into from
Aug 26, 2024

Conversation

Vishwajith-Shettigar
Copy link
Collaborator

@Vishwajith-Shettigar Vishwajith-Shettigar commented Aug 7, 2024

Explanation

Fixes #4470, Fixes #4472, Fixes #4473.

This PR enables the retention of input when the device configuration changes using onSavedInstance.

List of interactions covered in this PR:

  1. Image Region selection interaction.
  2. Drag and Drop interaction

| Drag and Drop |

draganddrop.mp4

| Image Region |

imageregion.mp4

Rest are covered in this PR #5458

Essential Checklist

  • The PR title and explanation each start with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".)
  • Any changes to scripts/assets files have their rationale included in the PR explanation.
  • The PR follows the style guide.
  • The PR does not contain any unnecessary code changes from Android Studio (reference).
  • The PR is made from a branch that's not called "develop" and is up-to-date with "develop".
  • The PR is assigned to the appropriate reviewers (reference).

For UI-specific PRs only

If your PR includes UI-related changes, then:

  • Add screenshots for portrait/landscape for both a tablet & phone of the before & after UI changes
  • For the screenshots above, include both English and pseudo-localized (RTL) screenshots (see RTL guide)
  • Add a video showing the full UX flow with a screen reader enabled (see accessibility guide)
  • For PRs introducing new UI elements or color changes, both light and dark mode screenshots must be included
  • Add a screenshot demonstrating that you ran affected Espresso tests locally & that they're passing

@Vishwajith-Shettigar
Copy link
Collaborator Author

@adhiamboperes, could you please give this a green light for writing tests? Let me know if there are any concerns or suggestions for improvement.

Copy link

APK & AAB differences analysis

Note that this is a summarized snapshot. See the CI artifacts for detailed differences.

Dev

Expand to see flavor specifics

Universal APK

APK file size: 19 MiB (old), 19 MiB (new), 4584 bytes (Removed)

APK download size (estimated): 17 MiB (old), 17 MiB (new), 2834 bytes (Removed)

Method count: 259155 (old), 259252 (new), 97 (Added)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 6806 (old), 6788 (new), 18 (Removed)

  • Anim: 43 (old), 43 (new), 0 (No change)
  • Animator: 26 (old), 26 (new), 0 (No change)
  • Array: 15 (old), 15 (new), 0 (No change)
  • Attr: 922 (old), 922 (new), 0 (No change)
  • Bool: 9 (old), 9 (new), 0 (No change)
  • Color: 967 (old), 954 (new), 13 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 14 others
  • Dimen: 1048 (old), 1043 (new), 5 (Removed):
    • dimen/classrooms_card_collapsed_height (removed)
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • And 2 others
  • Drawable: 378 (old), 378 (new), 0 (No change)
  • Id: 1271 (old), 1271 (new), 0 (No change)
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 378 (old), 378 (new), 0 (No change)
  • Menu: 3 (old), 3 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • Raw: 2 (old), 2 (new), 0 (No change)
  • String: 848 (old), 848 (new), 0 (No change)
  • Style: 831 (old), 831 (new), 0 (No change)
  • Xml: 6 (old), 6 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 18 MiB (old), 18 MiB (new), 4420 bytes (Removed)
APK download size (estimated): 17 MiB (old), 17 MiB (new), 1985 bytes (Removed)
Method count: 259155 (old), 259252 (new), 97 (Added)
Resources: 6756 (old), 6738 (new), 18 (Removed)

  • Color: 967 (old), 954 (new), 13 (Removed)
  • Dimen: 1044 (old), 1039 (new), 5 (Removed)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 14 bytes (Removed)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 100 bytes (Removed)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 5 bytes (Removed)

Configuration mdpi

APK file size: 45 KiB (old), 45 KiB (new), 80 bytes (Removed)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 4 bytes (Removed)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 140 bytes (Removed)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 6 bytes (Removed)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 100 bytes (Removed)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 8 bytes (Removed)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 80 bytes (Removed)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 3 bytes (Removed)

Configuration xxxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 80 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 6 bytes (Removed)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 43 KiB (Removed)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 39 KiB (Removed)

Method count: 115689 (old), 115164 (new), 525 (Removed)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 5774 (old), 5758 (new), 16 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 820 (old), 806 (new), 14 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 13 others
  • Dimen: 780 (old), 778 (new), 2 (Removed):
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • dimen/classrooms_card_padding_vertical (removed)
    • And 3 others
  • Drawable: 340 (old), 340 (new), 0 (No change)
  • Id: 1217 (old), 1217 (new), 0 (No change)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 341 (old), 341 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 781 (old), 781 (new), 0 (No change)
  • Style: 472 (old), 472 (new), 0 (No change)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 11 MiB (old), 10 MiB (new), 43 KiB (Removed)
APK download size (estimated): 10 MiB (old), 9 MiB (new), 38 KiB (Removed)
Method count: 115689 (old), 115164 (new), 525 (Removed)
Resources: 5731 (old), 5715 (new), 16 (Removed)

  • Color: 820 (old), 806 (new), 14 (Removed)
  • Dimen: 778 (old), 776 (new), 2 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 60 bytes (Removed)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 8 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 100 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 12 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 60 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 7 bytes (Removed)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 100 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 12 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 7 bytes (Removed)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Beta

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 43 KiB (Removed)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 34 KiB (Removed)

Method count: 115695 (old), 115160 (new), 535 (Removed)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 5774 (old), 5758 (new), 16 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 820 (old), 806 (new), 14 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 13 others
  • Dimen: 780 (old), 778 (new), 2 (Removed):
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • dimen/classrooms_card_padding_vertical (removed)
    • And 3 others
  • Drawable: 340 (old), 340 (new), 0 (No change)
  • Id: 1217 (old), 1217 (new), 0 (No change)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 341 (old), 341 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 781 (old), 781 (new), 0 (No change)
  • Style: 472 (old), 472 (new), 0 (No change)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 10 MiB (old), 10 MiB (new), 43 KiB (Removed)
APK download size (estimated): 9 MiB (old), 9 MiB (new), 36 KiB (Removed)
Method count: 115695 (old), 115160 (new), 535 (Removed)
Resources: 5731 (old), 5715 (new), 16 (Removed)

  • Color: 820 (old), 806 (new), 14 (Removed)
  • Dimen: 778 (old), 776 (new), 2 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 60 bytes (Removed)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 7 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 100 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 12 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 60 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 9 bytes (Removed)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 100 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 11 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 7 bytes (Removed)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Ga

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 44 KiB (Removed)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 33 KiB (Removed)

Method count: 115695 (old), 115160 (new), 535 (Removed)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 5774 (old), 5758 (new), 16 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 820 (old), 806 (new), 14 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 13 others
  • Dimen: 780 (old), 778 (new), 2 (Removed):
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • dimen/classrooms_card_padding_vertical (removed)
    • And 3 others
  • Drawable: 340 (old), 340 (new), 0 (No change)
  • Id: 1217 (old), 1217 (new), 0 (No change)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 341 (old), 341 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 781 (old), 781 (new), 0 (No change)
  • Style: 472 (old), 472 (new), 0 (No change)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 10 MiB (old), 10 MiB (new), 43 KiB (Removed)
APK download size (estimated): 9 MiB (old), 9 MiB (new), 37 KiB (Removed)
Method count: 115695 (old), 115160 (new), 535 (Removed)
Resources: 5731 (old), 5715 (new), 16 (Removed)

  • Color: 820 (old), 806 (new), 14 (Removed)
  • Dimen: 778 (old), 776 (new), 2 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 60 bytes (Removed)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 9 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 100 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 12 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 60 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 6 bytes (Removed)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 100 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 13 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 7 bytes (Removed)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

@adhiamboperes
Copy link
Collaborator

@Vishwajith-Shettigar, I think it's good to go. We have already established the prefered solution, so feel free to complete the PR.

@Vishwajith-Shettigar
Copy link
Collaborator Author

@adhiamboperes, In image region selection interaction, when we select any default region in portrait mode and store coordinates in saved instances, and then rotate the device (landscape), we can't actually show the exact point of the default region selection mark, because the view size would be different in portrait and landscape mode, leading to the selection mark going anywhere. For more context i have attached screen recording.

WhatsApp.Video.2024-08-12.at.4.32.38.PM.mp4

A solution would be:
Either We can just ignore the default region selection retention since it is not very important.
Or we need to find a way to map portrait mode coordinates with the landscape view and landscape mode coordinates with portrait view.

Copy link

APK & AAB differences analysis

Note that this is a summarized snapshot. See the CI artifacts for detailed differences.

Dev

Expand to see flavor specifics

Universal APK

APK file size: 19 MiB (old), 19 MiB (new), 4660 bytes (Removed)

APK download size (estimated): 17 MiB (old), 17 MiB (new), 2621 bytes (Removed)

Method count: 259155 (old), 259252 (new), 97 (Added)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 6806 (old), 6788 (new), 18 (Removed)

  • Anim: 43 (old), 43 (new), 0 (No change)
  • Animator: 26 (old), 26 (new), 0 (No change)
  • Array: 15 (old), 15 (new), 0 (No change)
  • Attr: 922 (old), 922 (new), 0 (No change)
  • Bool: 9 (old), 9 (new), 0 (No change)
  • Color: 967 (old), 954 (new), 13 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 14 others
  • Dimen: 1048 (old), 1043 (new), 5 (Removed):
    • dimen/classrooms_card_collapsed_height (removed)
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • And 2 others
  • Drawable: 378 (old), 378 (new), 0 (No change)
  • Id: 1271 (old), 1271 (new), 0 (No change)
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 378 (old), 378 (new), 0 (No change)
  • Menu: 3 (old), 3 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • Raw: 2 (old), 2 (new), 0 (No change)
  • String: 848 (old), 848 (new), 0 (No change)
  • Style: 831 (old), 831 (new), 0 (No change)
  • Xml: 6 (old), 6 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 18 MiB (old), 18 MiB (new), 4500 bytes (Removed)
APK download size (estimated): 17 MiB (old), 17 MiB (new), 1762 bytes (Removed)
Method count: 259155 (old), 259252 (new), 97 (Added)
Resources: 6756 (old), 6738 (new), 18 (Removed)

  • Color: 967 (old), 954 (new), 13 (Removed)
  • Dimen: 1044 (old), 1039 (new), 5 (Removed)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 14 bytes (Removed)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 100 bytes (Removed)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 5 bytes (Removed)

Configuration mdpi

APK file size: 45 KiB (old), 45 KiB (new), 80 bytes (Removed)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 4 bytes (Removed)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 140 bytes (Removed)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 6 bytes (Removed)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 100 bytes (Removed)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 8 bytes (Removed)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 80 bytes (Removed)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 3 bytes (Removed)

Configuration xxxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 80 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 6 bytes (Removed)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 43 KiB (Removed)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 40 KiB (Removed)

Method count: 115689 (old), 115164 (new), 525 (Removed)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 5774 (old), 5758 (new), 16 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 820 (old), 806 (new), 14 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 13 others
  • Dimen: 780 (old), 778 (new), 2 (Removed):
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • dimen/classrooms_card_padding_vertical (removed)
    • And 3 others
  • Drawable: 340 (old), 340 (new), 0 (No change)
  • Id: 1217 (old), 1217 (new), 0 (No change)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 341 (old), 341 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 781 (old), 781 (new), 0 (No change)
  • Style: 472 (old), 472 (new), 0 (No change)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 11 MiB (old), 10 MiB (new), 43 KiB (Removed)
APK download size (estimated): 10 MiB (old), 9 MiB (new), 40 KiB (Removed)
Method count: 115689 (old), 115164 (new), 525 (Removed)
Resources: 5731 (old), 5715 (new), 16 (Removed)

  • Color: 820 (old), 806 (new), 14 (Removed)
  • Dimen: 778 (old), 776 (new), 2 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 60 bytes (Removed)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 8 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 100 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 12 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 60 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 7 bytes (Removed)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 100 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 12 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 7 bytes (Removed)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Beta

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 43 KiB (Removed)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 34 KiB (Removed)

Method count: 115695 (old), 115160 (new), 535 (Removed)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 5774 (old), 5758 (new), 16 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 820 (old), 806 (new), 14 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 13 others
  • Dimen: 780 (old), 778 (new), 2 (Removed):
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • dimen/classrooms_card_padding_vertical (removed)
    • And 3 others
  • Drawable: 340 (old), 340 (new), 0 (No change)
  • Id: 1217 (old), 1217 (new), 0 (No change)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 341 (old), 341 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 781 (old), 781 (new), 0 (No change)
  • Style: 472 (old), 472 (new), 0 (No change)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 10 MiB (old), 10 MiB (new), 43 KiB (Removed)
APK download size (estimated): 9 MiB (old), 9 MiB (new), 35 KiB (Removed)
Method count: 115695 (old), 115160 (new), 535 (Removed)
Resources: 5731 (old), 5715 (new), 16 (Removed)

  • Color: 820 (old), 806 (new), 14 (Removed)
  • Dimen: 778 (old), 776 (new), 2 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 60 bytes (Removed)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 7 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 100 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 12 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 60 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 9 bytes (Removed)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 100 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 11 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 7 bytes (Removed)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

Ga

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 43 KiB (Removed)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 34 KiB (Removed)

Method count: 115695 (old), 115160 (new), 535 (Removed)

Features: 2 (old), 2 (new), 0 (No change)

Permissions: 6 (old), 6 (new), 0 (No change)

Resources: 5774 (old), 5758 (new), 16 (Removed)

  • Anim: 33 (old), 33 (new), 0 (No change)
  • Animator: 24 (old), 24 (new), 0 (No change)
  • Array: 14 (old), 14 (new), 0 (No change)
  • Attr: 888 (old), 888 (new), 0 (No change)
  • Bool: 8 (old), 8 (new), 0 (No change)
  • Color: 820 (old), 806 (new), 14 (Removed):
    • color/color_def_greenish_black_1 (removed)
    • color/color_def_greenish_black_2 (removed)
    • color/color_def_greenish_black_3 (removed)
    • color/color_def_pale_green_1 (removed)
    • color/color_def_pale_green_2 (removed)
    • And 13 others
  • Dimen: 780 (old), 778 (new), 2 (Removed):
    • dimen/classrooms_card_collapsed_padding_vertical (removed)
    • dimen/classrooms_card_margin_end (removed)
    • dimen/classrooms_card_margin_start (removed)
    • dimen/classrooms_card_padding_horizontal (removed)
    • dimen/classrooms_card_padding_vertical (removed)
    • And 3 others
  • Drawable: 340 (old), 340 (new), 0 (No change)
  • Id: 1217 (old), 1217 (new), 0 (No change)
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 341 (old), 341 (new), 0 (No change)
  • Menu: 1 (old), 1 (new), 0 (No change)
  • Mipmap: 1 (old), 1 (new), 0 (No change)
  • Plurals: 10 (old), 10 (new), 0 (No change)
  • String: 781 (old), 781 (new), 0 (No change)
  • Style: 472 (old), 472 (new), 0 (No change)
  • Xml: 1 (old), 1 (new), 0 (No change)

Lesson assets: 111 (old), 111 (new), 0 (No change)

AAB differences

Expand to see AAB specifics

Supported configurations:

  • hdpi (same)
  • ldpi (same)
  • mdpi (same)
  • tvdpi (same)
  • xhdpi (same)
  • xxhdpi (same)
  • xxxhdpi (same)

Base APK

APK file size: 10 MiB (old), 10 MiB (new), 43 KiB (Removed)
APK download size (estimated): 9 MiB (old), 9 MiB (new), 37 KiB (Removed)
Method count: 115695 (old), 115160 (new), 535 (Removed)
Resources: 5731 (old), 5715 (new), 16 (Removed)

  • Color: 820 (old), 806 (new), 14 (Removed)
  • Dimen: 778 (old), 776 (new), 2 (Removed)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 60 bytes (Removed)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 9 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 100 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 12 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 60 bytes (Removed)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 6 bytes (Removed)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 100 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 13 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 80 bytes (Removed)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 7 bytes (Removed)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 60 bytes (Removed)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 0 bytes (No change)

@Vishwajith-Shettigar Vishwajith-Shettigar changed the title Fix part of #4470: : Handle configuration change using onSavedInstance. Fix #4470: : Handle configuration change using onSavedInstance. Aug 13, 2024
@Vishwajith-Shettigar Vishwajith-Shettigar changed the title Fix #4470: : Handle configuration change using onSavedInstance. Fix #4470, #4472, #4473 : Handle configuration change using onSavedInstance. Aug 13, 2024
@adhiamboperes
Copy link
Collaborator

@Vishwajith-Shettigar, it sounds like a lot of engineering effort to map image selection cordinates on config change, that seems a bit out of scope for this issue. Besides, I tried testing with other popular apps(google apps, social media apps) to see how they handle such scenarios, and I found that they prefer to lock orientation as a workaround. So in our case, it is safe to not save the selection.

@Vishwajith-Shettigar
Copy link
Collaborator Author

Thanks @adhiamboperes.

@Vishwajith-Shettigar
Copy link
Collaborator Author

@adhiamboperes, PTAL.

Copy link

Coverage Report

Results

Number of files assessed: 6
Overall Coverage: 0.00%
Coverage Analysis: PASS

Exempted coverage

Files exempted from coverage
File Exemption Reason
RegionClickEvent.ktapp/src/main/java/org/oppia/android/app/utility/RegionClickEvent.kt
This file is exempted from having a test file; skipping coverage check.
ClickableAreasImage.ktapp/src/main/java/org/oppia/android/app/utility/ClickableAreasImage.kt
This file is exempted from having a test file; skipping coverage check.
ImageRegionSelectionInteractionView.ktapp/src/main/java/org/oppia/android/app/player/state/ImageRegionSelectionInteractionView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
DragAndDropSortInteractionViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/DragAndDropSortInteractionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ImageRegionSelectionInteractionViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/ImageRegionSelectionInteractionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
StateFragment.ktapp/src/main/java/org/oppia/android/app/player/state/StateFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

To learn more, visit the Oppia Android Code Coverage wiki page

Copy link
Collaborator

@adhiamboperes adhiamboperes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @Vishwajith-Shettigar!

@adhiamboperes adhiamboperes merged commit 3b7ddb9 into oppia:develop Aug 26, 2024
47 checks passed
Copy link

Coverage Report

Results

Number of files assessed: 6
Overall Coverage: 0.00%
Coverage Analysis: PASS

Exempted coverage

Files exempted from coverage
File Exemption Reason
RegionClickEvent.ktapp/src/main/java/org/oppia/android/app/utility/RegionClickEvent.kt
This file is exempted from having a test file; skipping coverage check.
ClickableAreasImage.ktapp/src/main/java/org/oppia/android/app/utility/ClickableAreasImage.kt
This file is exempted from having a test file; skipping coverage check.
ImageRegionSelectionInteractionView.ktapp/src/main/java/org/oppia/android/app/player/state/ImageRegionSelectionInteractionView.kt
This file is incompatible with code coverage tooling; skipping coverage check.
DragAndDropSortInteractionViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/DragAndDropSortInteractionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ImageRegionSelectionInteractionViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/ImageRegionSelectionInteractionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
StateFragment.ktapp/src/main/java/org/oppia/android/app/player/state/StateFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

To learn more, visit the Oppia Android Code Coverage wiki page

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