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 #4072 and Fix Part of #4938: Revised profile chooser UI #5468

Open
wants to merge 420 commits into
base: develop
Choose a base branch
from

Conversation

adhiamboperes
Copy link
Collaborator

@adhiamboperes adhiamboperes commented Jul 25, 2024

Explanation

Fixes #4072.
The selected image uri created by com.miui.gallery app in Xiaomi devices has a different format from the android recommended uri, and is therefore not parsed correctly. Changing the name of the stored file, to be generated using a random UUID, fixes the issue. Please see #4072 (comment) for more information. There have been no tests added for this bugfix because of issues setting up ShadowContentResolver to work with ProfileManagementController.

Fixes Part of #4938: Creates the new Profile chooser UI.
The portrait mode layout is a grid layout recylerview, while landscape mode utilizes a custom recyclerview to create a carousel. This design choice is kind of inconsistent, but more intuitive for users in landscape mode. ProfileChooserFragmentPresenter handles the data binding and UI interactions for both layouts.

Care has been taken to ensure the existing profile behaviour e.g. random color selection and 10 profiles limit have been retained.

Additionally, a new ParentScreen enum has been created for the onboarding IntroActivity to control when to show the step count. Per PRD, the step count should not show for additional learners.

There have been minor bugfixes to ensure all the user pathways work as detailed in the TDD.

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

Phone

LTR RTL
Screenshot_1739971929 Screenshot_1740172190
Screenshot_1739971954 Screenshot_1740172286
Screenshot_1740176694 Screenshot_1740176834
Screenshot_1739972307 Screenshot_1740161079
Screenshot_1739972674 Screenshot_1740161000
Screenshot_1740160683 Screenshot_1739972780

Tablet

Portrait Landscape
Screenshot_1740179588 Screenshot_1740179297
Screenshot_1733945372 Screenshot_1733945392

…reen

# Conflicts:
#	app/src/sharedTest/java/org/oppia/android/app/onboarding/CreateProfileFragmentTest.kt
…le-domain-config

# Conflicts:
#	app/src/main/java/org/oppia/android/app/onboarding/IntroFragment.kt
# Conflicts:
#	scripts/assets/test_file_exemptions.textproto
Copy link

oppiabot bot commented Feb 6, 2025

Unassigning @adhiamboperes since a re-review was requested. @adhiamboperes, please make sure you have addressed all review comments. Thanks!

Copy link

github-actions bot commented Feb 6, 2025

Coverage Report

Results

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

Exempted coverage

Files exempted from coverage
File Exemption Reason
ProfileManagementController.ktdomain/src/main/java/org/oppia/android/domain/profile/ProfileManagementController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ViewComponentImpl.ktapp/src/main/java/org/oppia/android/app/view/ViewComponentImpl.kt
This file is exempted from having a test file; skipping coverage check.
ViewBindingShim.ktapp/src/main/java/org/oppia/android/app/shim/ViewBindingShim.kt
This file is exempted from having a test file; skipping coverage check.
ViewBindingShimImpl.ktapp/src/main/java/org/oppia/android/app/shim/ViewBindingShimImpl.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragment.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileClickListener.ktapp/src/main/java/org/oppia/android/app/profile/ProfileClickListener.kt
This file is exempted from having a test file; skipping coverage check.
ProfileListView.ktapp/src/main/java/org/oppia/android/app/profile/ProfileListView.kt
This file is exempted from having a test file; skipping coverage check.
ProfileItemViewModel.ktapp/src/main/java/org/oppia/android/app/profile/ProfileItemViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserViewModel.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragmentPresenterV1.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragmentPresenterV1.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
StartSnapHelper.ktapp/src/main/java/org/oppia/android/app/recyclerview/StartSnapHelper.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
IntroActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
TopicFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/TopicFragmentPresenter.kt
This file is exempted from having a test file; 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

github-actions bot commented Feb 8, 2025

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), 40 KiB (Added)

APK download size (estimated): 17 MiB (old), 17 MiB (new), 32 KiB (Added)

Method count: 260299 (old), 260600 (new), 301 (Added)

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

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

