LauncherActivity uses FLAG_SLIPPERY for certain interactions. For
example, when home screen is shown, and the user pulls down from not the
top of the screen, and notification shade is getting displayed, then the
touch should be getting transferred to the NotificationShade using
FLAG_SLIPPERY.
The newly introduced permission is added to launcher in order for this
flag to be applied to the window.
Bug: 206188649
Bug: 157929241
Test: reviewed logs, ensure that NexusLauncherActivity has FLAG_SLIPPERY
Test: re-ran the performance regression test
Change-Id: I8d05fa3663687b5382a59b0d47cdac404844c3b7
We reused a code that handles rotation suggestion button
from SysUI in Launcher. It requires WRITE_SECURE_SETTINGS
permission to write how many times we have shown this button
to show ripple only the first 3 times.
AOSP Launcher didn't have this permission and it was crashing.
Bug: 205491152
Test: tap on rotation suggestion button when in AOSP launcher
Change-Id: I216abb86d43cc505aec1ff581c1f332ae3ad0db4
- Launcher used to restart when density changes before http://ag/14234761, which added smallestScreenSize and density in configChange
- http://ag/14234761 aims to avoid restart when switching display in split dispalys, for which only size changes, therefore density is unnecessary in configChange
- Keeping density in configChange make Launcher acitvity to stay after changing display size, making all buttons stays in old size in previous denstiy, which is a bug
Bug: 204157738
Test: manual
Change-Id: Ib85326078c67c35d90dc5e9ae5c20eeb5286a610
- Updated mock conversation layout to work on large devices.
- Added AnimatedTaskView helper view to animate previous task view.
- Added animation from single previous app to two peaking previous apps.
- Updated app orientation to work with larger screens (forced protrait was causing letterboxing).
Test: manual, tested tutorial on non-foldable device, foldable device (closed, opened in landscape, opened in portait and switching between the three)
Bug: 198434693
Bug: 187701213
Known issue: 200579260
Change-Id: I98cb269f7d25985989cf66e791bf535228ab5293
- No longer forced portrait mode
- Bottom texts are aligned proportionally to the screen height
to avoid overlapping in landscape folded
- Subtitle text width is limited to force wrapping to avoid an
awkward line of text on wider screens
Fix: 189896987
Bug: 187701213
Test: Manually went between portrait/landscape/folded/unfolded.
Change-Id: Ibb2bbe545cf7f154ad77e10d574e72f8d9110a72
> Updating background color
> Updating activity theme to not be transparent
> Updating default accent color
> Adding an accessible target to exit
Bug: 190447132
Bug: 190136972
Bug: 190454597
Test: Manual
Change-Id: Ia8ef67ed429c062a8d1109d7f444343ec4ca09cf
- This is practically a revert to http://ag/c/13687966/5 and refactored to use DisplayController.DisplayInfoChangeListener
- Make Launcher handle size and density change so transition is less janky when screen size changes
- Added fix in RecentsView to update state and TaskView when display profile changes
- Removed 720dp specific resoureces
- Removed unused widget_section_indent
- Removed unnecessary all_apps_background_canvas 600dp override that is not needed in AllApps+
- Moved remaining dp specific into DeviceProfile
- Simplified allowRotation logic to use single variable in DeviceProfile to determine if allow rotation is enabled by default
Fixes: 180803696
Test: manual
Change-Id: Iea0a7d1a0e14dc3613152dd3b3887450a2e1fc2f
Mostly copied from its location in Tips.
Some exceptions:
- Accent color (used for the icon at the top and link text)
is derived from intent extras to match the rest of SUW.
If needed, we could also pass other colors this way;
currently they just use default light/dark mode colors.
- Currently there is no animation in the middle. Not sure
if one is expected, but we can add it later if so.
Bug: 184722307
Test: Manually passing arbitrary colors via adb:
adb shell am start -a com.android.quickstep.action.GESTURE_ONBOARDING_ALL_SET --ei accent_color_dark_mode -2134901760 --ei accent_color_light_mode 2147418112
Change-Id: I1fb8b20b88b7485d28f06afd2b421999ad847266
- Remove smallestScreenSize so Launcher activity restarts when screen size changes to pick up new smallestSize dependent values e.g. R.bool.allow_rotation
Bug: 180803696
Test: Ensure rotation preference is respected when switching between large and small screen
Change-Id: I58f856a97effa8e35236d013300181c5d332b25a
This prevents SystemUI from getting ANR when it's Launcher's fault
Bug: 177556238
Test: Verified apk on device
Change-Id: I101a7e90e43f88f58f715620d71047d5b6a3486c
It uses AM.closeSystemDialogs() and should have the permission. I had
created the protection level in ag/13090697 but forgot to actually
request the permission.
Bug: 177228919
Bug: 159105552
Test: atest CloseSystemDialogsTest
Test: atest android.server.wm.WindowMetricsActivityTests#testMetricsMatchesLayoutOnActivityOnCreate
Change-Id: I661dac17f2160ed36adb1a193e739c200169a37d
- Launcher already dedupes if there are no theme changes
Bug: 148988542
Test: adb shell cmd uimode car yes/no, adb shell cmd uimode night yes/no
Change-Id: Ia83f02d18a0433c8be59d1f488e58b38476ba5ff
We add this for GestureSandboxActivity and
com.android.launcher3.uioverrides.QuickstepLauncher to
reinstate the behavior of go/ag/11746107 which was
incorrectly reverted in go/ag/11963698.
We also add this for HotseatEduActivity which was
newly added in go/ag/11963698.
(Cherry pick from master cadb94983b)
Bug: 159709775
Fixes: 159709775
Test: wembley-userdebug boots and has functioning Launcher
Change-Id: I17904f9ad88abc66364675426545eae423cb3175
Merged-In: I17904f9ad88abc66364675426545eae423cb3175
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
- If a user has mostly predicted hotseat, show a snack bar. otherwise, show migration option.
- Guard onboarding activity with permission `com.google.android.apps.nexuslauncher.permission.HOTSEAT_EDU`
Bug: 158569583
Test: Manual
Change-Id: Id0c1c812233fcf288a2f49848720199dedd2015d
Instead, adds it to the gesture-exclusion activities
to prevent normal gesture handling.
Bug: 148542211
Change-Id: Ie04d2e71346a0c039e73fcc386cedc1b74fadadb
- This activity would create another task (no longer in the same
stack since we don't have activity type stacks) which was causing
the camera to be occluded sometimes, which then cancels the recents
animation
- Tweaking the animation slightly to match the movement of the closing
the activity back to the lockscreen
Bug: 156514461
Test: Launch camera on the lockscreen and swipe up to dismiss (repeatedly)
Change-Id: I8aaac22767288d7fbf183683276c50acaaf831d2
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
This is set to have the same task affinity as Launcher
so that it inherits the ability to ignore system gestures.
Bug: 148542211
Change-Id: I29bc5599dea61c44be721dcc0bec7bc494c415c4
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
include actual implementation of gesture tutorial.
Bug: 146173041
Test: adb shell am start -a \
"com.android.quickstep.action.BACK_GESTURE_TUTORIAL"
Change-Id: Ic166f0a10d8efc22d9684f089142de164ca24c90
On swipe up, we start a rencets transition to the current launcher app. At the
end of the transition, if the user is going to recents, we start overview activity.
Bug: 137197916
Change-Id: Ie5ed848879ad965dcab2780a05d649e3be066568
When device is locked, only scale down the top task as a response to
the user interaction. When user flings or lifts his finger, the task
is dismissed to go to the lock screen
LockScreenRecentsActivity is an empty activity which starts on top of lock
screen and finishes immediately. This allows us to start a recents transition
with just the top activity as the animation target. This target is then used
for swipe up interaction
Bug: 133167096
Change-Id: I466ed142ea33d626c78cb9cc5f6311bad26b8d98
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
This reverts commit 3a4f503e5d.
Reason for revert: SystemUI now expects our service to be direct boot aware
Change-Id: I6f7906046e79f83848cb46f5cce63c827d9fbf4d
- Add directBootAware="true" to TouchInteractionService manifest component
- Add DeviceLockedInputConsumer which just sends a home intent on touch down
Test:
- Reboot
- Swipe up anywhere to get to bouncer (pin/password/pattern)
- Click "Emergency" to launch dialer while still in direct boot
- Swipe up from the nav bar to exit/bring up bouncer
Test:
- Lock screen
- Double press power to launch camera
- Swipe up from nav bar to exit/bring up bouncer
Bug: 125364936
Change-Id: I7a4cd2dc3a635daf4bb9a643a1e5251ca4e91e33
> 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