Commit Graph

287 Commits

Author SHA1 Message Date
vadimt
04f356fe17 Fixing jank in folder animation.
This continues ag/6410337

Bug: 69236787
Test: Manual
Change-Id: Iac9f7ab21bf3741846b9721d4c8235e8fc49f7fb
2019-05-02 15:40:18 -07:00
Sunny Goyal
ae6e318711 Initial changes to creating a fake landscape Launcher UI
Workspace and hotseat are drawn in rotated UI giving the impression that the
device is in Portrait, even though it is in landscape

Bug: 131360075
Change-Id: I29c4068af25fd4dcf7039b9a45886e864a137977
2019-05-02 10:59:28 -07:00
Sunny Goyal
7368fa4369 Skip state animation if animations are disabled
> Also update the animation disabled check to use new-API

Bug: 118678948
Change-Id: Ib709844e34bdb7e369b368a7c33f2e8ff120024b
2019-04-22 10:00:01 -07:00
Sunny Goyal
ab770a10b9 Making CellLayout inflatable without LauncherActivtiy
This will allow creating cellLayout with a different device profile
or a different activtiy which can be used when displaying multiple
activities in multi-display or generating a preview for changing
display properties.

Change-Id: I386731d95e33c48bdef270ce9c0d3e9feefb6262
2018-11-20 17:11:13 -08:00
Sunny Goyal
efb7e84242 Converting long item IDs to int
> Items ids were already being typecasted to int when being bound on the UI
> Using a consistent type allow better use of platform data-structures
> Adding IntArray and IntSet as a replacement for various Collection classes

Change-Id: Id3c650ed2420c2bfca3bd7671d2b705b56112371
2018-10-08 14:52:39 -07:00
Sunny Goyal
55bdeed7bb Removing various reflection based animations, to allow for better proguarding
Change-Id: If9df24ea4170e8a3d336057d1c3dc800934fc1ac
2018-09-21 18:21:04 +00:00
TreeHugger Robot
e1c4a90635 Merge "Migrating to android-x" into ub-launcher3-master 2018-08-14 22:53:40 +00:00
Sunny Goyal
d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Sunny Goyal
f0b6db7fa8 Removing static launcher activity dependency from FirstFrameAnimationHelper
Static dependency does not work in the presence of multiple activities and
when the main activity is not Launcher (eg in fallback recents). Instead
creating FirstFrameAnimatorHelper on demand for individual animations.

Change-Id: I17bb69bbaaca92f0db994fb56fd784302c57d543
2018-08-13 16:10:18 -07:00
Sunny Goyal
849c6a2b18 Removing Launcher activity dependency on various animations
(This cl reverts change-Id: I455edcd17bda83ab51c2c04fa40e66097a4d6975)

Various animations were marked for cancellation when launcher activity is
destroyed. This this does not work with multiple activities (Launcher,
fallback recents, shortcut confirmation). Also since launcher activity
handles configuration changes, the activity is not destroyed often.

Instead associating a target with various animations which automatically
cancels the animations when that target goes away.

Change-Id: I64cd095a28075561a9e20c9dcdeb9f90c18e1047
2018-08-10 13:31:46 -07:00
Tony Wickham
8155fa2aa5 Don't prevent animations in power save mode
Now that batter saver mode doesn't get rid of animations in P, we
shouldn't use custom logic to prevent them either.

Also updated ATLEAST_P to use version code.

Bug: 79990054
Change-Id: If17cf369035c976f3d9d81f35432a045f1956ce5
2018-05-18 17:18:49 -07:00
Sunny Goyal
7c7be8c20a Simplifying options popup and overview handling
> Removing support for page drag-n-drop from pagedView
> Removing Overview UI from Launcher3 without quickstep and using options popup instead
> Removing touch handlers from CellLayouts and showing options popup based on workspace long press
> Excluding touch outside inset when showing the popup

Bug: 74136505
Change-Id: I34c2a7ff58452db26f5d1a85d554be40fc75f2b8
2018-03-13 12:57:32 -07:00
Sunny Goyal
726bee7d5d Removing click-feedback shadow generation logic in BubbleTextView
Instead of animating the shadow, animating the icon scale. This avoids
unnecessary bitmap creating at app-launch and also plays nice with the
app-launch transition

Change-Id: I1d3d24bc7212a6d659855ff1002a45388e269e52
2018-03-05 14:56:38 -08:00
Sunny Goyal
228153d92a Updating landscape layout for launcher/quickstep
> Hotseat is tied to navbar (on left in seascape)
> Search box shows up in Overview (clicking it would crash for now)
> All-apps is no longer fullscreen in landscape
> Recents cards are appropriately scaled down
> Hotseat is visible in Overview

Bug: 70179916
Change-Id: I53149eaeac9557e8a01021b7e2d139f3d6ceef37
2018-01-08 13:53:44 -08:00
Sunny Goyal
29947f0b53 No more waiting around for resume
Apply model updates as son as they arrive instead of waiting for onResume.
Various workspace items do not use any configuration dependent resources.
For Widgets, we wait until the host starts lietening before inflating the actual view.