Resources: 6830 (old), 6882 (new), 52 (Added)

  • 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), 975 (new), 8 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/color_palette_profile_selection_profile_icon_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • And 3 others
  • Dimen: 1048 (old), 1071 (new), 23 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_activity_profile_icon_size (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • And 18 others
  • Drawable: 380 (old), 383 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1285 (old), 1296 (new), 11 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 6 others
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 380 (old), 382 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 853 (old), 858 (new), 5 (Added):
    • string/learn (removed)
    • string/study (removed)
    • string/lessons (added)
    • string/profile_selection_add_icon_description (added)
    • string/profile_selection_add_profile_text (added)
    • And 4 others
  • Style: 832 (old), 832 (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), 39 KiB (Added)
APK download size (estimated): 17 MiB (old), 17 MiB (new), 32 KiB (Added)
Method count: 260299 (old), 260600 (new), 301 (Added)
Resources: 6780 (old), 6832 (new), 52 (Added)

  • Color: 967 (old), 975 (new), 8 (Added)
  • Dimen: 1044 (old), 1067 (new), 23 (Added)
  • Drawable: 335 (old), 338 (new), 3 (Added)
  • Id: 1285 (old), 1296 (new), 11 (Added)
  • Layout: 380 (old), 382 (new), 2 (Added)
  • String: 853 (old), 858 (new), 5 (Added)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 36 bytes (Added)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 6 bytes (Added)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 45 KiB (old), 45 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 1 bytes (Added)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 60 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 36 bytes (Added)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 1 bytes (Removed)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 48 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 1 bytes (Added)

Configuration xxxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 60 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 0 bytes (No change)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 35 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 26 KiB (Added)

Method count: 115822 (old), 116011 (new), 189 (Added)

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

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

Resources: 5798 (old), 5841 (new), 43 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1242 (new), 11 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 6 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 786 (old), 789 (new), 3 (Added):
    • string/learn (removed)
    • string/study (removed)
    • string/lessons (added)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • And 2 others
  • Style: 473 (old), 473 (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), 11 MiB (new), 34 KiB (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 29 KiB (Added)
Method count: 115822 (old), 116011 (new), 189 (Added)
Resources: 5755 (old), 5798 (new), 43 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1242 (new), 11 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 786 (old), 789 (new), 3 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

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

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

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

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
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), 35 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 31 KiB (Added)

Method count: 115828 (old), 116017 (new), 189 (Added)

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

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

Resources: 5798 (old), 5841 (new), 43 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1242 (new), 11 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 6 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 786 (old), 789 (new), 3 (Added):
    • string/learn (removed)
    • string/study (removed)
    • string/lessons (added)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • And 2 others
  • Style: 473 (old), 473 (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), 11 MiB (new), 34 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 27 KiB (Added)
Method count: 115828 (old), 116017 (new), 189 (Added)
Resources: 5755 (old), 5798 (new), 43 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1242 (new), 11 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 786 (old), 789 (new), 3 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

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

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

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

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 0 bytes (No change)
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), 35 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 31 KiB (Added)

Method count: 115828 (old), 116017 (new), 189 (Added)

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

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

Resources: 5798 (old), 5841 (new), 43 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1242 (new), 11 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 6 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 786 (old), 789 (new), 3 (Added):
    • string/learn (removed)
    • string/study (removed)
    • string/lessons (added)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • And 2 others
  • Style: 473 (old), 473 (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), 11 MiB (new), 34 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 27 KiB (Added)
Method count: 115828 (old), 116017 (new), 189 (Added)
Resources: 5755 (old), 5798 (new), 43 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1242 (new), 11 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 786 (old), 789 (new), 3 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 0 bytes (No change)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

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

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 0 bytes (No change)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

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

Configuration xxxhdpi

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

Copy link
Member

@BenHenning BenHenning left a comment

Choose a reason for hiding this comment

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

@BenHenning, PTAL.

I have addressed all pending comments, and update the screenshots in the main PR body. I should be able to upload talkback video tomorrow -- currently facing some physical device issues.

Thanks @adhiamboperes! Took a pass on the new code and left some comments. Just to check, did you address all of my 3 points in the main review message above (quoted from 2 reviews ago)? I did a scan on the images changed in the main PR post, but they don't seem different in any noticeable way and it seems like the original concerns may still be present (minus perhaps Talkback but I don't yet see a video for that to review).


