Commit Graph

55 Commits

Author SHA1 Message Date
Miranda Kephart
1a359a261d Add hints in Overview
If the ENABLE_HINTS_IN_OVERVIEW flag is enabled, pulls chip hint
data (currently from the NavBarHint plugin; eventually from AiAi)
and shows the chips between the task view screenshot and the QSB.

Screenshot: https://screenshot.googleplex.com/Ww05W13XjBv

BUG:124390101

Change-Id: I7686673b705257eca31f2fa40e2744e197153c7c
2019-02-20 15:17:03 -05:00
Tony
60ac5d2b34 Only stabilize tasks during quick switch session
- A stabilization session starts when going to a new task via a quick switch
- A stabilization session ends after 5 seconds on the same task or when completing
  a gesture to go to home or overview
- We track the system task order and copy it for the duration of the stabilization session
- After the session ends, we switch back to the system task order
- Remove ENABLE_TASK_STABILIZATION flag (and also QUICK_SWITCH)

Bug: 111926330
Change-Id: I2c18dff2d20ad02b73a4935ac534e9fc9f5f49c0
2019-02-19 14:54:23 -08:00
Hyunyoung Song
29e5d44a63 Add a flag to turn on theme picker in wallpaper picker
Bug: 122524192
Change-Id: I79bd8bde359a56185c1dd0c10964695263d0f6d5
2019-02-07 14:16:32 -08:00
Tony Wickham
776c7e63d3 Fix ToggleableGlobalSettingsFlag on user builds
TogglableFlags are not initalized if !IS_DEBUG_DEVICE. Thus,
trying to read from the ContentProvider produces a NPE.

Also make ENABLE_TASK_STABILIZER global again now that this
fix is in place.

Bug: 123429711
Change-Id: I252e9b3ef4e802e769865f13b14487a36b8e1f82
2019-01-29 11:01:22 -08:00
Tony Wickham
07f164dc2e Merge "Swipe up to go home, swipe and hold to go to overview" into ub-launcher3-master 2019-01-28 19:59:54 +00:00
Tony Wickham
18759647f0 Swipe up to go home, swipe and hold to go to overview
- Pause (swipe and hold) detection based on velocity and acceleration,
  so it feels immediately responsive
