Commit Graph

1514 Commits

Author SHA1 Message Date
Sunny Goyal b47172bc4e Linking various settings that control icon cache to icon state
Also separating icon provider for recents from Launcher as it used a fixed size

Bug: 183641907
Test: Verified on device
Change-Id: I6ea3caa0066d1483bfb8a81f0e8aaa472c813afe
2021-05-05 23:05:38 -07:00
Sunny Goyal 19ff728b92 Adding support for determining split layout for launcher.
> Simulating the windo wmanager API to get available device
  profiles until final API
> When a device has multiple internal displays, and with both
  tablet and phone possibilities, it uses a split workspace layout

Bug: 186160341
Bug: 175782275
Test: Manual
Change-Id: Ieff2329acac7cdd6b9abe6f96cd459cd45bd0efe
2021-05-03 14:48:28 -07:00
Tony Wickham b482188775 Some overview scrim and status bar color adjustments
- Replace UI_STATE_OVERVIEW with UI_STATE_FULLSCREEN_TASK. Overview no
  longer needs it's own status bar treatment as it's handled by
  ScrimView already. So remove instances of UI_STATE_OVERVIEW and
  replace some with UI_STATE_FULLSCREEN_TASK if a TaskView is behind
  the status bar.
- Add ScrimView to fallback recents activity.
- Remove scrim from Background state, don't fade it in until the
  gesture ends to RECENTS.