@Test
@Config(qualifiers = "land")
fun testFragment_enableOnboardingV2_rtl_checkRightArrowScrollBehaviourIscorrect() {
Copy link
Member

Choose a reason for hiding this comment

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

Are this & the one above actually verifying RTL? Only testFragment_enableOnboardingV2_rtl_checkListIsAlphabetical seems to be enabling RTL explicity.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I refactored this test to use the Arabic locale.


launch(ProfileChooserActivity::class.java).use {
it.onActivity { activity ->
activity.window.decorView.layoutDirection = ViewCompat.LAYOUT_DIRECTION_RTL
Copy link
Member

Choose a reason for hiding this comment

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

Does this actually cause the activity to relayout into RTL?

An alternative that might work is switching the language to Arabic since that should force RTL as well, I think.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I refactored tests to use the Arabic locale, thanks for the suggestion!


@Test
@Config(qualifiers = "land")
fun testFragment_enableOnboardingV2_rtl_checkLeftArrowScrollBehaviourIscorrect() {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
fun testFragment_enableOnboardingV2_rtl_checkLeftArrowScrollBehaviourIscorrect() {
fun testFragment_enableOnboardingV2_rtl_checkLeftArrowScrollBehaviourIsCorrect() {

Ditto above. Though perhaps we can be more specific than 'correct'?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I updated name to testFragment_enableOnboardingV2_rtl_checkLeftArrowScrollsListToTheRight, ditto for similar tests.

)
)

testCoroutineDispatchers.runCurrent()
Copy link
Member

Choose a reason for hiding this comment

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

Why is this needed? Can't the test just end?

Ditto below.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It is not required. I have removed it everywhere.

recyclerViewId = R.id.profiles_list_landscape,
position = 0,
targetViewId = R.id.profile_name_text,
itemMatcher = allOf(withText("Admin"), isDisplayed())
Copy link
Member

Choose a reason for hiding this comment

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

This doesn't technically verify that it's alphabetical, just that admin is first. Do we already verify elsewhere the whole list is populated correctly?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I have refactored the test to verify the position of all the created profiles.

@@ -100,7 +100,8 @@
android:layout_width="@dimen/profile_selection_fragment_icon_size"
android:layout_height="@dimen/profile_selection_fragment_icon_size"
android:layout_marginEnd="@dimen/profile_selection_fragment_add_profile_button_margin_end"
android:contentDescription="@string/profile_selection_profile_icon_description"
android:layout_marginBottom="@dimen/profile_selection_fragment_add_button_margin_bottom"
android:contentDescription="@string/profile_selection_profile_icon_description"
Copy link
Member

Choose a reason for hiding this comment

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

Nit: please remove extra indentation here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

* Used to retrieve the layout direction that should be used to mirror the direction of the
* list based on locale.
*/
@Inject lateinit var resourceHandler: AppLanguageResourceHandler
Copy link
Member

Choose a reason for hiding this comment

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

Since this class is a presenter, this can be injected directly via the class's constructor.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Refactored.

@@ -1225,7 +1226,7 @@ class ProfileManagementController @Inject constructor(
// TODO(#3616): Migrate to the proper SDK 29+ APIs.
@Suppress("DEPRECATION") // The code is correct for targeted versions of Android.
val bitmap = MediaStore.Images.Media.getBitmap(context.contentResolver, avatarImagePath)
val fileName = avatarImagePath.pathSegments.last()
val fileName = UUID.randomUUID().toString()
Copy link
Member

Choose a reason for hiding this comment

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

Are you able to document what you've tried and what hasn't worked in a new issue that we could file to track this? While I'm fine with postponing adding a test for this now, it will eventually become a requirement as we work in the long-term toward 100% code coverage. It'd be nice to capture your efforts so that they don't need to be redone in the future.

Comment on lines 173 to 174
val offset =
if (isLeft) scrollDistance - scrollableWidth else scrollableWidth - scrollDistance
Copy link
Member

Choose a reason for hiding this comment

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

Sorry, I don't think that quite answers my question. The video seems to start with the list of profiles scrolled in the middle, so it's unclear which side of the list the user begins on. Is it the right or left when in RTL?

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), 43 KiB (Added)

APK download size (estimated): 17 MiB (old), 17 MiB (new), 34 KiB (Added)

Method count: 260321 (old), 260615 (new), 294 (Added)

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

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

Resources: 6830 (old), 6887 (new), 57 (Added)

  • 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), 975 (new), 8 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/color_palette_profile_selection_profile_icon_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • And 3 others
  • Dimen: 1048 (old), 1071 (new), 23 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_activity_profile_icon_size (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • And 18 others
  • Drawable: 380 (old), 383 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1285 (old), 1297 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 380 (old), 382 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 853 (old), 858 (new), 5 (Added):
    • string/profile_selection_add_icon_description (added)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_admin_label (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 832 (old), 836 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 42 KiB (Added)
APK download size (estimated): 17 MiB (old), 17 MiB (new), 34 KiB (Added)
Method count: 260321 (old), 260615 (new), 294 (Added)
Resources: 6780 (old), 6837 (new), 57 (Added)

  • Color: 967 (old), 975 (new), 8 (Added)
  • Dimen: 1044 (old), 1067 (new), 23 (Added)
  • Drawable: 335 (old), 338 (new), 3 (Added)
  • Id: 1285 (old), 1297 (new), 12 (Added)
  • Layout: 380 (old), 382 (new), 2 (Added)
  • String: 853 (old), 858 (new), 5 (Added)
  • Style: 832 (old), 836 (new), 4 (Added)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 60 bytes (Added)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 5 bytes (Added)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 45 KiB (old), 45 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 1 bytes (Added)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 84 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 60 bytes (Added)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 1 bytes (Removed)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 72 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 7 bytes (Added)

Configuration xxxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 84 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Added)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 37 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 26 KiB (Added)

Method count: 115840 (old), 116029 (new), 189 (Added)

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

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

Resources: 5798 (old), 5846 (new), 48 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 786 (old), 789 (new), 3 (Added):
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 36 KiB (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 28 KiB (Added)
Method count: 115840 (old), 116029 (new), 189 (Added)
Resources: 5755 (old), 5803 (new), 48 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 786 (old), 789 (new), 3 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 1 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 4 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 1 bytes (Added)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
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), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 31 KiB (Added)

Method count: 115846 (old), 116035 (new), 189 (Added)

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

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

Resources: 5798 (old), 5846 (new), 48 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 786 (old), 789 (new), 3 (Added):
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 35 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 27 KiB (Added)
Method count: 115846 (old), 116035 (new), 189 (Added)
Resources: 5755 (old), 5803 (new), 48 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 786 (old), 789 (new), 3 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 1 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 2 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 2 bytes (Added)

Configuration xxhdpi

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

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 1 bytes (Added)

Ga

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 31 KiB (Added)

Method count: 115846 (old), 116035 (new), 189 (Added)

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

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

Resources: 5798 (old), 5846 (new), 48 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 786 (old), 789 (new), 3 (Added):
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 35 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 26 KiB (Added)
Method count: 115846 (old), 116035 (new), 189 (Added)
Resources: 5755 (old), 5803 (new), 48 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 786 (old), 789 (new), 3 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 1 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 3 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 1 bytes (Added)

Configuration xxhdpi

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

Configuration xxxhdpi

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

- adjust profile list header margin top.
- fix exit profile for the sole learner in classroom activity.
Admin profile exits back to PIN activity. Expected destination is the profile chooser. Fixed by finishing pin activity after login.
When a profile was deleted, the span count remained set to multiple profiles because of the use of the WasProfileEverAdded property. A single profile should always be center aligned.
Copy link

Coverage Report

Results

Number of files assessed: 52
Overall Coverage: 94.34%
Coverage Analysis: PASS

Passing coverage

Files with passing code coverage
File Coverage Lines Hit Status Min Required
MathParsingErrorSubject.kttesting/src/main/java/org/oppia/android/testing/math/MathParsingErrorSubject.kt
91.67% 77 / 84 70%
TokenSubject.kttesting/src/main/java/org/oppia/android/testing/math/TokenSubject.kt
100.00% 38 / 38 70%
NetworkModule.ktdata/src/main/java/org/oppia/android/data/backends/gae/NetworkModule.kt
100.00% 15 / 15 70%
NetworkLoggingInterceptor.ktdata/src/main/java/org/oppia/android/data/backends/gae/NetworkLoggingInterceptor.kt
100.00% 47 / 47 70%
RegexPatternValidationCheck.ktscripts/src/java/org/oppia/android/scripts/regex/RegexPatternValidationCheck.kt
100.00% 104 / 104 70%
MavenDependenciesRetriever.ktscripts/src/java/org/oppia/android/scripts/license/MavenDependenciesRetriever.kt
96.91% 188 / 194 70%
MavenDependenciesListCheck.ktscripts/src/java/org/oppia/android/scripts/license/MavenDependenciesListCheck.kt
95.54% 107 / 112 70%
GenerateMavenDependenciesList.ktscripts/src/java/org/oppia/android/scripts/maven/GenerateMavenDependenciesList.kt
91.78% 67 / 73 70%
CustomHtmlContentHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/CustomHtmlContentHandler.kt
84.92% 107 / 126 70%
LiTagHandler.ktutility/src/main/java/org/oppia/android/util/parser/html/LiTagHandler.kt
90.70% 117 / 129 70%
PerformanceMetricsAssessorImpl.ktutility/src/main/java/org/oppia/android/util/logging/performancemetrics/PerformanceMetricsAssessorImpl.kt
100.00% 50 / 50 70%

Exempted coverage

Files exempted from coverage
File Exemption Reason
PlatformParameterSyncUpWorker.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorker.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParameterSyncUpWorkManagerInitializer.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/syncup/PlatformParameterSyncUpWorkManagerInitializer.kt
This file is incompatible with code coverage tooling; skipping coverage check.
PlatformParameterModule.ktdomain/src/main/java/org/oppia/android/domain/platformparameter/PlatformParameterModule.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileManagementController.ktdomain/src/main/java/org/oppia/android/domain/profile/ProfileManagementController.kt
This file is incompatible with code coverage tooling; skipping coverage check.
RetrofitTestModule.kttesting/src/main/java/org/oppia/android/testing/network/RetrofitTestModule.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.
StatePlayerRecyclerViewAssembler.ktapp/src/main/java/org/oppia/android/app/player/state/StatePlayerRecyclerViewAssembler.kt
This file is exempted from having a test file; skipping coverage check.
SelectionInteractionContentViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/SelectionInteractionContentViewModel.kt
This file is exempted from having a test file; skipping coverage check.
SelectionInteractionViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/SelectionInteractionViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ContentViewModel.ktapp/src/main/java/org/oppia/android/app/player/state/itemviewmodel/ContentViewModel.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.
AbstractOppiaApplication.ktapp/src/main/java/org/oppia/android/app/application/AbstractOppiaApplication.kt
This file is exempted from having a test file; skipping coverage check.
WalkthroughFinalFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/walkthrough/end/WalkthroughFinalFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
WalkthroughActivity.ktapp/src/main/java/org/oppia/android/app/walkthrough/WalkthroughActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
WalkthroughWelcomeFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/walkthrough/welcome/WalkthroughWelcomeFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ClassroomListActivity.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ClassroomListFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/classroom/ClassroomListFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ViewComponentImpl.ktapp/src/main/java/org/oppia/android/app/view/ViewComponentImpl.kt
This file is exempted from having a test file; skipping coverage check.
OsDeprecationNoticeDialogFragment.ktapp/src/main/java/org/oppia/android/app/notice/OsDeprecationNoticeDialogFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ViewBindingShim.ktapp/src/main/java/org/oppia/android/app/shim/ViewBindingShim.kt
This file is exempted from having a test file; skipping coverage check.
ViewBindingShimImpl.ktapp/src/main/java/org/oppia/android/app/shim/ViewBindingShimImpl.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragment.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
ProfileClickListener.ktapp/src/main/java/org/oppia/android/app/profile/ProfileClickListener.kt
This file is exempted from having a test file; skipping coverage check.
ProfileListView.ktapp/src/main/java/org/oppia/android/app/profile/ProfileListView.kt
This file is exempted from having a test file; skipping coverage check.
ProfileItemViewModel.ktapp/src/main/java/org/oppia/android/app/profile/ProfileItemViewModel.kt
This file is exempted from having a test file; skipping coverage check.
PinPasswordActivityPresenter.ktapp/src/main/java/org/oppia/android/app/profile/PinPasswordActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserViewModel.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserViewModel.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragmentPresenterV1.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragmentPresenterV1.kt
This file is exempted from having a test file; skipping coverage check.
ProfileChooserFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/profile/ProfileChooserFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
ExitProfileDialogFragment.ktapp/src/main/java/org/oppia/android/app/drawer/ExitProfileDialogFragment.kt
This file is exempted from having a test file; skipping coverage check.
StartSnapHelper.ktapp/src/main/java/org/oppia/android/app/recyclerview/StartSnapHelper.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
CreateProfileFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/CreateProfileFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroActivityPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivityPresenter.kt
This file is exempted from having a test file; skipping coverage check.
IntroActivity.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroFragment.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragment.kt
This file is incompatible with code coverage tooling; skipping coverage check.
IntroFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/onboarding/IntroFragmentPresenter.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.
TopicFragmentPresenter.ktapp/src/main/java/org/oppia/android/app/topic/TopicFragmentPresenter.kt
This file is exempted from having a test file; skipping coverage check.
PlatformParameterConstants.ktutility/src/main/java/org/oppia/android/util/platformparameter/PlatformParameterConstants.kt
This file is exempted from having a test file; skipping coverage check.
StatusBarColor.ktutility/src/main/java/org/oppia/android/util/statusbar/StatusBarColor.kt
This file is exempted from having a test file; 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

@adhiamboperes
Copy link
Collaborator Author

adhiamboperes commented Feb 21, 2025

Thanks @adhiamboperes! Took a full pass. Some top-level feedback:

  • The 'add more profiles' and floating action button feel a bit crowded on portrait and would benefit from a bit more space (similar to the landscape version).

I reduced the end margin to create more space between the recyclerview and the button. Also increased the spacing between the button and the prompt.

Original Layout Modified Layout
port_multiple Screenshot_1740176689
  • How do the arrows and fling behaviors in landscape behave in RTL mode?
  • As discussed during today's CLaM meeting, the landscape layout looks a bit off due to the solo learner bubble being so far left. I'm not quite sure that it should be centered, though, as landscape layouts are usually designed to have important elements easily reachable with one's thumbs. Perhaps placing it at the 1/4 or 1/3 portion of the screen from the left might be a bit cleaner? This seems even worse on tablet landscape mode--that's a lot of blank whitespace.

The single profile(or first few profiles), are now placed from the 1/3 part of the screen.

Original Layout Modified Layout
land_1 Screenshot_1739972307
tablet_1 Screenshot_1740179297
  • As discussed during today's CLaM meeting, how does the new layout behave with Talkback?

The layout works as expected both with the arrows and with regular scrolling.
https://github.com/user-attachments/assets/86a954ee-1660-44d4-9718-8fb68862cc7a

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), 41 KiB (Added)

APK download size (estimated): 17 MiB (old), 17 MiB (new), 32 KiB (Added)

Method count: 260308 (old), 260600 (new), 292 (Added)

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

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

Resources: 6832 (old), 6887 (new), 55 (Added)

  • 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), 975 (new), 8 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/color_palette_profile_selection_profile_icon_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • And 3 others
  • Dimen: 1048 (old), 1071 (new), 23 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_activity_profile_icon_size (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • And 18 others
  • Drawable: 380 (old), 383 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1285 (old), 1297 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 380 (old), 382 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 855 (old), 858 (new), 3 (Added):
    • string/selected_image_region_selection_content_description (removed)
    • string/unselected_image_region_selection_content_description (removed)
    • string/profile_selection_add_icon_description (added)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_admin_label (added)
    • And 2 others
  • Style: 832 (old), 836 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 40 KiB (Added)
APK download size (estimated): 17 MiB (old), 17 MiB (new), 32 KiB (Added)
Method count: 260308 (old), 260600 (new), 292 (Added)
Resources: 6782 (old), 6837 (new), 55 (Added)

  • Color: 967 (old), 975 (new), 8 (Added)
  • Dimen: 1044 (old), 1067 (new), 23 (Added)
  • Drawable: 335 (old), 338 (new), 3 (Added)
  • Id: 1285 (old), 1297 (new), 12 (Added)
  • Layout: 380 (old), 382 (new), 2 (Added)
  • String: 855 (old), 858 (new), 3 (Added)
  • Style: 832 (old), 836 (new), 4 (Added)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 60 bytes (Added)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 4 bytes (Added)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 45 KiB (old), 45 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 84 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 1 bytes (Added)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 60 bytes (Added)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 1 bytes (Removed)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 72 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 5 bytes (Added)

Configuration xxxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 84 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Added)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 26 KiB (Added)

Method count: 115790 (old), 116020 (new), 230 (Added)

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

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

Resources: 5800 (old), 5846 (new), 46 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 788 (old), 789 (new), 1 (Added):
    • string/selected_image_region_selection_content_description (removed)
    • string/unselected_image_region_selection_content_description (removed)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 35 KiB (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 25 KiB (Added)
Method count: 115790 (old), 116020 (new), 230 (Added)
Resources: 5757 (old), 5803 (new), 46 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 788 (old), 789 (new), 1 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 1 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 3 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 1 bytes (Added)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 1 bytes (Removed)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
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), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 32 KiB (Added)

Method count: 115796 (old), 116026 (new), 230 (Added)

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

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

Resources: 5800 (old), 5846 (new), 46 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 788 (old), 789 (new), 1 (Added):
    • string/selected_image_region_selection_content_description (removed)
    • string/unselected_image_region_selection_content_description (removed)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 36 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 28 KiB (Added)
Method count: 115796 (old), 116026 (new), 230 (Added)
Resources: 5757 (old), 5803 (new), 46 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 788 (old), 789 (new), 1 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 1 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 1 bytes (Removed)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 1 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 1 bytes (Added)

Configuration xxhdpi

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

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
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), 36 KiB (Added)

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

Method count: 115796 (old), 116026 (new), 230 (Added)

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

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

Resources: 5800 (old), 5846 (new), 46 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 788 (old), 789 (new), 1 (Added):
    • string/selected_image_region_selection_content_description (removed)
    • string/unselected_image_region_selection_content_description (removed)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 36 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 30 KiB (Added)
Method count: 115796 (old), 116026 (new), 230 (Added)
Resources: 5757 (old), 5803 (new), 46 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 788 (old), 789 (new), 1 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 2 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 3 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 1 bytes (Added)

Configuration xxxhdpi

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

Copy link

oppiabot bot commented Mar 4, 2025

Hi @adhiamboperes, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you!

@oppiabot oppiabot bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Mar 4, 2025
@oppiabot oppiabot bot removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Mar 4, 2025
Copy link

github-actions bot commented Mar 5, 2025

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), 42 KiB (Added)

