Commit Graph

1514 Commits

Author SHA1 Message Date
Pinyao Ting ae1997b9d5 Include more error logging for widget restore
Bug: 171774227
Test: manually tested complete backup & restore flow
Change-Id: Ieb4b39d80a24b4dff377ee74d24d9010acd0daca
2020-11-10 16:53:25 -08:00
Sunny Goyal 1818fb7a6e Dismissing popup if the underlying icon no longer supports it
Bug: 168641545
Change-Id: Ia4f44819af02397efaead935db3fc8e305e47ba7
2020-11-09 14:33:24 -08:00
Samuel Fufa 37432444fc Initial setup for widgets in Search
LiveSearchManager creates AppWidgetHost when user starts a new search session and destroys it when user returns to home. In addition, it also manages the creation and caching of PlaceholderSearchWidget which can be used to create AppWidgetHostViews.
Bug: 168321831
Test: Manual

Change-Id: I06a893028e55aa6e0702a4f1cd7a2edbb1f61671
2020-11-07 10:07:33 -06:00
Riddle Hsu b30adcb232 Use event time of app side for latency metrics
There are 2 reasons not to use MotionEvent#getEventTime:
1. There is an existing TouchEventReported metric for touch latency.
2. In instrumentation test, the event time is set when creating
   the motion event for injection. It may cause the results to be
   5 times slower than the real case. That may lead to miss the
   cost from app to system.

Bug: 166614700
Test: Enable statsd log: "adb shell cmd stats print-logs"
      Touch gesture navigation bar or launch app from launcher.
      adb logcat | grep statsd | grep "(48)"
Change-Id: Ica5e7df685fe737bbc3ac60c3ec35bad15466726
2020-10-28 09:13:48 +00:00
Riddle Hsu 979da64d82 Add app start source info of apps launched from launcher
Bug: 166614700
Test: Enable statsd log: "adb shell cmd stats print-logs"
      adb logcat | grep statsd | grep "(48)"
      The line may contain 0x100000->1[I] 0x110000->10[I]
      that means 1=from launcher and 10=latency 10ms.
Change-Id: Iddaff7066b66e241ba58ec87129ddbe2c531dc7e
(cherry picked from commit 7bdf3574a3)
2020-10-09 17:21:38 +00:00
Hyunyoung Song 95786e077d Good riddance UserEventDispatcher
Bug: 165675920
Bug: 161381246

TL;DR;;
- nano -> lite proto
- add all the missing logs to WW
- pin item related logging fix
- Removed logging for assistant

sgrep "com.android.launcher3.userevent.nano." | cut -f1 -d: | xargs sed -i -e 's/userevent\.nano\./userevent\./g'

Change-Id: Ie2a49fdd891cacbd7ef40a1dc9e41ff0574c7517
2020-09-27 13:41:49 -07:00
Schneider Victor-tulias 25ecae1ef1 Add cross-fade animation to launcher for dark/light theme changes.
Test: manual

Fixing b/167570781. The launcher was not cross-fading it's original appearance with its new appearance on theme changes. It would only reload. Added a cross-fade animation.

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

Change-Id: I69162d9c49565e007cb33402389abf7d20806dd7
2020-09-21 16:15:54 -07:00
Samuel Fufa 2fa2e0ae23 Fix launcher leaks
Follow up of: ag/12558751
Bug: 168121204

Change-Id: I381284a5e1cd9568ed14ec7a357ff150e35c18c6
2020-09-14 09:35:37 -07:00
Schneider Victor-tulias 8a35c76427 Add folder UI animation.
Test: manual

Fixing b/144948355. The entire launcher was panning up when the user
would try to edit a folder name if that folder's name field would have
otherwise been obscured by the keyboard. This had the effect of
obscuring the smartspace. Added an animation to the folder UI to bring
it above the keyboard during text editing.

Change-Id: I0f95aae27fc7426f1025135ea6d4fa142a21cf43
2020-09-03 18:19:06 -07:00
Hyunyoung Song f5911b9ba0 Fix Robolectric test breakage am: 77e29775a9 am: c6890f8869
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12442805

Change-Id: Id9fcbd568a485eae82af0429d574fa3ca080805d
2020-08-25 18:59:08 +00:00
Hyunyoung Song c6890f8869 Fix Robolectric test breakage am: 77e29775a9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12442805

