Commit Graph

22 Commits

Author SHA1 Message Date
Sunny Goyal
04a324afb7 Adding WidgetAddFlowHandler to handle widget addition and configuration.
This will allow us to override the implementation and provide custom
logic for widget addition.

Bug: 33584624
Change-Id: I310bf39e301c7e1c8de4f62456594535e2fe5bbc
2017-01-23 10:54:30 -08:00
Sunny Goyal
7c74e4ae64 No more UserHandleCompat
Bug: 32745285
Change-Id: I762fb4e268c1afe48a1860ab12a4ccb3f626aa95
2016-12-15 22:06:10 -08:00
Sunny Goyal
32f3dda802 Adding a utility class to enforce that icons are always flattened on
the background thread.

Bug: 21325319
Change-Id: I4d0f02557cdbf70cfa86750ac047faf2917e39bf
2016-11-19 23:40:07 +05:30
Sunny Goyal
f0ba8b7ca1 Moving various runnables in LauncherModel to individual tasks
> Adding tests for some of the runnable

Change-Id: I1a315d38878857df3371f0e69d622a41fc3b081a
2016-11-09 15:50:08 -08:00
Sunny Goyal
1edab71d01 Unifying toString() method for various ItemInfo subclasses
Change-Id: I7cde42f0df412e2877fb93c77e74ee56a25edead
2016-09-01 10:55:45 -07:00
Sunny Goyal
86df138d9f Adding support for pending widgets in AutoInstall layout
> 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
2016-08-16 12:37:29 -07:00
Sunny Goyal
0b50421583 Merge "Adding some UI tests > Launcher app from all-apps > Drag icon to all-apps and launch it > Add widget from widget tray" into ub-launcher3-calgary 2016-05-27 19:00:44 +00:00
Sunny Goyal
d478c83fd6 Showing a permission dialog when a restored widget is not yet bound, and launcher
does not has the permission to bind the widget

Change-Id: I51d32b9958f82671b928d559105129261fb8f268
2016-05-26 17:44:29 -07:00
Sunny Goyal
6d02c7a033 Adding some UI tests
> Launcher app from all-apps
> Drag icon to all-apps and launch it
> Add widget from widget tray

Change-Id: I6bd6128a7b560a23a887d1fb40bfcda25b9b02e7
2016-05-26 17:20:22 -07:00
Sunny Goyal
87af0fded6 Removing reference of hostView from LauncherAppWidgetInfo
LauncherAppWidgetInfo is a model item and does not need to reference
a view. Removing this dependency will allow cleaning up the
item unbinding logic

Bug: 28740269
Change-Id: I11fc2e2500b8fe29d157eefe74c70b1decdfd08d
2016-05-16 14:58:20 -07:00
Sunny Goyal
25c2e3ef07 Allowing widgets to be focusable
> Pressing 'enter' enters the focus inside the widget.
> If the widget has only one focusable, it directly performs click
> Pressing 'esc' brings the focus back to the parent host.

Bug: 25199581
Change-Id: Ia7fd5d929f5945d61173abd349660a5efbe74afc
2015-10-30 10:03:45 -07:00
Sunny Goyal
233ee964a9 Calculating widget minSpans and spans statically/independent of orientation
> Filtering the widget list and excluding widgets which dont fit the grid
 > setting minSpans for the widget item when binding.

Bug: 22541314
Bug: 22559137
Change-Id: Ieda48b56c95bee0c7ec71dd691af7e23e2d43db6
2015-08-03 16:39:49 -07:00
Adam Cohen
5940042d39 Supporting custom widgets provided by launcher
-> This change provides integration for widgets provided by
   the launcher package which can run arbitrary code.

Change-Id: I6052da5c4afed7ee72e3b44d045b9c46f2d84c42
2014-12-05 16:18:41 -08:00
Sunny Goyal
9448536b11 Adding support to delete unrestored icons and widgets
Bug: 17584719
Change-Id: If8e76fc80ea885c9004c50b7b6a9353525a50105
2014-09-19 12:19:07 -07:00
Sunny Goyal
e7b8cd9e4f Improving restored widget behavior
> Clicking a broken widget install shows a dialog similar
to an app icon
> Clicking remove on the dialog removed all components
for the corresponding package
> Widget pending view shows 'Setup' text instead of icon,
if there is enough space

Change-Id: I82ec0a1ee9542c1e3b860e6e00798a80450dce3c
2014-08-27 14:07:05 -07:00
Sunny Goyal
0fc1be164e Updating the ui for widget restore flow
> Pending widget show a PreloadIconDrawable to indicate
installation progress
> Only the concerned widgets are reinflated on package
install and not the whole workspace.
> Adding support for storing default package icon in
IconCache

issue: 10779035
issue: 16737660

Change-Id: Id787ae4a5ef72d6e01aeb5a1bae5ab8840037679
2014-08-12 16:00:03 -07:00
Sunny Goyal
ff57227711 Adding support to restore widgets even for jelly beans.
> Show 'widget-not-ready' until the widget app is installed
> Once the app is installed, bind a new widget id (not required on L if
  id-remap was received).
  **Remove the widget if bind failed
> If the widget has no configuration screen, show the widget, otherwise
  show 'setup-widget'.
> Clicking 'setup-widget' shows the config screen, and updates the
  widget on RESULT_OK.

issue: 10779035

Change-Id: I2f8b06d09dd6acbc498cdd93edc59c26e5ce17af
2014-08-08 14:29:02 -07:00
Sunny Goyal
651077bdd6 Adding app widget restore support in Launcher3 for android L
When the app is restored, it displays placeholders for all pending widgets.
These placeholders can be moved and removed similar to a widget (size is fixed
to what defined in backup). Once the system notifies the launcher of the new
widget ids, the place holders are replaced with actual widgets.

issue: 10779035

Change-Id: I68cbe4da01e9ca2978cb4471a7c645d2aa592055
2014-07-21 10:34:21 -07:00
Kenny Guy
ed13187a74 Launcher3 multi-profile support
Use LauncherApps API and badging APIs instead of PackageManager.
With compatability layer that uses PackageManager pre L.

Adds support to show apps from current user and any managed profiles.

Background: Managed profiles are user sandboxes that are visible from
the primary user and can be launched as if they are a part of this user.
A launcher should now be capable of listing apps from this user as well
as related profiles of this user.

Launching of activities is now via the LauncherApps interface, to allow
for cross-profile app launching. Only activities with category LAUNCHER
can be added as a shortcut on the workspace for a managed profile.

Widgets and non-application shortcuts are only supported for the
current profile. Widgets from the managed profile are not available.

Change-Id: I5f396b1bf7f91ad91a5710ea4a0fd14573972eb9
2014-04-30 23:43:00 +01:00
Anjali Koppal
7b168a1bb9 Make classes that extend ItemInfo public.
Also follow up on changes in ag/418520, adding Views to those method
params.

Change-Id: I93e0a3b30d10b969d1903a2f227f6744d709e89a
2014-03-04 17:16:11 -08:00
Chris Wren
d5e66bfca1 remember the provider path when creating a widget.
Bug: 10779026
Change-Id: I4f5b619087868a8f637c433c29e3aa6856ccc97d
2013-09-17 08:45:08 -04:00
Daniel Sandler
325dc23624 Launcher2 is now Launcher3.
Changes include
  - moving from com.android.launcher{,2} to
    com.android.launcher3
  - removing wallpapers
  - new temporary icon

Change-Id: I1eabd06059e94a8f3bdf6b620777bd1d2b7c212b
2013-06-05 23:30:20 -04:00