APK download size (estimated): 17 MiB (old), 17 MiB (new), 33 KiB (Added)

Method count: 260308 (old), 260587 (new), 279 (Added)

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

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

Resources: 6832 (old), 6889 (new), 57 (Added)

  • 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), 975 (new), 8 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/color_palette_profile_selection_profile_icon_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • And 3 others
  • Dimen: 1048 (old), 1071 (new), 23 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_activity_profile_icon_size (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • And 18 others
  • Drawable: 380 (old), 383 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1285 (old), 1297 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 37 (old), 37 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 380 (old), 382 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 855 (old), 860 (new), 5 (Added):
    • string/profile_selection_add_icon_description (added)
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_admin_label (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 832 (old), 836 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 41 KiB (Added)
APK download size (estimated): 17 MiB (old), 17 MiB (new), 33 KiB (Added)
Method count: 260308 (old), 260587 (new), 279 (Added)
Resources: 6782 (old), 6839 (new), 57 (Added)

  • Color: 967 (old), 975 (new), 8 (Added)
  • Dimen: 1044 (old), 1067 (new), 23 (Added)
  • Drawable: 335 (old), 338 (new), 3 (Added)
  • Id: 1285 (old), 1297 (new), 12 (Added)
  • Layout: 380 (old), 382 (new), 2 (Added)
  • String: 855 (old), 860 (new), 5 (Added)
  • Style: 832 (old), 836 (new), 4 (Added)

Configuration hdpi

APK file size: 50 KiB (old), 50 KiB (new), 60 bytes (Added)
APK download size (estimated): 18 KiB (old), 18 KiB (new), 5 bytes (Added)

Configuration ldpi

APK file size: 49 KiB (old), 49 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 45 KiB (old), 45 KiB (new), 48 bytes (Added)
APK download size (estimated): 14 KiB (old), 14 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 86 KiB (old), 86 KiB (new), 84 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 0 bytes (No change)

Configuration xhdpi

APK file size: 57 KiB (old), 57 KiB (new), 60 bytes (Added)
APK download size (estimated): 21 KiB (old), 21 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 72 bytes (Added)
APK download size (estimated): 29 KiB (old), 29 KiB (new), 8 bytes (Added)

Configuration xxxhdpi

APK file size: 63 KiB (old), 63 KiB (new), 84 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 2 bytes (Added)

Alpha

Expand to see flavor specifics

Universal APK

APK file size: 11 MiB (old), 11 MiB (new), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 29 KiB (Added)

Method count: 115790 (old), 115970 (new), 180 (Added)

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

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

Resources: 5800 (old), 5848 (new), 48 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 788 (old), 791 (new), 3 (Added):
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 35 KiB (Added)
APK download size (estimated): 10 MiB (old), 10 MiB (new), 31 KiB (Added)
Method count: 115790 (old), 115970 (new), 180 (Added)
Resources: 5757 (old), 5805 (new), 48 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 788 (old), 791 (new), 3 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 0 bytes (No change)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 3 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 1 bytes (Added)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 1 bytes (Added)

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
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), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 32 KiB (Added)

Method count: 115796 (old), 115976 (new), 180 (Added)

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

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

Resources: 5800 (old), 5848 (new), 48 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 788 (old), 791 (new), 3 (Added):
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 35 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 28 KiB (Added)
Method count: 115796 (old), 115976 (new), 180 (Added)
Resources: 5757 (old), 5805 (new), 48 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 788 (old), 791 (new), 3 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 1 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 4 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

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

Configuration xxxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
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), 36 KiB (Added)

