Commit Graph

22 Commits

Author SHA1 Message Date
Tony e3c5925679 Use source bounds/activity options for App Info System Shortcut
Bug: 37923215
Change-Id: I6c3e64b7a98223ab26fde80c0a86dd169200065f
2017-05-02 21:32:27 -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 f2db25398a Fixing wrong check being used for application status
Earlier we were relying on activity list to check is an app is
installed or not. It fails if the app only exposes widgets and
no visible activity. Hence dragging an icon to AppInfo sometimes
causes the icon to get disappear.

Bug: 33241335
Change-Id: Ieb71e298a0930dd0a831cf09bd1e998514a427fd
2017-03-01 17:38:12 -08:00
Sunny Goyal ad2e91a216 Fixing SDCard and package enabled state checks in PackageManagerHeler
Bug: 32365540
Change-Id: Iaac3e08ce55457ebbfb3633514ebc8ade6d200c5
2017-03-01 17:17:40 -08:00
Charles He 3ff9047221 Launcher3: fix app shortcuts for suspended apps
This CL fixes app shortcuts for suspended packages.

1) When DO/PO suspends an app, its pinned shortcuts are instantly grayed
out, but this is not persisted after the launcher restarts (e.g. device
reboot). We now enforce the launcher to check the suspended state when
loading the workspace, and gray out pinned shortcut icons accordingly.

2) When DO/PO suspends an app, its app shortcut popup is still
available. We now temporarily disable the popup when the app is
suspended, and persist the state across restarts.

Bug: 32365540
Test: manual, by following the steps in the bug above
Test: manual, by restarting the launcher package
Change-Id: I983d7c17fa198beca23b66459b50bd67b447bdd2
2017-02-21 20:23:50 +00: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 3e9be43b6e No more LauncherActivityInfoCompat
Bug: 32745285
Change-Id: I00f13794d5dc0a2b1fe03ec74de36018f22eb386
2017-01-11 13:06:50 -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
Tony Wickham bfbf7f9f4a Add support for launcher shortcuts.
- 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
2016-06-21 15:49:16 -07:00
Kenny Guy 44cba69638 Grey out suspended applications.
Grey out application shortcuts and all apps entries
for packages that are suspended.

Bug: 22776761
Change-Id: I1b63da1816aca1de52b9f9bee62d1b162d0cdf4d
2016-01-25 11:28:06 +00:00
Sunny Goyal b1622cc30f Deleting empty folders based on DB state
> Previously folders were getting deleted based on in-memory
loader state. If for some reason, an item failed to load, we would
delete the folder from DB as well.

Bug: 21354058
Change-Id: I5318ee8a99afa9cafd93ed2b9ef0e155f502a41b
2015-06-12 12:38:16 -07:00
Sunny Goyal 7066003b20 Various lint error fixes.
> Fixing some RTL errors by specifying both marginStart and marginLeft
> Moving all layout direction checks to Utilities
> Explicitely adding @TargetApi before every method

Change-Id: Ibe9c52b93b5a6adeadb27ace2b312770fd732ea0
2015-05-14 12:28:07 -07:00
Kenny Guy 850d471b29 Remove catch now api has hit googlefood.
Bug: 17543647
Change-Id: Ie0b57719393a705e8c02b226d3e3f57dbf43d800
2014-09-18 12:58:18 +01:00
Kenny Guy 577e7dc7db Update compat layer for API review changes to LauncherApps
Bug:17390765
Change-Id: I15a927402a05387b14a2a6899fd513fc59a2ee41
2014-09-11 16:55:06 +01:00
Kenny Guy 4da9efa518 Updated calls for LauncherApps renaming.
Bug: 17008230
Change-Id: Id851d0b40756973be48c5ce370dd64c1dd6a3c1d
2014-08-29 14:43:41 +01:00
Kenny Guy f07af7b77d Launch app details for correct profile.
Support showing app details for apps in other
profiles.

Bug: 16371359

Change-Id: I1cabcd9f74f2a6ea6c4202a7d58af3ff3b458fd2
2014-08-04 14:38:09 +01:00
Kenny Guy c2bd8101b8 Revert "Revert Cls stopping now-master running on googlefood"
This reverts commit 7bc272a11b.

Conflicts:
	src/com/android/launcher3/BubbleTextView.java

Change-Id: Id1fb2e1249e72658ce5477165c9bcacba9de2b04
2014-06-30 12:30:31 +01:00
Kenny Guy 7bc272a11b Revert Cls stopping now-master running on googlefood
This reverts commits 01453e855f.
and 242bbe1b72.
"Add content description to bagded icons."
"Remove reflection now we are building against L"

Bug: 15833449
Change-Id: I81a5316f5619a9cd3b6ab9fd03b2ba96657b7f68
2014-06-24 11:43:19 +01:00
Kenny Guy 242bbe1b72 Remove reflection now we are building against L
Remove reflection and update changed renamed L APIs
now that branch has L sdk.

Change-Id: I223c6528487110eb328e2e229bbcbefb701e0c20
2014-06-23 13:56:05 +01:00
Kenny Guy 792dd77e8c Return null from compat when resolveActivity returns null.
Fixes bug that LauncherAppsCompatVL.resolveActivity was wrapping
a null in a compat class when LauncherApps.resolveActivity returns
null.

Bug: 14891460
Change-Id: I0364b198486f14393e51ac383a9d10b89e466bdf
2014-05-14 13:16:07 +01: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