Change-Id: Icb2f5e5940c1ce6c27062ccd34eff87e80af5ab1
2017-12-19 12:50:17 -08:00
Sunny Goyal
e15e2a8267 Adding an empty page in Recents view corresponding to workspace
The page is aligned to the workspace card and shows a widgets button
in the empty region

Change-Id: I479c47a2fbac4b3ef1aaf833d9fe82b5d7e10ddc
2017-12-19 10:06:15 -08:00
Sunny Goyal
ea529083bd Using view elevation for shadow during click feedback instead of
creating a shadow bitmap

Change-Id: I331186664c3c448596af3172e0e080921a6a1908
2017-11-08 15:13:10 -08:00
Sunny Goyal
5bc6b6f14c Consolidating various interpolators
Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
2017-10-26 16:38:55 -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
aeb1643ec6 Launcher state management cleanup
> Removing Widgets and related states
> Fixing different durations being used when opening/closing all-apps
> Removing some unnecessary object allocations when changing state without animation
> Differentiating widget bootm sheel and full sheet in logs

Bug: 67678570
Change-Id: Ic169528736d04ee0b38564b4f96595ba066eabda
2017-10-17 12:42:08 -07:00
Android Build Merger (Role)
c51a2964fb [automerger] Fix bug where labels were visible in hotseat / invisible in workspace. am: f1eae802b5
Change-Id: If4155798256c6b806f6f89ef441df6e0f49b4e39
2017-10-05 21:23:57 +00:00
Jon Miranda
f1eae802b5 Fix bug where labels were visible in hotseat / invisible in workspace.
Bug: 67364623
Change-Id: Ib66a5cdaca767fd8546f4ffd02d590981bb8135a
2017-10-04 11:23:33 -07:00
Sunny Goyal
a502aa313b Removing buildLayer call on workspace pages.
> buildLayer was followed by setLayerType(NONE) which was causing the
layer to get destroyed immediately and hece was never useful.
> Also removing mAnimatingViewIntoPlace as after setting this to true
updateChildLayer was never being called.

Change-Id: I08a6da25de002247c956308973f1675c0e61e15c
2017-10-02 16:10:35 -07:00
Sunny Goyal
7ce471bdf6 Removing support for CustomContent screen
The supported way to customize Launcher and add a "-1 page" is by
using LauncherOverlays. Custom content screen is no longer supported.

Change-Id: I3f8a2734c287d1a69ae0c038ec1de1d45fa1b464
2017-09-08 14:06:30 -07:00
Sunny Goyal
0b754e564b Making some methods accessible
Bug: 63996463
Change-Id: I3cd2e21b8aa6744fc8003a131178ce1671e024dd
2017-08-07 07:43:25 -07:00
Jon Miranda
2803200697 Set edgeMarginPx back to 8dp.
With the new grid changes, it was set to 16dp but this caused an issue
where the workspace page spacing was too large. To "restore" the original
page spacing we set it back to 8dp. This caused an issue where the
pages began to overlap.

This CL changes the edgeMarginPx back to 8dp, and then adds the additional
8dp to the padding of the CellLayout.

Bug: 63590728
Change-Id: Ie968d8bd81de19c726f73581d6609e3bc486c5ca
2017-07-13 18:40:48 -07:00
Tony
7308cde2ca Don't fade in text if icon is in hotseat
Bug: 63011217
Change-Id: Ie914fcdfd0bf36b0cf12cc54f4e93206aa1074bd
2017-06-28 13:47:18 -07:00
Jon Miranda
b28c4fcf35 Landscape grid changes for Workspace/All Apps.
This is the just first CL to get eyes on the changes.
Next CL will update the All Apps to be full width.

Bug: 37015359
Change-Id: I2d7ec6851fdc13b8fa654e7e2be3152330243ccc
2017-06-23 11:47:48 -07:00
Jon Miranda
a0233f72be Move PreviewBackground into its own class file.
This is done in preparation for new PreviewBackground animation
where we will be animating in the first page preview items when
closing the Folder from a non-first page.

Bug: 36022592
Bug: 35064148
Change-Id: Id4d54da16ddfa852ca639a2dc8d328307d4d443a
2017-06-22 18:34:45 -07:00
Rajeev Kumar
9962dbe671 1. Replace use of java.util.HashMap with android.util.ArrayMap in
CellLayout class
2. Get rid of explicit type arguments that can be inferred
3. Make instance variables final
Bug: 62466540

Change-Id: I9acbde25704d62883d174f5573383a2d8b0e1e6e
2017-06-12 12:16:20 -07:00
Mario Bertschler
54ba601a99 Dark text support for caret, drop target text and cell layout drop outline
Change-Id: I1bcad657b6e49be6fa93cafe9d8ae304604be34d
2017-06-08 10:54:09 -07:00
Sunny Goyal
368ae77201 Defining a dark theme for launcher
> Removing the code for LIGHT_STATUS_BAR as that will be controlled by the theme
> Updating icon cache to always use transparent background for low-res, as the
theme can change the bg color