- Don't show shelf during swipe; peek when swipe pauses
- Disallow long swipe
- If swiping to go home (we didn't detect a pause), animate window and
  launcher together (not final animation, but mechanism is in place)
- Guarded by SWIPE_HOME flag

Bug: 111926330
Change-Id: Ie4af04517c6688e3d649c2971a1aad197837cb3b
2019-01-28 11:37:33 -08:00
bohu
68c6254fb0 Revert "Make ENABLE_TASK_STABILIZER a toggleable via global settings"
BUG: 123429711

This reverts commit e346b2f910.
Reason: launcher crashes in user build

Change-Id: I57315a7969dd70aa615235ed8425d5b2a05545a6
(cherry picked from commit 612bb6be7c)
2019-01-28 04:48:23 +00:00
Tony Wickham
e346b2f910 Make ENABLE_TASK_STABILIZER a toggleable via global settings
Change-Id: I7ba7b8e0fb8b6b99564fa3ef06dfab06427d8856
2019-01-11 12:00:53 -08:00
Tony Wickham
68a716c5ca Track window rather than shelf when FeatureFlags.SWIPE_HOME = true
Bug: 111926330
Change-Id: I439a682df14e4f559aa62b7f589d17acdac1d367
2019-01-11 00:46:24 +00:00
Tracy Zhou
5a763a25c9 Support live tile in Overview (Pt2) - Complete functionality
- Punch a hole (by erasing part of launcher where current task is rendered) to reveal app surface drawn underneath using surface transform. We use LauncherLayoutListener before reaching OVERVIEW threshold, and TaskView after threshold due to layering constraint (it's above Overview but below All Apps)
- Render live tile following user-trigger scrolling (horizontal and vertical) by tracking the task view rect.
- When user launches the current running app (through the live tile or icon in the app drawer), finish recents animation to app.
- When user launches another app (through Overview or other entry points where user opens an app), take a screenshot of the current running app, switch to screenshot mode and launch the other app.
- Refactor ClipAnimationController#ApplyTransform to consolidate transforming by progress and by getting the current rect of the app on the screen.

Bug: 111697218
Test: manual test

Change-Id: I0ad764399e872f181a9d65dc453f0175f2b58dd1
2019-01-08 23:21:18 -08:00
Jon Miranda
7e390c3b17 Revert "Revert "Add spring to shelf for home <-> overview <-> all apps state transitions.""
This reverts commit 2bdac8f7e5.

Reason for revert: Reverting and added fix to crash

Change-Id: I20508eb05c85ba5dfba52630aa9becea270f890b
2019-01-08 16:43:45 -08:00
TreeHugger Robot
e754bad967 Merge "Revert "Add spring to shelf for home <-> overview <-> all apps state transitions."" into ub-launcher3-master 2019-01-05 00:13:53 +00:00
Jonathan Miranda
2bdac8f7e5 Revert "Add spring to shelf for home <-> overview <-> all apps state transitions."
This reverts commit e018711aac.

Reason for revert: investigating crash

Change-Id: I157b61a9f1bd46e2fcd3f2f883d3b5c23ca314af
2019-01-05 00:04:20 +00:00
Hyunyoung Song
c55a350da8 Refresh icon cache when icon shape path has changed
Bug: 120505990

$ adb shell cmd overlay enable --user 0 com.android.theme.icon.roundedrect
$ adb shell cmd overlay disable --user 0 com.android.theme.icon.roundedrect
$ adb shell cmd overlay enable --user 0 com.android.theme.icon.teardrop
$ adb shell cmd overlay disable --user 0 com.android.theme.icon.teardrop

Change-Id: I06663b9727f7434aae737d39977f1e6cf09bffbf
2019-01-04 11:57:52 -08:00
Jon Miranda
e018711aac Add spring to shelf for home <-> overview <-> all apps state transitions.
Added new SpringObjectAnimator class that wraps an ObjectAnimator so the
Object can be controlled via the Animator or via a SpringAnimation. It extends
ValueAnimator so that it remains compatible with AnimatorPlaybackController.

Code is behind feature flag toggle QUICKSTEP_SPRINGS.

Bug: 111698021
Change-Id: I1b20179ede37e89a6a6bb2a45d407cc74c99ac4e
2019-01-04 11:12:53 -08:00
Sunny Goyal
1c8db791c8 Disable task stabilizer
Change-Id: Ia5075ce31118f2ad629ff1fca7ceacfbe369dc8d
2019-01-04 09:19:51 -08:00
Sunny Goyal
849d7e6c41 Keeping task list stable across multiple task switches
Change-Id: I3b334a8c8fb13ad54bc19e782cae016fe3c78ff6
2019-01-03 15:50:05 -08:00
Sunny Goyal
4276e7b649 Moving autority definition to a separate file, so
that it can be easily customized using android studio

Change-Id: I17f4f4511c2af5d382727769d1b74413f233d500
Bug: 120079798
2018-11-27 23:20:32 +00:00
Ryan Lothian
d813e79ecc Get Robolectric tests passing
+ Default SDK 28 -> 26, as >26 isn't available for
  unbundled make builds.

+ @Ignore 3 test methods that currently fail with
  resource-related errors.

Test: RunLauncherRoboTests succeeds locally
Bug: 119567714
Change-Id: Id6ea42cef050119d892b5af2b1ba1afc4c4f0b28
2018-11-15 20:17:33 +00:00
Tony
94c5b83a7e Add ToggleableGlobalSettingsFlag for QUICK_SWITCH
- ToggleableGlobalSettingsFlag saves/loads from Settings.Global rather than
  SharedPrefs, allowing other processes to update the setting as well.
- ToggleableGlobalSettingsFlag#get() reads from storage every time.
- Add the flags' descriptions to the feature flags settings UI.

Change-Id: I9cfc44ddaa5d9e223cf77a9b2475f8d25757d1fb
2018-11-09 15:27:24 -08:00
Ryan Lothian
af0c0e8b0d Allow overriding flags in Robolectric tests
Bug: 117235618
Change-Id: Ibc01a4fe1de6a38d9fc620e4601fdb2282bf03e1
2018-11-08 17:25:23 -05:00
Tony
50876bfac7 FeatureFlag: quick scrub is now quick switch
- Scale down current task and translate it to the left
- Translate previous task in from the left
- This is a toggle; quick switch again returns to the first task

Currently this is implemented by repurposing onQuickScrub(progress) to update the positions
of the first two pages. This makes tracking velocity a bit difficult; if we want to go down
this path in the long run we should probably track velocity properly on MotionEvents.

Change-Id: I4445b5f08b6e88e71cbb5e30b1f1d45c5f1edc68
2018-11-01 17:26:31 -04:00
TreeHugger Robot
dcaa2d2ae7 Merge "Handling configuration changes at runtime instead of killing the process" into ub-launcher3-master 2018-10-23 19:46:11 +00:00
Ryan Lothian
904dbcdf9d Only show flags UI if developer options is enabled
Change-Id: I69005e623dab9f1f2f0682b61311836b62337835
2018-10-22 17:06:47 -04:00
Sunny Goyal
87dc48b7bf Handling configuration changes at runtime instead of killing the process
Change-Id: I0c7f7e58ddb690f371c257b6142a4e918e9acb7f
2018-10-19 12:52:17 -07:00
Ryan Lothian
fa530cd23f Make flags UI available on release build of launcher
The UI will only be shown on eng/userdebug platform builds.

Bug: 117223984
Change-Id: I27843f2d856a4a19f3fe53c4d306606eaa5714a2
2018-10-15 17:24:48 -04:00
Ryan Lothian
f2e8ddaf79 Remove unused NO_ALL_APPS_ICON flag
Change-Id: I2286121d8e396acc4afe76c77ef99abd6154a866
2018-10-12 14:45:35 -04:00
Ryan Lothian
688e9896fa Groundwork for runtime-toggleable feature flags
This is the first step in adding a flag toggler UI to launcher.
The change migrates a single flag (QSB_ON_FIRST_SCREEN) from a
boolean constant to a boolean method. In future, that will allow
us to return different values at runtime.

Bug: 117223984
Change-Id: I1e62c91dd941b8145166021bc0aa157733e62ea0
2018-10-08 13:17:30 -04:00
Hyunyoung Song
24b209c65a Swipe down on status bar
Bug: 111839343

Change-Id: I5332dc098af980b4d4ef45b095586d68975ad98c
2018-09-18 11:11:04 -07:00
Sunny Goyal
36b54228fc Retiring some feature flags
Change-Id: I80a00ecaec0785ce2ba6a5f14a54c8a76f555d43
2018-07-10 13:52:17 -07:00
Tony Wickham
20bfde3600 Show overview tiles in the orientation screenshot was taken
If the orientation of the screenshot doesn't match the thumbnail view,
we rotate the screenshot 90 degrees. We don't know whether a landscape
screenshot was seascape, so we just assume it's not (i.e. landscape
screenshots always rotate +90 degrees when shown in portrait).

Portrait screenshots rotate so that the bottom aligns with the nav bar,
e.g. rotate +90 in seascape and -90 in landscape

Currently guarded by the flag OVERVIEW_USE_SCREENSHOT_ORIENTATION.

Bug: 74552612
Change-Id: I438e45d89b54ffe41950c8bb9abdbb9a1c33aa40
2018-03-27 09:48:37 -07:00
Sunny Goyal
7185dd63eb Changing the overviewState to show appsearch and floating header
Change-Id: I2cfd61cfc9978e4c8e4520f0f7217e49e7344c79
2018-03-19 20:02:34 -07:00
Mario Bertschler
14a89262f1 Using edge effect to trigger spring animation for all apps.
Bug: 72811152
Bug: 72059944

Change-Id: Ied7b51caa2fb48a2fda126d59e4eaf6a35edded3
2018-03-08 11:16:53 -08:00
Sunny Goyal
b1d222e9a7 Removing support for app prediction from Launcher3
Derivative projects can extend the FloatingHeader to add support
to custom content in all-apps screen.

Change-Id: I4e29221a72e5a077a756713a6774cda7ecde8f1b
2018-01-30 20:53:11 -08:00
Sunny Goyal
01ce755753 Removing unused app discovery support
Change-Id: I670be29851b232caa5c05624ae37ae5e92a8b65f
2018-01-23 13:53:03 -08:00
Sunny Goyal
9bb0d72640 Adding feature to support two different swipe targets from all-apps and overview
Change-Id: I7e7b4abbcebcbd6de43805c57ee40b0edd5ba5aa
2018-01-11 14:13:44 -08:00
Sunny Goyal
18a4e5aefb Making LauncherIcons thread safe
Creating a pool of LauncherIcons so that they can be used from multiple threads

Change-Id: Idc7b5ddb47b6e338a5389f3c4faa6f63de108c72
2018-01-09 17:30:52 -08:00
Mario Bertschler
6dcc6d4242 Turn on feature flags to eanble all apps personal/work tabs.
Bug: 69966601
Change-Id: I642db678dc711cb4dc5a1eceea7e38eaa71ca189
2017-12-01 13:24:49 -08:00
Mario Bertschler
2153e1c814 Implementation of PredictionRowView.
> Enable to use floating for prediction row even without tabs.
> Behind ALL_APPS_PREDICTION_ROW_VIEW feature flag.
> Expand/Collapse personal/work tabs in stopped intermediate state.

Bug: 68713881
Change-Id: I7817e7b7c6f572358f2b9a7a347339a9081708ee
2017-11-16 17:07:44 -08:00
Mario Bertschler
ac9408a5cd Enable work profile tab in all apps.
This CL will bring two tabs to all apps: Personal and Work,
currently only if the user has a workfile set up and
behind a feature flag defaulting to disabled.

Bug: 68713881

Change-Id: Ib5a558281ef3593359db3ad593ee1d0cf279f547
2017-11-14 10:28:54 -08:00
Sunny Goyal
85525173ce Rearranging the code structure to allow replacing state logic.
Change-Id: I6f83d0f77045ba189f02dd465bf70ffc2a239aa1
2017-11-06 14:57:50 -08:00
Sunny Goyal
9d341964a0 Setting up build rules and placeholder code for QuickStep
Change-Id: Ib4ad5c6082b293fc9f9455d70e2b21462b4ab76d
2017-10-30 10:04:24 -07:00
Sunny Goyal
f9403d92fa Removing state definition from Launcher
State is only maintained is workspace and is used for all the UI

Bug: 67678570
Change-Id: Ie3cce5a1f4ada3913d0480f7918c27460dacbd34
2017-10-18 15:04:22 -07:00
Sunny Goyal
f2dd4216c1 Removing extraction service and palette api dependency
Change-Id: I30ad1a1462a97b6bc03f8e386ae3058c7fe022e5
2017-09-29 10:40:08 -07:00
Sunny Goyal
952e63d006 Fixing custom widgets support:
> Moving the definitions to xml so that it is easier to override in derivative projects
> Fixing verious bind and save logic for custom widgets
> Adding feature flag to easily disable custom widgets

Change-Id: I0e278bc7dd415713029364060ef10842da990be9
2017-09-13 14:04:35 -07:00
Sunny Goyal
add3d8322d Removing some folder customization options
The old folder preview and animation relied on creating bitmaps for transition.
As we move to hardware bitmaps, creating custom bitmaps which rely on icon bitmaps
would be costly (hardware bitmaps are immutable and cannot be drawn on a software canvas).

Bug: 35428783
Change-Id: I39869ed44feb6a886985ad15775bc1ab55565727
2017-09-08 12:07:24 -07:00
Tony Wickham
b5793403eb Merge changes from topic "am-99d3d54c-2af9-430d-b857-e57c745fb7d9" into ub-launcher3-master
* changes:
  [automerger] Remove notification dots setting for Launcher3Go am: c138515c4e
  Remove notification dots setting for Launcher3Go
2017-08-22 18:43:13 +00:00
Hyunyoung Song
b189a0e45a [automerger] Remove LAUNCHER3_ALL_APPS_PULL_UP Bug: 63712253 Verified: all apps transition fully functional Verified: NO_ALL_APPS_ICON = false case also works. am: d725f644b7
Change-Id: I455d617765afe5e7ec1dfb29ad019f37407702d7
2017-08-21 19:01:16 +00:00
Hyunyoung Song
d725f644b7 Remove LAUNCHER3_ALL_APPS_PULL_UP
Bug: 63712253
Verified: all apps transition fully functional
Verified: NO_ALL_APPS_ICON = false case also works.

Change-Id: I779fb7bd4927c5923da3f85590d912dbbbcdef4d
2017-08-21 11:59:14 -07:00
Tony Wickham
d424b25be4 [automerger] Remove notification dots setting for Launcher3Go am: c138515c4e
Change-Id: I2fdd2f33babf294140a649fafebc68d6e45b86d7
2017-08-14 22:09:39 +00:00