Commit Graph

41 Commits

Author SHA1 Message Date
Ats Jenk
e095945bf1 Merge "Check the feature flag before showing bubbles shortcut widget" into main 2024-06-14 18:14:31 +00:00
Ats Jenk
cdc0e2c9c9 Check the feature flag before showing bubbles shortcut widget
Flag: com.android.wm.shell.enable_retrievable_bubbles
Bug: 340337839
Test: manual

Change-Id: I39424de3c448a1991a62dd198c195db5418788ba
2024-06-07 11:05:10 -07:00
Shamali P
d69e21f8fe Ensure widgets from WidgetSections.xml are included in suggestions
Additionally, let only prediction system provide suggestions, since the
UI surface has been there for a while, adding locally filtered widgets
from app package isn't required.

Bug: 345520128
Test: Unit tests
Flag: EXEMPT bugfix
Change-Id: Ia97f0743fefeae750e07a694bb19d24a5cc11ffe
2024-06-06 22:23:35 +00:00
Sebastian Franco
b41d4b4e7a Make getWidgetProviderInfoByProviderName return the correct WidgetItem
for Pixel own widgets.

The pixel own widgets can have categories and getWidgetProviderInfoByProviderName
might not find the right widget if the widget has a category.

Flag: NA
Test: Manaul testing =(
Test: Make sure the placement in the widget picker is correct.
Test: All widgets in widget_section.xml with alsoKeepInApp set to false will previously dissapear on the preview.
Fix: 331628371
Change-Id: I1e4c8ae3dd21f8aef3e4aac99ce6ce6701e94760
2024-04-22 10:47:50 -07:00
Shamali Patwa
7e5ed568b9 Revert "When getting a widget provider by name, check all categories"
This reverts commit 1f69351310.

Reason for revert: Testing odd behavior between google app and pixel weather and duplicate items issue

Change-Id: If181aa3e86969e8821b7e1cc765c3801f04489d2
2024-04-18 18:16:38 +00:00
Sebastian Franco
1f69351310 When getting a widget provider by name, check all categories
Some widgets have different categories for special cases for Pixel
widgets and because of that, some times we can't find the provider,
so we need to go through all of the categories.

Flag: NA
Test: Manaul testing =(
Test: All widgets in widget_section.xml with alsoKeepInApp set to false will previously dissapear on the preview.
Fix: 331628371
Change-Id: Iffbb788cbb27c79a215d06d21c9d623462d6f7e6
2024-04-15 19:21:21 -07:00
Sunny Goyal
77954bae4e Cleaning up some build configurations
> Removing Launcher3Go-without-quickstep
> Removing src_ui_overrides to src_no_quickstep
> Removing unnecessary code swpa for GO builds

Bug: 330920490
Flag: None
Test: Presubmit, everything builds
Change-Id: I5746dbc7c5a37c1d99d78b55bf2a6adce1a711c9
2024-03-26 17:16:52 +00:00
Rajeev Kumar
0a926c1d67 Create a launcher model override.
This change disables shortcuts/widgets loading on Android Go devices.
Bug: 112904271
Test: Manual test

Change-Id: I2c40f87a8f5d752525c99d254693a4e0a9eeeb2b
2018-11-02 15:25:25 -07:00
Sunny Goyal
ac8154a23d Caching widget labels in icon cache to avoid lookup at startup
Change-Id: Ie026ee47905454bd70e774d422cd7fe142aec7e2
2018-09-28 16:36:33 -07:00
Sunny Goyal
f840f10d50 Removing additional rpc due to icon cache update
When launcher loads, it fetches the list of apps twice, once for
loading all-apps and again for updating icons. Instead reusing
the previously fetched apps list.
Also moving the icon loading in a separate package for further
generalization

Change-Id: Ibd2dae56e6027a31b633da030bc6b43a90b27e1b
2018-09-21 15:27:03 -07:00
Sunny Goyal
d230307a95 Migrating to android-x
Change-Id: I9a774152d13a541e8496dd84f2469bfed407f86d
2018-08-14 15:22:12 -07:00
Winson Chung
1054d4e8f2 Revert "Revert "Adding support for hiding widgets from the widget tray and reconfiguring widgets""
This reverts commit f502e5faec.

Reason for revert: Reverting post-build

Change-Id: I09eb292dbbbe37ffaf3abc477aa2ddb5700093b8
2018-03-05 19:39:21 +00:00
Winson Chung
f502e5faec Revert "Adding support for hiding widgets from the widget tray and reconfiguring widgets"
This reverts commit b29a5fa55c.

Reason for revert: Temporary revert for build.

Change-Id: I58045ad1ce28d398a5216ba4fbbcdba1196942ec
2018-03-05 18:06:52 +00:00
Sunny Goyal
b29a5fa55c Adding support for hiding widgets from the widget tray and reconfiguring widgets
> Removing AppInfo target
> Switching between uninstall and setup based on the drag view

Bug: 63931362
Change-Id: Iccd6f965fa3d61992244a365efc242122292c0ca
2018-03-02 13:20:09 -08:00
Sunny Goyal
f1fbc3fbe7 Converting widget panel into a floating view
> The widget panel is only inflated when needed
> Using the swipe up/down interaction for widgets tray
> Removing additional view wrappers from all-apps
> Widget tray is preserved across activity recreation
> Launcher no longer has WIDGET state, the actual code around
  the states will be removed in a follow-up cl

Bug: 67678570
Bug: 67585158
Change-Id: Ia29a7c33ec81e6c53cc24e2906b7022b6f41755b
2017-10-13 18:47:54 -07:00
Sunny Goyal
c6e97692e4 Moving LoaderTask static
Will move it to a separate file in a followup cl.
This simplifies dependencies between LauncherModel and LoaderTask which
and making it easier to start the loader before Launcher activity is
created (as the Callbacks in LauncherModel can change while loader is running).

Bug: 34112546
Bug: 37616877
Change-Id: Ie9619c6b0de0e3eb60657c04ae1b58d946c829e9
2017-06-02 14:27:29 -07:00
Tony Wickham
6c300c89ec resolve merge conflicts of 128b7e59a to ub-launcher3-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I927373593dfb1b67b504a76b1ad013357b363a6e
2017-04-05 13:14:01 -07:00
Tony Wickham
86222d23e2 Add support for getting widgets/shortucts for a particular package/user
Bug: 34940468
Bug: 33553066
Change-Id: I5d0131df206c6a13d4227ad28c5b094bbf1343df
2017-04-04 14:36:52 -07: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
782f0c9a89 Adding support for new APIs in O related to configurable shortcuts
> Config activities can now return PinItemRequest which can be used to pin
  deep shortcuts

Bug: 33584624
Change-Id: Ic0df436bd79e069615b9d60d24eb7594b824b2da
2017-01-19 13:54:31 -08:00
Sunny Goyal
87f784c285 Removing static Context access using LauncherAppState
> This ensures that LauncherAppState is only accessed in the presence of
a valid context

Bug: 33032833
Change-Id: I955e5cb022f8bd6374681ae6c0720a2666d5b750
2017-01-11 12:52:03 -08:00
Sunny Goyal
a52ecb0390 Removing all compatibility code below Lollipop
Bug: 32745285
Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
2016-12-16 15:05:09 -08:00
Sunny Goyal
7c74e4ae64 No more UserHandleCompat
Bug: 32745285
Change-Id: I762fb4e268c1afe48a1860ab12a4ccb3f626aa95
2016-12-15 22:06:10 -08:00
Sunny Goyal
ab121c1715 Adding a generic method to initiate overridable objects
Change-Id: Ia433427c65ad38804f2eed9c6bc209df232758c0
2016-12-12 17:01:11 +00:00
Sunny Goyal
712ee53c67 Catching TransactionTooLargeException when binding widget.
A widget can potentially bypass binder size limit with remote views when
using partual updates (as the merging happens on the system service). In
such a case, show the widget in error state.

Bug: 32365088
Change-Id: Id1c4425958a06463273731464e31f05908c35ec7
2016-11-09 12:43:11 -08:00
Sunny Goyal
d164b7f4ab Fixing static instance of Indexer being created in the model
Indexer depends on the locale and should be created when ever the config
changes. Moving the widget indexing to the adapter (similar to allApps)
which gets created whenever the activity is recreated.
This fixes the bug where widgets indexing breaks if locale changes while launcher
process is alive
Also fixing the bug in widget model cloning where the HashMap was not cloning
the underlying ArrayList

Change-Id: I7dbe6290e73299c4c07aa7fa564077a2649e1a4c
2016-10-19 07:42:34 +01:00
Sunny Goyal
6388b2c61b Adding some utility methods for thread verification
Change-Id: I3fb6a1b860bba8a6efe413dd2698f972dc3e2506
2016-04-15 18:03:50 -07:00
Sunny Goyal
4ddc40130a Creating WidgetCellItem to wrap LauncherAppWidgetProviderInfo and resolveInfo
In PackageItemInfo,, using the user of the first item in the sub-list

Bug: 27585511
Change-Id: I8243f0e5c831af65661ae815489e53e9fcade837
2016-03-18 11:06:01 -07:00
Sunny Goyal
2e1efb480a Changing the widget loading strategy
Widget is loaded only when the user enters the overview mode and we keep
the list updated as long as the user is in the overview mode. Once the user
leaves the overview mode, we stop responding to widget updates

Bug: 26077457
Change-Id: I9e4904b8f1300bfe0d77e2bc5f59aa6963fad8d1
2016-03-09 20:21:22 -08:00
Hyunyoung Song
d31dcbcc7c Manual revert due to conflict:
Revert "Load label in bg thread to prevent ANR b/27238970"

This reverts commit b62fd09576.

Change-Id: Ia751e3414fb24a18bb8bb9ca09dcd93d0e4249f6
2016-02-23 11:36:21 -08:00
Hyunyoung Song
b62fd09576 Load label in bg thread to prevent ANR
b/27238970

Change-Id: Ic5d77df7d5276cee07861d59427a94fb19691d9c
(cherry picked from commit 72a9953cf4)
2016-02-23 00:45:56 +00:00
Sunny Goyal
6a706b1dd7 Preventing nullpointer exception when cloning rawList
Bug: 24299525
Change-Id: I92018a3da7d75afc2c6997302f8e0492eb78e62f
2015-09-22 16:56:55 -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
Winson Chung
eea0225304 Fixing minor memory leak with name comparator.
- WidgetsAndShortcutNameComparator was using the actual widget and shortcut resolve
  infos as the key to the label cache.  Neither of these classes override hashCode()
  and we were retrieving a new set of widgets and shortcuts whenever packages changed
  so we would end up creating more and more entries in the cache.  This isn't a huge
  leak, but could lead to problems if Launcher is used for long periods without being
  killed.
- Now, we use a ComponentKey as the key, so that we don't keep a reference to the
  widget/shortcut infos and also ensures that they should hash to the same labels.

Change-Id: I91347ee72363adbc2b075b67dba331e35ab1fe34
2015-07-27 18:35:28 -07:00
Hyunyoung Song
f63dda5e15 Query the title and icon for app using correct user handle.
> Note: when there are corp and regular user profile widget providers,
it is guaranteed that regular user profile widget provider is always
queried first. Thsi is guaranteed because inside AppWidgetManagerCompat.getProviders(),
regular user always takes prescedence when iterating thru different providers
associated to different users.

Change-Id: I5e38e1fb30925ccba7e1e2925fd3e77c44a14901
2015-07-16 17:24:30 -07:00
Hyunyoung Song
f56513f6ba Hide spammy WidgetModel log behind a DEBUG flag
Change-Id: I0119855655516d9fdc114334a974b8766aabf674
2015-07-13 10:26:22 -07:00
Hyunyoung Song
eaf291b9fe Widgets model should respect AppFilter.
> This pattern is already used in AllAppsList
> mBgWidgetsModel variable cleanup inside LauncherModel.

b/21739736

Change-Id: I03a05064ce3c3e5effb09055af9f4d4de2811c95
2015-06-17 21:12:44 -07:00
Sunny Goyal
091f0ffd92 Updating widget list when iconCache updates
> Fixing bug where items were not getting removed from the memcache
> Fixing bug where package entries were not getting removing because
of component mismatch.

Bug: 21612532
Change-Id: Ie56f3272f7fb7e1a37c5ff9bfa523d814edc1a02
2015-06-04 15:21:23 -07:00
Hyunyoung Song
ec84728b27 Consistent scrolling experience for All apps and widget tray
b/21375339

Change-Id: I8362b3ca94b7c4e75932d42cd09a989e0e3919c0
2015-06-04 11:37:46 -07:00
Hyunyoung Song
9110d485fa Fix widget tray crash on screen rotation introduced by
ag/694693

b/21402209

Change-Id: Idae97fca971d90f5fbba658411491147cb023c8d
2015-05-22 14:49:23 -07:00
Hyunyoung Song
2bd3d7d1cb Load PackageItemInfo in background thread to prevent ANR
- Decoupled widget model from widget view, and placed the
creation to LauncherModel.
- As a result packagemanager operation, iconcache retrieval is all done inside
LauncherModel on background thread
b/21311085
b/21325319

Change-Id: I294698527db58b89f3da558090a367530c058776
2015-05-21 13:04:53 -07:00