Change-Id: Ib8711dce31cc2bbb54776939a402440521b09c5f
2020-08-25 18:19:20 +00:00
Hyunyoung Song 516da83f62 Merge "Good riddance UserEventDispatcher [1/n]" into ub-launcher3-master 2020-08-25 09:25:55 +00:00
Hyunyoung Song 77e29775a9 Fix Robolectric test breakage
Bug: 166204002

Change-Id: I9c54c6230756dbb5fe8bdcb37ba51165d20bb815
2020-08-25 00:53:48 -07:00
Hyunyoung Song 6b670d62df Good riddance UserEventDispatcher [1/n]
Bug: 165675920
Change-Id: I237ed4243e1724b3c370c5660673bb3966bf4811
2020-08-24 21:19:09 -07:00
TreeHugger Robot 3cc22175e9 Merge "Moving hotseat predictions to ModelDelegate" into ub-launcher3-master 2020-08-24 18:42:01 +00:00
TreeHugger Robot 217dbfea01 Merge "Removing static state management from the install shortcut queue" into ub-launcher3-master 2020-08-18 22:00:23 +00:00
Sunny Goyal 0fc3d1275a Moving hotseat predictions to ModelDelegate
Bug: 160748731

Change-Id: I8db7856a17e0b6ca45b4d5ec3513f788f22db11a
2020-08-17 08:43:07 -07:00
Tony Wickham d844fe758c Remove ENABLE_OVERVIEW_ACTIONS flag, defaulting to true
We no longer support the "peeking" model where the shelf would
peek on motion pause from an app and overview would peek on motion
pause from home. Thus, removed/inlined the following:
- FlingAndHoldTouchController (merged into its sole subclass
  NoButtonNavbarToOverviewTouchController)
- ShelfPeekAnim
- OverviewPeekState

Change-Id: I066a3ad2636fde4786089c922b896bf1e03361fd
2020-08-14 15:58:29 -07:00
Sunny Goyal 60e68c91e9 Removing static state management from the install shortcut queue
Change-Id: I0b74a843b2081ee314e0840d5ea8ab8ddabde32b
2020-08-12 14:37:15 -07:00
Sunny Goyal 53116c6cc8 Simplifying InstallShortcutReceiver
> Removing support for legacy shortcuts (with embedded icon)
> Unifying pattern for storing the data in prefs

Change-Id: Ife250807c7ce5337969d25444ee23c751bc2a487
2020-08-11 16:41:45 -07:00
Winson Chung c226adb384 Defer recreation until resumed am: 3f8d868110
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12309024

Change-Id: I814a6cab9046b82d66426fbe19636087cfd3e2b6
2020-08-05 06:02:28 +00:00
Winson Chung b3d7ecc15b Merge "Close system dialogs when opening all apps from system action" into ub-launcher3-master 2020-08-05 05:49:31 +00:00
Winson Chung dd15acea87 Close system dialogs when opening all apps from system action
Bug: 161685099
Change-Id: I67313340102816828a95e8f9e7d8fa19b4ca3c55
2020-08-04 21:53:49 -07:00
Winson Chung 3f8d868110 Defer recreation until resumed
- Temporarily work around issue with activity recreation while started
  but not resumed by deferring recreating the activity on theme
  change until after launcher has resumed.

Bug: 162812884
Test: Switch dark mode via QuickSettings, Settings
Test: Change system theme
Change-Id: Ifbc0d538907a30d6b23176cd67353a81b6f8c617
2020-08-04 14:03:42 -07:00
Sunny Goyal eaf7a95546 Changing minimum supported Launcher version to 26
Change-Id: I49fcf874430ac53c3246371e179fbd828e14e4da
2020-07-29 17:30:19 -07:00
TreeHugger Robot 89b670056f Merge "Moving all-apps predictions to Launcher model" into ub-launcher3-master 2020-07-29 22:02:59 +00:00
Sunny Goyal 8b74cc761b Moving all-apps predictions to Launcher model
Predictions are loaded and managed by Launcher model and follow
the model lifecycle. They are then bound to the callback which
handles the UI

Bug: 160748731
Change-Id: I4a3ea0698d80fafe94afb4ce66ffa7f4a6a91c68
2020-07-29 13:07:52 -07:00
Sunny Goyal 52e2545a66 Removing arrow indicator from homescreen and
adding a separate view for various accessibility actions

Bug: 159247871
Change-Id: I14536844929e03d36a6a5f294d4f5daad8c82d15
2020-07-28 14:21:31 -07:00
Hyunyoung Song d25dabb466 Add InsetTransitionController to device search
Also removed plugin support as if both the feature flag and
the plugin is turned on, there are object/resource contention

