Commit Graph

79 Commits

Author SHA1 Message Date
MrSluffy
1a84e8105a feat : re-implement private space
- closes : #4745
2024-12-26 18:15:22 +08:00
MrSluffy
eeb7416bfe Merge branch 'android15-release' into merge-aosp15 2024-09-14 17:29:57 +08:00
Alex Chau
db1da412b8 Revert "Handle uiMode changes in QuickstepLauncher"
Revert submission 27627108-b/339747262

Reason for revert: b/353914086
Fix: 353450667
Fix: 353914086
Bug: 339747262

Reverted changes: /q/submissionid:27627108-b/339747262
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2676385eb81b7048c8f169ebf3b80b695103e952)
Merged-In: I9a71ee0fa4062b15e68eff41951f42d46ace19d3
Change-Id: I9a71ee0fa4062b15e68eff41951f42d46ace19d3
2024-07-29 23:56:09 +00:00
Alex Chau
5e102e4994 Handle uiMode changes in QuickstepLauncher
- Added uiMode in handled configChanges for QuickstepLauncher, NexusLauncherActivity and RecentsActivity
- This avoids Launcher from being recreated when swithching from an app in driving mode (e.g. Maps), which causes massive jank
- Launcher layout is affected when driving mode changes, so a recreation is ujnnecessary
- Light/dark mode changes still causes Launcher to create as expected

Fix: 339747262
Test: Swtich from driving mode app to another or home in 1p and 3p laucnher
Test: Switch light/dark mode and Launcher is updated correctly
Flag: EXEMPT bugfix
Change-Id: I3d52f0625b580a5b5a1ddbbb487c271a4bb0152b
2024-06-03 12:24:30 +01:00
Sunny Goyal
b895788424 Merge "Using applicationId instead of packageName for xml substitution for increased compatibility" into main 2024-04-18 17:30:31 +00:00
Sunny Goyal
29586169aa Using applicationId instead of packageName for xml substitution for increased compatibility
Bug: 335280439
Test: Presubmit
Flag: None
Change-Id: Ic0932224b964bfb57571adfc27ffdfd1ab716b45
2024-04-17 23:24:17 -07:00
wilsonshih
70beba044e Attemp handle back key when enable onBackInvoked callback.
Unlike normal activity, recents would receive key event from input
consumer instead of go throught ViewRootImpl, so when adapt to
predictive back API, recents should try to handle back key when receive
key event.

Flag: ACONFIG launcher.enable_predictive_back_gesture ENABLED
Bug: 333428882
Test: switch to 3-button mode, go to live tile, verify back key can
dismiss recents.

Change-Id: Ibe6d9b2475a0b89b12dc4b34251a2a92926b5a4e
2024-04-16 04:03:00 +00:00
Riddle Hsu
5fbbbcef3a Merge "Make recents activity follow the orientation of activity behind" into main 2024-02-19 07:52:09 +00:00
Anna Zhuravleva
7d623ce4ed Grant access hidden profile permission to Launcher3
Grant access hidden profiles permission to Launcher3
to access private profile.

Test: checked permission is granted in adb
Bug: 321988638
Flag: NONE
Change-Id: I70657e7972d184986d4bfd82f51d77ce2a275214
2024-02-08 18:54:32 +00:00
Riddle Hsu
827616c946 Make recents activity follow the orientation of activity behind
Since shell transition, recents activity will be moved to top for
recents animation if default home is not recents. And because top
activity is able to affect display orientation. Then the appearance
may not look smooth by the orientation change.

Bug: 308639215
Test: Enable auto rotation. Set a 3rd party portrait home.
      Enter recents by gesture from home.
      The overview should show the same orientation as home.
Change-Id: I36cce1438bef2d2b472b10eebfe00fd3e86eb308
2024-02-07 23:05:13 +08:00
MrSluffy
32700b0100 Merge branch 'android14-release' into 14-dev 2023-12-13 18:47:55 +08:00
Will Leshner
9dce65e05a Show Launcher's widget picker in an activity.
Bug: 307306823
Test: atest Launcher3Tests
Flag: NA

