This permission is requried for arbitrary rotation (other than 90
degreee) on a Surface. Which is useful for Launcher to rotate the app
leash when animating from fullscreen landscape to PiP window onto home
in portrait mode.
Bug: 171802909
Test: m -j
Change-Id: I09e3b2915c17154ef3c91aff888a391dc337a18a
SearchResultIcon will be able to render apps, shortcuts and remote actions. It can also handle its own focused state drawing.
Screenshot: https://screenshot.googleplex.com/C3KgjJtLQTBPgaf
Bug: 170752716
Test: Manual
Change-Id: I460a9c128ea3f5814784e342c5d5fa5b7e310882
With b/150232615, we will need an explicit value set for the exported
flag when intent filters are present, as the default behavior is
changing for future versions. This change adds the value reflecting the
previous default to the manifest.
These changes were made using an automated tool, the xml file may be
reformatted slightly creating a larger diff. The only "real" change is
the addition of "android:exported" to activities, services, and
receivers that have one or more intent-filters.
Bug: 150232615
Bug: 158198882
Test: TH
Exempt-From-Owner-Approval: mechanical refactoring
Change-Id: I083a7bcab968c881f7cdff7152a249691ffac316
This sets the feature flag on launcher side
and also updates the setting in Settings.Global
Launcher DOES NOT listen to the Settings.Global
change from adb anymore. This should take
preference over setting it from command line.
Also fix a related swipe to home animation bug
that happened w/ merge conflict.
Fixes: 150260456
Test: Set and unset, visually verified behavior.
Tested w/ autorotate on and off.
Checked Settings.Global value correctly updated
via "adb shell settings get global
fixed_rotation_transform"
TODO: Update tests to reflect this new
default-on fixed rotation behavior.
Change-Id: Id95f006eb1e92a59e24b05567298fd21b1409b13
Full backup requies the process to be killed, and hence avoids backing
up apps which are in foreground. Since the launcher is more likely to be
the foreground app when device is locked, it never gets backuped up.
Note that full backup only runs when the screen is off, and the launcher
activity is restarted as soon as the full backup is complete (without
waiting for the screen to turn on).
There would not be much visible impact to the user.
Bug: 30970354
Change-Id: Icc16b35682c5b8d59316bd9d68774d38cbee47dd
This change adds the QUERY_ALL_PACKAGES permission to launcher3 so that
it can see all packages on device with the app enumeration featur
enabled in R.
Bug: 149557568
Test: Manual; use launcher3 and ensure it displays all apps
Change-Id: I15e6e86e5476900a6b9c3a6da1cbb11fcbf97e6c
Also moving test provider to Quickstep to have access to the new info;
and now Launcher3 doesn't have it.
Bug: 123904290
Change-Id: I653376610e83839d102beb9c0604950dd314e8ba
Creating a utility class which generates a launcher preview
for a provided InvariantDeviceProfile
Bug: 118758696
Change-Id: I0aebeb6eed37f72edd1cc305e58eece305aae3ff
This will reduce confusion with the other "badging" concept we use for,
e.g. work profiles. It is also consistent with the external name
"notification dots".
Change-Id: I2a2c9d96dc0d6284eb0c48adc78a856271caad4d
> Using {packageName} instead of hardcoding com.android.launcher3 in AndroidManifest.xml
for strings which are dependent on packageName
> Adding proguard rule to prevent obfuscating any overridable class
> Making it easier to extend SettingsActivity by overriding the fragment class
Change-Id: I5668c3f33b4cf20ad01d7f54b3d79cc0d268d391
"Since O all apps requesting uninstalls should have this permission.
There is a bug in the platform code that we do not enforce this.
We enforce this starting in P."
Bug: 65375213
Change-Id: If86e43a32d6a4553345fb1e285888e748376b818
IntentService cannot be run in the background, so moving to
JobService prevents us from crashing if the wallpaper is
changed while we aren't running.
Bug: 62065291
Change-Id: Ie0c887e36d0ced43a0b9ab8136bf55eb37697489
> Disabling Install shortcut broadcast for O and above
> Adding a preference to control automatic icon addition on homescreen
> Adding icons on homescreen for new installs based on the above preference
Bug: 32920609
Bug: 27967412
Change-Id: I92e5cb7c841fb445dc8bc058d975f212ee54f8d1
This reverts commit d27b65d4d0.
Also added boolean to values/ and values-v25/ and values-v26/
to enabled/disable the listener by API version.
Bug: 35443111
Bug: 33553066
Change-Id: I69465c720f3b3eca7ae2025e01c315720862bec8
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
straight edges of the view (not the rounded corners); looks more
dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
FlingAnimationUtils, and Interpolators. We also apply elevation
to notifications and reveal a darker color beneath when dismissing.
Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972
- NotificationListener extends NotificationListenerService, and is
added to the manifest.
- Added PopupDataProvider, which contains logic for storing and
interacting with data that goes into the long-press popup menu
(shortcuts and notifications). A follow-up CL will rename
DeepShortcutsContainer to a generic PopupContainerWithArrow.
- If Launcher has notification access, NotificationListener will
get callbacks when notifications are posted and removed; upon
receiving these callbacks, NotificationListener passes them to
PopupDataProvider via a NotificationsChangedListener interface.
- Upon receiving the changed notifications, PopupDataProvider maps
them to the corresponding package/user and tells launcher to
update relevant icons on the workspace and all apps.
This is guarded by FeatureFlags.BADGE_ICONS.
Bug: 32410600
Change-Id: I59aeb31a7f92399c9c4b831ab551e51e13f44f5c
On long pressing, the confirmation activity starts a system
drag-n-drop and focuses the launcher activity. We then drive
the launcher drag controller using the system drag event
Caveats:
> We use a transparent preview for system drag and drop and use
a view inside launcher for actual preview. This gives us better
control over various animations.
> The parameters for drag operation are passed to the Launcher
activity using the intent. Since onNewIntent and onDragEvent
come at different times and are not associated, a random uuid
is used as mime-type to match the drag event with intent params
> If the workspace is locked (eg, loader is running) the drag
operation is simply dropped. Will be imporved in follow up cls
Bug: 33584624
Change-Id: I0bb5b25b690f86b6af31a14e11beb669fcb3a281