Bug: 161594550

Change-Id: I2cb98e83c46c7e47db96b90fa8d7cb9620643221
2020-07-24 13:57:16 -07:00
Sunny Goyal 28f5075eb0 Adding support for storing container based item list in the model
These items get updated automatically during various model tasks.
Also simplifying the pinned shortcut state, by calculating the
list of ppined shortcut on demand, instead of storing a refCount.

Bug: 160748731
Change-Id: I3169d293552b05b4f4d6c529397fbc761887a282
2020-07-23 15:27:50 -07:00
Sunny Goyal b9a0a99ade Adding home animation support for non-system Launcher am: 30ac97d938 am: c60023449c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12150115

Change-Id: Idbd4c1ab36928420023987e0e4bdb06edd9e3268
2020-07-21 20:07:31 +00:00
Sunny Goyal 30ac97d938 Adding home animation support for non-system Launcher
When user swipes up to home, Launcher will receive a onNewIntent
callwith a bundle-extra gesture_nav_contract_v1. It will contain
the componentName & UserHandle of the closing app & a callback.
Launcher can use the callback to return the final position where
the app should animate to and an optional surface to be used for
crossFade animation. The surface cleanup can be handled in
onEnterAnimationComplete.

Change-Id: I76fdd810fdcb80b71f7d7588ccac8976d9dfe278
2020-07-21 11:43:21 -07:00
Sunny Goyal 852537fd98 Using StatsLog for notifyingAppPredictor
> Adding a listener in StartsLogManager for listening to events.
  This allows events to be directored to the predictor only if
  it is already running, instead of creating it.
> Unifying the event format to be same as hotseat predictor

Bug: 160748731
Change-Id: Ib00e6249ff642c030f00bcad5b748255e704d16a
2020-07-16 14:12:15 -07:00
Pinyao Ting 9d51e49cec Fixes the issue Launcher state propagation is slower than onDeferredResume.
There's currently a bug prevents Launcher release drag lock for two step
widgets. Supposedly, onDeferredResume should release the drag lock; However,
in 3-button navigation mode, the transition from Overview -> Normal is
triggered in Launcher#onNewIntent, which happens after onDeferredResume.

This issue is not reproducible with gesture navigation because its
transition from Overview -> Normal is handled in NavBarToHomeTouchController

Test: manual verified with following steps
1. Enable 3-button navigation
2. Long press in WorkSpace -> Widgets
3. Drag Settings Widget to WorkSpace
4. When the config activity is shown, press "recents" button to see Overview
5. press "home" button to go back to workspace
6. repeat 2 and 3, verify the widget can be dragged
Bug: 149659788

Change-Id: I396ffa8a7db44bf3872a10de4208340a99a7efe8
(cherry picked from commit 3bf889a02f)
2020-07-13 21:46:05 +00:00
Pinyao Ting 3bf889a02f Fixes the issue Launcher state propagation is slower than onDeferredResume.
There's currently a bug prevents Launcher release drag lock for two step
widgets. Supposedly, onDeferredResume should release the drag lock; However,
in 3-button navigation mode, the transition from Overview -> Normal is
triggered in Launcher#onNewIntent, which happens after onDeferredResume.

This issue is not reproducible with gesture navigation because its
transition from Overview -> Normal is handled in NavBarToHomeTouchController

Test: manual verified with following steps
1. Enable 3-button navigation
2. Long press in WorkSpace -> Widgets
3. Drag Settings Widget to WorkSpace
4. When the config activity is shown, press "recents" button to see Overview
5. press "home" button to go back to workspace
6. repeat 2 and 3, verify the widget can be dragged
Bug: 149659788

Change-Id: I396ffa8a7db44bf3872a10de4208340a99a7efe8
2020-06-30 17:00:24 -07:00
Hyunyoung Song 801f81fba5 Log Launcher transitions to WW
- ONRESUME / ONSTOP
- HOME_GESTURE
- OVERVIEW_GESTURE
- QUICKSWITCH
- SWIPELEFT/SWIPERIGHT

Bug: 156875719
Bug: 148822714
Bug: 137777105

Debug log: go/launcher-log-parity