Change-Id: Iab64ec29cab629ee515af22ec15b95d3f40a9df5
2017-05-24 14:34:04 -07:00
Sunny Goyal
4eaacc7485 Merge "Defining HomeScreenElementTheme for elements which appear on top of wallpaper" into ub-launcher3-master 2017-03-13 18:58:03 +00:00
Sunny Goyal
3d706ad703 Separating the config and flags in different directories so that
it is easier to override one or the other

Bug: 36001650
Change-Id: I713f4f5dbcf902614ce9f6c7a73bdace7bdf1ea0
2017-03-07 09:30:51 -08:00
Sunny Goyal
19b93b7988 Updating FolderIcon drawing to avoid dependency on software layer.
Instead of cliping using clipPath, using PorterDuffXfermode to clear
area outside the bounds. This provides much better support for antialiasing.
Software layer was also being used for drawing shadow. But since the paint
color was set to transparent, no shadow was being drawn in O. Instead drawing
the shadow using radial gradient.

Bug: 35680116
Bug: 35428783
Change-Id: I0431664400628d5d01675fe72fe7ade01b64d611
2017-03-03 12:51:26 -08:00
Sunny Goyal
9b29ca5add Defining HomeScreenElementTheme for elements which appear on top of
wallpaper

> Using HomeScreenElementTheme for workspace items
> Fixing view inflation where wrong layout inflater was being used

Change-Id: I92e278dbfb609ad7af9c2f47351f23f03cf12049
2017-02-17 11:37:30 -08:00
TreeHugger Robot
93bc3c1e41 Merge "Separating methods for updating the model to a sepatate class." into ub-launcher3-master 2017-02-16 21:56:39 +00:00
Sunny Goyal
43bf11d9c9 Separating methods for updating the model to a sepatate class.
Removing static access to model update methods, to allow for better
access control and testing

Change-Id: I9afe004dbf1b2fe50df422fd28bceea9230a4704
2017-02-16 13:50:14 -08:00
Sunny Goyal
9e76f682f3 Removing wrapper around ViewPropertyAnimator, and using ObjectAnimator
instead

Bug: 35218222
Change-Id: Ic714cf7d20989cb45f07712e8a6f6659d0e3f30d
2017-02-16 11:19:01 -08:00
Jon Miranda
cda3bfb2e1 Remove unused View parameter from ofFloat method.
Change-Id: I5fabd5c78de52ba68b67e0b1bd7208f4d1f7cbea
2017-02-06 15:54:41 -08:00
Jon Miranda
72dbd91a56 Reset initial animation values before completing reorder animation.
In some reorder cases, the icons would stop in a transient position.

Change-Id: I9d358e74ab403989929dee87542d3dde78c2f229
2017-01-04 14:03:07 -08:00
Jonathan Miranda
bf8a265deb Merge "Fix widget reorder animations in multi-window mode." into ub-launcher3-master 2016-12-30 00:42:11 +00:00
Jon Miranda
2126691ce2 Fix widget reorder animations in multi-window mode.
The original animation assumed that the views are not
translated and not scaled. In multi-window mode this
assumption is no longer valid, because app widgets are
scaled and translated to fit center within their cells.

Bug: 32176631
Change-Id: Id60c793730d982277c9d91860e9fb0e6a0df7d38
2016-12-20 09:31:47 -08:00
Sunny Goyal
a52ecb0390 Removing all compatibility code below Lollipop
Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
2016-12-16 15:05:09 -08:00
Jonathan Miranda
99d814e54b Merge "Restore original scaleRectAboutCenter method." into ub-launcher3-master 2016-12-15 19:36:40 +00:00
Jon Miranda
6f6a06ac47 Restore original scaleRectAboutCenter method.
Change-Id: Ibb49c56aab29d1223a0ab36476a32d565566eb25
2016-12-15 11:26:43 -08:00
Sunny Goyal
f5440cbd6c Removing FeatureFlag.LAUNCHER3_LEGACY_WORKSPACE_DND and corresponding logic
Change-Id: Ie10c087b4f72ee27be5bf12e2c81be5b7a3a6176
2016-12-15 08:05:09 -08:00
Jon Miranda
e96798e885 Smooth animation when dropping a widget in multi-window mode.
Factored in app widget scaling in methods related to estimating
widget size and positions.
ie. Dropping a widget that needs to be resized to fit in the
workspace.

Bug: 32176631
Change-Id: I106fe12041565a090047f146a07d4bc80a074b4a
2016-12-14 16:30:20 -08:00
Sunny Goyal
776ca257ce Merge "Defining various modes for CellLayout: Workspace, Hotseat & Folder" into ub-launcher3-master 2016-12-12 20:45:17 +00:00
Jon Miranda
f7ff3fe58a Scale widgets when dragging and dropping in multi-window mode.
This change mimics the non-MW mode behavior when dragging and
dropping widgets by taking the app widget scale into consideration.
This ensures a consistant drag and drop experience between
MW mode and non-MW mode.

* Uses cell data (cell height/width, spanX/Y) to get the expected
widget sizes.
* Scales sizes when necessary.

Bug: 32176631
Change-Id: Icdaf73ecd89a30e57fe7f405292d793f2d6a3ee8
2016-12-08 10:28:51 -08:00