├── .gitignore
├── Android.bp
├── AndroidManifest-common.xml
├── AndroidManifest.xml
├── CleanSpec.mk
├── Launcher3-refs_heads_android15-s1-release.iml
├── OWNERS
├── PREUPLOAD.cfg
├── README.md
├── aconfig
├── Android.bp
├── launcher.aconfig
└── launcher_search.aconfig
├── animationlib
├── Android.bp
├── AndroidManifest.xml
├── TEST_MAPPING
├── build.gradle
├── res
│ └── interpolator
│ │ ├── emphasized_accelerate_interpolator.xml
│ │ ├── emphasized_decelerate_interpolator.xml
│ │ ├── emphasized_interpolator.xml
│ │ ├── standard_accelerate_interpolator.xml
│ │ ├── standard_decelerate_interpolator.xml
│ │ └── standard_interpolator.xml
├── src
│ └── com
│ │ └── android
│ │ └── app
│ │ └── animation
│ │ ├── Interpolators.java
│ │ ├── InterpolatorsAndroidX.java
│ │ └── MathUtils.java
└── tests
│ ├── AndroidManifest.xml
│ ├── robolectric
│ ├── config
│ │ └── robolectric.properties
│ └── src
│ │ └── com
│ │ └── android
│ │ └── app
│ │ └── animation
│ │ └── robolectric
│ │ └── ShadowAnimationUtils2.kt
│ └── src
│ └── com
│ └── android
│ └── app
│ └── animation
│ ├── InterpolatorResourcesTest.kt
│ └── InterpolatorsAndroidXTest.kt
├── buglist.txt
├── buglist_unique.txt
├── build.gradle
├── commitlist.txt
├── go
├── AndroidManifest-launcher.xml
├── AndroidManifest.xml
├── OWNERS
├── go.iml
└── quickstep
│ ├── res
│ ├── drawable
│ │ ├── arrow_toast_rounded_background.xml
│ │ ├── ic_listen.xml
│ │ ├── ic_search.xml
│ │ ├── ic_translate.xml
│ │ ├── round_rect_button.xml
│ │ └── round_rect_dialog.xml
│ ├── layout
│ │ ├── niu_actions_dialog.xml
│ │ └── overview_actions_container.xml
│ ├── values-af
│ │ └── strings.xml
│ ├── values-am
│ │ └── strings.xml
│ ├── values-ar
│ │ └── strings.xml
│ ├── values-as
│ │ └── strings.xml
│ ├── values-az
│ │ └── strings.xml
│ ├── values-b+sr+Latn
│ │ └── strings.xml
│ ├── values-be
│ │ └── strings.xml
│ ├── values-bg
│ │ └── strings.xml
│ ├── values-bn
│ │ └── strings.xml
│ ├── values-bs
│ │ └── strings.xml
│ ├── values-ca
│ │ └── strings.xml
│ ├── values-cs
│ │ └── strings.xml
│ ├── values-da
│ │ └── strings.xml
│ ├── values-de
│ │ └── strings.xml
│ ├── values-el
│ │ └── strings.xml
│ ├── values-en-rAU
│ │ └── strings.xml
│ ├── values-en-rCA
│ │ └── strings.xml
│ ├── values-en-rGB
│ │ └── strings.xml
│ ├── values-en-rIN
│ │ └── strings.xml
│ ├── values-en-rXC
│ │ └── strings.xml
│ ├── values-es-rUS
│ │ └── strings.xml
│ ├── values-es
│ │ └── strings.xml
│ ├── values-et
│ │ └── strings.xml
│ ├── values-eu
│ │ └── strings.xml
│ ├── values-fa
│ │ └── strings.xml
│ ├── values-fi
│ │ └── strings.xml
│ ├── values-fr-rCA
│ │ └── strings.xml
│ ├── values-fr
│ │ └── strings.xml
│ ├── values-gl
│ │ └── strings.xml
│ ├── values-gu
│ │ └── strings.xml
│ ├── values-hi
│ │ └── strings.xml
│ ├── values-hr
│ │ └── strings.xml
│ ├── values-hu
│ │ └── strings.xml
│ ├── values-hy
│ │ └── strings.xml
│ ├── values-in
│ │ └── strings.xml
│ ├── values-is
│ │ └── strings.xml
│ ├── values-it
│ │ └── strings.xml
│ ├── values-iw
│ │ └── strings.xml
│ ├── values-ja
│ │ └── strings.xml
│ ├── values-ka
│ │ └── strings.xml
│ ├── values-kk
│ │ └── strings.xml
│ ├── values-km
│ │ └── strings.xml
│ ├── values-kn
│ │ └── strings.xml
│ ├── values-ko
│ │ └── strings.xml
│ ├── values-ky
│ │ └── strings.xml
│ ├── values-land
│ │ └── dimens.xml
│ ├── values-lo
│ │ └── strings.xml
│ ├── values-lt
│ │ └── strings.xml
│ ├── values-lv
│ │ └── strings.xml
│ ├── values-mk
│ │ └── strings.xml
│ ├── values-ml
│ │ └── strings.xml
│ ├── values-mn
│ │ └── strings.xml
│ ├── values-mr
│ │ └── strings.xml
│ ├── values-ms
│ │ └── strings.xml
│ ├── values-my
│ │ └── strings.xml
│ ├── values-nb
│ │ └── strings.xml
│ ├── values-ne
│ │ └── strings.xml
│ ├── values-nl
│ │ └── strings.xml
│ ├── values-or
│ │ └── strings.xml
│ ├── values-pa
│ │ └── strings.xml
│ ├── values-pl
│ │ └── strings.xml
│ ├── values-pt-rPT
│ │ └── strings.xml
│ ├── values-pt
│ │ └── strings.xml
│ ├── values-ro
│ │ └── strings.xml
│ ├── values-ru
│ │ └── strings.xml
│ ├── values-si
│ │ └── strings.xml
│ ├── values-sk
│ │ └── strings.xml
│ ├── values-sl
│ │ └── strings.xml
│ ├── values-sq
│ │ └── strings.xml
│ ├── values-sr
│ │ └── strings.xml
│ ├── values-sv
│ │ └── strings.xml
│ ├── values-sw
│ │ └── strings.xml
│ ├── values-ta
│ │ └── strings.xml
│ ├── values-te
│ │ └── strings.xml
│ ├── values-th
│ │ └── strings.xml
│ ├── values-tl
│ │ └── strings.xml
│ ├── values-tr
│ │ └── strings.xml
│ ├── values-uk
│ │ └── strings.xml
│ ├── values-ur
│ │ └── strings.xml
│ ├── values-uz
│ │ └── strings.xml
│ ├── values-vi
│ │ └── strings.xml
│ ├── values-zh-rCN
│ │ └── strings.xml
│ ├── values-zh-rHK
│ │ └── strings.xml
│ ├── values-zh-rTW
│ │ └── strings.xml
│ ├── values-zu
│ │ └── strings.xml
│ ├── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── config.xml
│ │ ├── dimens.xml
│ │ ├── integers.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── xml
│ │ └── device_profiles.xml
│ └── src
│ └── com
│ └── android
│ ├── launcher3
│ ├── AppSharing.java
│ ├── BuildConfig.java
│ ├── Launcher3QuickStepGo.java
│ └── model
│ │ ├── AppShareabilityChecker.java
│ │ ├── AppShareabilityDatabase.java
│ │ ├── AppShareabilityJobService.java
│ │ ├── AppShareabilityManager.java
│ │ └── AppShareabilityStatus.java
│ └── quickstep
│ ├── TaskOverlayFactoryGo.java
│ └── views
│ └── GoOverviewActionsView.java
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── iconloaderlib
├── .gitignore
├── Android.bp
├── AndroidManifest.xml
├── build.gradle
├── res
│ ├── drawable
│ │ ├── ic_clone_app_badge.xml
│ │ ├── ic_instant_app_badge.xml
│ │ ├── ic_private_profile_app_badge.xml
│ │ └── ic_work_app_badge.xml
│ ├── values-night-v31
│ │ └── colors.xml
│ ├── values-night
│ │ └── colors.xml
│ ├── values-v31
│ │ └── colors.xml
│ └── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── config.xml
│ │ └── dimens.xml
├── src
│ └── com
│ │ └── android
│ │ └── launcher3
│ │ ├── icons
│ │ ├── BaseIconFactory.java
│ │ ├── BitmapInfo.java
│ │ ├── BitmapRenderer.java
│ │ ├── BubbleIconFactory.java
│ │ ├── ClockDrawableWrapper.java
│ │ ├── ColorExtractor.java
│ │ ├── DotRenderer.java
│ │ ├── FastBitmapDrawable.java
│ │ ├── GraphicsUtils.java
│ │ ├── IconNormalizer.java
│ │ ├── IconProvider.java
│ │ ├── PlaceHolderIconDrawable.java
│ │ ├── RoundDrawableWrapper.java
│ │ ├── ShadowGenerator.java
│ │ ├── ThemedIconDrawable.java
│ │ ├── UserBadgeDrawable.java
│ │ └── cache
│ │ │ ├── BaseIconCache.java
│ │ │ ├── CachingLogic.java
│ │ │ └── IconCacheUpdateHandler.java
│ │ └── util
│ │ ├── ComponentKey.java
│ │ ├── FlagOp.java
│ │ ├── NoLocaleSQLiteHelper.java
│ │ ├── SQLiteCacheHelper.java
│ │ ├── SafeCloseable.java
│ │ └── UserIconInfo.java
└── src_full_lib
│ └── com
│ └── android
│ └── launcher3
│ └── icons
│ ├── IconFactory.java
│ └── SimpleIconCache.java
├── image
├── launcher01.png
├── launcher02.png
├── launcher03.png
├── launcher04.png
├── launcher05.png
├── launcher06.png
├── launcher07.png
├── launcher08.png
├── launcher09.png
└── launcher10.png
├── lint-baseline-common-deps-lib.xml
├── lint-baseline-go-res-lib.xml
├── lint-baseline-launcher3.xml
├── lint-baseline-res-lib.xml
├── lint-baseline.xml
├── local.properties
├── prebuilts
└── libs
│ └── framework-14.jar
├── proguard.flags
├── protos
├── launcher_atom.proto
├── launcher_trace.proto
└── launcher_trace_file.proto
├── protos_overrides
└── launcher_atom_extension.proto
├── quickstep
├── Android.bp
├── AndroidManifest-launcher.xml
├── AndroidManifest.xml
├── protos_overrides
│ └── launcher_atom_extension.proto
├── quickstep.iml
├── res
│ ├── color
│ │ ├── all_set_bg_primary.xml
│ │ ├── all_set_bg_tertiary.xml
│ │ ├── bubblebar_drop_target_bg_color.xml
│ │ ├── menu_item_hover_state_color.xml
│ │ ├── taskbar_nav_icon_dark_color.xml
│ │ └── taskbar_nav_icon_light_color.xml
│ ├── drawable-sw600dp-land
│ │ ├── gesture_tutorial_back_step_shape.xml
│ │ ├── gesture_tutorial_home_step_shape.xml
│ │ └── gesture_tutorial_overview_step_shape.xml
│ ├── drawable-sw720dp-land
│ │ ├── gesture_tutorial_back_step_shape.xml
│ │ ├── gesture_tutorial_home_step_shape.xml
│ │ └── gesture_tutorial_overview_step_shape.xml
│ ├── drawable-v28
│ │ └── gesture_tutorial_action_button_background.xml
│ ├── drawable
│ │ ├── all_apps_edu_circle.xml
│ │ ├── assistant_gesture.xml
│ │ ├── back_gesture.xml
│ │ ├── bg_bubble_bar_drop_target.xml
│ │ ├── bg_bubble_dismiss_circle.xml
│ │ ├── bg_bubble_expanded_view_drop_target.xml
│ │ ├── bg_circle.xml
│ │ ├── bg_floating_desktop_select.xml
│ │ ├── bg_overview_clear_all_button.xml
│ │ ├── bg_sandbox_close_button.xml
│ │ ├── bg_sandbox_feedback.xml
│ │ ├── bg_taskbar_edu_tooltip.xml
│ │ ├── bg_wellbeing_toast.xml
│ │ ├── bg_workspace_card_button.xml
│ │ ├── button_taskbar_edu_bordered.xml
│ │ ├── button_taskbar_edu_colored.xml
│ │ ├── chip_hint_background_light.xml
│ │ ├── default_sandbox_app_icon.xml
│ │ ├── default_sandbox_app_task_thumbnail.xml
│ │ ├── default_sandbox_wallpaper.xml
│ │ ├── gesture_tutorial_action_button_background.xml
│ │ ├── gesture_tutorial_back_step_shape.xml
│ │ ├── gesture_tutorial_cancel_button_background.xml
│ │ ├── gesture_tutorial_close_button.xml
│ │ ├── gesture_tutorial_complete_checkmark.xml
│ │ ├── gesture_tutorial_complete_checkmark_bg.xml
│ │ ├── gesture_tutorial_finger_dot.xml
│ │ ├── gesture_tutorial_home_step_shape.xml
│ │ ├── gesture_tutorial_loop_back.xml
│ │ ├── gesture_tutorial_loop_home.xml
│ │ ├── gesture_tutorial_loop_overview.xml
│ │ ├── gesture_tutorial_menu_back_button_background.xml
│ │ ├── gesture_tutorial_menu_home_button_background.xml
│ │ ├── gesture_tutorial_menu_overview_button_background.xml
│ │ ├── gesture_tutorial_overview_step_shape.xml
│ │ ├── gesture_tutorial_ripple.xml
│ │ ├── home_gesture.xml
│ │ ├── hotseat_edu_notification_icon.xml
│ │ ├── hotseat_icon.xml
│ │ ├── hotseat_search_bar.xml
│ │ ├── ic_all_set.xml
│ │ ├── ic_bubble_dismiss_white.xml
│ │ ├── ic_chevron_down.xml
│ │ ├── ic_desktop.xml
│ │ ├── ic_empty_recents.xml
│ │ ├── ic_hourglass_top.xml
│ │ ├── ic_ime_switcher.xml
│ │ ├── ic_save_app_pair_left_right.xml
│ │ ├── ic_save_app_pair_up_down.xml
│ │ ├── ic_screenshot.xml
│ │ ├── ic_share.xml
│ │ ├── ic_sysbar_accessibility_button.xml
│ │ ├── ic_sysbar_back.xml
│ │ ├── ic_sysbar_back_kids.xml
│ │ ├── ic_sysbar_home.xml
│ │ ├── ic_sysbar_home_kids.xml
│ │ ├── ic_sysbar_notifications.xml
│ │ ├── ic_sysbar_quick_settings.xml
│ │ ├── ic_sysbar_recent.xml
│ │ ├── ic_sysbar_rotate_button_ccw_start_0.xml
│ │ ├── ic_sysbar_rotate_button_ccw_start_90.xml
│ │ ├── ic_sysbar_rotate_button_cw_start_0.xml
│ │ ├── ic_sysbar_rotate_button_cw_start_90.xml
│ │ ├── keyboard_quick_switch_overview_button_background.xml
│ │ ├── keyboard_quick_switch_task_view_background.xml
│ │ ├── keyboard_quick_switch_thumbnail_background.xml
│ │ ├── keyboard_quick_switch_view_background.xml
│ │ ├── mock_app_icon.xml
│ │ ├── mock_taskbar_background.xml
│ │ ├── overview_gesture.xml
│ │ ├── redesigned_hotseat_icon.xml
│ │ ├── redesigned_top_task_view.xml
│ │ ├── rotate_prompt_bg.xml
│ │ ├── rotate_tutorial_warning.xml
│ │ ├── split_instructions_background.xml
│ │ ├── task_menu_bg.xml
│ │ ├── task_menu_item_bg.xml
│ │ ├── taskbar_divider_button.xml
│ │ ├── taskbar_icon_click_feedback_roundrect.xml
│ │ ├── top_task_view.xml
│ │ ├── tutorial_step_indicator_pill.xml
│ │ └── view_carousel.xml
│ ├── interpolator
│ │ └── app_open_x.xml
│ ├── layout-land
│ │ ├── gesture_tutorial_mock_hotseat.xml
│ │ ├── gesture_tutorial_tablet_mock_hotseat.xml
│ │ ├── keyboard_quick_switch_taskview.xml
│ │ ├── redesigned_gesture_tutorial_mock_hotseat.xml
│ │ └── redesigned_gesture_tutorial_tablet_mock_hotseat.xml
│ ├── layout-sw600dp-land
│ │ └── gesture_tutorial_step_menu.xml
│ ├── layout-sw600dp
│ │ └── allset_navigation.xml
│ ├── layout
│ │ ├── activity_allset.xml
│ │ ├── all_apps_edu_view.xml
│ │ ├── allset_navigation.xml
│ │ ├── back_gesture_tutorial_background.xml
│ │ ├── bubble_bar_drop_target.xml
│ │ ├── bubble_expanded_view_drop_target.xml
│ │ ├── bubble_view.xml
│ │ ├── bubblebar_item_view.xml
│ │ ├── digital_wellbeing_toast.xml
│ │ ├── fallback_recents_activity.xml
│ │ ├── floating_header_content.xml
│ │ ├── gesture_tutorial_activity.xml
│ │ ├── gesture_tutorial_dialog.xml
│ │ ├── gesture_tutorial_foldable_mock_hotseat.xml
│ │ ├── gesture_tutorial_fragment.xml
│ │ ├── gesture_tutorial_mock_conversation.xml
│ │ ├── gesture_tutorial_mock_conversation_list.xml
│ │ ├── gesture_tutorial_mock_hotseat.xml
│ │ ├── gesture_tutorial_mock_webpage.xml
│ │ ├── gesture_tutorial_rotation_prompt.xml
│ │ ├── gesture_tutorial_step_menu.xml
│ │ ├── gesture_tutorial_tablet_mock_conversation.xml
│ │ ├── gesture_tutorial_tablet_mock_conversation_list.xml
│ │ ├── gesture_tutorial_tablet_mock_hotseat.xml
│ │ ├── gesture_tutorial_tablet_mock_taskbar.xml
│ │ ├── gesture_tutorial_tablet_mock_webpage.xml
│ │ ├── icon_app_chip_view.xml
│ │ ├── icon_view.xml
│ │ ├── keyboard_quick_switch_taskview.xml
│ │ ├── keyboard_quick_switch_taskview_thumbnail.xml
│ │ ├── keyboard_quick_switch_textonly_taskview.xml
│ │ ├── keyboard_quick_switch_view.xml
│ │ ├── overview_actions_container.xml
│ │ ├── overview_clear_all_button.xml
│ │ ├── overview_panel.xml
│ │ ├── predicted_app_icon.xml
│ │ ├── predicted_hotseat_edu.xml
│ │ ├── redesigned_gesture_tutorial_foldable_mock_hotseat.xml
│ │ ├── redesigned_gesture_tutorial_fragment.xml
│ │ ├── redesigned_gesture_tutorial_mock_hotseat.xml
│ │ ├── redesigned_gesture_tutorial_tablet_mock_hotseat.xml
│ │ ├── rotate_suggestion.xml
│ │ ├── split_instructions_view.xml
│ │ ├── task.xml
│ │ ├── task_desktop.xml
│ │ ├── task_grouped.xml
│ │ ├── task_menu.xml
│ │ ├── task_menu_with_arrow.xml
│ │ ├── task_thumbnail.xml
│ │ ├── task_view_menu_option.xml
│ │ ├── taskbar.xml
│ │ ├── taskbar_all_apps.xml
│ │ ├── taskbar_all_apps_button.xml
│ │ ├── taskbar_all_apps_sheet.xml
│ │ ├── taskbar_app_icon.xml
│ │ ├── taskbar_contextual_button.xml
│ │ ├── taskbar_divider.xml
│ │ ├── taskbar_divider_popup_menu.xml
│ │ ├── taskbar_edu_features.xml
│ │ ├── taskbar_edu_pinning.xml
│ │ ├── taskbar_edu_search.xml
│ │ ├── taskbar_edu_swipe.xml
│ │ ├── taskbar_edu_tooltip.xml
│ │ ├── taskbar_nav_button.xml
│ │ ├── taskbar_predicted_app_icon.xml
│ │ ├── transient_taskbar.xml
│ │ └── widget_picker_activity.xml
│ ├── raw-h480dp
│ │ └── all_set_page_bg.json
│ ├── raw-land
│ │ └── all_set_page_bg.json
│ ├── raw-sw600dp-land
│ │ └── all_set_page_bg.json
│ ├── raw-sw600dp
│ │ └── all_set_page_bg.json
│ ├── raw-sw720dp-land
│ │ └── all_set_page_bg.json
│ ├── raw-sw720dp
│ │ └── all_set_page_bg.json
│ ├── raw-w840dp-h480dp
│ │ └── all_set_page_bg.json
│ ├── raw
│ │ ├── all_set_page_bg.json
│ │ ├── back_gesture_tutorial_animation.json
│ │ ├── back_gesture_tutorial_open_foldable_animation.json
│ │ ├── back_gesture_tutorial_tablet_animation.json
│ │ ├── checkmark_animation_end.json
│ │ ├── checkmark_animation_in_progress.json
│ │ ├── home_gesture_tutorial_animation.json
│ │ ├── home_gesture_tutorial_open_foldable_animation.json
│ │ ├── home_gesture_tutorial_tablet_animation.json
│ │ ├── overview_gesture_tutorial_animation.json
│ │ ├── overview_gesture_tutorial_open_foldable_animation.json
│ │ ├── overview_gesture_tutorial_tablet_animation.json
│ │ ├── taskbar_edu_pinning.json
│ │ ├── taskbar_edu_search.json
│ │ ├── taskbar_edu_splitscreen_persistent.json
│ │ ├── taskbar_edu_splitscreen_transient.json
│ │ ├── taskbar_edu_stashing.json
│ │ ├── taskbar_edu_suggestions_persistent.json
│ │ └── taskbar_edu_suggestions_transient.json
│ ├── values-af
│ │ └── strings.xml
│ ├── values-am
│ │ └── strings.xml
│ ├── values-ar
│ │ └── strings.xml
│ ├── values-as
│ │ └── strings.xml
│ ├── values-az
│ │ └── strings.xml
│ ├── values-b+sr+Latn
│ │ └── strings.xml
│ ├── values-be
│ │ └── strings.xml
│ ├── values-bg
│ │ └── strings.xml
│ ├── values-bn
│ │ └── strings.xml
│ ├── values-bs
│ │ └── strings.xml
│ ├── values-ca
│ │ └── strings.xml
│ ├── values-cs
│ │ └── strings.xml
│ ├── values-da
│ │ └── strings.xml
│ ├── values-de
│ │ └── strings.xml
│ ├── values-el
│ │ └── strings.xml
│ ├── values-en-rAU
│ │ └── strings.xml
│ ├── values-en-rCA
│ │ └── strings.xml
│ ├── values-en-rGB
│ │ └── strings.xml
│ ├── values-en-rIN
│ │ └── strings.xml
│ ├── values-en-rXC
│ │ └── strings.xml
│ ├── values-es-rUS
│ │ └── strings.xml
│ ├── values-es
│ │ └── strings.xml
│ ├── values-et
│ │ └── strings.xml
│ ├── values-eu
│ │ └── strings.xml
│ ├── values-fa
│ │ └── strings.xml
│ ├── values-fi
│ │ └── strings.xml
│ ├── values-fr-rCA
│ │ └── strings.xml
│ ├── values-fr
│ │ └── strings.xml
│ ├── values-gl
│ │ └── strings.xml
│ ├── values-gu
│ │ └── strings.xml
│ ├── values-hi
│ │ └── strings.xml
│ ├── values-hr
│ │ └── strings.xml
│ ├── values-hu
│ │ └── strings.xml
│ ├── values-hy
│ │ └── strings.xml
│ ├── values-in
│ │ └── strings.xml
│ ├── values-is
│ │ └── strings.xml
│ ├── values-it
│ │ └── strings.xml
│ ├── values-iw
│ │ └── strings.xml
│ ├── values-ja
│ │ └── strings.xml
│ ├── values-ka
│ │ └── strings.xml
│ ├── values-kk
│ │ └── strings.xml
│ ├── values-km
│ │ └── strings.xml
│ ├── values-kn
│ │ └── strings.xml
│ ├── values-ko
│ │ └── strings.xml
│ ├── values-ky
│ │ └── strings.xml
│ ├── values-land
│ │ └── dimens.xml
│ ├── values-lo
│ │ └── strings.xml
│ ├── values-lt
│ │ └── strings.xml
│ ├── values-lv
│ │ └── strings.xml
│ ├── values-mk
│ │ └── strings.xml
│ ├── values-ml
│ │ └── strings.xml
│ ├── values-mn
│ │ └── strings.xml
│ ├── values-mr
│ │ └── strings.xml
│ ├── values-ms
│ │ └── strings.xml
│ ├── values-my
│ │ └── strings.xml
│ ├── values-nb
│ │ └── strings.xml
│ ├── values-ne
│ │ └── strings.xml
│ ├── values-night
│ │ ├── colors.xml
│ │ └── styles.xml
│ ├── values-nl
│ │ └── strings.xml
│ ├── values-or
│ │ └── strings.xml
│ ├── values-pa
│ │ └── strings.xml
│ ├── values-pl
│ │ └── strings.xml
│ ├── values-pt-rPT
│ │ └── strings.xml
│ ├── values-pt
│ │ └── strings.xml
│ ├── values-ro
│ │ └── strings.xml
│ ├── values-ru
│ │ └── strings.xml
│ ├── values-si
│ │ └── strings.xml
│ ├── values-sk
│ │ └── strings.xml
│ ├── values-sl
│ │ └── strings.xml
│ ├── values-sq
│ │ └── strings.xml
│ ├── values-sr
│ │ └── strings.xml
│ ├── values-sv
│ │ └── strings.xml
│ ├── values-sw
│ │ └── strings.xml
│ ├── values-sw600dp-land
│ │ └── dimens.xml
│ ├── values-sw600dp
│ │ ├── config.xml
│ │ └── dimens.xml
│ ├── values-sw720dp-land
│ │ └── dimens.xml
│ ├── values-sw720dp
│ │ └── dimens.xml
│ ├── values-sw900dp
│ │ └── dimens.xml
│ ├── values-ta
│ │ └── strings.xml
│ ├── values-te
│ │ └── strings.xml
│ ├── values-th
│ │ └── strings.xml
│ ├── values-tl
│ │ └── strings.xml
│ ├── values-tr
│ │ └── strings.xml
│ ├── values-uk
│ │ └── strings.xml
│ ├── values-ur
│ │ └── strings.xml
│ ├── values-uz
│ │ └── strings.xml
│ ├── values-vi
│ │ └── strings.xml
│ ├── values-zh-rCN
│ │ └── strings.xml
│ ├── values-zh-rHK
│ │ └── strings.xml
│ ├── values-zh-rTW
│ │ └── strings.xml
│ ├── values-zu
│ │ └── strings.xml
│ ├── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── config.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── xml
│ │ ├── indexable_launcher_prefs.xml
│ │ └── overview_file_provider_paths.xml
├── src
│ └── com
│ │ └── android
│ │ ├── launcher3
│ │ ├── LauncherAnimationRunner.java
│ │ ├── LauncherInitListener.java
│ │ ├── QuickstepAccessibilityDelegate.java
│ │ ├── QuickstepTransitionManager.java
│ │ ├── WidgetPickerActivity.java
│ │ ├── appprediction
│ │ │ ├── AppsDividerView.java
│ │ │ ├── InstantAppItemInfo.java
│ │ │ └── PredictionRowView.java
│ │ ├── desktop
│ │ │ └── DesktopRecentsTransitionController.kt
│ │ ├── hybridhotseat
│ │ │ ├── HotseatEduController.java
│ │ │ ├── HotseatEduDialog.java
│ │ │ ├── HotseatPredictionController.java
│ │ │ ├── HotseatPredictionModel.java
│ │ │ └── HotseatRestoreHelper.java
│ │ ├── model
│ │ │ ├── AppEventProducer.java
│ │ │ ├── PredictionHelper.java
│ │ │ ├── PredictionUpdateTask.java
│ │ │ ├── QuickstepModelDelegate.java
│ │ │ ├── WellbeingModel.java
│ │ │ ├── WidgetPredictionsRequester.java
│ │ │ └── WidgetsPredictionUpdateTask.java
│ │ ├── popup
│ │ │ └── QuickstepSystemShortcut.java
│ │ ├── proxy
│ │ │ └── ProxyActivityStarter.java
│ │ ├── secondarydisplay
│ │ │ └── SecondaryDisplayPredictionsImpl.java
│ │ ├── splitscreen
│ │ │ └── SplitShortcut.kt
│ │ ├── statehandlers
│ │ │ ├── DepthController.java
│ │ │ └── DesktopVisibilityController.java
│ │ ├── taskbar
│ │ │ ├── BaseTaskbarContext.java
│ │ │ ├── BlurredBitmapDrawable.kt
│ │ │ ├── FallbackTaskbarUIController.java
│ │ │ ├── KeyboardQuickSwitchController.java
│ │ │ ├── KeyboardQuickSwitchTaskView.java
│ │ │ ├── KeyboardQuickSwitchView.java
│ │ │ ├── KeyboardQuickSwitchViewController.java
│ │ │ ├── LauncherTaskbarUIController.java
│ │ │ ├── NavbarButtonsViewController.java
│ │ │ ├── RecentsHitboxExtender.java
│ │ │ ├── StashedHandleView.java
│ │ │ ├── StashedHandleViewController.java
│ │ │ ├── TaskbarActivityContext.java
│ │ │ ├── TaskbarAutohideSuspendController.java
│ │ │ ├── TaskbarBackgroundRenderer.kt
│ │ │ ├── TaskbarControllers.java
│ │ │ ├── TaskbarDividerPopupView.kt
│ │ │ ├── TaskbarDragController.java
│ │ │ ├── TaskbarDragLayer.java
│ │ │ ├── TaskbarDragLayerController.java
│ │ │ ├── TaskbarDragView.java
│ │ │ ├── TaskbarEduTooltip.kt
│ │ │ ├── TaskbarEduTooltipController.kt
│ │ │ ├── TaskbarForceVisibleImmersiveController.java
│ │ │ ├── TaskbarHoverToolTipController.java
│ │ │ ├── TaskbarInsetsController.kt
│ │ │ ├── TaskbarKeyguardController.java
│ │ │ ├── TaskbarLauncherStateController.java
│ │ │ ├── TaskbarManager.java
│ │ │ ├── TaskbarModelCallbacks.java
│ │ │ ├── TaskbarModelCallbacksFactory.kt
│ │ │ ├── TaskbarNavButtonController.java
│ │ │ ├── TaskbarPinningController.kt
│ │ │ ├── TaskbarPopupController.java
│ │ │ ├── TaskbarRecentAppsController.kt
│ │ │ ├── TaskbarScrimView.java
│ │ │ ├── TaskbarScrimViewController.java
│ │ │ ├── TaskbarSharedState.java
│ │ │ ├── TaskbarShortcutMenuAccessibilityDelegate.java
│ │ │ ├── TaskbarSpringOnStashController.java
│ │ │ ├── TaskbarStashController.java
│ │ │ ├── TaskbarStashViaTouchController.kt
│ │ │ ├── TaskbarThresholdUtils.java
│ │ │ ├── TaskbarTranslationController.java
│ │ │ ├── TaskbarUIController.java
│ │ │ ├── TaskbarUnfoldAnimationController.java
│ │ │ ├── TaskbarView.java
│ │ │ ├── TaskbarViewCallbacks.java
│ │ │ ├── TaskbarViewCallbacksFactory.kt
│ │ │ ├── TaskbarViewController.java
│ │ │ ├── Utilities.java
│ │ │ ├── VoiceInteractionWindowController.kt
│ │ │ ├── allapps
│ │ │ │ ├── TaskbarAllAppsContainerView.java
│ │ │ │ ├── TaskbarAllAppsController.java
│ │ │ │ ├── TaskbarAllAppsFallbackSearchContainer.java
│ │ │ │ ├── TaskbarAllAppsSlideInView.java
│ │ │ │ ├── TaskbarAllAppsViewController.java
│ │ │ │ └── TaskbarSearchSessionController.kt
│ │ │ ├── bubbles
│ │ │ │ ├── BubbleBarBackground.kt
│ │ │ │ ├── BubbleBarController.java
│ │ │ │ ├── BubbleBarItem.kt
│ │ │ │ ├── BubbleBarPinController.kt
│ │ │ │ ├── BubbleBarView.java
│ │ │ │ ├── BubbleBarViewController.java
│ │ │ │ ├── BubbleControllers.java
│ │ │ │ ├── BubbleDismissController.java
│ │ │ │ ├── BubbleDismissViewExt.kt
│ │ │ │ ├── BubbleDragAnimator.java
│ │ │ │ ├── BubbleDragController.java
│ │ │ │ ├── BubblePinController.kt
│ │ │ │ ├── BubbleStashController.java
│ │ │ │ ├── BubbleStashedHandleViewController.java
│ │ │ │ ├── BubbleView.java
│ │ │ │ ├── OWNERS
│ │ │ │ └── animation
│ │ │ │ │ └── BubbleBarViewAnimator.kt
│ │ │ ├── customization
│ │ │ │ ├── TaskbarContainer.kt
│ │ │ │ ├── TaskbarFeatureEvaluator.kt
│ │ │ │ ├── TaskbarIconSpecs.kt
│ │ │ │ └── TaskbarSpecsEvaluator.kt
│ │ │ ├── navbutton
│ │ │ │ ├── AbstractNavButtonLayoutter.kt
│ │ │ │ ├── KidsNavLayoutter.kt
│ │ │ │ ├── LayoutResourceHelper.java
│ │ │ │ ├── NavButtonLayoutFactory.kt
│ │ │ │ ├── NearestTouchFrame.java
│ │ │ │ ├── PhoneGestureLayoutter.kt
│ │ │ │ ├── PhoneLandscapeNavLayoutter.kt
│ │ │ │ ├── PhonePortraitNavLayoutter.kt
│ │ │ │ ├── PhoneSeascapeNavLayoutter.kt
│ │ │ │ ├── SetupNavLayoutter.kt
│ │ │ │ └── TaskbarNavLayoutter.kt
│ │ │ ├── overlay
│ │ │ │ ├── TaskbarOverlayContext.java
│ │ │ │ ├── TaskbarOverlayController.java
│ │ │ │ └── TaskbarOverlayDragLayer.java
│ │ │ └── unfold
│ │ │ │ └── NonDestroyableScopedUnfoldTransitionProgressProvider.java
│ │ └── uioverrides
│ │ │ ├── BaseRecentsViewStateController.java
│ │ │ ├── PredictedAppIcon.java
│ │ │ ├── QuickstepAppWidgetHost.java
│ │ │ ├── QuickstepInteractionHandler.java
│ │ │ ├── QuickstepLauncher.java
│ │ │ ├── QuickstepWidgetHolder.java
│ │ │ ├── RecentsViewStateController.java
│ │ │ ├── SystemApiWrapper.kt
│ │ │ ├── flags
│ │ │ └── DevOptionsUiHelper.kt
│ │ │ ├── plugins
│ │ │ ├── PluginEnablerImpl.java
│ │ │ └── PluginManagerWrapperImpl.java
│ │ │ ├── states
│ │ │ ├── AllAppsState.java
│ │ │ ├── BackgroundAppState.java
│ │ │ ├── OverviewModalTaskState.java
│ │ │ ├── OverviewState.java
│ │ │ ├── QuickSwitchState.java
│ │ │ ├── QuickstepAtomicAnimationFactory.java
│ │ │ └── SplitScreenSelectState.java
│ │ │ └── touchcontrollers
│ │ │ ├── NavBarToHomeTouchController.java
│ │ │ ├── NoButtonNavbarToOverviewTouchController.java
│ │ │ ├── NoButtonQuickSwitchTouchController.java
│ │ │ ├── PortraitOverviewStateTouchHelper.java
│ │ │ ├── PortraitStatesTouchController.java
│ │ │ ├── QuickSwitchTouchController.java
│ │ │ ├── StatusBarTouchController.java
│ │ │ ├── TaskViewTouchController.java
│ │ │ ├── TransposedQuickSwitchTouchController.java
│ │ │ └── TwoButtonNavbarTouchController.java
│ │ └── quickstep
│ │ ├── AbsSwipeUpHandler.java
│ │ ├── AllAppsActionManager.kt
│ │ ├── BaseActivityInterface.java
│ │ ├── BaseContainerInterface.java
│ │ ├── BinderTracker.java
│ │ ├── DesktopSystemShortcut.kt
│ │ ├── DeviceConfigWrapper.kt
│ │ ├── FallbackActivityInterface.java
│ │ ├── FallbackSwipeHandler.java
│ │ ├── GestureState.java
│ │ ├── HomeVisibilityState.kt
│ │ ├── ImageActionsApi.java
│ │ ├── InputConsumer.java
│ │ ├── InstantAppResolverImpl.java
│ │ ├── LauncherActivityInterface.java
│ │ ├── LauncherBackAnimationController.java
│ │ ├── LauncherRestoreEventLoggerImpl.kt
│ │ ├── LauncherSearchIndexablesProvider.java
│ │ ├── LauncherSwipeHandlerV2.java
│ │ ├── MultiStateCallback.java
│ │ ├── NavHandle.java
│ │ ├── OrientationRectF.java
│ │ ├── OrientationTouchTransformer.java
│ │ ├── OverviewCommandHelper.java
│ │ ├── OverviewComponentObserver.java
│ │ ├── QuickstepProcessInitializer.java
│ │ ├── QuickstepTestInformationHandler.java
│ │ ├── RecentTasksList.java
│ │ ├── RecentsActivity.java
│ │ ├── RecentsAnimationCallbacks.java
│ │ ├── RecentsAnimationController.java
│ │ ├── RecentsAnimationDeviceState.java
│ │ ├── RecentsAnimationTargets.java
│ │ ├── RecentsFilterState.java
│ │ ├── RecentsModel.java
│ │ ├── RemoteAnimationTargets.java
│ │ ├── RemoteRunnable.java
│ │ ├── RemoteTargetGluer.java
│ │ ├── RotationTouchHelper.java
│ │ ├── SimpleOrientationTouchTransformer.java
│ │ ├── SplitSelectionListener.kt
│ │ ├── SwipeUpAnimationLogic.java
│ │ ├── SystemUiProxy.java
│ │ ├── TaskAnimationManager.java
│ │ ├── TaskIconCache.java
│ │ ├── TaskOverlayFactory.java
│ │ ├── TaskShortcutFactory.java
│ │ ├── TaskThumbnailCache.java
│ │ ├── TaskUtils.java
│ │ ├── TaskViewUtils.java
│ │ ├── TopTaskTracker.java
│ │ ├── TouchInteractionService.java
│ │ ├── ViewUtils.java
│ │ ├── fallback
│ │ ├── FallbackNavBarTouchController.java
│ │ ├── FallbackRecentsStateController.java
│ │ ├── FallbackRecentsView.java
│ │ ├── RecentsDragLayer.java
│ │ ├── RecentsState.java
│ │ └── RecentsTaskController.java
│ │ ├── inputconsumers
│ │ ├── AccessibilityInputConsumer.java
│ │ ├── AssistantInputConsumer.java
│ │ ├── DelegateInputConsumer.java
│ │ ├── DeviceLockedInputConsumer.java
│ │ ├── NavHandleLongPressHandler.java
│ │ ├── NavHandleLongPressInputConsumer.java
│ │ ├── OneHandedModeInputConsumer.java
│ │ ├── OtherActivityInputConsumer.java
│ │ ├── OverviewInputConsumer.java
│ │ ├── OverviewWithoutFocusInputConsumer.java
│ │ ├── ProgressDelegateInputConsumer.java
│ │ ├── ResetGestureInputConsumer.java
│ │ ├── ScreenPinnedInputConsumer.java
│ │ ├── SysUiOverlayInputConsumer.java
│ │ ├── TaskbarUnstashInputConsumer.java
│ │ └── TrackpadStatusBarInputConsumer.java
│ │ ├── interaction
│ │ ├── AllSetActivity.java
│ │ ├── AnimatedTaskView.java
│ │ ├── AnimatedTaskbarView.java
│ │ ├── BackGestureTutorialController.java
│ │ ├── BackGestureTutorialFragment.java
│ │ ├── EdgeBackGestureHandler.java
│ │ ├── EdgeBackGesturePanel.java
│ │ ├── GestureSandboxActivity.java
│ │ ├── GestureSandboxFragment.java
│ │ ├── HomeGestureTutorialController.java
│ │ ├── HomeGestureTutorialFragment.java
│ │ ├── MenuFragment.java
│ │ ├── NavBarGestureHandler.java
│ │ ├── OverviewGestureTutorialController.java
│ │ ├── OverviewGestureTutorialFragment.java
│ │ ├── RootSandboxLayout.java
│ │ ├── RotationPromptFragment.java
│ │ ├── SwipeUpGestureTutorialController.java
│ │ ├── TutorialController.java
│ │ ├── TutorialFragment.java
│ │ └── TutorialStepIndicator.java
│ │ ├── logging
│ │ ├── SettingsChangeLogger.java
│ │ └── StatsLogCompatManager.java
│ │ ├── orientation
│ │ ├── LandscapePagedViewHandler.kt
│ │ ├── PortraitPagedViewHandler.java
│ │ ├── RecentsPagedOrientationHandler.kt
│ │ └── SeascapePagedViewHandler.kt
│ │ ├── recents
│ │ ├── data
│ │ │ ├── RecentTasksDataSource.kt
│ │ │ ├── RecentTasksRepository.kt
│ │ │ └── TasksRepository.kt
│ │ └── viewmodel
│ │ │ └── RecentsViewData.kt
│ │ ├── task
│ │ ├── thumbnail
│ │ │ ├── TaskThumbnailUiState.kt
│ │ │ ├── TaskThumbnailView.kt
│ │ │ ├── TaskThumbnailViewModel.kt
│ │ │ └── data
│ │ │ │ └── TaskThumbnailDataSource.kt
│ │ └── viewmodel
│ │ │ └── TaskViewData.kt
│ │ ├── util
│ │ ├── ActiveGestureErrorDetector.java
│ │ ├── ActiveGestureLog.java
│ │ ├── ActivityInitListener.java
│ │ ├── AnimUtils.java
│ │ ├── AnimatorControllerWithResistance.java
│ │ ├── AppPairLaunchTimings.kt
│ │ ├── AppPairsController.java
│ │ ├── AssistContentRequester.java
│ │ ├── AssistStateManager.java
│ │ ├── AssistUtils.java
│ │ ├── AsyncClockEventDelegate.java
│ │ ├── BaseDepthController.java
│ │ ├── BaseUnfoldMoveFromCenterAnimator.java
│ │ ├── BorderAnimator.kt
│ │ ├── CachedEventDispatcher.java
│ │ ├── DesktopTask.java
│ │ ├── DeviceConfigHelper.kt
│ │ ├── FadeOutRemoteTransition.kt
│ │ ├── GestureExclusionManager.kt
│ │ ├── GroupTask.java
│ │ ├── ImageActionUtils.java
│ │ ├── InputConsumerProxy.java
│ │ ├── InputProxyHandlerFactory.java
│ │ ├── LauncherUnfoldAnimationController.java
│ │ ├── LauncherViewsMoveFromCenterTranslationApplier.java
│ │ ├── LayoutUtils.java
│ │ ├── LogUtils.kt
│ │ ├── LottieAnimationColorUtils.java
│ │ ├── MotionPauseDetector.java
│ │ ├── MultiValueUpdateListener.java
│ │ ├── NavBarPosition.kt
│ │ ├── OverviewToHomeAnim.java
│ │ ├── OverviewToSplitTimings.java
│ │ ├── PhoneAppPairLaunchTimings.kt
│ │ ├── PhoneOverviewToSplitTimings.java
│ │ ├── PhoneSplitToConfirmTimings.java
│ │ ├── QuickstepOnboardingPrefs.java
│ │ ├── RecentsAtomicAnimationFactory.java
│ │ ├── RecentsOrientedState.java
│ │ ├── RecordingSurfaceTransaction.java
│ │ ├── RectFSpringAnim.java
│ │ ├── ScalingWorkspaceRevealAnim.kt
│ │ ├── SlideInRemoteTransition.kt
│ │ ├── SplitAnimationController.kt
│ │ ├── SplitAnimationTimings.java
│ │ ├── SplitScreenUtils.kt
│ │ ├── SplitSelectDataHolder.kt
│ │ ├── SplitSelectStateController.java
│ │ ├── SplitToConfirmTimings.java
│ │ ├── SplitToWorkspaceController.java
│ │ ├── SplitWithKeyboardShortcutController.java
│ │ ├── StaggeredWorkspaceAnim.java
│ │ ├── SurfaceTransaction.java
│ │ ├── SurfaceTransactionApplier.java
│ │ ├── SwipePipToHomeAnimator.java
│ │ ├── SystemActionConstants.java
│ │ ├── SystemUiFlagUtils.kt
│ │ ├── SystemWindowManagerProxy.java
│ │ ├── TISBindHelper.java
│ │ ├── TabletAppPairLaunchTimings.kt
│ │ ├── TabletHomeToSplitTimings.java
│ │ ├── TabletOverviewToSplitTimings.java
│ │ ├── TabletSplitToConfirmTimings.java
│ │ ├── TaskCornerRadius.java
│ │ ├── TaskGridNavHelper.java
│ │ ├── TaskKeyByLastActiveTimeCache.java
│ │ ├── TaskKeyCache.java
│ │ ├── TaskKeyLruCache.java
│ │ ├── TaskRemovedDuringLaunchListener.java
│ │ ├── TaskRestartedDuringLaunchListener.java
│ │ ├── TaskViewSimulator.java
│ │ ├── TaskVisualsChangeListener.java
│ │ ├── TransformParams.java
│ │ ├── TriggerSwipeUpTouchTracker.java
│ │ ├── UnfoldMoveFromCenterHotseatAnimator.java
│ │ ├── UnfoldMoveFromCenterWorkspaceAnimator.java
│ │ ├── VibrationConstants.java
│ │ ├── WorkspaceRevealAnim.java
│ │ └── unfold
│ │ │ ├── LauncherJankMonitorTransitionProgressListener.kt
│ │ │ ├── LauncherUnfoldTransitionController.kt
│ │ │ ├── PreemptiveUnfoldTransitionProgressProvider.kt
│ │ │ ├── ProxyUnfoldTransitionProvider.kt
│ │ │ └── UnfoldAnimationBuilder.kt
│ │ └── views
│ │ ├── AllAppsEduView.java
│ │ ├── ClearAllButton.java
│ │ ├── DesktopTaskView.kt
│ │ ├── DigitalWellBeingToast.java
│ │ ├── FloatingAppPairBackground.kt
│ │ ├── FloatingAppPairView.kt
│ │ ├── FloatingFullscreenAppPairBackground.kt
│ │ ├── FloatingTaskThumbnailView.java
│ │ ├── FloatingTaskView.java
│ │ ├── FloatingWidgetBackgroundView.java
│ │ ├── FloatingWidgetView.java
│ │ ├── GroupedTaskView.kt
│ │ ├── IconAppChipView.java
│ │ ├── IconView.java
│ │ ├── LaunchableConstraintLayout.kt
│ │ ├── LauncherRecentsView.java
│ │ ├── OverviewActionsView.java
│ │ ├── RecentsView.java
│ │ ├── RecentsViewContainer.java
│ │ ├── SplitInstructionsView.java
│ │ ├── SplitPlaceholderView.java
│ │ ├── TaskMenuView.java
│ │ ├── TaskMenuViewWithArrow.kt
│ │ ├── TaskThumbnailViewDeprecated.java
│ │ ├── TaskView.kt
│ │ └── TaskViewIcon.java
└── tests
│ ├── OWNERS
│ ├── multivalentTests
│ ├── multivalentTests1.iml
│ ├── multivalentTestsForDevice.iml
│ └── src
│ │ └── com
│ │ └── android
│ │ ├── launcher3
│ │ ├── model
│ │ │ └── AppEventProducerTest.java
│ │ └── taskbar
│ │ │ ├── RecentsHitboxExtenderTest.java
│ │ │ ├── TaskbarNavButtonControllerTest.java
│ │ │ ├── TaskbarUnitTestRule.kt
│ │ │ ├── allapps
│ │ │ └── TaskbarAllAppsControllerTest.kt
│ │ │ ├── bubbles
│ │ │ ├── OWNERS
│ │ │ └── animation
│ │ │ │ └── BubbleBarViewAnimatorTest.kt
│ │ │ ├── navbutton
│ │ │ └── NavButtonLayoutFactoryTest.kt
│ │ │ └── overlay
│ │ │ └── TaskbarOverlayControllerTest.kt
│ │ └── quickstep
│ │ ├── AllAppsActionManagerTest.kt
│ │ ├── FullscreenDrawParamsTest.kt
│ │ ├── HotseatWidthCalculationTest.kt
│ │ ├── NavigationBarRotationContextTest.java
│ │ ├── RobolectricTest.kt
│ │ ├── orientation
│ │ ├── LandscapePagedViewHandlerTest.kt
│ │ └── SeascapePagedViewHandlerTest.kt
│ │ ├── recents
│ │ └── data
│ │ │ ├── FakeRecentTasksDataSource.kt
│ │ │ ├── FakeTaskThumbnailDataSource.kt
│ │ │ ├── FakeTasksRepository.kt
│ │ │ └── TasksRepositoryTest.kt
│ │ ├── task
│ │ └── thumbnail
│ │ │ └── TaskThumbnailViewModelTest.kt
│ │ └── util
│ │ ├── AppPairsControllerTest.kt
│ │ ├── RecentsOrientedStateTest.java
│ │ ├── SplitAnimationControllerTest.kt
│ │ ├── SplitSelectStateControllerTest.kt
│ │ ├── TaskGridNavHelperTest.java
│ │ ├── TaskKeyByLastActiveTimeCacheTest.java
│ │ └── TaskViewSimulatorTest.java
│ ├── multivalentTestsForDevice
│ ├── src
│ └── com
│ │ └── android
│ │ ├── launcher3
│ │ ├── model
│ │ │ ├── QuickstepModelDelegateTest.kt
│ │ │ ├── WidgetsPredicationUpdateTaskTest.java
│ │ │ └── WidgetsPredictionsRequesterTest.kt
│ │ ├── taskbar
│ │ │ ├── FallbackTaskbarUIControllerTest.kt
│ │ │ ├── TaskbarBaseTestCase.kt
│ │ │ ├── TaskbarHoverToolTipControllerTest.java
│ │ │ ├── TaskbarKeyguardControllerTest.kt
│ │ │ └── TaskbarRecentAppsControllerTest.kt
│ │ └── testcomponent
│ │ │ └── ExcludeFromRecentsTestActivity.java
│ │ └── quickstep
│ │ ├── AbstractQuickStepTest.java
│ │ ├── AbstractTaplTestsTaskbar.java
│ │ ├── DesktopSystemShortcutTest.kt
│ │ ├── FallbackRecentsTest.java
│ │ ├── NavigationModeSwitchRule.java
│ │ ├── OrientationTouchTransformerTest.java
│ │ ├── RecentTasksListTest.java
│ │ ├── RecentsAnimationDeviceStateTest.kt
│ │ ├── RecentsModelTest.java
│ │ ├── TaplDigitalWellBeingToastTest.java
│ │ ├── TaplOverviewIconTest.java
│ │ ├── TaplPrivateSpaceTest.java
│ │ ├── TaplStartLauncherViaGestureTests.java
│ │ ├── TaplTestsKeyboardQuickSwitch.java
│ │ ├── TaplTestsPersistentTaskbar.java
│ │ ├── TaplTestsQuickstep.java
│ │ ├── TaplTestsSplitscreen.java
│ │ ├── TaplTestsTaskbar.java
│ │ ├── TaplTestsTrackpad.java
│ │ ├── TaplTestsTransientTaskbar.java
│ │ ├── TaskThumbnailCacheTest.java
│ │ ├── TaskViewTest.java
│ │ ├── TaskbarModeSwitchRule.java
│ │ ├── taskbar
│ │ ├── controllers
│ │ │ └── TaskbarPinningControllerTest.kt
│ │ └── customization
│ │ │ └── TaskbarSpecsEvaluatorTest.kt
│ │ └── util
│ │ ├── GestureExclusionManagerTest.kt
│ │ ├── SplitSelectDataHolderTest.kt
│ │ ├── TaplTestsPredictionRow.java
│ │ └── unfold
│ │ └── PreemptiveUnfoldTransitionProgressProviderTest.kt
│ └── tests1.iml
├── res
├── anim-v33
│ ├── shared_x_axis_activity_close_enter.xml
│ ├── shared_x_axis_activity_close_exit.xml
│ ├── shared_x_axis_activity_open_enter.xml
│ └── shared_x_axis_activity_open_exit.xml
├── anim
│ ├── no_anim.xml
│ └── task_open_enter.xml
├── animator
│ ├── all_apps_fastscroll_icon_anim.xml
│ ├── discovery_bounce.xml
│ └── overview_button_anim.xml
├── color-night-v31
│ ├── accent_ripple_color.xml
│ ├── all_apps_button_color.xml
│ ├── all_apps_button_color_2.xml
│ ├── all_apps_tab_background_selected.xml
│ ├── all_apps_tab_text.xml
│ ├── all_apps_tabs_background.xml
│ ├── folder_background_dark.xml
│ ├── folder_preview_dark.xml
│ ├── material_color_surface.xml
│ ├── material_color_surface_bright.xml
│ ├── material_color_surface_container.xml
│ ├── material_color_surface_container_high.xml
│ ├── material_color_surface_container_highest.xml
│ ├── material_color_surface_container_low.xml
│ ├── material_color_surface_container_lowest.xml
│ ├── material_color_surface_dim.xml
│ ├── material_color_surface_inverse.xml
│ ├── material_color_surface_variant.xml
│ ├── popup_color_background.xml
│ ├── popup_shade_first.xml
│ ├── popup_shade_second.xml
│ ├── popup_shade_third.xml
│ ├── taskbar_background.xml
│ ├── taskbar_divider_background.xml
│ ├── taskbar_stroke.xml
│ ├── widget_picker_primary_surface_color_dark.xml
│ ├── widget_picker_secondary_surface_color_dark.xml
│ └── widget_picker_tab_background_unselected_dark.xml
├── color-night
│ ├── accent_ripple_color.xml
│ ├── all_apps_tab_background_selected.xml
│ ├── all_apps_tab_text.xml
│ └── all_apps_tabs_background.xml
├── color-v31
│ ├── accent_ripple_color.xml
│ ├── all_apps_button_bg_color.xml
│ ├── all_apps_button_color.xml
│ ├── all_apps_button_color_1.xml
│ ├── all_apps_button_color_2.xml
│ ├── all_apps_button_color_3.xml
│ ├── all_apps_button_color_4.xml
│ ├── all_apps_tab_background_selected.xml
│ ├── all_apps_tab_text.xml
│ ├── all_apps_tabs_background.xml
│ ├── folder_background_light.xml
│ ├── folder_preview_light.xml
│ ├── home_settings_switch_thumb_color.xml
│ ├── home_settings_switch_track_color.xml
│ ├── material_color_surface.xml
│ ├── material_color_surface_bright.xml
│ ├── material_color_surface_container.xml
│ ├── material_color_surface_container_high.xml
│ ├── material_color_surface_container_highest.xml
│ ├── material_color_surface_container_low.xml
│ ├── material_color_surface_container_lowest.xml
│ ├── material_color_surface_dim.xml
│ ├── material_color_surface_inverse.xml
│ ├── material_color_surface_variant.xml
│ ├── overview_scrim.xml
│ ├── overview_scrim_dark.xml
│ ├── popup_color_background.xml
│ ├── popup_shade_first.xml
│ ├── popup_shade_second.xml
│ ├── popup_shade_third.xml
│ ├── taskbar_background.xml
│ ├── taskbar_divider_background.xml
│ ├── taskbar_edu_button_color.xml
│ ├── widget_picker_primary_surface_color_light.xml
│ └── widget_picker_secondary_surface_color_light.xml
├── color-v33
│ ├── overview_scrim.xml
│ └── overview_scrim_dark.xml
├── color
│ ├── accent_ripple_color.xml
│ ├── all_apps_bg_hand_fill.xml
│ ├── all_apps_bg_hand_fill_dark.xml
│ ├── all_apps_tab_background_selected.xml
│ ├── all_apps_tab_text.xml
│ ├── all_apps_tabs_background.xml
│ ├── arrow_tip_view_bg.xml
│ ├── arrow_tip_view_content.xml
│ ├── button_bg.xml
│ ├── button_text.xml
│ ├── cell_layout_bg_color.xml
│ ├── drop_target_text.xml
│ ├── overview_button.xml
│ ├── overview_scrim.xml
│ ├── overview_scrim_dark.xml
│ ├── popup_color_background.xml
│ ├── popup_shade_first.xml
│ ├── popup_shade_second.xml
│ ├── popup_shade_third.xml
│ ├── surface.xml
│ ├── system_shortcut_text.xml
│ ├── taskbar_background_dark.xml
│ ├── taskbar_stroke.xml
│ ├── widget_picker_tab_text.xml
│ └── widgets_picker_scrim.xml
├── drawable-hdpi
│ └── ic_widget_resize_handle.png
├── drawable-mdpi
│ └── ic_widget_resize_handle.png
├── drawable-sw720dp
│ ├── ic_transient_taskbar_all_apps_button.xml
│ └── ic_transient_taskbar_all_apps_search_button.xml
├── drawable-v28
│ ├── bg_celllayout.xml
│ ├── round_rect_folder.xml
│ ├── round_rect_primary.xml
│ └── top_round_rect_primary.xml
├── drawable-v31
│ ├── home_settings_switch_thumb.xml
│ └── home_settings_switch_track.xml
├── drawable-xhdpi
│ └── ic_widget_resize_handle.png
├── drawable-xxhdpi
│ └── ic_widget_resize_handle.png
├── drawable-xxxhdpi
│ └── ic_widget_resize_handle.png
├── drawable
│ ├── add_item_dialog_background.xml
│ ├── all_apps_divider.xml
│ ├── all_apps_search_hint.xml
│ ├── all_apps_tabs_background.xml
│ ├── arrow_toast_rounded_background.xml
│ ├── bg_all_apps_button.xml
│ ├── bg_all_apps_searchbox.xml
│ ├── bg_celllayout.xml
│ ├── bg_notification_content.xml
│ ├── bg_ps_header.xml
│ ├── bg_ps_lock_button.xml
│ ├── bg_ps_mask_left_corner.xml
│ ├── bg_ps_mask_right_corner.xml
│ ├── bg_ps_transition_image.xml
│ ├── bg_ps_unlock_button.xml
│ ├── bg_rounded_corner_bottom_sheet.xml
│ ├── bg_rounded_corner_bottom_sheet_handle.xml
│ ├── bg_widgets_content.xml
│ ├── bg_widgets_full_sheet.xml
│ ├── bg_widgets_header.xml
│ ├── bg_widgets_header_states.xml
│ ├── bg_widgets_header_states_two_pane.xml
│ ├── bg_widgets_header_two_pane.xml
│ ├── bg_widgets_searchbox.xml
│ ├── bg_work_apps_paused_action_button.xml
│ ├── bottom_sheet_top_border.xml
│ ├── bubble_ic_overflow_button.xml
│ ├── button_bottom_rounded_colored_ripple.xml
│ ├── button_rounded_colored_ripple.xml
│ ├── button_top_rounded_bordered_ripple.xml
│ ├── deep_shortcuts_text_placeholder.xml
│ ├── drop_target_background.xml
│ ├── drop_target_frame.xml
│ ├── drop_target_frame_hover.xml
│ ├── enter_home_gardening_icon.xml
│ ├── full_rounded_colored_ripple.xml
│ ├── full_rounded_transparent_ripple.xml
│ ├── gm_edit_24.xml
│ ├── gutter_horizontal.xml
│ ├── horizontal_ellipsis.xml
│ ├── ic_allapps_search.xml
│ ├── ic_apps.xml
│ ├── ic_block_no_shadow.xml
│ ├── ic_caption_desktop_button_foreground.xml
│ ├── ic_conversations_widget_category.xml
│ ├── ic_corp.xml
│ ├── ic_corp_off.xml
│ ├── ic_deepshortcut_placeholder.xml
│ ├── ic_expand_less.xml
│ ├── ic_expand_more.xml
│ ├── ic_gm_close_24.xml
│ ├── ic_info_no_shadow.xml
│ ├── ic_install_no_shadow.xml
│ ├── ic_install_to_private.xml
│ ├── ic_launcher_home.xml
│ ├── ic_lock.xml
│ ├── ic_note_taking_widget_category.xml
│ ├── ic_palette.xml
│ ├── ic_pin.xml
│ ├── ic_plus.xml
│ ├── ic_private_profile_app_scroller_badge.xml
│ ├── ic_private_space_with_background.xml
│ ├── ic_ps_settings.xml
│ ├── ic_remove_no_shadow.xml
│ ├── ic_select_windows.xml
│ ├── ic_setting.xml
│ ├── ic_split_exit.xml
│ ├── ic_split_horizontal.xml
│ ├── ic_split_vertical.xml
│ ├── ic_taskbar_all_apps_button.xml
│ ├── ic_taskbar_all_apps_search_button.xml
│ ├── ic_touch.xml
│ ├── ic_transient_taskbar_all_apps_button.xml
│ ├── ic_transient_taskbar_all_apps_search_button.xml
│ ├── ic_uninstall_no_shadow.xml
│ ├── ic_visibility.xml
│ ├── ic_warning.xml
│ ├── ic_widget.xml
│ ├── ic_widget_height_decrease.xml
│ ├── ic_widget_height_increase.xml
│ ├── ic_widget_width_decrease.xml
│ ├── ic_widget_width_increase.xml
│ ├── icon_menu_arrow_background.xml
│ ├── middle_item_primary.xml
│ ├── padded_rounded_action_button.xml
│ ├── page_indicator.xml
│ ├── pending_widget_bg.xml
│ ├── popup_background.xml
│ ├── private_space_app_divider.xml
│ ├── private_space_install_app_icon.xml
│ ├── ps_lock_background.xml
│ ├── ps_settings_background.xml
│ ├── qsb_host_view_focus_bg.xml
│ ├── round_rect_folder.xml
│ ├── round_rect_primary.xml
│ ├── rounded_action_button.xml
│ ├── rounded_popup_ripple.xml
│ ├── single_item_primary.xml
│ ├── tooltip_frame.xml
│ ├── widget_cell_add_button_background.xml
│ ├── widget_internal_focus_bg.xml
│ ├── widget_picker_collapse_handle.xml
│ ├── widget_picker_preview_pane_scroll_thumb.xml
│ ├── widget_picker_tabs_background.xml
│ ├── widget_reconfigure_button_frame.xml
│ ├── widget_resize_frame.xml
│ ├── widget_suggestions.xml
│ ├── widget_suggestions_icon.xml
│ ├── widgets_surface_background.xml
│ ├── widgets_tray_expand_button.xml
│ ├── work_apps_toggle_background.xml
│ ├── work_card.xml
│ └── work_mode_fab_background.xml
├── interpolator
│ ├── decelerate_quart.xml
│ ├── decelerate_quint.xml
│ ├── disco_bounce.xml
│ └── large_folder_preview_item_open_interpolator.xml
├── layout-v31
│ └── settings_activity.xml
├── layout
│ ├── add_item_confirmation_activity.xml
│ ├── all_apps.xml
│ ├── all_apps_bottom_sheet_background.xml
│ ├── all_apps_content.xml
│ ├── all_apps_divider.xml
│ ├── all_apps_empty_search.xml
│ ├── all_apps_fast_scroller.xml
│ ├── all_apps_icon.xml
│ ├── all_apps_icon_twoline.xml
│ ├── all_apps_personal_work_tabs.xml
│ ├── all_apps_prediction_row_icon.xml
│ ├── all_apps_rv_layout.xml
│ ├── all_apps_tabs.xml
│ ├── app_icon.xml
│ ├── app_pair_icon.xml
│ ├── app_widget_resize_frame.xml
│ ├── appwidget_error.xml
│ ├── appwidget_not_ready.xml
│ ├── arrow_toast.xml
│ ├── deep_shortcut.xml
│ ├── deep_shortcut_container.xml
│ ├── develop_options_edit_text.xml
│ ├── developer_options_top_bar.xml
│ ├── drop_target_bar.xml
│ ├── drop_target_tool_tip.xml
│ ├── floating_app_pair_view.xml
│ ├── floating_header_content.xml
│ ├── floating_icon_view.xml
│ ├── floating_split_select_view.xml
│ ├── floating_surface_view.xml
│ ├── floating_widget_view.xml
│ ├── folder_app_pair.xml
│ ├── folder_application.xml
│ ├── folder_icon.xml
│ ├── folder_page.xml
│ ├── home_settings.xml
│ ├── hotseat.xml
│ ├── keyboard_drag_and_drop.xml
│ ├── launcher.xml
│ ├── launcher_preview_layout.xml
│ ├── launcher_preview_two_panel_layout.xml
│ ├── longpress_options_menu.xml
│ ├── notification_gutter.xml
│ ├── notification_pref_warning.xml
│ ├── overview_actions_container.xml
│ ├── overview_panel.xml
│ ├── page_indicator_dots.xml
│ ├── popup_container.xml
│ ├── predicted_app_icon.xml
│ ├── private_space_divider.xml
│ ├── private_space_header.xml
│ ├── private_space_mask_view.xml
│ ├── qsb_default_view.xml
│ ├── qsb_preview.xml
│ ├── search_container_all_apps.xml
│ ├── search_container_hotseat.xml
│ ├── search_container_workspace.xml
│ ├── search_results_rv_layout.xml
│ ├── secondary_launcher.xml
│ ├── settings_activity.xml
│ ├── snackbar.xml
│ ├── system_shortcut.xml
│ ├── system_shortcut_content.xml
│ ├── system_shortcut_icon_only.xml
│ ├── system_shortcut_icon_only_end.xml
│ ├── system_shortcut_icon_only_start.xml
│ ├── system_shortcut_icons_container.xml
│ ├── system_shortcut_rows_container.xml
│ ├── system_shortcut_spacer.xml
│ ├── user_folder_icon_normalized.xml
│ ├── widget_cell.xml
│ ├── widget_cell_content.xml
│ ├── widget_list_divider.xml
│ ├── widget_recommendations.xml
│ ├── widget_recommendations_table.xml
│ ├── widget_shortcut_container.xml
│ ├── widget_shortcut_container_material_u.xml
│ ├── widgets_bottom_sheet.xml
│ ├── widgets_bottom_sheet_content.xml
│ ├── widgets_full_sheet.xml
│ ├── widgets_full_sheet_paged_view.xml
│ ├── widgets_full_sheet_recyclerview.xml
│ ├── widgets_list_row_header.xml
│ ├── widgets_list_row_header_two_pane.xml
│ ├── widgets_list_row_view.xml
│ ├── widgets_search_bar.xml
│ ├── widgets_table_container.xml
│ ├── widgets_two_pane_sheet.xml
│ ├── widgets_two_pane_sheet_paged_view.xml
│ ├── widgets_two_pane_sheet_recyclerview.xml
│ ├── work_apps_edu.xml
│ ├── work_apps_paused.xml
│ ├── work_mode_fab.xml
│ ├── workspace_screen.xml
│ └── workspace_screen_foldable.xml
├── mipmap-hdpi
│ └── ic_launcher_home_foreground.png
├── mipmap-mdpi
│ └── ic_launcher_home_foreground.png
├── mipmap-xhdpi
│ └── ic_launcher_home_foreground.png
├── mipmap-xxhdpi
│ └── ic_launcher_home_foreground.png
├── raw
│ └── downgrade_schema.json
├── values-af
│ └── strings.xml
├── values-am
│ └── strings.xml
├── values-ar
│ └── strings.xml
├── values-as
│ └── strings.xml
├── values-az
│ └── strings.xml
├── values-b+sr+Latn
│ └── strings.xml
├── values-be
│ └── strings.xml
├── values-bg
│ └── strings.xml
├── values-bn
│ └── strings.xml
├── values-bs
│ └── strings.xml
├── values-ca
│ └── strings.xml
├── values-cs
│ └── strings.xml
├── values-da
│ └── strings.xml
├── values-de
│ └── strings.xml
├── values-el
│ └── strings.xml
├── values-en-rAU
│ └── strings.xml
├── values-en-rCA
│ └── strings.xml
├── values-en-rGB
│ └── strings.xml
├── values-en-rIN
│ └── strings.xml
├── values-en-rXC
│ └── strings.xml
├── values-es-rUS
│ └── strings.xml
├── values-es
│ └── strings.xml
├── values-et
│ └── strings.xml
├── values-eu
│ └── strings.xml
├── values-fa
│ └── strings.xml
├── values-fi
│ └── strings.xml
├── values-fr-rCA
│ └── strings.xml
├── values-fr
│ └── strings.xml
├── values-gl
│ └── strings.xml
├── values-gu
│ └── strings.xml
├── values-hi
│ └── strings.xml
├── values-hr
│ └── strings.xml
├── values-hu
│ └── strings.xml
├── values-hy
│ └── strings.xml
├── values-in
│ └── strings.xml
├── values-is
│ └── strings.xml
├── values-it
│ └── strings.xml
├── values-iw
│ └── strings.xml
├── values-ja
│ └── strings.xml
├── values-ka
│ └── strings.xml
├── values-kk
│ └── strings.xml
├── values-km
│ └── strings.xml
├── values-kn
│ └── strings.xml
├── values-ko
│ └── strings.xml
├── values-ky
│ └── strings.xml
├── values-land
│ ├── dimens.xml
│ └── styles.xml
├── values-ldrtl
│ └── strings.xml
├── values-lo
│ └── strings.xml
├── values-lt
│ └── strings.xml
├── values-lv
│ └── strings.xml
├── values-mk
│ └── strings.xml
├── values-ml
│ └── strings.xml
├── values-mn
│ └── strings.xml
├── values-mr
│ └── strings.xml
├── values-ms
│ └── strings.xml
├── values-my
│ └── strings.xml
├── values-nb
│ └── strings.xml
├── values-ne
│ └── strings.xml
├── values-night-v31
│ └── colors.xml
├── values-night-v34
│ └── colors.xml
├── values-night
│ ├── colors.xml
│ └── styles.xml
├── values-nl
│ └── strings.xml
├── values-or
│ └── strings.xml
├── values-pa
│ └── strings.xml
├── values-pl
│ └── strings.xml
├── values-pt-rPT
│ └── strings.xml
├── values-pt
│ └── strings.xml
├── values-ro
│ └── strings.xml
├── values-ru
│ └── strings.xml
├── values-si
│ └── strings.xml
├── values-sk
│ └── strings.xml
├── values-sl
│ └── strings.xml
├── values-sq
│ └── strings.xml
├── values-sr
│ └── strings.xml
├── values-sv
│ └── strings.xml
├── values-sw
│ └── strings.xml
├── values-sw340dp
│ └── dimens.xml
├── values-sw600dp-land
│ └── dimens.xml
├── values-sw600dp
│ ├── config.xml
│ ├── dimens.xml
│ └── styles.xml
├── values-sw720dp-land
│ └── dimens.xml
├── values-sw720dp
│ └── dimens.xml
├── values-ta
│ └── strings.xml
├── values-te
│ └── strings.xml
├── values-th
│ └── strings.xml
├── values-tl
│ └── strings.xml
├── values-tr
│ └── strings.xml
├── values-uk
│ └── strings.xml
├── values-ur
│ └── strings.xml
├── values-uz
│ └── strings.xml
├── values-v28
│ └── dimens.xml
├── values-v29
│ └── styles.xml
├── values-v30
│ └── styles.xml
├── values-v31
│ ├── colors.xml
│ ├── config.xml
│ └── styles.xml
├── values-v33
│ └── style.xml
├── values-v34
│ └── colors.xml
├── values-vi
│ └── strings.xml
├── values-zh-rCN
│ └── strings.xml
├── values-zh-rHK
│ └── strings.xml
├── values-zh-rTW
│ └── strings.xml
├── values-zu
│ └── strings.xml
├── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── config.xml
│ ├── dimens.xml
│ ├── id.xml
│ ├── strings.xml
│ └── styles.xml
└── xml
│ ├── backupscheme.xml
│ ├── default_workspace_3x3.xml
│ ├── default_workspace_4x4.xml
│ ├── default_workspace_5x5.xml
│ ├── default_workspace_6x5.xml
│ ├── device_profiles.xml
│ ├── dynamic_resources.xml
│ ├── folder_shapes.xml
│ ├── grayscale_icon_map.xml
│ ├── launcher_preferences.xml
│ ├── paddings_6x5.xml
│ ├── paddings_handhelds.xml
│ ├── split_configuration.xml
│ └── widget_sections.xml
├── settings.gradle
├── src
└── com
│ └── android
│ └── launcher3
│ ├── AbstractFloatingView.java
│ ├── AbstractFloatingViewHelper.kt
│ ├── Alarm.java
│ ├── AppFilter.java
│ ├── AppWidgetResizeFrame.java
│ ├── AppWidgetsRestoredReceiver.java
│ ├── AutoInstallsLayout.java
│ ├── BaseActivity.java
│ ├── BaseDraggingActivity.java
│ ├── BubbleTextView.java
│ ├── ButtonDropTarget.java
│ ├── CellLayout.java
│ ├── CellLayoutContainer.java
│ ├── CheckLongPressHelper.java
│ ├── DefaultLayoutParser.java
│ ├── DeleteDropTarget.java
│ ├── DevicePaddings.java
│ ├── DeviceProfile.java
│ ├── DragSource.java
│ ├── DropTarget.java
│ ├── DropTargetBar.java
│ ├── DropTargetHandler.kt
│ ├── ExtendedEditText.java
│ ├── FastScrollRecyclerView.java
│ ├── FirstFrameAnimatorHelper.java
│ ├── GestureNavContract.java
│ ├── Hotseat.java
│ ├── Insettable.java
│ ├── InsettableFrameLayout.java
│ ├── InterruptibleInOutAnimator.java
│ ├── InvariantDeviceProfile.java
│ ├── Launcher.java
│ ├── LauncherAnimUtils.java
│ ├── LauncherAppState.java
│ ├── LauncherApplication.java
│ ├── LauncherBackupAgent.java
│ ├── LauncherConstants.java
│ ├── LauncherFiles.java
│ ├── LauncherModel.java
│ ├── LauncherPrefs.kt
│ ├── LauncherProvider.java
│ ├── LauncherRootView.java
│ ├── LauncherSettings.java
│ ├── LauncherState.java
│ ├── LogAccelerateInterpolator.java
│ ├── LogDecelerateInterpolator.java
│ ├── MainProcessInitializer.java
│ ├── ModelCallbacks.kt
│ ├── MotionEventsUtils.java
│ ├── MultipageCellLayout.java
│ ├── OnAlarmListener.java
│ ├── PagedView.java
│ ├── PendingAddItemInfo.java
│ ├── Reorderable.java
│ ├── SecondaryDropTarget.java
│ ├── SessionCommitReceiver.java
│ ├── ShortcutAndWidgetContainer.java
│ ├── Utilities.java
│ ├── UtilitiesKt.kt
│ ├── Workspace.java
│ ├── WorkspaceLayoutManager.java
│ ├── WorkspaceStateTransitionAnimation.java
│ ├── accessibility
│ ├── AccessibleDragListenerAdapter.java
│ ├── BaseAccessibilityDelegate.java
│ ├── DragAndDropAccessibilityDelegate.java
│ ├── DragViewStateAnnouncer.java
│ ├── FolderAccessibilityHelper.java
│ ├── LauncherAccessibilityDelegate.java
│ ├── ShortcutMenuAccessibilityDelegate.java
│ └── WorkspaceAccessibilityHelper.java
│ ├── allapps
│ ├── ActivityAllAppsContainerView.java
│ ├── AllAppsFastScrollHelper.java
│ ├── AllAppsGridAdapter.java
│ ├── AllAppsPagedView.java
│ ├── AllAppsRecyclerView.java
│ ├── AllAppsStore.java
│ ├── AllAppsTransitionController.java
│ ├── AllAppsTransitionListener.java
│ ├── AlphabeticalAppsList.java
│ ├── AppInfoComparator.java
│ ├── BaseAllAppsAdapter.java
│ ├── DiscoveryBounce.java
│ ├── FloatingHeaderRow.java
│ ├── FloatingHeaderView.java
│ ├── FloatingMaskView.java
│ ├── LauncherAllAppsContainerView.java
│ ├── PluginHeaderRow.java
│ ├── PrivateAppsSectionDecorator.java
│ ├── PrivateProfileManager.java
│ ├── PrivateSpaceSettingsButton.java
│ ├── RecyclerViewAnimationController.java
│ ├── SearchRecyclerView.java
│ ├── SearchTransitionController.java
│ ├── SearchUiManager.java
│ ├── SecondaryLauncherAllAppsContainerView.java
│ ├── SectionDecorationHandler.java
│ ├── SectionDecorationInfo.java
│ ├── UserProfileManager.java
│ ├── WorkEduCard.java
│ ├── WorkModeSwitch.java
│ ├── WorkPausedCard.java
│ ├── WorkProfileManager.java
│ └── search
│ │ ├── AllAppsSearchBarController.java
│ │ ├── AllAppsSearchUiDelegate.java
│ │ ├── AppsSearchContainerLayout.java
│ │ ├── DefaultAppSearchAlgorithm.java
│ │ ├── DefaultSearchAdapterProvider.java
│ │ └── SearchAdapterProvider.java
│ ├── anim
│ ├── AlphaUpdateListener.java
│ ├── AnimatedFloat.java
│ ├── AnimatedPropertySetter.java
│ ├── AnimationSuccessListener.java
│ ├── AnimatorListeners.java
│ ├── AnimatorPlaybackController.java
│ ├── FlingSpringAnim.java
│ ├── KeyboardInsetAnimationCallback.java
│ ├── PendingAnimation.java
│ ├── PropertyListBuilder.java
│ ├── PropertyResetListener.java
│ ├── PropertySetter.java
│ ├── RevealOutlineAnimation.java
│ ├── RoundedRectRevealOutlineProvider.java
│ ├── SpringAnimationBuilder.java
│ └── SpringProperty.java
│ ├── apppairs
│ ├── AppPairIcon.java
│ ├── AppPairIconDrawable.java
│ ├── AppPairIconDrawingParams.kt
│ └── AppPairIconGraphic.kt
│ ├── backuprestore
│ └── LauncherRestoreEventLogger.kt
│ ├── celllayout
│ ├── CellInfo.kt
│ ├── CellLayoutLayoutParams.java
│ ├── CellPosMapper.java
│ ├── DelegatedCellDrawing.kt
│ ├── ItemConfiguration.kt
│ ├── MulticellReorderAlgorithm.java
│ ├── ReorderAlgorithm.java
│ ├── ReorderParameters.kt
│ ├── ReorderPreviewAnimation.kt
│ └── ViewCluster.kt
│ ├── compat
│ ├── AccessibilityManagerCompat.java
│ └── AlphabeticIndexCompat.java
│ ├── config
│ └── FeatureFlags.java
│ ├── dot
│ ├── DotInfo.java
│ └── FolderDotInfo.java
│ ├── dragndrop
│ ├── AddItemActivity.java
│ ├── BaseItemDragListener.java
│ ├── DragController.java
│ ├── DragDriver.java
│ ├── DragLayer.java
│ ├── DragOptions.java
│ ├── DragView.java
│ ├── DraggableView.java
│ ├── FlingToDeleteHelper.java
│ ├── FolderAdaptiveIcon.java
│ ├── LauncherDragController.java
│ ├── LauncherDragView.java
│ ├── PinItemDragListener.java
│ ├── PinShortcutRequestActivityInfo.java
│ ├── PinWidgetFlowHandler.java
│ ├── SimpleDragLayer.java
│ └── SpringLoadedDragController.java
│ ├── folder
│ ├── ClippedFolderIconLayoutRule.java
│ ├── Folder.java
│ ├── FolderAnimationManager.java
│ ├── FolderGridOrganizer.java
│ ├── FolderIcon.java
│ ├── FolderNameEditText.java
│ ├── FolderNameInfos.java
│ ├── FolderNameProvider.java
│ ├── FolderPagedView.java
│ ├── FolderPreviewItemAnim.java
│ ├── LauncherDelegate.java
│ ├── PreviewBackground.java
│ ├── PreviewItemDrawingParams.java
│ └── PreviewItemManager.java
│ ├── graphics
│ ├── BitmapCreationCheck.java
│ ├── DragPreviewProvider.java
│ ├── FastScrollThumbDrawable.java
│ ├── FragmentWithPreview.java
│ ├── GridCustomizationsProvider.java
│ ├── IconPalette.java
│ ├── IconShape.java
│ ├── LauncherPreviewRenderer.java
│ ├── PreloadIconDrawable.java
│ ├── PreviewSurfaceRenderer.java
│ ├── Scrim.java
│ ├── SysUiScrim.java
│ ├── TintedDrawableSpan.java
│ └── TriangleShape.java
│ ├── icons
│ ├── ComponentWithLabel.java
│ ├── ComponentWithLabelAndIcon.java
│ ├── IconCache.java
│ ├── LauncherActivityCachingLogic.java
│ ├── LauncherIconProvider.java
│ ├── LauncherIcons.java
│ ├── MonochromeIconFactory.java
│ └── ShortcutCachingLogic.java
│ ├── keyboard
│ ├── FocusIndicatorHelper.java
│ ├── FocusedItemDecorator.java
│ ├── ItemFocusIndicatorHelper.java
│ ├── KeyboardDragAndDropView.java
│ └── ViewGroupFocusHelper.java
│ ├── logging
│ ├── ColdRebootStartupLatencyLogger.kt
│ ├── FileLog.java
│ ├── InstanceId.java
│ ├── InstanceIdSequence.java
│ ├── KeyboardStateManager.java
│ ├── StartupLatencyLogger.kt
│ ├── StatsLogManager.java
│ └── UiEvent.java
│ ├── model
│ ├── AddWorkspaceItemsTask.java
│ ├── AllAppsList.java
│ ├── BaseLauncherBinder.java
│ ├── BgDataModel.java
│ ├── CacheDataUpdatedTask.java
│ ├── DatabaseHelper.java
│ ├── DbDowngradeHelper.java
│ ├── DeviceGridState.java
│ ├── FirstScreenBroadcast.java
│ ├── FirstScreenBroadcastHelper.kt
│ ├── FirstScreenBroadcastModel.kt
│ ├── GridBackupTable.java
│ ├── GridSizeMigrationUtil.java
│ ├── ItemInstallQueue.java
│ ├── LoaderCursor.java
│ ├── LoaderMemoryLogger.java
│ ├── LoaderTask.java
│ ├── ModelDbController.java
│ ├── ModelDelegate.java
│ ├── ModelLauncherCallbacks.kt
│ ├── ModelTaskController.kt
│ ├── ModelUtils.java
│ ├── ModelWriter.java
│ ├── PackageIncrementalDownloadUpdatedTask.java
│ ├── PackageInstallStateChangedTask.java
│ ├── PackageUpdatedTask.java
│ ├── ReloadStringCacheTask.java
│ ├── SdCardAvailableReceiver.java
│ ├── ShortcutsChangedTask.java
│ ├── StringCache.java
│ ├── UserLockStateChangedTask.java
│ ├── UserManagerState.java
│ ├── WidgetItem.java
│ ├── WidgetsModel.java
│ ├── WorkspaceItemProcessor.kt
│ ├── WorkspaceItemSpaceFinder.java
│ └── data
│ │ ├── AppInfo.java
│ │ ├── AppPairInfo.kt
│ │ ├── CollectionInfo.kt
│ │ ├── FolderInfo.java
│ │ ├── IconRequestInfo.java
│ │ ├── ItemInfo.java
│ │ ├── ItemInfoWithIcon.java
│ │ ├── LauncherAppWidgetInfo.java
│ │ ├── PackageItemInfo.java
│ │ ├── PrivateSpaceInstallAppButtonInfo.java
│ │ ├── WorkspaceItemFactory.java
│ │ └── WorkspaceItemInfo.java
│ ├── notification
│ ├── NotificationGroup.java
│ ├── NotificationKeyData.java
│ └── NotificationListener.java
│ ├── pageindicators
│ ├── PageIndicator.java
│ ├── PageIndicatorDots.java
│ └── WorkspacePageIndicator.java
│ ├── pm
│ ├── InstallSessionHelper.java
│ ├── InstallSessionTracker.java
│ ├── PackageInstallInfo.java
│ ├── PinRequestHelper.java
│ ├── ShortcutConfigActivityInfo.java
│ └── UserCache.java
│ ├── popup
│ ├── ArrowPopup.java
│ ├── LauncherPopupLiveUpdateHandler.java
│ ├── PopupContainerWithArrow.java
│ ├── PopupDataProvider.java
│ ├── PopupLiveUpdateHandler.java
│ ├── PopupPopulator.java
│ ├── RemoteActionShortcut.java
│ ├── RoundedArrowDrawable.java
│ └── SystemShortcut.java
│ ├── provider
│ ├── LauncherDbUtils.java
│ └── RestoreDbTask.java
│ ├── qsb
│ ├── QsbContainerView.java
│ └── QsbWidgetHostView.java
│ ├── recyclerview
│ ├── AllAppsRecyclerViewPool.kt
│ └── ViewHolderBinder.java
│ ├── responsive
│ ├── HotseatSpecsProvider.kt
│ ├── ResponsiveCellSpecsProvider.kt
│ ├── ResponsiveSpec.kt
│ ├── ResponsiveSpecGroup.kt
│ ├── ResponsiveSpecsParser.kt
│ ├── ResponsiveSpecsProvider.kt
│ └── SizeSpec.kt
│ ├── search
│ ├── SearchAlgorithm.java
│ ├── SearchCallback.java
│ └── StringMatcherUtility.java
│ ├── secondarydisplay
│ ├── PinnedAppsAdapter.java
│ ├── SecondaryDisplayLauncher.java
│ ├── SecondaryDisplayPredictions.java
│ ├── SecondaryDragController.java
│ ├── SecondaryDragLayer.java
│ └── SecondaryDragView.java
│ ├── settings
│ ├── NotificationDotsPreference.java
│ ├── PreferenceHighlighter.java
│ └── SettingsActivity.java
│ ├── shortcuts
│ ├── DeepShortcutTextView.java
│ ├── DeepShortcutView.java
│ ├── ShortcutDragPreviewProvider.java
│ ├── ShortcutKey.java
│ └── ShortcutRequest.java
│ ├── statemanager
│ ├── BaseState.java
│ ├── StateManager.java
│ ├── StatefulActivity.java
│ └── StatefulContainer.java
│ ├── states
│ ├── EditModeState.kt
│ ├── HintState.java
│ ├── RotationHelper.java
│ ├── SpringLoadedState.java
│ └── StateAnimationConfig.java
│ ├── testing
│ ├── TestInformationHandler.java
│ ├── TestInformationProvider.java
│ └── TestLogging.java
│ ├── touch
│ ├── AbstractStateChangeTouchController.java
│ ├── AllAppsSwipeController.java
│ ├── BaseSwipeDetector.java
│ ├── BothAxesSwipeDetector.java
│ ├── DefaultPagedViewHandler.java
│ ├── ItemClickHandler.java
│ ├── ItemLongClickListener.java
│ ├── OverScroll.java
│ ├── PagedOrientationHandler.java
│ ├── SingleAxisSwipeDetector.java
│ └── WorkspaceTouchListener.java
│ ├── util
│ ├── ActivityLifecycleCallbacksAdapter.java
│ ├── ActivityOptionsWrapper.java
│ ├── ActivityResultInfo.java
│ ├── ActivityTracker.java
│ ├── ApiWrapper.java
│ ├── BackPressHandler.java
│ ├── CancellableTask.kt
│ ├── CannedAnimationCoordinator.kt
│ ├── CellAndSpan.java
│ ├── CellContentDimensions.kt
│ ├── ContentWriter.java
│ ├── DimensionUtils.kt
│ ├── DisplayController.java
│ ├── DynamicResource.java
│ ├── EdgeEffectCompat.java
│ ├── EventLogArray.kt
│ ├── Executors.java
│ ├── FlagDebugUtils.kt
│ ├── FlingAnimation.java
│ ├── FlingBlockCheck.java
│ ├── GridOccupancy.java
│ ├── HorizontalInsettableView.java
│ ├── IOUtils.java
│ ├── IconSizeSteps.kt
│ ├── InstantAppResolver.java
│ ├── IntArray.java
│ ├── IntSet.java
│ ├── IntSparseArrayMap.java
│ ├── ItemInflater.kt
│ ├── ItemInfoMatcher.java
│ ├── KeyboardShortcutsDelegate.java
│ ├── LabelComparator.java
│ ├── LauncherBindableItemsContainer.java
│ ├── LauncherLayoutBuilder.kt
│ ├── LockedUserState.kt
│ ├── LogConfig.java
│ ├── LooperExecutor.java
│ ├── LooperIdleLock.java
│ ├── MainThreadInitializedObject.java
│ ├── MultiPropertyFactory.java
│ ├── MultiScalePropertyFactory.java
│ ├── MultiTranslateDelegate.java
│ ├── MultiValueAlpha.java
│ ├── NavigationMode.java
│ ├── ObjectWrapper.java
│ ├── OnboardingPrefs.kt
│ ├── OverlayEdgeEffect.java
│ ├── PackageManagerHelper.java
│ ├── PackageUserKey.java
│ ├── ParcelableSparseArray.java
│ ├── Partner.java
│ ├── PendingRequestArgs.java
│ ├── PendingSplitSelectInfo.java
│ ├── PersistedItemArray.java
│ ├── PluginManagerWrapper.java
│ ├── PluralMessageFormat.java
│ ├── Preconditions.java
│ ├── ResourceBasedOverride.java
│ ├── ResourceHelper.kt
│ ├── RotationUtils.java
│ ├── RunnableList.java
│ ├── ScreenOnTracker.java
│ ├── ScrollableLayoutManager.java
│ ├── SettingsCache.java
│ ├── ShortcutUtil.java
│ ├── SimpleBroadcastReceiver.java
│ ├── SplitConfigurationOptions.java
│ ├── StartActivityParams.java
│ ├── SystemUiController.java
│ ├── Themes.java
│ ├── Thunk.java
│ ├── TouchController.java
│ ├── TouchUtil.java
│ ├── TraceHelper.java
│ ├── TransformingTouchDelegate.java
│ ├── TranslateEdgeEffect.java
│ ├── VelocityUtils.java
│ ├── VibratorWrapper.java
│ ├── ViewCache.java
│ ├── ViewOnDrawExecutor.java
│ ├── ViewPool.java
│ ├── WallpaperColorHints.kt
│ ├── WallpaperOffsetInterpolator.java
│ ├── WindowBounds.java
│ ├── rects
│ │ └── Rects.kt
│ └── window
│ │ ├── CachedDisplayInfo.java
│ │ ├── RefreshRateTracker.java
│ │ └── WindowManagerProxy.java
│ ├── views
│ ├── AbstractSlideInView.java
│ ├── AccessibilityActionsView.java
│ ├── ActivityContext.java
│ ├── ArrowTipView.java
│ ├── BaseDragLayer.java
│ ├── BubbleTextHolder.java
│ ├── ClipIconView.java
│ ├── ClipPathView.java
│ ├── ComposeInitializer.java
│ ├── DoubleShadowBubbleTextView.java
│ ├── FloatingIconView.java
│ ├── FloatingSurfaceView.java
│ ├── FloatingView.java
│ ├── IconButtonView.java
│ ├── IconLabelDotView.java
│ ├── ListenerView.java
│ ├── OptionsPopupView.java
│ ├── RecyclerViewFastScroller.java
│ ├── ScrimView.java
│ ├── Snackbar.java
│ ├── SpringRelativeLayout.java
│ └── StickyHeaderLayout.java
│ ├── widget
│ ├── AddItemWidgetsBottomSheet.java
│ ├── BaseLauncherAppWidgetHostView.java
│ ├── BaseWidgetSheet.java
│ ├── DatabaseWidgetPreviewLoader.java
│ ├── LauncherAppWidgetHost.java
│ ├── LauncherAppWidgetHostView.java
│ ├── LauncherAppWidgetProviderInfo.java
│ ├── LauncherWidgetHolder.java
│ ├── LocalColorExtractor.java
│ ├── NavigableAppWidgetHostView.java
│ ├── PendingAddShortcutInfo.java
│ ├── PendingAddWidgetInfo.java
│ ├── PendingAppWidgetHostView.java
│ ├── PendingItemDragHelper.java
│ ├── RoundedCornerEnforcement.java
│ ├── WidgetAddFlowHandler.java
│ ├── WidgetCell.java
│ ├── WidgetCellPreview.java
│ ├── WidgetHostViewLoader.java
│ ├── WidgetImageView.java
│ ├── WidgetInflater.kt
│ ├── WidgetItemComparator.java
│ ├── WidgetManagerHelper.java
│ ├── WidgetSections.java
│ ├── WidgetTableRow.java
│ ├── WidgetsBottomSheet.java
│ ├── custom
│ │ ├── CustomAppWidgetProviderInfo.java
│ │ └── CustomWidgetManager.java
│ ├── model
│ │ ├── WidgetListSpaceEntry.java
│ │ ├── WidgetsListBaseEntry.java
│ │ ├── WidgetsListContentEntry.java
│ │ └── WidgetsListHeaderEntry.java
│ ├── picker
│ │ ├── OWNERS
│ │ ├── OnHeaderClickListener.java
│ │ ├── WidgetPagedView.java
│ │ ├── WidgetRecommendationCategory.java
│ │ ├── WidgetRecommendationCategoryProvider.java
│ │ ├── WidgetRecommendationsView.java
│ │ ├── WidgetsDiffCallback.java
│ │ ├── WidgetsFullSheet.java
│ │ ├── WidgetsListAdapter.java
│ │ ├── WidgetsListDrawableState.java
│ │ ├── WidgetsListHeader.java
│ │ ├── WidgetsListHeaderHolder.java
│ │ ├── WidgetsListHeaderViewHolderBinder.java
│ │ ├── WidgetsListItemAnimator.java
│ │ ├── WidgetsListTableView.java
│ │ ├── WidgetsListTableViewHolderBinder.java
│ │ ├── WidgetsRecommendationTableLayout.java
│ │ ├── WidgetsRecyclerView.java
│ │ ├── WidgetsRowViewHolder.java
│ │ ├── WidgetsSpaceViewHolderBinder.java
│ │ ├── WidgetsTwoPaneSheet.java
│ │ ├── search
│ │ │ ├── LauncherWidgetsSearchBar.java
│ │ │ ├── SearchModeListener.java
│ │ │ ├── SimpleWidgetsSearchAlgorithm.java
│ │ │ ├── WidgetsSearchBar.java
│ │ │ └── WidgetsSearchBarController.java
│ │ └── util
│ │ │ ├── WidgetPreviewContainerSize.kt
│ │ │ └── WidgetPreviewContainerSizes.kt
│ └── util
│ │ ├── WidgetDragScaleUtils.java
│ │ ├── WidgetSizes.java
│ │ └── WidgetsTableUtils.java
│ └── workprofile
│ ├── PersonalWorkPagedView.java
│ └── PersonalWorkSlidingTabStrip.java
├── src_build_config
└── com
│ └── android
│ └── launcher3
│ └── BuildConfig.java
├── src_no_quickstep
└── com
│ └── android
│ └── launcher3
│ └── uioverrides
│ └── states
│ ├── AllAppsState.java
│ └── OverviewState.java
├── src_plugins
├── README.md
└── com
│ └── android
│ └── systemui
│ └── plugins
│ ├── AllAppsRow.java
│ ├── CustomWidgetPlugin.java
│ ├── FirstScreenWidget.java
│ ├── HotseatPlugin.java
│ ├── LauncherOverlayPlugin.java
│ ├── NetworkFetcherPlugin.java
│ ├── OneSearch.java
│ ├── ResourceProvider.java
│ └── shared
│ └── LauncherOverlayManager.java
├── systemUIPluginCore
├── Android.bp
├── AndroidManifest.xml
├── build.gradle
├── proguard.flags
└── src
│ └── com
│ └── android
│ └── systemui
│ └── plugins
│ ├── Plugin.java
│ ├── PluginFragment.java
│ ├── PluginLifecycleManager.java
│ ├── PluginListener.java
│ ├── PluginManager.java
│ └── annotations
│ ├── Dependencies.java
│ ├── DependsOn.java
│ ├── ProvidesInterface.java
│ ├── Requirements.java
│ └── Requires.java
├── system_ext
└── com
│ └── android
│ ├── launcher3
│ ├── FeatureFlags.java
│ ├── FeatureFlagsImpl.java
│ └── Flags.java
│ └── wm
│ └── shell
│ └── Flags.java
├── systemui_core
└── shared
│ ├── Android.bp
│ ├── AndroidManifest.xml
│ ├── proguard_flags.flags
│ ├── res
│ ├── values-my
│ │ └── bools.xml
│ └── values
│ │ ├── attrs.xml
│ │ ├── bools.xml
│ │ └── ids.xml
│ └── src
│ └── com
│ └── android
│ └── systemui
│ └── shared
│ └── system
│ └── SysUiStatsLog.java
├── tests
├── Android.bp
├── AndroidManifest-common.xml
├── AndroidManifest.xml
├── Launcher3Tests.xml
├── OWNERS
├── assets
│ ├── ReorderAlgorithmUnitTest
│ │ └── reorder_algorithm_test_cases
│ ├── ReorderWidgets
│ │ ├── full_reorder_case
│ │ ├── move_out_reorder_case
│ │ ├── multiple_cell_layouts_no_space_reorder
│ │ ├── multiple_cell_layouts_reorder_other_side
│ │ ├── multiple_cell_layouts_simple_reorder
│ │ ├── push_reorder_case
│ │ └── simple_reorder_case
│ ├── databases
│ │ ├── BackupAndRestore
│ │ │ ├── launcher.db
│ │ │ ├── launcher_3_by_3.db
│ │ │ ├── launcher_4_by_4.db
│ │ │ └── launcher_4_by_5.db
│ │ ├── GridMigrationTest
│ │ │ ├── flagged_result5x5to5x8.db
│ │ │ ├── result5x5to3x3.db
│ │ │ ├── result5x5to4x7.db
│ │ │ ├── result5x5to5x8.db
│ │ │ └── test_launcher.db
│ │ ├── v30_workspace_items.sql
│ │ └── workspace_items.sql
│ └── dumpTests
│ │ └── DeviceProfileDumpTest
│ │ ├── phonePortrait.txt
│ │ ├── phonePortrait3Button.txt
│ │ ├── phoneVerticalBar.txt
│ │ ├── phoneVerticalBar3Button.txt
│ │ ├── tabletLandscape.txt
│ │ ├── tabletLandscape3Button.txt
│ │ ├── tabletPortrait.txt
│ │ ├── tabletPortrait3Button.txt
│ │ ├── twoPanelLandscape.txt
│ │ ├── twoPanelLandscape3Button.txt
│ │ ├── twoPanelLandscape3Button_decoupleDepth.txt
│ │ ├── twoPanelLandscape_decoupleDepth.txt
│ │ ├── twoPanelPortrait.txt
│ │ ├── twoPanelPortrait3Button.txt
│ │ ├── twoPanelPortrait3Button_decoupleDepth.txt
│ │ └── twoPanelPortrait_decoupleDepth.txt
├── config
│ └── robolectric.properties
├── multivalentTests
│ ├── dummy_app
│ │ ├── Android.bp
│ │ ├── AndroidManifest.xml
│ │ ├── dummy_app.iml
│ │ ├── dummy_app1.iml
│ │ ├── res
│ │ │ ├── layout
│ │ │ │ └── empty_activity.xml
│ │ │ ├── mipmap-anydpi
│ │ │ │ ├── ic_launcher1.xml
│ │ │ │ └── ic_launcher2.xml
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher1.png
│ │ │ │ ├── ic_launcher2.png
│ │ │ │ ├── icon_back_1.png
│ │ │ │ └── icon_fore_1.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher1.png
│ │ │ │ ├── ic_launcher2.png
│ │ │ │ ├── icon_back_1.png
│ │ │ │ └── icon_fore_1.png
│ │ │ └── values
│ │ │ │ └── colors.xml
│ │ └── src
│ │ │ └── com
│ │ │ └── example
│ │ │ └── android
│ │ │ └── aardwolf
│ │ │ └── Activity1.java
│ ├── multivalentTests.iml
│ ├── multivalentTestsForDevice1.iml
│ ├── shared
│ │ ├── AndroidManifest.xml
│ │ └── com
│ │ │ └── android
│ │ │ └── launcher3
│ │ │ └── testing
│ │ │ ├── OWNERS
│ │ │ └── shared
│ │ │ ├── HotseatCellCenterRequest.java
│ │ │ ├── ResourceUtils.java
│ │ │ ├── TestInformationRequest.java
│ │ │ ├── TestProtocol.java
│ │ │ └── WorkspaceCellCenterRequest.java
│ └── src
│ │ └── com
│ │ └── android
│ │ └── launcher3
│ │ ├── AbstractDeviceProfileTest.kt
│ │ ├── AbstractFloatingViewHelperTest.kt
│ │ ├── AppFilterTest.kt
│ │ ├── AppWidgetsRestoredReceiverTest.kt
│ │ ├── AutoInstallsLayoutTest.kt
│ │ ├── DeleteDropTargetTest.kt
│ │ ├── FakeInvariantDeviceProfileTest.kt
│ │ ├── LauncherPrefsTest.kt
│ │ ├── UtilitiesKtTest.kt
│ │ ├── UtilitiesTest.kt
│ │ ├── allapps
│ │ └── AlphabeticalAppsListTest.java
│ │ ├── celllayout
│ │ ├── CellLayoutTestCaseReader.java
│ │ ├── CellLayoutTestUtils.java
│ │ ├── CellPosMapperTest.java
│ │ ├── FavoriteItemsTransaction.java
│ │ ├── HotseatReorderUnitTest.kt
│ │ ├── ReorderAlgorithmUnitTest.java
│ │ ├── ReorderAlgorithmUnitTestCase.java
│ │ ├── ReorderPreviewAnimationTest.kt
│ │ ├── ReorderTestCase.java
│ │ ├── UnitTestCellLayoutBuilderRule.kt
│ │ ├── board
│ │ │ ├── CellLayoutBoard.java
│ │ │ ├── CellType.java
│ │ │ ├── FolderPoint.java
│ │ │ ├── IconPoint.java
│ │ │ ├── IdenticalBoardComparator.kt
│ │ │ ├── PermutedBoardComparator.kt
│ │ │ ├── TestWorkspaceBuilder.java
│ │ │ └── WidgetRect.java
│ │ └── testgenerator
│ │ │ ├── DeterministicRandomGenerator.kt
│ │ │ ├── RandomBoardGenerator.kt
│ │ │ └── RandomMultiBoardGenerator.kt
│ │ ├── icons
│ │ ├── FastBitmapDrawableTest.java
│ │ ├── IconCacheTest.java
│ │ └── UserBadgeDrawableTest.kt
│ │ ├── logging
│ │ ├── FileLogTest.java
│ │ └── StartupLatencyLoggerTest.kt
│ │ ├── model
│ │ ├── AbstractWorkspaceModelTest.kt
│ │ ├── DatabaseHelperTest.kt
│ │ ├── FactitiousDbController.kt
│ │ ├── GridSizeMigrationUtilTest.kt
│ │ └── data
│ │ │ └── ItemInfoWithIconTest.kt
│ │ ├── popup
│ │ └── PopupPopulatorTest.java
│ │ ├── responsive
│ │ ├── AllAppsSpecsTest.kt
│ │ ├── CalculatedAllAppsSpecTest.kt
│ │ ├── CalculatedFolderSpecTest.kt
│ │ ├── CalculatedHotseatSpecTest.kt
│ │ ├── CalculatedWorkspaceSpecTest.kt
│ │ ├── FolderSpecTest.kt
│ │ ├── HotseatSpecsProviderTest.kt
│ │ ├── ResponsiveCellSpecsProviderTest.kt
│ │ ├── ResponsiveSpecsProviderTest.kt
│ │ ├── SizeSpecTest.kt
│ │ └── WorkspaceSpecsTest.kt
│ │ ├── settings
│ │ └── SettingsActivityTest.java
│ │ ├── testcomponent
│ │ ├── AppWidgetDynamicColors.java
│ │ ├── AppWidgetHidden.java
│ │ ├── AppWidgetNoConfig.java
│ │ └── AppWidgetWithConfig.java
│ │ ├── ui
│ │ ├── ActivityAllAppsContainerViewTest.java
│ │ ├── BubbleTextViewTest.java
│ │ └── TestViewHelpers.java
│ │ ├── util
│ │ ├── ActivityContextWrapper.java
│ │ ├── CancellableTaskTest.kt
│ │ ├── CellContentDimensionsTest.kt
│ │ ├── DisplayControllerTest.kt
│ │ ├── GridOccupancyTest.java
│ │ ├── IconSizeStepsTest.kt
│ │ ├── IntArrayTest.java
│ │ ├── IntSetTest.java
│ │ ├── LauncherModelHelper.java
│ │ ├── LauncherMultivalentJUnit.kt
│ │ ├── LockedUserStateTest.kt
│ │ ├── ModelTestExtensions.kt
│ │ ├── MultiPropertyFactoryTest.kt
│ │ ├── MultiScalePropertyTest.kt
│ │ ├── PackageManagerHelperTest.java
│ │ ├── PackageUserKeyTest.java
│ │ ├── ReflectionHelpers.java
│ │ ├── TestResourceHelper.kt
│ │ ├── TestSandboxModelContextWrapper.java
│ │ ├── TestUtil.java
│ │ ├── TouchUtilTest.kt
│ │ ├── WidgetUtils.java
│ │ ├── rule
│ │ │ ├── BackAndRestoreRule.kt
│ │ │ ├── SetFlagsRuleExt.kt
│ │ │ └── TestStabilityRule.java
│ │ └── window
│ │ │ └── WindowManagerProxyTest.kt
│ │ └── widget
│ │ ├── GeneratedPreviewTest.kt
│ │ ├── LauncherAppWidgetProviderInfoTest.java
│ │ ├── picker
│ │ ├── OWNERS
│ │ ├── WidgetImageViewTest.kt
│ │ ├── WidgetRecommendationCategoryProviderTest.java
│ │ ├── WidgetsListHeaderAccessibilityTest.java
│ │ ├── WidgetsListHeaderViewHolderBinderTest.java
│ │ ├── WidgetsListTableViewHolderBinderTest.java
│ │ ├── model
│ │ │ └── WidgetsListContentEntryTest.java
│ │ ├── search
│ │ │ ├── SimpleWidgetsSearchAlgorithmTest.java
│ │ │ └── WidgetsSearchBarControllerTest.java
│ │ └── util
│ │ │ ├── WidgetPreviewContainerSizesTest.kt
│ │ │ └── WidgetsTableUtilsTest.java
│ │ └── util
│ │ └── WidgetDragScaleUtilsTest.kt
├── multivalentTestsForDevice
├── res
│ ├── drawable
│ │ ├── test_drawable_pin_item.xml
│ │ ├── test_theme_icon.xml
│ │ ├── test_widget_dynamic_colors_icon.xml
│ │ ├── test_widget_no_config_icon.xml
│ │ ├── test_widget_with_config_icon.xml
│ │ └── test_widget_with_dialog_icon.xml
│ ├── layout
│ │ ├── test_layout_appwidget_blue.xml
│ │ ├── test_layout_appwidget_dynamic_colors.xml
│ │ ├── test_layout_appwidget_red.xml
│ │ ├── test_layout_appwidget_view.xml
│ │ └── test_layout_widget_list.xml
│ ├── raw
│ │ ├── aardwolf_dummy_app.apk
│ │ ├── db_schema_v10.json
│ │ └── reorder_algorithm_test.txt
│ ├── values
│ │ ├── attrs.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── xml
│ │ ├── appwidget_dynamic_colors.xml
│ │ ├── appwidget_hidden.xml
│ │ ├── appwidget_no_config.xml
│ │ ├── appwidget_no_config_large.xml
│ │ ├── appwidget_with_config.xml
│ │ ├── invalid_all_apps_file_case_1.xml
│ │ ├── invalid_all_apps_file_case_2.xml
│ │ ├── invalid_all_apps_file_case_3.xml
│ │ ├── invalid_cell_specs_1.xml
│ │ ├── invalid_cell_specs_2.xml
│ │ ├── invalid_cell_specs_3.xml
│ │ ├── invalid_folders_specs_1.xml
│ │ ├── invalid_folders_specs_2.xml
│ │ ├── invalid_folders_specs_3.xml
│ │ ├── invalid_folders_specs_4.xml
│ │ ├── invalid_folders_specs_5.xml
│ │ ├── invalid_hotseat_file_case_1.xml
│ │ ├── invalid_hotseat_file_case_2.xml
│ │ ├── invalid_responsive_spec_1.xml
│ │ ├── invalid_responsive_spec_2.xml
│ │ ├── invalid_responsive_spec_3.xml
│ │ ├── invalid_responsive_spec_4.xml
│ │ ├── invalid_responsive_spec_5.xml
│ │ ├── invalid_responsive_spec_6.xml
│ │ ├── invalid_workspace_file_case_1.xml
│ │ ├── invalid_workspace_file_case_2.xml
│ │ ├── invalid_workspace_file_case_3.xml
│ │ ├── invalid_workspace_file_case_4.xml
│ │ ├── max_shortcuts.xml
│ │ ├── shortcuts.xml
│ │ ├── single_shortcut.xml
│ │ ├── valid_all_apps_file.xml
│ │ ├── valid_cell_specs_file.xml
│ │ ├── valid_folders_specs.xml
│ │ ├── valid_hotseat_file.xml
│ │ ├── valid_hotseat_land_file.xml
│ │ ├── valid_responsive_spec_unsorted.xml
│ │ ├── valid_workspace_file.xml
│ │ └── valid_workspace_unsorted_file.xml
├── shared
│ └── com
│ │ └── android
│ │ └── launcher3
│ │ └── testing
│ │ └── OWNERS
├── src
│ └── com
│ │ └── android
│ │ └── launcher3
│ │ ├── LauncherIntentTest.java
│ │ ├── allapps
│ │ ├── PrivateProfileManagerTest.java
│ │ ├── PrivateSpaceHeaderViewTest.java
│ │ ├── PrivateSpaceSettingsButtonTest.java
│ │ ├── TaplAllAppsIconsWorkingTest.java
│ │ ├── TaplKeyboardFocusTest.java
│ │ └── TaplOpenCloseAllAppsTest.java
│ │ ├── appiconmenu
│ │ └── TaplAppIconMenuTest.java
│ │ ├── backuprestore
│ │ └── BackupAndRestoreDBSelectionTest.kt
│ │ ├── celllayout
│ │ ├── TaplReorderWidgetsTest.java
│ │ └── testgenerator
│ │ │ └── ValidGridMigrationTestCaseGenerator.kt
│ │ ├── compat
│ │ └── TaplPromiseIconUiTest.java
│ │ ├── dragging
│ │ ├── TaplDragTest.java
│ │ └── TaplUninstallRemoveTest.java
│ │ ├── folder
│ │ ├── FolderNameProviderTest.java
│ │ ├── PreviewBackgroundTest.java
│ │ └── PreviewItemManagerTest.kt
│ │ ├── model
│ │ ├── AddWorkspaceItemsTaskTest.kt
│ │ ├── AsyncBindingTest.kt
│ │ ├── CacheDataUpdatedTaskTest.java
│ │ ├── DbDowngradeHelperTest.java
│ │ ├── DefaultLayoutProviderTest.java
│ │ ├── FirstScreenBroadcastHelperTest.kt
│ │ ├── FolderIconLoadTest.kt
│ │ ├── GridMigrationTest.kt
│ │ ├── LoaderCursorTest.java
│ │ ├── LoaderTaskTest.kt
│ │ ├── ModelMultiCallbacksTest.java
│ │ ├── PackageInstallStateChangedTaskTest.java
│ │ ├── WorkspaceItemProcessorTest.kt
│ │ ├── WorkspaceItemSpaceFinderTest.kt
│ │ └── gridmigration
│ │ │ ├── GridMigrationUtils.kt
│ │ │ └── ValidGridMigrationUnitTest.kt
│ │ ├── nonquickstep
│ │ ├── DeviceProfileDumpTest.kt
│ │ └── HotseatWidthCalculationTest.kt
│ │ ├── popup
│ │ └── SystemShortcutTest.java
│ │ ├── provider
│ │ ├── LauncherDbUtilsTest.java
│ │ └── RestoreDbTaskTest.java
│ │ ├── search
│ │ └── StringMatcherUtilityTest.java
│ │ ├── tapl
│ │ └── TaplUtilityTest.java
│ │ ├── testcomponent
│ │ ├── AppWidgetWithDialog.java
│ │ ├── BaseTestingActivity.java
│ │ ├── CustomShortcutConfigActivity.java
│ │ ├── DialogTestActivity.java
│ │ ├── ImeTestActivity.java
│ │ ├── ListViewService.java
│ │ ├── OtherBaseTestingActivity.java
│ │ ├── RequestPinItemActivity.java
│ │ ├── TestCommandProvider.java
│ │ ├── TestCommandReceiver.java
│ │ ├── TestLauncherActivity.java
│ │ ├── TouchEventGenerator.java
│ │ ├── UnarchiveBroadcastReceiver.java
│ │ └── WidgetConfigActivity.java
│ │ ├── touch
│ │ └── SingleAxisSwipeDetectorTest.java
│ │ ├── ui
│ │ ├── AbstractLauncherUiTest.java
│ │ ├── PortraitLandscapeRunner.java
│ │ ├── TaplTestsLauncher3Test.java
│ │ ├── TaplWorkProfileTest.java
│ │ ├── widget
│ │ │ ├── TaplAddConfigWidgetTest.java
│ │ │ ├── TaplAddWidgetTest.java
│ │ │ ├── TaplBindWidgetTest.java
│ │ │ ├── TaplRequestPinItemTest.java
│ │ │ └── TaplWidgetPickerTest.java
│ │ └── workspace
│ │ │ ├── TaplThemeIconsTest.java
│ │ │ ├── TaplTwoPanelWorkspaceTest.java
│ │ │ └── TaplWorkspaceTest.java
│ │ ├── util
│ │ ├── ItemInflaterTest.kt
│ │ ├── TestConstants.java
│ │ ├── Wait.java
│ │ ├── rule
│ │ │ ├── ExtendedLongPressTimeoutRule.java
│ │ │ ├── FailureWatcher.java
│ │ │ ├── SamplerRule.java
│ │ │ ├── ScreenRecordRule.java
│ │ │ ├── SetPropRule.java
│ │ │ ├── ShellCommandRule.java
│ │ │ ├── TestIsolationRule.java
│ │ │ ├── TestToPhoneFileCopier.kt
│ │ │ └── ViewCaptureRule.kt
│ │ └── viewcapture_analysis
│ │ │ ├── AlphaJumpDetector.java
│ │ │ ├── AnomalyDetector.java
│ │ │ ├── FlashDetector.java
│ │ │ ├── PositionJumpDetector.java
│ │ │ └── ViewCaptureAnalyzer.java
│ │ └── widget
│ │ └── picker
│ │ └── OWNERS
├── src_deviceless
│ └── com
│ │ └── android
│ │ └── launcher3
│ │ └── util
│ │ └── RobolectricDeviceRunner.kt
├── tapl
│ ├── AndroidManifest.xml
│ ├── README
│ └── com
│ │ └── android
│ │ └── launcher3
│ │ └── tapl
│ │ ├── AddToHomeScreenPrompt.java
│ │ ├── AllApps.java
│ │ ├── AllAppsAppIcon.java
│ │ ├── AllAppsQsb.java
│ │ ├── AppIcon.java
│ │ ├── AppIconMenu.java
│ │ ├── AppIconMenuItem.java
│ │ ├── Background.java
│ │ ├── BaseOverview.java
│ │ ├── Folder.java
│ │ ├── FolderIcon.java
│ │ ├── Home.java
│ │ ├── HomeAllApps.java
│ │ ├── HomeAppIcon.java
│ │ ├── HomeAppIconMenu.java
│ │ ├── HomeAppIconMenuItem.java
│ │ ├── HomeQsb.java
│ │ ├── IconDragTarget.java
│ │ ├── KeyboardQuickSwitch.java
│ │ ├── KeyboardQuickSwitchSource.java
│ │ ├── Launchable.java
│ │ ├── LaunchedAppState.java
│ │ ├── LauncherInstrumentation.java
│ │ ├── LogEventChecker.java
│ │ ├── Overview.java
│ │ ├── OverviewActions.java
│ │ ├── OverviewTask.java
│ │ ├── OverviewTaskMenu.java
│ │ ├── OverviewTaskMenuItem.java
│ │ ├── PredictionRow.java
│ │ ├── PrivateSpaceContainer.java
│ │ ├── PrivateSpaceHeader.java
│ │ ├── Qsb.java
│ │ ├── SearchInputSource.java
│ │ ├── SearchResultFromQsb.java
│ │ ├── SearchResultFromTaskbarQsb.java
│ │ ├── SearchWebSuggestion.java
│ │ ├── SelectModeButtons.java
│ │ ├── SplitScreenMenuItem.java
│ │ ├── SplitScreenSelect.java
│ │ ├── SplitscreenDragSource.java
│ │ ├── Taskbar.java
│ │ ├── TaskbarAllApps.java
│ │ ├── TaskbarAllAppsQsb.java
│ │ ├── TaskbarAppIcon.java
│ │ ├── TaskbarAppIconMenu.java
│ │ ├── TaskbarAppIconMenuItem.java
│ │ ├── TaskbarSearchWebSuggestion.java
│ │ ├── TestHelpers.java
│ │ ├── Widget.java
│ │ ├── WidgetResizeFrame.java
│ │ ├── Widgets.java
│ │ ├── Workspace.java
│ │ ├── WorkspaceAppIcon.java
│ │ └── WorkspaceDragSource.java
└── tests.iml
└── tools
├── checkstyle.xml
├── checkstyle_suppression.xml
└── print_db.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | .gradle
3 | .idea
4 | build
5 | Launcher3_mx.iml
6 | gradlew
7 | gradlew.bat
8 |
--------------------------------------------------------------------------------
/PREUPLOAD.cfg:
--------------------------------------------------------------------------------
1 | [Builtin Hooks]
2 | ktfmt = true
3 |
4 | [Builtin Hooks Options]
5 | ktfmt = --kotlinlang-style
6 |
7 | [Tool Paths]
8 | ktfmt = ${REPO_ROOT}/external/ktfmt/ktfmt.sh
9 |
10 | [Hook Scripts]
11 | checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --config_xml tools/checkstyle.xml --sha ${PREUPLOAD_COMMIT}
12 |
13 | flag_hook = ${REPO_ROOT}/frameworks/base/packages/SystemUI/flag_check.py --msg=${PREUPLOAD_COMMIT_MESSAGE} --files=${PREUPLOAD_FILES} --project=${REPO_PATH}
14 |
--------------------------------------------------------------------------------
/animationlib/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
--------------------------------------------------------------------------------
/animationlib/TEST_MAPPING:
--------------------------------------------------------------------------------
1 | {
2 | "presubmit": [
3 | {
4 | "name": "animationlib_tests"
5 | }
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/animationlib/res/interpolator/emphasized_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/animationlib/res/interpolator/standard_accelerate_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/animationlib/res/interpolator/standard_decelerate_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/animationlib/res/interpolator/standard_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/animationlib/tests/robolectric/config/robolectric.properties:
--------------------------------------------------------------------------------
1 | sdk=NEWEST_SDK
2 | shadows=com.android.app.animation.robolectric.ShadowAnimationUtils2
3 |
--------------------------------------------------------------------------------
/animationlib/tests/robolectric/src/com/android/app/animation/robolectric/ShadowAnimationUtils2.kt:
--------------------------------------------------------------------------------
1 | package com.android.app.animation.robolectric
2 |
3 | import android.view.animation.AnimationUtils
4 | import org.robolectric.annotation.Implements
5 | import org.robolectric.shadows.ShadowAnimationUtils
6 |
7 | /**
8 | * This shadow overwrites [ShadowAnimationUtils] and ensures that the real implementation of
9 | * [AnimationUtils] is used in tests.
10 | */
11 | @Implements(AnimationUtils::class)
12 | class ShadowAnimationUtils2
13 |
--------------------------------------------------------------------------------
/buglist.txt:
--------------------------------------------------------------------------------
1 | 171450807
2 | 170675311
3 | 170338029
4 | 170338170
5 | 160544577
6 | 171171594
7 | 170488559
8 | 171131394
9 | 171131394
10 | 171026321
11 | 170648272
12 | 170752716
13 | 170611866
14 | 170702596
15 | 170487752
16 | 170665892
17 | 168608912
18 | 170636685
19 | 169771796
20 | 141126144
21 | 166614700
22 | 168805872
23 | 170263425
24 | 169221288
25 | 143965596
26 | 169221287
27 | 167259591
28 | 156044202
29 | 169438169
30 | 164926736
31 | 168653219
32 | 169963211
33 | 170121063
34 | 169988381
35 | 169980192
36 | 169221288
37 | 169385783
38 | 168167693
39 | 169796517
40 | 169330678
41 | 168818961
42 | 168608912
43 |
--------------------------------------------------------------------------------
/buglist_unique.txt:
--------------------------------------------------------------------------------
1 | 141126144
2 | 143965596
3 | 156044202
4 | 160544577
5 | 164926736
6 | 166614700
7 | 167259591
8 | 168167693
9 | 168608912
10 | 168653219
11 | 168805872
12 | 168818961
13 | 169221287
14 | 169221288
15 | 169330678
16 | 169385783
17 | 169438169
18 | 169771796
19 | 169796517
20 | 169963211
21 | 169980192
22 | 169988381
23 | 170121063
24 | 170263425
25 | 170338029
26 | 170338170
27 | 170487752
28 | 170488559
29 | 170611866
30 | 170636685
31 | 170648272
32 | 170665892
33 | 170675311
34 | 170702596
35 | 170752716
36 | 171026321
37 | 171131394
38 | 171171594
39 | 171450807
40 |
--------------------------------------------------------------------------------
/go/OWNERS:
--------------------------------------------------------------------------------
1 | rajekumar@google.com
2 | spivack@google.com
3 |
--------------------------------------------------------------------------------
/go/quickstep/res/drawable/arrow_toast_rounded_background.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/go/quickstep/res/drawable/round_rect_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/go/quickstep/res/drawable/round_rect_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/go/quickstep/res/values-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | 360dp
21 | 168dp
22 |
23 |
--------------------------------------------------------------------------------
/go/quickstep/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | 200
20 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Until all the dependencies move to android X
2 | android.useAndroidX = true
3 | android.enableJetifier = true
4 | org.gradle.parallel=true
5 |
6 | ANDROID_X_VERSION=1+
7 |
8 | #GRADLE_CLASS_PATH=com.android.tools.build:gradle:3.5.1
9 | #GRADLE_CLASS_PATH=com.android.tools.build:gradle:7.4.1
10 | GRADLE_CLASS_PATH=com.android.tools.build:gradle:8.4.1
11 |
12 | #PROTOBUF_CLASS_PATH=com.google.protobuf:protobuf-gradle-plugin:0.8.8
13 | #PROTOBUF_CLASS_PATH=com.google.protobuf:protobuf-gradle-plugin:0.8.18
14 | PROTOBUF_CLASS_PATH=com.google.protobuf:protobuf-gradle-plugin:0.9.4
15 | #PROTOBUF_DEPENDENCY=com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7
16 | PROTOBUF_DEPENDENCY=com.google.protobuf.nano:protobuf-javanano:3.1.0
17 |
18 | BUILD_TOOLS_VERSION=28.0.3
19 | COMPILE_SDK=android-35
20 | #KOTLIN=org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10
21 | KOTLIN=org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0
22 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/iconloaderlib/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .project
3 | .classpath
4 | .project.properties
5 | gen/
6 | bin/
7 | .idea/
8 | .gradle/
9 | local.properties
10 | gradle/
11 | build/
12 | gradlew*
13 | .DS_Store
14 |
--------------------------------------------------------------------------------
/iconloaderlib/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
--------------------------------------------------------------------------------
/iconloaderlib/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.library'
3 | }
4 |
5 | android {
6 | namespace = "com.android.launcher3.icons"
7 | compileSdkVersion COMPILE_SDK
8 |
9 | defaultConfig {
10 | minSdkVersion 26
11 | targetSdkVersion 35
12 | }
13 |
14 | sourceSets {
15 | main {
16 | java.srcDirs = ['src', 'src_full_lib']
17 | manifest.srcFile 'AndroidManifest.xml'
18 | res.srcDirs = ['res']
19 | }
20 | }
21 | lint {
22 | abortOnError false
23 | }
24 | compileOptions {
25 | sourceCompatibility JavaVersion.VERSION_17
26 | targetCompatibility JavaVersion.VERSION_17
27 | }
28 |
29 | tasks.withType(JavaCompile) {
30 | options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
31 | }
32 | }
33 |
34 | dependencies {
35 | implementation "androidx.core:core:1.13.1"
36 | }
37 |
--------------------------------------------------------------------------------
/iconloaderlib/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/iconloaderlib/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | 24dp
19 |
20 |
--------------------------------------------------------------------------------
/iconloaderlib/src/com/android/launcher3/util/SafeCloseable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.util;
18 |
19 | /**
20 | * Extension of closeable which does not throw an exception
21 | */
22 | public interface SafeCloseable extends AutoCloseable {
23 |
24 | @Override
25 | void close();
26 | }
27 |
--------------------------------------------------------------------------------
/image/launcher01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher01.png
--------------------------------------------------------------------------------
/image/launcher02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher02.png
--------------------------------------------------------------------------------
/image/launcher03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher03.png
--------------------------------------------------------------------------------
/image/launcher04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher04.png
--------------------------------------------------------------------------------
/image/launcher05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher05.png
--------------------------------------------------------------------------------
/image/launcher06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher06.png
--------------------------------------------------------------------------------
/image/launcher07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher07.png
--------------------------------------------------------------------------------
/image/launcher08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher08.png
--------------------------------------------------------------------------------
/image/launcher09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher09.png
--------------------------------------------------------------------------------
/image/launcher10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/image/launcher10.png
--------------------------------------------------------------------------------
/local.properties:
--------------------------------------------------------------------------------
1 | ## This file must *NOT* be checked into Version Control Systems,
2 | # as it contains information specific to your local configuration.
3 | #
4 | # Location of the SDK. This is only used by Gradle.
5 | # For customization when using a Version Control System, please read the
6 | # header note.
7 | #Thu Jun 20 23:21:48 CST 2024
8 | sdk.dir=/Users/yuchuan/Library/Android/sdk
9 |
--------------------------------------------------------------------------------
/prebuilts/libs/framework-14.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/prebuilts/libs/framework-14.jar
--------------------------------------------------------------------------------
/quickstep/res/color/all_set_bg_primary.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/quickstep/res/color/all_set_bg_tertiary.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/quickstep/res/color/menu_item_hover_state_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/quickstep/res/color/taskbar_nav_icon_dark_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/quickstep/res/color/taskbar_nav_icon_light_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/quickstep/res/drawable-v28/gesture_tutorial_action_button_background.xml:
--------------------------------------------------------------------------------
1 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/bg_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/bg_sandbox_close_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/default_sandbox_app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/default_sandbox_wallpaper.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/gesture_tutorial_finger_dot.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/gesture_tutorial_menu_back_button_background.xml:
--------------------------------------------------------------------------------
1 |
15 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/gesture_tutorial_menu_home_button_background.xml:
--------------------------------------------------------------------------------
1 |
15 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/gesture_tutorial_ripple.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/ic_hourglass_top.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/ic_sysbar_back_kids.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/ic_sysbar_home_kids.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/ic_sysbar_notifications.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/redesigned_hotseat_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/rotate_prompt_bg.xml:
--------------------------------------------------------------------------------
1 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/task_menu_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/task_menu_item_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/quickstep/res/drawable/tutorial_step_indicator_pill.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/quickstep/res/interpolator/app_open_x.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
22 |
--------------------------------------------------------------------------------
/quickstep/res/layout/all_apps_edu_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/quickstep/res/layout/back_gesture_tutorial_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
19 |
--------------------------------------------------------------------------------
/quickstep/res/layout/floating_header_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/quickstep/res/layout/gesture_tutorial_activity.xml:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/quickstep/res/layout/predicted_app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/quickstep/res/layout/taskbar_app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/quickstep/res/layout/taskbar_predicted_app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/quickstep/res/xml/overview_file_provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/quickstep/src/com/android/launcher3/taskbar/bubbles/OWNERS:
--------------------------------------------------------------------------------
1 | atsjenk@google.com
2 | liranb@google.com
3 | madym@google.com
4 | mpodolian@google.com
5 |
6 |
--------------------------------------------------------------------------------
/quickstep/src/com/android/quickstep/SplitSelectionListener.kt:
--------------------------------------------------------------------------------
1 | package com.android.quickstep
2 |
3 | interface SplitSelectionListener {
4 | /** Called when the first app has been selected with the intention to launch split screen */
5 | fun onSplitSelectionActive()
6 |
7 | /** Called when the second app has been selected with the intention to launch split screen */
8 | fun onSplitSelectionConfirmed()
9 |
10 | /**
11 | * Called when the user no longer is in the process of selecting apps for split screen.
12 | * [launchedSplit] will be true if selected apps have launched successfully (either in
13 | * split screen or fullscreen), false if the user canceled/exited the selection process
14 | */
15 | fun onSplitSelectionExit(launchedSplit: Boolean) {
16 | }
17 | }
--------------------------------------------------------------------------------
/quickstep/src/com/android/quickstep/recents/data/RecentTasksDataSource.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2024 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.quickstep.recents.data
18 |
19 | import com.android.quickstep.util.GroupTask
20 | import java.util.function.Consumer
21 |
22 | interface RecentTasksDataSource {
23 | fun getTasks(callback: Consumer>?): Int
24 | }
25 |
--------------------------------------------------------------------------------
/quickstep/tests/OWNERS:
--------------------------------------------------------------------------------
1 | vadimt@google.com
2 | sunnygoyal@google.com
3 | winsonc@google.com
4 | hyunyoungs@google.com
5 |
--------------------------------------------------------------------------------
/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/bubbles/OWNERS:
--------------------------------------------------------------------------------
1 | atsjenk@google.com
2 | liranb@google.com
3 | madym@google.com
4 | mpodolian@google.com
5 |
6 |
--------------------------------------------------------------------------------
/quickstep/tests/multivalentTestsForDevice:
--------------------------------------------------------------------------------
1 | ./multivalentTests
--------------------------------------------------------------------------------
/quickstep/tests/src/com/android/launcher3/testcomponent/ExcludeFromRecentsTestActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2024 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.testcomponent;
18 |
19 | /**
20 | * Extension of BaseTestingActivity to help test excludeFromRecents="true".
21 | */
22 | public class ExcludeFromRecentsTestActivity extends BaseTestingActivity {}
23 |
--------------------------------------------------------------------------------
/res/anim/no_anim.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/accent_ripple_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/res/color-night-v31/all_apps_button_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/all_apps_button_color_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/all_apps_tab_background_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color-night-v31/all_apps_tab_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/all_apps_tabs_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
--------------------------------------------------------------------------------
/res/color-night-v31/folder_background_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/folder_preview_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_bright.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_container_high.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_container_highest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_container_low.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_container_lowest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_dim.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_inverse.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/material_color_surface_variant.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/popup_color_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/popup_shade_first.xml:
--------------------------------------------------------------------------------
1 |
15 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/popup_shade_second.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/popup_shade_third.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/taskbar_divider_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/taskbar_stroke.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night-v31/widget_picker_primary_surface_color_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/widget_picker_secondary_surface_color_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night-v31/widget_picker_tab_background_unselected_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-night/accent_ripple_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/res/color-night/all_apps_tab_background_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color-night/all_apps_tab_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-night/all_apps_tabs_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color-v31/accent_ripple_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_button_bg_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_button_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_button_color_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_button_color_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_button_color_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_button_color_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_tab_background_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_tab_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/all_apps_tabs_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color-v31/folder_background_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/folder_preview_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_bright.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_container_high.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_container_highest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_container_low.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_container_lowest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_dim.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_inverse.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/color-v31/material_color_surface_variant.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/overview_scrim.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/overview_scrim_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/popup_color_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/popup_shade_first.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/color-v31/popup_shade_second.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/popup_shade_third.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/taskbar_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/taskbar_divider_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/taskbar_edu_button_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color-v31/widget_picker_primary_surface_color_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v31/widget_picker_secondary_surface_color_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v33/overview_scrim.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color-v33/overview_scrim_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
20 |
21 |
--------------------------------------------------------------------------------
/res/color/accent_ripple_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/res/color/all_apps_tab_background_selected.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color/all_apps_tab_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/all_apps_tabs_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color/arrow_tip_view_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/res/color/arrow_tip_view_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/res/color/button_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/res/color/button_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/res/color/cell_layout_bg_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
--------------------------------------------------------------------------------
/res/color/overview_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
12 |
--------------------------------------------------------------------------------
/res/color/overview_scrim.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/overview_scrim_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/popup_color_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/popup_shade_first.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/color/popup_shade_second.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/popup_shade_third.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/color/surface.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/res/color/system_shortcut_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/taskbar_stroke.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/color/widgets_picker_scrim.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/drawable-hdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/drawable-mdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/drawable-xhdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/drawable-xxhdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_widget_resize_handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/drawable-xxxhdpi/ic_widget_resize_handle.png
--------------------------------------------------------------------------------
/res/drawable/add_item_dialog_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/res/drawable/all_apps_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/all_apps_search_hint.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/arrow_toast_rounded_background.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/bg_widgets_searchbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/res/drawable/bubble_ic_overflow_button.xml:
--------------------------------------------------------------------------------
1 |
16 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/res/drawable/gm_edit_24.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/res/drawable/gutter_horizontal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
--------------------------------------------------------------------------------
/res/drawable/ic_deepshortcut_placeholder.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/res/drawable/ic_gm_close_24.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/res/drawable/ic_split_horizontal.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/res/drawable/ic_split_vertical.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/res/drawable/ic_widget_width_decrease.xml:
--------------------------------------------------------------------------------
1 |
16 |
23 |
--------------------------------------------------------------------------------
/res/drawable/ic_widget_width_increase.xml:
--------------------------------------------------------------------------------
1 |
16 |
23 |
--------------------------------------------------------------------------------
/res/drawable/middle_item_primary.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/page_indicator.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/res/drawable/pending_widget_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
20 |
--------------------------------------------------------------------------------
/res/drawable/popup_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/single_item_primary.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/tooltip_frame.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/res/interpolator/decelerate_quart.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
22 |
--------------------------------------------------------------------------------
/res/interpolator/decelerate_quint.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
22 |
--------------------------------------------------------------------------------
/res/interpolator/disco_bounce.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/res/interpolator/large_folder_preview_item_open_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
25 |
--------------------------------------------------------------------------------
/res/layout/app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/layout/appwidget_not_ready.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/res/layout/floating_app_pair_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/res/layout/floating_header_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/res/layout/floating_icon_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
20 |
--------------------------------------------------------------------------------
/res/layout/floating_split_select_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
18 |
19 |
--------------------------------------------------------------------------------
/res/layout/floating_surface_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
20 |
--------------------------------------------------------------------------------
/res/layout/floating_widget_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
21 |
--------------------------------------------------------------------------------
/res/layout/home_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/res/layout/notification_gutter.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/res/layout/overview_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/predicted_app_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/res/layout/search_container_hotseat.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/res/layout/system_shortcut_spacer.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/res/layout/widget_list_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/res/mipmap-hdpi/ic_launcher_home_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/mipmap-hdpi/ic_launcher_home_foreground.png
--------------------------------------------------------------------------------
/res/mipmap-mdpi/ic_launcher_home_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/mipmap-mdpi/ic_launcher_home_foreground.png
--------------------------------------------------------------------------------
/res/mipmap-xhdpi/ic_launcher_home_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/mipmap-xhdpi/ic_launcher_home_foreground.png
--------------------------------------------------------------------------------
/res/mipmap-xxhdpi/ic_launcher_home_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/res/mipmap-xxhdpi/ic_launcher_home_foreground.png
--------------------------------------------------------------------------------
/res/values-land/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/res/values-sw340dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | 20dp
22 |
23 |
--------------------------------------------------------------------------------
/res/values-sw600dp/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/res/values-v28/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | ?android:attr/dialogCornerRadius
19 |
20 |
--------------------------------------------------------------------------------
/res/values-v31/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | false
19 | false
20 |
--------------------------------------------------------------------------------
/res/xml/backupscheme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/xml/dynamic_resources.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/res/xml/grayscale_icon_map.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/res/xml/split_configuration.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
13 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':IconLoader'
2 | project(':IconLoader').projectDir = new File(rootDir, 'iconloaderlib')
3 |
4 | //include ':SharedLibWrapper'
5 | //project(':SharedLibWrapper').projectDir = new File(rootDir, 'SharedLibWrapper')
6 |
7 | include ':systemUIPluginCore'
8 | include ':animationlib'
--------------------------------------------------------------------------------
/src/com/android/launcher3/AppFilter.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.content.ComponentName;
4 | import android.content.Context;
5 |
6 | import java.util.Arrays;
7 | import java.util.Set;
8 | import java.util.stream.Collectors;
9 |
10 | /**
11 | * Utility class to filter out components from various lists
12 | */
13 | public class AppFilter {
14 |
15 | private final Set mFilteredComponents;
16 |
17 | public AppFilter(Context context) {
18 | mFilteredComponents = Arrays.stream(
19 | context.getResources().getStringArray(R.array.filtered_components))
20 | .map(ComponentName::unflattenFromString)
21 | .collect(Collectors.toSet());
22 | }
23 |
24 | public boolean shouldShowApp(ComponentName app) {
25 | return !mFilteredComponents.contains(app);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/LogAccelerateInterpolator.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | import android.animation.TimeInterpolator;
4 |
5 | public class LogAccelerateInterpolator implements TimeInterpolator {
6 |
7 | int mBase;
8 | int mDrift;
9 | final float mLogScale;
10 |
11 | public LogAccelerateInterpolator(int base, int drift) {
12 | mBase = base;
13 | mDrift = drift;
14 | mLogScale = 1f / computeLog(1, mBase, mDrift);
15 | }
16 |
17 | static float computeLog(float t, int base, int drift) {
18 | return (float) -Math.pow(base, -t) + 1 + (drift * t);
19 | }
20 |
21 | @Override
22 | public float getInterpolation(float t) {
23 | // Due to rounding issues, the interpolation doesn't quite reach 1 even though it should.
24 | // To account for this, we short-circuit to return 1 if the input is 1.
25 | return Float.compare(t, 1f) == 0 ? 1f : 1 - computeLog(1 - t, mBase, mDrift) * mLogScale;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/OnAlarmListener.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3;
2 |
3 | public interface OnAlarmListener {
4 | public void onAlarm(Alarm alarm);
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/util/ActivityLifecycleCallbacksAdapter.java:
--------------------------------------------------------------------------------
1 | package com.android.launcher3.util;
2 |
3 | import android.app.Activity;
4 | import android.app.Application.ActivityLifecycleCallbacks;
5 | import android.os.Bundle;
6 |
7 | public interface ActivityLifecycleCallbacksAdapter extends ActivityLifecycleCallbacks {
8 |
9 | default void onActivityCreated(Activity activity, Bundle bundle) {
10 | }
11 |
12 | default void onActivityDestroyed(Activity activity) {
13 | }
14 |
15 | default void onActivityPaused(Activity activity) {
16 | }
17 |
18 | default void onActivityResumed(Activity activity) {
19 | }
20 |
21 | default void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
22 | }
23 |
24 | default void onActivityStarted(Activity activity) {
25 | }
26 |
27 | default void onActivityStopped(Activity activity) {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/com/android/launcher3/widget/picker/OWNERS:
--------------------------------------------------------------------------------
1 | set noparent
2 |
3 | # Bug component: 1481801
4 |
5 | # People who can approve changes for submission
6 | #
7 |
8 | # Widget Picker OWNERS
9 | zakcohen@google.com
10 | shamalip@google.com
11 | wvk@google.com
12 |
13 | # Launcher OWNERS
14 | captaincole@google.com
15 | sunnygoyal@google.com
16 |
17 |
--------------------------------------------------------------------------------
/src_plugins/README.md:
--------------------------------------------------------------------------------
1 | This directory contains plugin interfaces that launcher listens for and plugins implement. In other words, these are the hooks that specify what plugins launcher currently supports.
2 |
3 | Details about how to create a new plugin interface, or to use existing interfaces to write a plugin can be found at go/gnl/plugins.
4 |
--------------------------------------------------------------------------------
/src_plugins/com/android/systemui/plugins/FirstScreenWidget.java:
--------------------------------------------------------------------------------
1 | package com.android.systemui.plugins;
2 |
3 | import android.view.ViewGroup;
4 | import com.android.systemui.plugins.annotations.ProvidesInterface;
5 |
6 | /**
7 | * Implement this interface to wrap the widget on the first home screen, e.g. to add new content.
8 | */
9 | @ProvidesInterface(action = FirstScreenWidget.ACTION, version = FirstScreenWidget.VERSION)
10 | public interface FirstScreenWidget extends Plugin {
11 | String ACTION = "com.android.systemui.action.PLUGIN_FIRST_SCREEN_WIDGET";
12 | int VERSION = 1;
13 |
14 | void onWidgetUpdated(ViewGroup widgetView);
15 | }
16 |
--------------------------------------------------------------------------------
/src_plugins/com/android/systemui/plugins/HotseatPlugin.java:
--------------------------------------------------------------------------------
1 | package com.android.systemui.plugins;
2 |
3 | import android.view.View;
4 | import android.view.ViewGroup;
5 |
6 | import com.android.systemui.plugins.annotations.ProvidesInterface;
7 |
8 | /**
9 | * Implement this plugin interface to add a sub-view in the Hotseat.
10 | */
11 | @ProvidesInterface(action = HotseatPlugin.ACTION, version = HotseatPlugin.VERSION)
12 | public interface HotseatPlugin extends Plugin {
13 | String ACTION = "com.android.systemui.action.PLUGIN_HOTSEAT";
14 | int VERSION = 1;
15 |
16 | /**
17 | * Creates a plugin view which will be added to the Hotseat.
18 | */
19 | View createView(ViewGroup parent);
20 | }
21 |
--------------------------------------------------------------------------------
/systemUIPluginCore/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/systemUIPluginCore/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.library'
3 | id 'org.jetbrains.kotlin.android'
4 | }
5 |
6 | android {
7 | compileSdkVersion COMPILE_SDK
8 | namespace "com.android.systemui.plugin_core"
9 |
10 | defaultConfig {
11 | minSdkVersion 26
12 | targetSdkVersion 34
13 | versionCode 1
14 | versionName "1.0"
15 | }
16 | buildFeatures {
17 | aidl true
18 | }
19 | sourceSets {
20 | main {
21 | java.srcDirs = ['src']
22 | aidl.srcDirs = ['src']
23 | manifest.srcFile 'AndroidManifest.xml'
24 | }
25 | }
26 | }
27 |
28 | //addFrameworkJar('framework-14.jar')
29 | //compileOnlyCommonJars()
30 |
--------------------------------------------------------------------------------
/systemUIPluginCore/proguard.flags:
--------------------------------------------------------------------------------
1 | # R8's full mode is a bit more aggressive in stripping annotations, but the
2 | # SystemUI plugin architecture requires these annotations at runtime. The
3 | # following rules are the minimal set necessary to ensure compatibility.
4 | # For more details, see:
5 | # https://r8.googlesource.com/r8/+/refs/heads/master/compatibility-faq.md#r8-full-mode
6 | -keepattributes RuntimeVisible*Annotation*,AnnotationDefault
7 |
8 | -keep interface com.android.systemui.plugins.annotations.** {
9 | *;
10 | }
11 | -keep,allowshrinking,allowoptimization,allowobfuscation,allowaccessmodification @com.android.systemui.plugins.annotations.** class *
12 |
--------------------------------------------------------------------------------
/system_ext/com/android/wm/shell/Flags.java:
--------------------------------------------------------------------------------
1 | package com.android.wm.shell;
2 |
3 | /**
4 | * Created by yuchuan
5 | * DATE 2024/9/26
6 | * TIME 22:14
7 | */
8 | public class Flags {
9 |
10 | public static boolean enableTaskbarNavbarUnification() {
11 | return false;
12 | }
13 |
14 | public static boolean enableAppPairs() {
15 | return false;
16 | }
17 |
18 | public static boolean enableSplitContextual() {
19 | return false;
20 | }
21 |
22 | public static boolean enableTinyTaskbar() {
23 | return false;
24 | }
25 |
26 | public static boolean enableLeftRightSplitInPortrait() {
27 | return false;
28 | }
29 |
30 | public static boolean enableRetrievableBubbles() {
31 | return false;
32 | }
33 |
34 | public static boolean generatedPreviews() {
35 | return false;
36 | }
37 |
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/systemui_core/shared/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/systemui_core/shared/proguard_flags.flags:
--------------------------------------------------------------------------------
1 | -keep class * implements com.android.systemui.flags.ParcelableFlag
--------------------------------------------------------------------------------
/tests/OWNERS:
--------------------------------------------------------------------------------
1 | # Bug component: 164335
2 | vadimt@google.com
3 | sunnygoyal@google.com
4 | winsonc@google.com
5 | hyunyoungs@google.com
6 |
--------------------------------------------------------------------------------
/tests/assets/databases/BackupAndRestore/launcher.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/BackupAndRestore/launcher.db
--------------------------------------------------------------------------------
/tests/assets/databases/BackupAndRestore/launcher_3_by_3.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/BackupAndRestore/launcher_3_by_3.db
--------------------------------------------------------------------------------
/tests/assets/databases/BackupAndRestore/launcher_4_by_4.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/BackupAndRestore/launcher_4_by_4.db
--------------------------------------------------------------------------------
/tests/assets/databases/BackupAndRestore/launcher_4_by_5.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/BackupAndRestore/launcher_4_by_5.db
--------------------------------------------------------------------------------
/tests/assets/databases/GridMigrationTest/flagged_result5x5to5x8.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/GridMigrationTest/flagged_result5x5to5x8.db
--------------------------------------------------------------------------------
/tests/assets/databases/GridMigrationTest/result5x5to3x3.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/GridMigrationTest/result5x5to3x3.db
--------------------------------------------------------------------------------
/tests/assets/databases/GridMigrationTest/result5x5to4x7.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/GridMigrationTest/result5x5to4x7.db
--------------------------------------------------------------------------------
/tests/assets/databases/GridMigrationTest/result5x5to5x8.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/GridMigrationTest/result5x5to5x8.db
--------------------------------------------------------------------------------
/tests/assets/databases/GridMigrationTest/test_launcher.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/assets/databases/GridMigrationTest/test_launcher.db
--------------------------------------------------------------------------------
/tests/config/robolectric.properties:
--------------------------------------------------------------------------------
1 | sdk=NEWEST_SDK
2 |
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/dummy_app.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/dummy_app1.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher1.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/ic_launcher2.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_back_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_back_1.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_fore_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxhdpi/icon_fore_1.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher1.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/ic_launcher2.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_back_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_back_1.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_fore_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/multivalentTests/dummy_app/res/mipmap-xxxhdpi/icon_fore_1.png
--------------------------------------------------------------------------------
/tests/multivalentTests/dummy_app/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #455A64
4 |
--------------------------------------------------------------------------------
/tests/multivalentTests/shared/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tests/multivalentTests/shared/com/android/launcher3/testing/OWNERS:
--------------------------------------------------------------------------------
1 | vadimt@google.com
2 | sunnygoyal@google.com
3 | winsonc@google.com
4 | hyunyoungs@google.com
5 | mateuszc@google.com
--------------------------------------------------------------------------------
/tests/multivalentTests/src/com/android/launcher3/testcomponent/AppWidgetWithConfig.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | package com.android.launcher3.testcomponent;
17 |
18 | /**
19 | * A simple app widget with configuration sceen.
20 | */
21 | public class AppWidgetWithConfig extends AppWidgetNoConfig {
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/tests/multivalentTests/src/com/android/launcher3/widget/picker/OWNERS:
--------------------------------------------------------------------------------
1 | set noparent
2 |
3 | # Bug component: 1481801
4 | # People who can approve changes for submission
5 | #
6 |
7 | # Widget Picker OWNERS
8 | zakcohen@google.com
9 | shamalip@google.com
10 | wvk@google.com
11 |
12 | # For Tests
13 | vadimt@google.com
14 |
15 | # Launcher OWNERS
16 | captaincole@google.com
17 | sunnygoyal@google.com
18 |
19 |
--------------------------------------------------------------------------------
/tests/multivalentTestsForDevice:
--------------------------------------------------------------------------------
1 | multivalentTests
--------------------------------------------------------------------------------
/tests/res/layout/test_layout_appwidget_blue.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/tests/res/layout/test_layout_appwidget_red.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/tests/res/layout/test_layout_appwidget_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
--------------------------------------------------------------------------------
/tests/res/layout/test_layout_widget_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
20 |
--------------------------------------------------------------------------------
/tests/res/raw/aardwolf_dummy_app.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Launcher3-dev/Launcher3/b725301b436a3bacdabb8a8c49dd2d2647441356/tests/res/raw/aardwolf_dummy_app.apk
--------------------------------------------------------------------------------
/tests/res/raw/db_schema_v10.json:
--------------------------------------------------------------------------------
1 | {
2 | "version" : 10,
3 | "downgrade_to_9" : []
4 | }
--------------------------------------------------------------------------------
/tests/res/raw/reorder_algorithm_test.txt:
--------------------------------------------------------------------------------
1 | arguments: 5 6 normal
2 | board: 6x5
3 | xxxxx-
4 | ------
5 | ------
6 | ---3--
7 | ---3--
8 | ---3--
9 | # this is a comment
--------------------------------------------------------------------------------
/tests/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Shortcut 1
4 | Shortcut 2
5 | Shortcut 3
6 | Shortcut 4
7 |
8 |
--------------------------------------------------------------------------------
/tests/res/xml/appwidget_dynamic_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/tests/res/xml/appwidget_hidden.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/tests/res/xml/appwidget_no_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/tests/res/xml/appwidget_no_config_large.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/tests/res/xml/appwidget_with_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/tests/shared/com/android/launcher3/testing/OWNERS:
--------------------------------------------------------------------------------
1 | vadimt@google.com
2 | sunnygoyal@google.com
3 | winsonc@google.com
4 | hyunyoungs@google.com
5 |
--------------------------------------------------------------------------------
/tests/src/com/android/launcher3/testcomponent/DialogTestActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2022 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.testcomponent;
18 |
19 |
20 | /**
21 | * Extension of BaseTestingActivity with a Dialog theme
22 | */
23 | public class DialogTestActivity extends BaseTestingActivity {}
24 |
--------------------------------------------------------------------------------
/tests/src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.launcher3.testcomponent;
18 |
19 | /**
20 | * Extension of BaseTestingActivity to help test many activities open at once.
21 | */
22 | public class OtherBaseTestingActivity extends BaseTestingActivity {}
23 |
--------------------------------------------------------------------------------
/tests/src/com/android/launcher3/widget/picker/OWNERS:
--------------------------------------------------------------------------------
1 | set noparent
2 |
3 | # Bug component: 1481801
4 | # People who can approve changes for submission
5 | #
6 |
7 | # Widget Picker OWNERS
8 | zakcohen@google.com
9 | shamalip@google.com
10 | wvk@google.com
11 |
12 | # For Tests
13 | vadimt@google.com
14 |
15 | # Launcher OWNERS
16 | captaincole@google.com
17 | sunnygoyal@google.com
18 |
19 |
--------------------------------------------------------------------------------
/tests/tapl/README:
--------------------------------------------------------------------------------
1 | http://go/tapl
2 |
--------------------------------------------------------------------------------
/tools/checkstyle.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 | ]>
8 |
9 |
10 | &defaultModuleChecks;
11 | &defaultCopyrightCheck;
12 |
13 | &defaultJavadocChecks;
14 | &defaultTreewalkerChecks;
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/tools/checkstyle_suppression.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------