APK download size (estimated): 10 MiB (old), 10 MiB (new), 31 KiB (Added)

Method count: 115796 (old), 115976 (new), 180 (Added)

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

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

Resources: 5800 (old), 5848 (new), 48 (Added)

  • 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), 826 (new), 6 (Added):
    • color/color_def_charcoal (added)
    • color/color_def_ivory (added)
    • color/color_palette_profile_selection_background_color (added)
    • color/component_color_profile_icon_stroke_color (added)
    • color/component_color_profile_selection_background_color (added)
    • And 1 other
  • Dimen: 780 (old), 798 (new), 18 (Added):
    • dimen/profile_item_profile_icon_size (added)
    • dimen/profile_item_profile_picture_stroke_width (added)
    • dimen/profile_selection_fragment_add_button_margin_bottom (added)
    • dimen/profile_selection_fragment_add_profile_button_margin_end (added)
    • dimen/profile_selection_fragment_header_margin (added)
    • And 13 others
  • Drawable: 342 (old), 345 (new), 3 (Added):
    • drawable/ic_add (added)
    • drawable/ic_chevron_left (added)
    • drawable/ic_chevron_right (added)
  • Id: 1231 (old), 1243 (new), 12 (Added):
    • id/add_profile_button (added)
    • id/add_profile_prompt (added)
    • id/profile_avatar (added)
    • id/profile_item_container (added)
    • id/profile_list_scroll_left (added)
    • And 7 others
  • Integer: 32 (old), 32 (new), 0 (No change)
  • Interpolator: 11 (old), 11 (new), 0 (No change)
  • Layout: 343 (old), 345 (new), 2 (Added):
    • layout/profile_item (added)
    • layout/profile_selection_fragment (added)
  • 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: 788 (old), 791 (new), 3 (Added):
    • string/profile_selection_add_profile_text (added)
    • string/profile_selection_header (added)
    • string/profile_selection_profile_icon_description (added)
  • Style: 473 (old), 477 (new), 4 (Added):
    • style/AddProfilePromptStyle (added)
    • style/AdministratorControlsLabelStyle (added)
    • style/AdministratorLabelStyle (added)
    • style/ProfileSelectionHeaderStyle (added)
  • 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), 11 MiB (new), 35 KiB (Added)