Change-Id: I64a0deab4996b5be36320fbe0339f320891c53e0
2020-06-22 12:09:06 -07:00
Sunny Goyal 9d89f75ce4 Fixing fallback recents not getting proper insets on configuration change
> Using common code for Launcher and recents for insets dispatching
> Fixing recents auto closing when there is no running task

Bug: 158750568
Bug: 159133601
Change-Id: Iee25c603a77a1ac546ada1840f3afaf5797b8802
2020-06-19 11:41:53 -07:00
Sunny Goyal 28daf4a76f Removing multiple system RPCs to packageMAnager and userManager from UI thread
Bug: 158427348
Change-Id: Ibb1837fe932000b69cf5683bb01727fc32abca91
2020-06-08 17:56:36 -07:00
Adam Cohen b66675a36d Delegate horizontal scrolls from the Hotseat to the Workspace
=> Before this change, scrolling horizontally on the the hotseat area was a no-op
=> This is a mild usability issue (or arguably WAI) for the default grid, but for larger grids it feels really broken as you have to reach very high just to scroll to another page.

issue 156507399

Test: manual. Also verified that swipe up still works and goes through the same code path.

Change-Id: I760aca473dd36bc8cfb906cb58e897e2ab7fd1d9
2020-05-15 16:57:37 -07:00
Sunny Goyal 35e7d38681 Abstracting out state handler logic into base classes so that it can
also be used in different activity

Change-Id: Ic5e60b21e1429c71f1cd4e7041e70bf4fc9761b7
2020-05-11 16:38:26 -07:00
Sunny Goyal f67db3531b Moving animation configuration and definition out of state definition
This removes cross dependency between StateManager and State object so
that it can be easily generalized

Change-Id: I62851fc4b653655cb40f37023db9651055ec7c9c
2020-05-07 01:33:57 -07:00
Samuel Fufa 385e93249e Improve Hybird hotseat cache support
Loads list of cached apps and shows predicted app icons with the rest of workspace items.

-> Extracted prediction caching logic into a model layer

Bug: 155029837
Test: Manual

Change-Id: I6981594a910f5fe4e8e8cf8fe39db0cb856e7acd
2020-05-06 14:14:08 -07:00
TreeHugger Robot 0199fa46de Merge "Removing tracking activity start/stop events" into ub-launcher3-rvc-dev 2020-04-30 18:06:00 +00:00
Sunny Goyal 8f96546e79 Generalizing LauncherState definition so that it can be used in RecentsActivity
> Removing 'Launcher' as parameter from state methods called by StateManager
> Converting state properties to methods for easier abstraction
> Moving state handling drom state definition to activity class

Change-Id: I997627df606a7e0bb3bf32688d045a942a47fc94
2020-04-30 01:01:51 -07:00
vadimt a1f0a10662 Removing tracking activity start/stop events
They were not especially useful in investigations; besides, these events
can be sent by the system asynchronously for actions that happened
before entering TAPL, causing flakes.

Change-Id: I72b5aad5521c6c0969f5b657b3db3e4d855f1d64
2020-04-29 14:23:53 -07:00
Sunny Goyal 0addbf0512 Various multi-window fixes
> Fixing scale up calculator for swipe-down
> Offsetting pivot so that the preview is aligned to bottom-right
> Allowing insets to be available in multi-window mode as well
> Offsetting taskViewSimulator appropriately in multi-window mode

Change-Id: I7da4c145efca72ef219a5ffcaf23d726812df270
2020-04-29 11:50:33 -07:00
Vinit Nayak b219eeab48 Merge "Revert "Hide shelf in 2-Button Landscape"" into ub-launcher3-rvc-dev 2020-04-27 21:24:53 +00:00
Vinit Nayak 48b28027c0 Revert "Hide shelf in 2-Button Landscape"
This reverts commit 9b5795a579.

Reason for revert: b/155090034

Change-Id: If7decd54965a680d50e4474fb279ebe0002441bb
2020-04-27 20:48:49 +00:00
TreeHugger Robot ea0c4f57be Merge "Hide shelf in 2-Button Landscape" into ub-launcher3-rvc-dev 2020-04-25 01:14:10 +00:00
Vinit Nayak 9b5795a579 Hide shelf in 2-Button Landscape
Disable overview rotation in 2-Button
until we can figure out the correct
transition/animation.
TODO: b/154665738

Fixes: 154181816
Test: Tested no button and 2 button,
overview actions worked as before.

Change-Id: Ib67906b11e24def870a39f57b5156e29db258fd7
2020-04-24 16:43:37 -07:00