Change-Id: I28ef731abcdf1bd44c66366d42a135912dbcc5be
2023-12-05 13:12:05 -08:00
Tracy Zhou
f767c86896 Add task bar window of TYPE_NAVIGATION_BAR when FLAG_HIDE_NAVBAR_WINDOW is on
Bug: 304426019
Test: manual
Change-Id: I0c09e57db5a9bf6391605d5ec667cf12c96a2042
2023-10-25 14:54:01 -07:00
MrSluffy
19bf26dd5a Merge branch 'aosp-13' into 13-wip 2023-10-21 09:52:01 +08:00
Charlie Anderson
2934c460c4 Fix status bar flicker on adding widgets requiring configuration.
- Changes ProxyActivityStarter theme to draw transparent navigation and status bar

Test: locally
Flag: N/A
Bug: 202485497

Change-Id: I88d14099ec9b1f433fbcdc9184fe5af557bc180b
2023-10-10 11:00:05 -04:00
Saumya Prakash
e2711c254a Enforce the correct orientation for the gesture navigation tutorial
The lottie animations used for the gesture navigation tutorial are
designed for specific orientations depending on the device. This change
ensures that users are in the correct orientation for their device. For large screen users in portrait mode, we display a prompt to rotate the screen.

Flag: ENABLE_NEW_GESTURE_TUTORIAL
Fix: 277781713
Bug: 276515961
Test: Manually went through the tutorial starting from both
orientations on handheld, foldable, and tablet to ensure that the prompt
was shown and hidden correctly. Also ensured that gestures cannot be
completed in the background while the prompt is being shown.

Change-Id: I86ae566721f240264177ad4ec7fc12e58d1b95cd
2023-06-09 21:41:07 +00:00
Saumya Prakash
fd79b4dfbd Redesign the gesture tutorial for the Back gesture
This change adds in a new animation and layout to change the existing back tutorial as part of the effort to redesign gesture navigation education for users. This temporarily uses placeholder animations for the overview gesture. Large screen animations are also added for Home and Back tutorial.

Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Bug: 241813570
Bug: 253521922
Bug: 253520701
Test: Manual
Change-Id: Ied18b88a83a3b673a7cf40fd33b6013f24998e44
2023-03-17 23:20:36 +00:00
Goooler
2e3eae286a Mark the root project's namespace as com.android.launcher3 (#3242) 2023-01-12 21:15:13 +08:00
Brian Isganitis
209f10c225 Add ACCESS_SHORTCUTS to quickstep manifest.
Bug: 259601472
Test: Manual, can drag-n-drop shortcuts from taskbar when 3p launcher is
default.

Change-Id: I7b9ed4d16a0b3a17387bf8a39f1ae9bf54767e8e
2022-12-09 19:49:33 -05:00
TreeHugger Robot
59ebc0c3c9 Merge "Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery" into sc-dev am: c0231f8d0f am: f58691ae42
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16444734

Change-Id: Idd834fc5a587e2cdb3425612514efe54ece792cc
2021-12-23 07:15:54 +00:00
TreeHugger Robot
f58691ae42 Merge "Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery" into sc-dev am: c0231f8d0f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16444734

Change-Id: I405e4c79cc91ccbeb0472870ad1395eccaa8b64b
2021-12-23 06:55:10 +00:00
Siarhei Vishniakou
81ff81227e Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery
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
2021-12-12 06:22:08 +00:00
TreeHugger Robot
32016cc60d Merge "Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery" 2021-12-08 18:46:43 +00:00
Siarhei Vishniakou
b9bc1326d0 Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery
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
2021-11-29 11:38:42 -08:00
Nick Chameyev
c52ec89e1b Add WRITE_SECURE_SETTINGS permission to Launcher
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
2021-11-29 12:21:35 +00:00
Alex Chau
84fe75d72e Make Launcher activity restart on density change
- 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
2021-11-04 11:33:16 +00:00
Schneider Victor-tulias
ab60c1fc6e Update gesture navigation tutorial for foldable devices.
- 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
2021-09-27 19:55:53 +00:00
Andy Wickham
13c3f31a0d Makes All Set layout more responsive.
- 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
2021-09-23 23:11:59 +00:00
y
ac68842059 Remove HotseatEduActivity from AOSP
Bug: 191882450
Test: manual
Change-Id: Ic60ef6fec6c3d8162cb3d11b0ed3c9f89f6b5704
2021-09-02 18:18:59 +00:00
y
0115d73890 Remove HotseatEduActivity from AOSP
Bug: 191882450
Test: manual
Change-Id: Ic60ef6fec6c3d8162cb3d11b0ed3c9f89f6b5704
2021-09-01 16:59:47 -07:00
Sunny Goyal
50f43df36e Merge "AllSet page fixes" into sc-dev 2021-06-30 04:31:34 +00:00
Sunny Goyal
ce50b9ed83 AllSet page fixes
> 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
2021-06-29 16:32:37 -07:00
Schneider Victor-tulias
e6b93993d1 Update Gesture navigation tutorial activity permissions
Temporarily removed REBOOT permission requirement from GESTURE_SANDBOX.