APK download size (estimated): 9 MiB (old), 10 MiB (new), 28 KiB (Added)
Method count: 115796 (old), 115976 (new), 180 (Added)
Resources: 5757 (old), 5805 (new), 48 (Added)

  • Color: 820 (old), 826 (new), 6 (Added)
  • Dimen: 778 (old), 796 (new), 18 (Added)
  • Drawable: 302 (old), 305 (new), 3 (Added)
  • Id: 1231 (old), 1243 (new), 12 (Added)
  • Layout: 343 (old), 345 (new), 2 (Added)
  • String: 788 (old), 791 (new), 3 (Added)
  • Style: 473 (old), 477 (new), 4 (Added)

Configuration hdpi

APK file size: 43 KiB (old), 43 KiB (new), 24 bytes (Added)
APK download size (estimated): 17 KiB (old), 17 KiB (new), 2 bytes (Removed)

Configuration ldpi

APK file size: 44 KiB (old), 44 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration mdpi

APK file size: 38 KiB (old), 38 KiB (new), 0 bytes (No change)
APK download size (estimated): 13 KiB (old), 13 KiB (new), 0 bytes (No change)

Configuration tvdpi

APK file size: 73 KiB (old), 73 KiB (new), 24 bytes (Added)
APK download size (estimated): 27 KiB (old), 27 KiB (new), 4 bytes (Removed)

Configuration xhdpi

APK file size: 50 KiB (old), 50 KiB (new), 24 bytes (Added)
APK download size (estimated): 20 KiB (old), 20 KiB (new), 0 bytes (No change)

Configuration xxhdpi

APK file size: 55 KiB (old), 55 KiB (new), 24 bytes (Added)
APK download size (estimated): 28 KiB (old), 28 KiB (new), 1 bytes (Added)

Configuration xxxhdpi

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

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.

Creating multiple user not working with profile pic
4 participants