Test: watch scrim and status bar colors during the following
- Swipe up to home (no scrim, status bar matches task at first but
  then wallpaper once task isn't overlapping status bar)
- Swipe up to overview (no scrim until let go to overview, status
  bar matches task at first, then wallpaper after not overlapping,
  then scrim once it's 90% opacity)
- Quick switch from home (scrim fades in, status bar matches once
  it reaches 90% opacity)
- Quick switch from app (no scrim, status bar matches center task)
- Repeat above for 3P launcher and 2 button mode

Fixes: 185681676
Fixes: 185286870
Change-Id: I9e5c292cc734e714169b9cc8268e8dad4e868aca
2021-04-27 17:44:30 -07:00
Zak Cohen 079003b44d Revert "[Search][Motion] Separate AllApps scrim and content interpolation"
This reverts commit 8c383f97e4.

Reason for revert: ScrimView is used in multiple places, Overview is broken by this change.

Change-Id: Ie395e2d94feaca4c9365bb5da68e9dc219990e03
2021-04-26 23:59:07 +00:00
Samuel Fufa 8c383f97e4 [Search][Motion] Separate AllApps scrim and content interpolation
video: https://drive.google.com/file/d/18jTh8Lc8hf-c1GBGaWERHo4QIvAHBA8J/view?usp=sharing&resourcekey=0-RDJgw-ecOW3nnF6_tWkgCg
Bug: 183001675
Test: visual
Change-Id: Idb177fd3e31ac41f57379ac45b80e7246c0dd156
2021-04-22 22:55:00 -05:00
Winson Chung dc0f3978e7 Logging config changes as well
Reduce some logging from previous CL

Bug: 185820525
Test: Presubmit
Change-Id: I69baed7b819b529db30a65cb39a80fb310d76243
2021-04-20 18:18:51 -07:00
Winson Chung 8e64bba9cf Add some logging for transposed mode in landscape
Bug: 185820525
Test: Presubmit
Change-Id: Id4cf605fd5c3277273025ac1a73f25add0608412
2021-04-20 20:38:04 +00:00
Cyrus Boadway 0d309db47e Use Quickstep ActivityOptions when launching activities from App Widgets
Set a Quickstep specific InteractionHandler on QuickstepLauncher's
AppWidgetHost, which provides QuickstepTransitionManager-generated
ActivityOptions when starting activities from app widget interactions.

Bug: 169042867
Test: manual
Topic: quickstep-widget-app-launch
Change-Id: I231122b09aede940c047f19a5b5d1e7c562f6d3f
2021-04-16 09:42:46 +00:00
Sunny Goyal c82916fecb Some cleanup in RecentsView
> Merging overview and all-apps scrims into a single View
> Decoupling TaskMenuView from taskView

Bug: 184676497
Test: Manual

Change-Id: I49f7249eaa2a800054385ab8e73a441d6a1b5e16
2021-04-06 15:47:33 -07:00
Tony Wickham 2e0eee4d63 Merge "Send a notification when there's an uncaught exception" into sc-dev 2021-04-05 23:58:22 +00:00
Tony Wickham e78a70ba83 Send a notification when there's an uncaught exception
Guarded by FeatureFlag.NOTIFIY_CRASHES and IS_DEBUG_DEVICE

Test: Add a crash in the code, ensure a notification is posted
and can share the stack trace

Change-Id: I828cca3a99debf62f492960eb3cdc699cc0d7f9a
2021-04-05 15:18:12 -07:00
thiruram 0eabc781b1 [AA+] Fix missing InstanceId for LAUNCHER_ALLAPPS_CLOSE_DOWN event.
Before: https://screenshot.googleplex.com/8ZYxhujUR3amgmF.png
After: https://screenshot.googleplex.com/AZ7PExbBhGW2pAC.png

Bug: 178562918
Test: Manual
Change-Id: Id0bc54049e3a13cd53aaa37d0acee27ec7433fab
2021-04-02 14:34:26 -07:00
Sunny Goyal 0b5b8d4969 Fixing all-apps appearing as blank
Since all-apps and homescreen do not share any QSB, we can
change the alpha for hotseat QSB directly

Bug: 184122599
Test: Manual
Change-Id: Ifa610fe75ad22cfe8a7d816ed2b48e2b9411c4c1
2021-03-31 14:59:54 -07:00
Andras Kloczl 3a4ba0bec3 Fix two panel home folder opening display issue
Change the rect calculation logic that is used to
display an opening folder. If multiple panels are
displayed then we calculate the union of the pages.

Test: manual
Bug: 181962118
Change-Id: I504f22890115ceebc16d60929149fe634bf820d0
2021-03-29 22:51:57 +02:00
Tony Wickham 02e9f1e12f Slightly improve Taskbar animations to launcher
- Move Taskbar scale to LauncherState
- Rename TaskbarVisibilityController to TaskbarAnimationController and
  add mTaskbarScaleForLauncherState to TaskbarAnimationController
- Set OverviewState#getTaskbarScale() = 1f so Taskbar doesn't scale
  up when going from an app to Overview
- Increase home animation duration so Taskbar animation aligns better

Test: Taskbar scales up when going home, doesn't scale up when going
to overview
Bug: 182512211

Change-Id: I6f448e76de98d7ff337ae93234d4bb7ce6254d50
2021-03-24 10:31:12 -07:00
Jon Miranda 58561d4fd7 Dump DeviceProfile to help with debugging grid changes
Some of these internal values are not exposed in hierarchy viewer

Bug: 175329686
Test: Take bug report and verify output
Change-Id: Ic39be510682fe5aeb03b7436858f6442895c796f
2021-03-17 11:50:08 -04:00
Samuel Fufa 342e9df03c [Search]Implement search session cache in AllApps
- Skips SearchTarget reapplication if the id has not changed
- Resolves Incessant  subtitle on short row

Bug: 181510793
Test: Manual
Change-Id: Ic10ef9682fd3700616b7b1b7a60e82b5f2250fd3
2021-03-15 11:31:51 -05:00
Sunny Goyal b65d766d88 Adding support for listening for app launch animation completion
Bug: 181165935
Bug: 179065491
Test: Verified on device
Change-Id: Ifa6a91560cb31b4dfb72a0f582607e873d8a002d
2021-03-10 15:53:21 -08:00
Jonathan Miranda 970a410bd7 Merge "Register setStartingWindowListener so launcher can defer icon drawing/crop correctly." into sc-dev 2021-03-10 21:12:57 +00:00
Jon Miranda fb05759bab Register setStartingWindowListener so launcher can defer icon drawing/crop correctly.
Bug: 177264697
Test: manual
      close all tasks
      launch app, note that shell is drawing icon & launcher correctly crops
      return home
      launch same app, note that launcher draws the icon

Change-Id: Id320eb9e3e03f861cc8e4adec739b8faf29adda0
2021-03-10 13:07:26 -05:00
Sunny Goyal b5181c8c39 Revert "Revert "Removing insets controller animation as part of ..."
Revert "Revert "Moving insets animation to StateHandler so that ..."

Revert submission 13823490-revert-13810332-insetcontroller-CLXXLCZAUM

Reason for revert: Fixed original error in ag/13823726
Reverted Changes:
Ie19a3fd90:Revert "Moving insets animation to StateHandler so...
I4eb33772a:Revert "Removing insets controller animation as pa...

Change-Id: I7fb395c51ea99081913bc99515257e98c0a32754
2021-03-10 07:39:12 +00:00
Pasty Chang 13358f65ab Revert "Removing insets controller animation as part of all-apps..."
Revert "Moving insets animation to StateHandler so that it can b..."

Revert submission 13810332-insetcontroller

Reason for revert: QsbLayout#getEditText() return object is changed, but extended class HotseatQsbWidget wasn't updated.

https://android-build.googleplex.com/builds/submitted/7197042/aosp_crosshatch-userdebug/latest/view/logs/build_error.log

Reverted Changes:
If6a088d14:Removing insets controller animation as part of al...
I296415604:Moving insets animation to StateHandler so that it...

Change-Id: I4eb33772acd887d6e1d92a9ecde41cf1e0687896
2021-03-10 06:58:51 +00:00
Sunny Goyal 0724113b3d Removing insets controller animation as part of all-apps opening
Adding support for easier extension of StateHandlers

Bug: 180143210
Test: Verified on device
Change-Id: If6a088d1482c9b268b21786c4694f6e0927be0c3
2021-03-08 18:38:25 -08:00
Tony Wickham 39938cbc94 Initiate Hotseat drag from long pressing corresponding Taskbar item
When you long press on the taskbar hotseat item, the following happens:
- We start a system drag and drop with an invisible drag shadow
- We create a new DragOptions with the simulatedDndStartPoint set to the
  drag down position, and tell Launcher to use that for the next drag
- We perform a long click on the equivalent Hotseat item in Launcher
- We pass the drag events of that operation to Launcher's DragController

This allows Launcher to handle the entire drag operation, including the
pre-drag (with popup), and taskbar already hides when the drag starts.

Test: Long press items in taskbar hotseat, able to drag them to workspace

Bug: 179886115
Bug: 171917176
Change-Id: I576b80cb1bd0225cdc91cf7689fdee0481265109
2021-03-06 03:39:54 +00:00
Yogisha Dixit 741fae9ea2 Move widget files into widget folder + add tests.
I will use the newly created LauncherAppWidgetProviderInfoTest in a follow-up CL to add tests for the newly added widget sizing APIs.

Test: Automatic: Ran all robolectric tests in launcher3,
      Manual: Added a widget, edited the widget, removed the widget
Bug: 179807199
Change-Id: I540b2dbe284c6eb5aa2466a1d13a9581ee59425b
2021-03-01 13:59:52 +00:00
thiruram 9f53d61334 [AA+] Use different launcher event to log all apps entry with device search.
Bug: 178562918
Test: Manual
Change-Id: I56357e871dd57257ccd56a073cccc7e38529c6c6
2021-02-24 10:57:20 -08:00
Sunny Goyal 3c5e748b36 Merge "Removing menu and dialog for custom actions hanlding. These do not work well with gesture-nav and can potentially block the Launcher UI." into sc-dev 2021-02-17 21:40:26 +00:00
Tony Wickham 1906cc33f9 Refactor Folder to use ActivityContext and BaseDragLayer
These are the more generic versions of Launcher and DragLayer, so
that Folders can be used in other surfaces.

Test: Open and close Folders on home screen, ensure works properly
Bug: 171917176
Change-Id: I39b9aedbd8319ca61ea0e776bc95eab585e023d5
2021-02-16 15:06:50 -08:00
Sunny Goyal 384b578ab2 Removing menu and dialog for custom actions hanlding.
These do not work well with gesture-nav and can potentially
block the Launcher UI.

Instead exposing on custom actions with keyboard accelerator and
using thee internal arrowPopup for resize options
Fixing SecondoryDropTarget not sending appropriate stats log

Bug: 179854703
Test: Verified on device
Change-Id: I268690f8a937896e4350496128a38959003f8939
2021-02-16 10:45:06 -08:00
thiruram c96873caad [AA+] Log LAUNCHER_ONSTOP & LAUNCHER_ONRESUME events with AllApps session InstanceId.
* Transitions between AllApps and App screen logs LAUNCHER_ONSTOP & LAUNCHER_ONRESUME events. This change add InstanceId specific to the current AllApps session to these logs; this will help to regenerate AllApps session from logs on the server side. This should only affect logs from AllApps screen, but not others.

* Removes LiveSearchManager.allAppsLogger method as it may create confusion with 2 methods for logging into Statsd

* Moved AllApps entry and exit logs to Launcher.

Bug: 178562918
Test: Manual
Change-Id: I5fab941777a3dfd2e9b19c0efd5b06d3884222ef
2021-02-15 23:56:52 +00:00
Steven Ng 2f5648a911 Refactoring before adding a new view type in the WidgetsListAdapter
Changes made:
1. Model: added an abstract class for storing common information for
   entries shown in the full page widgets picker.
2. Introduced a ViewHolderBinder interface to split the logic of binding
   data to ViewHolder into separate classes.
3. Move the view holder binding of WidgetsListRow from WidgetListAdapter
   to its new class.
4. Move some widgets picker classes into a new picker package.

Test: Auto: Run WidgetsListAdapterTest, WidgetsListRowEntryTest and
      WidgetsListRowViewHolderBinderTest.
      Manual: open the all apps widgets tray and navigate the list.

Bug: 179797520
Change-Id: Iab29557842bb79156cad84d00a4c5d0db0c5aa06
2021-02-10 21:23:40 +00:00
Sunny Goyal 3186fbaed4 Merge "Adding support for keyboard based drag and drop" into sc-dev 2021-02-06 02:55:06 +00:00
Sunny Goyal a4647b681f Adding support for keyboard based drag and drop
For keyboard DnD, we use Accessible DnD implementation.
A placeholder FloatingView draws the focus indicator
for the virtual views

Test: Visible
Bug: 178781566
Change-Id: I632fc7377dffa1e05e3f0a9c3ad18641deb5a1a4
2021-02-05 13:05:24 -08:00
TreeHugger Robot 1508e062e8 Merge "Postponing registering widget listener" into sc-dev 2021-02-05 19:23:29 +00:00
Sunny Goyal 79e52fc23b Moving slice loading on a background thread
> Also fixing slice icon loading, such that the request is cancelled
  if views are recycled quickly
> Loading widget label on dg thread and cancelling request if views
  are recycled quickly.

Bug: 179068415
Test: verified locally
Change-Id: Id5a524e2bf596862330a8170394aef9ffd708544
2021-02-04 13:03:33 -08:00
vadimt 04ebcf4686 Postponing registering widget listener
For the swipe-to-home gesture, the call will happen
after the animation.

This fixes jank during swiping up from an ap
to home.

Also renaming some methods for clarity.

Bug: 175048504, 173072373
Test: tracing
Change-Id: I070b23edb633d2ac0985d5eb9f75c789f8569772
2021-02-03 23:37:53 +00:00
Tony Wickham 794fe4f58e Add Hotseat items to Taskbar
- Currently supports WorkspaceItemInfo (e.g. normal app icons
  including hotseat predictions and pinned deep shortcuts).
- Currently doesn't support Folders, Notification dots, or
  long press.

Some technical details:
- Always allow HotseatPredictionController updates given the
  Hotseat is always showing even when Launcher is stopped.
- Represent Taskbar Hotseat items as BubbleTextViews, to
  allow for normal click handling etc. When the hotseat is
  updated, we reuse the same BubbleTextViews that were
  initially inflated, and just reapply the new info.
- Add new BubbleTextView iconDisplay for Taskbar, to allow
  for different treatment such as icon size.

Bug: 171917176
Change-Id: I325eb39051f2dc69228b39b5c40ed0cbdad8e200
2021-02-01 18:29:06 -08:00
[1;3C d9abb1767d Support launcher animations in new transition system
Hook up the shell-transitions RemoteTransition to
launcher.

Bug: 169035082
Test: Launch an app from a launcher icon and observe
Change-Id: Ie327c11bbc59f19fb969f159f8380c10e4a84e50
2021-01-17 21:26:21 -08:00
Schneider Victor-tulias 6a5f431a7b Revert "Revert "Add UI updates for incremental app installs.""
This reverts commit 229497d182.

Reason for revert: Patching bugs

Fixes: 176901235, 176992421, 176884453

Test: manual

Change-Id: I57e13a15e72284564a10761966732ee31d15fd08
2021-01-12 12:22:33 -08:00
TreeHugger Robot cdfed2320a Merge "Revert "Add UI updates for incremental app installs."" 2021-01-08 00:31:06 +00:00
Schneider Victor-tulias 229497d182 Revert "Add UI updates for incremental app installs."
This reverts commit 84269d349d.

Reason for revert: causes b/176884453 and b/176992421

Change-Id: I3398674a0acbad8329df5d341ae074ac073a6bf9
2021-01-07 19:44:44 +00:00
Schneider Victor-tulias b76e4dbc51 Merge "Temporarily disable visibility-gated hotseat and prediction row updates." 2021-01-06 15:20:27 +00:00
Schneider Victor-tulias 84269d349d Add UI updates for incremental app installs.
1. Changed Preload Icon UI to be grayscale while the app is not startable.
2. Added progress bar for when app is installed but still ownloading.
3. Updated Preload Icon progress and click handling to use new incremental api.

Progress bar color updates will follow in a separate CL.

Demo: https://drive.google.com/file/d/1H1EvtTorLeJwC1eiq10tm-TT81YZ6osk/view?usp=sharing

Bug: 171008815

Test: manual

Change-Id: I5874a5146d79a8c91d7d90ff0b9c1c427a3c95dd
2021-01-05 15:17:26 -05:00
Schneider Victor-tulias 5aad9d87d7 Temporarily disable visibility-gated hotseat and prediction row updates.
Pending a resolution in b/174174514, disabling the visibility-gating of hotseat and all app prediction row updates. Updates will be allowed regardless of visibility.

Test: manual
Change-Id: I10e4dae9aad9af7b799fdad3b231c734e383b493
2020-12-15 16:00:59 -05:00
Sunny Goyal fee1b25fee Fixing PendingArgs not cleared when going home
Bug: 174781600
Test: manual
Change-Id: I2f192b0f60d843b49b290fa70b76f562fca81e36
2020-12-14 12:30:47 -08:00
Sunny Goyal 9b1d362f78 Merge "Keeping Launcher in overview UI if activity is restarting due to UI mode changes" 2020-12-09 19:22:38 +00:00
Sunny Goyal 6c0c61acd8 Keeping Launcher in overview UI if activity is restarting
due to UI mode changes

Test: Verified Launcher behavior locally
Bug: 148988542
Change-Id: Id83e5e0892666af1420e8f8c711b83f1ea355188
2020-12-08 19:22:01 -08:00
Winson Chung c4bef358b0 DO NOT MERGE Revert "Defer recreation until resumed"
Bug: 171707437
Test: Repro steps in bug

This reverts commit 3f8d868110.

Change-Id: I909ab701c674fe975982a7de06dc9e89dcd03aea
(cherry picked from commit 272f4541f9)
2020-12-09 02:50:37 +00:00
Pinyao Ting 0d97f8d19a Disable Database overwrite upon restore
Launcher overwrites user's favorites table (icons in WorkSpace) upon new
install session from Play Store with install reason being restore. The
overwrite was introduced in the attempt to mitigate failed restore
session due to asynchronous nature of user profile restore, but it has
been causing general instability in backup and restore. Going forward
Launcher should be moving away from table overwrite approach, this will
be implemented in b/148284747.

Bug: 171774227
Test: manual
Change-Id: I91221544dbaeb42224ce9f595906b6d9f0e4aa89
2020-12-05 07:05:12 -08:00
Schneider Victor-tulias f6f41535bf Disable app theme crossfade animation.
Pending the resolution of b/172467144, disabling the app theme crossfade animation.

Test: manual
Change-Id: Id18d2022601d7c5d7debb2365d4b65e5fcf6c5a5
2020-11-24 15:03:36 -05:00