Fixes: 188035141
Test: manual
Change-Id: I11788d7c6dd5a7b10e8cc4400b17f5f2fec967f7
2021-06-23 13:08:21 -07:00
Alex Chau
a02eddc144 Handle config changes in Launcher
- 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
2021-05-10 18:50:02 +01:00
Andy Wickham
474c616e98 Adds AllSetActivity in Launcher.
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
2021-05-04 18:44:22 -07:00
Sunny Goyal
4ed0fb5074 Removing dependency on wallpaper colors and using theme resources
Bug: 184676715
Test: Manual
Change-Id: Ie9a9a784c4a8a8cd484bfd8ea463deedcd4deed6
2021-04-27 16:29:08 -07:00
Alex Chau
8c575c378e Remove smallestScreenSize from configChanges
- 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
2021-03-01 12:20:26 +00:00
Sunny Goyal
52b5a4d8bc Registering input monitor in Launcher process
This prevents SystemUI from getting ANR when it's Launcher's fault

Bug: 177556238
Test: Verified apk on device
Change-Id: I101a7e90e43f88f58f715620d71047d5b6a3486c
2021-02-08 15:01:50 -08:00
Tony Wickham
63fc59b801 Use SYSTEM_APPLICATION_OVERLAY instead of SYSTEM_ALERT_WINDOW for Taskbar
Test: Taskbar still shows up and works, can't hide it from Settings
Bug: 169054709
Change-Id: I0d2f9be8a0af2242472d8406bbc31a6aecaa9285
2021-02-04 10:07:59 -08:00
Sunny Goyal
f72c368017 Adding quickstep specific permissions to Launcher
Bug: 177096054
Test: Manual
Change-Id: Ife5d7c8207e70e4b184b18fcfe71548ec9616dd4
2021-01-27 17:21:12 +00:00
Tony Wickham
f26e90aa35 Add empty Taskbar views and initial TaskbarController
Guarded by a FeatureFlag.

Bug: 171917176
Change-Id: I7145c7ae68282bf53552502798fe758c8c0e285d
2021-01-22 15:39:46 -08:00
Bernardo Rufino
e0484de39a Add BROADCAST_CLOSE_SYSTEM_DIALOGS to recents package
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
2021-01-11 19:25:24 +00:00
Winson Chung
ff6d94dd92 DO NOT MERGE Revert "Handle uiMode changes"
Bug: 171707437
Test: Repro steps on bug

This reverts commit 0ad7b172e6.

Change-Id: If30cbb6c155e879dc8307a0a4a06dfb548b389a1
(cherry picked from commit 4b4341d3a7)
2020-12-09 07:33:40 +00:00
Winson Chung
0c2b05947e Handle uiMode changes
- 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
2020-07-21 17:20:53 +00:00
Rajeev Kumar
b6354114ba Add explicit android:exported="true" declarations
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
2020-06-23 23:04:38 +00:00
Ashwini Oruganti
aa902e859b Add an exported flag in manifest
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
2020-06-23 13:58:18 -07:00
Samuel Fufa
d25a112b0e Allow Users to migrate their hotseat when returning from AiAi
- 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
2020-06-18 16:38:58 -07:00
Andy Wickham
690543f159 Removes Sandbox from launcher task.
Instead, adds it to the gesture-exclusion activities
to prevent normal gesture handling.

Bug: 148542211
Change-Id: Ie04d2e71346a0c039e73fcc386cedc1b74fadadb
2020-06-10 15:41:37 -07:00
Winson Chung
1801d19bcd Remove LockscreenRecentsActivity
- 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
2020-05-14 10:51:44 -07:00
Sreyas
1963d3f3ed OverviewActions: Adding action buttons to Oem quickstep.
Change-Id: Id5c0d8f1b41107535c1bac982b47f67eb2574c21
2020-03-27 16:42:10 -07:00