> Pending widgets whill show a loading progress while the app
is being installed.
> Extra bind options can be defined using the tub tags
<extra key="key-name" value="key-value" />
These are sent as widget options when the widget is bound.
> If the widget has any config activity, it is not shown
> Required attributes:
className, packageName, x, y, spanY, spanY & screen
Bug: 30279609
Change-Id: I1338618bfa5d86967339dffb68c12b1add6eb5d7
This will allow drag controller to optinally defer drag, based on some
threshold, by simply deferring the callback onDragStart
Change-Id: I17c06a15e2092b9797c7e57529b12a53d2acae6e
> Check for permission on every onResume
> If the permission is different than last known permission,
reload and rebind workspace.
Bug: 30789422
Change-Id: Idfa445815e29e2336505779545507d106b33a253
> LauncherApps returns empty list when the user is locked. Not relying on
LauncherApps in this case
> When the user is locked, removing all dynamic shortcuts
> Loading shortcuts from DB when the user is locked
> Verifying the shortcuts again when the user is available
Bug: 30411561
Change-Id: Ib6eb372c5b009cadb86a8f6e781f3f3cbf787ceb
b/29645452
By cancelling the runnable, we are enabling transition:
state1 -> state3 instead of state1-> state2-> state3.
Transition state1->state3 is a viable transition that is
supported by our model.
Launcher Workspace
--------------------------------------------
state1 APPS_SPRING_LOADED SPRING_LOADED
state2 WORKSPACE NORMAL
state3 APPS NORMAL_HIDDEN
Change-Id: If27905567efe439324494e0091a4b42fcbf01448
- When launcher starts up, onCreate() triggers the launcher model loader
to start, which calls bindScreens() to add the workspace pages.
However, layout does not happen until the device is unlocked, which
means that even though the default screen index and children are there
the page scrolls are calculated incorrectly, and even in RTL, the
page scroll for the 0th screen is zero (it should be at the right
most edge of the workspace). This CL works around this by deferring
until the first layout after bindScreens() to unlock the wallpaper
offset from its default bounds. The workaround is only applied when
the launcher activity is first created.
Bug: 28795125
Change-Id: I33da0d7f934f5337d26e69f068f579a32897a837
> The shortcut container closes with an animation
> When opening/closing the animation only the icon scales
and not the title and drag handle
> When dragging the icon, it starts from the original icon position and
moves under the user finger. The container grows to follow the drag view.
Bug: 28980830
Change-Id: Ic0353c30b682d1f018cbf4d62e8a6e8e7d7d4664
This fixes those states where a drag view dangles on the screen
forever until launcher restarts. For instance, long press
Settings and press home before letting go.
Bug: 30291280
Change-Id: Ib8c403a02a17f35ba170c21f78f41bdc3b48d096
b/30221381
> Will not support landscape case. If the user knows how to enable
rotation, it's very unlikely they don't know how to bring up apps drawer
> If unlocked using finger unlock immediately after screen is turned
off, bounce is not shown due to delay in ACTION_SCREEN_OFF broadcast
Change-Id: Ia8b7e572eaa4aeab8b1add1e5660fee3a63ba21c
- Adding DeviceProfile callback for when the launcher layout changes due
to insets. This is necessary since there are now different layouts
depending on which side the navigation bar is on
- Consolidating hotseat and other layout into the device profile
launcher layout logic
- Making the all apps icons match the workspace icon height
- Tweaking caret drawable to draw to the bounds specified to simplify
layout in each orientation
- Fixing minor issue with page indicator shifting in landscape
- Centering overview buttons to the workspace page
Bug: 30021487
Change-Id: I1866bce00b2948f3edd06168c0f88d81207e3f13
This allows better edge matching for the QSB. The QSB position
is kept synchronized with the page scroll and all-apps transition.
But its not visible in spring loaded and overview mode
Change-Id: I4e6723607ea966ee672273a9ca67c792fd6b5661
- Mostly everywhere folders are closed
- Implements DragListener so we can close the container when dragging
the original icon or shortcuts from the container. We actually just
hide the container in onDragStart() and really remove it in
onDragEnd(). This avoids interfering with touch events and thus
allows us to remove the hack of explicitly setting the DragLayer's
controller when dragging shortcuts (since it will do it on intercept).
Bug: 30080537
Change-Id: Iccc2afba2a990a613bc588d57c4d8c1b7c65224b
Launcher clings are dead. Delete all the code and resources associated with
them.
* Did not delete the actual code the marks the cling as dismissed since it's
used in db upgrade and backup/restore paths. Figured we probably want to keep
that.
Change-Id: I28841b4a430187b62b239afeb64bee81a798e259
Fixes: 29461092
- Add ShortcutsContainerListener to icons on workspace, folders, and
all apps. This handles long-press and forwards following touches to
the DeepShortcutsContainer that is created.
- Drag over shortcut before lifting finger to launch it.
- Shortcuts are rendered in pill-shaped DeepShortcutViews,
which are inside DeepShortcutContainer on DragLayer.
- The shortcut container orients above or below the icon, and left or
right-aligns with it. Biases for above + left-align.
- Long press a DeepShortcutPill to drag and pin it to the workspace.
Bug: 28980830
Change-Id: I08658d13ae51fe53064644e8d8f7b42f150fdd7d
AppWidgetHost in N-MR1 was changed to make start/stop lisenting calls
light weight, which allows launcher to avoid getting unnecessary
updates when its not visible
Bug: 23892701
Change-Id: I1f40a1ddc51a9eee304e17e72106bc75afe6c1bc
> Adding custom actions on the page indicator to go to overview mode
> Disabling custom actions on the first page
> Disabling 'move page left' on the second page
Change-Id: Ib8154f70cb3f93e663a881357c6c46c33253887f
- This CL has no UI but provides the necessary backing for one.
- Adds new item type: ITEM_TYPE_DEEP_SHORTCUT, to distinguish from
ITEM_TYPE_SHORTCUT. We can reconsider these names.
- Adds ShortcutCache, using LruCache for up to 30 dynamic shortcuts
(pinned shortcuts are always cached in a HashMap).
- DeepShortcutManager queries for shortcuts and other things like
pin them. In a future CL it will use the cache, but for now it
simply makes an RPC for all queries.
- LauncherModel maintains counts for pinned shortcuts, pinning and
unpinning when counts reach 1 or 0, respectively.
- LauncherModel maintains a map of components to lists of shortcut ids,
which Launcher gets a copy of after it is changed in the background.
This will allow us to know how many shortcuts an app has immediately,
and query for details as the UI is animating.
Change-Id: Ic526f374dd10d72a261bae67f07f098fca8d8bca