Commit Graph

36 Commits

Author SHA1 Message Date
Jason Chiu
b0c011e077 Restart or finish HomepageActivity when it's launched unexpectedly
Settings homepage should be started with the flag FLAG_ACTIVITY_NEW_TASK
to ensure it's the first activity in a task. Otherwise, there will be UI
issues.

When homepage is started with FLAG_ACTIVITY_NEW_TASK but not the first
activity, it means another homepage activity has been started, so
finishing the current invocation will bring up the previous activity in
the task.

On the other hand, when homapage is not started with the flag and not
the first activty, it indicates that the invocation is from another
app. Restarting the homepage activity with FLAG_ACTIVITY_NEW_TASK will
keep the UI behavior consistent.

Fix: 297857732
Fix: 309045575
Test: robotest, manual
  1. Start Settings from QuickSettings, go to any subpage, navigate to
     home, click Settings icon on the launcher, and the previously
     opened page should be kept.
  2. On a LS device, start Settings from another app without
     FLAG_ACTIVITY_NEW_TASK, Settings should be started in dual-pane
     mode.
Change-Id: If1f31e26dc37f681bd97c185cbeac2de06bdd48f
2024-04-17 01:33:04 +00:00
Chris Antol
70a5a0fd35 Restrict Settings Homepage prior to provisioning
Bug: 327749022
Test: manual test
1. factory reset + launch Settings via ADB during Setup -> verify app closes
2. factory reset + bypass Setup + tap Settings icon in launcher -> verify app closes

Change-Id: I8cbe38109ebf88a0f68f3917e95468a81c6463c1
2024-03-25 23:51:04 +00:00
Chris Antol
3711945eb2 Merge "Revert "Finish HomepageActivity when it's not the root of a task and not singleTask."" into main 2024-02-28 23:20:13 +00:00
Chris Antol
778bcee157 Revert "Finish HomepageActivity when it's not the root of a task and not singleTask."
This reverts commit 5a305645c1.

Reason for revert: b/325861149

Change-Id: I4441f939a46bf65514756a015355ea5089147c1d
2024-02-28 19:56:56 +00:00
Fan Wu
1ce7938afc Update custom shadow usage of ShadowActivityManager
Test: atest SettingsRoboTests

Bug: 319052511
Change-Id: I15ee6a19d039808aab5089e309a872cf6bc818bc
2024-01-11 09:45:41 +08:00
Jason Chiu
05c7b59361 Merge "Make the suggestion view dismissible" into main 2023-12-21 06:23:33 +00:00
Jason Chiu
5a305645c1 Finish HomepageActivity when it's not the root of a task and not singleTask.
HomepageActivity should be the first activity in a task, or be launched
in singleTask mode. Finishing it will bring up the previous activity in
the task.

Fix: 297857732
Test: robotest
Change-Id: Iddcba1652060d755693dd20d0e350e3d6c1ae138
2023-12-20 03:40:29 +00:00
Jason Chiu
dfd802da92 Make the suggestion view dismissible
The suggestion view could just be operated once to eliminate flicker.
When the suggestion is completed, there was no way to dismiss it unless
users kill Settings.

This patch allows updating the view's visibility after the activity is
stopped. When the activity restarts, the view can be updated.

Fix: 294153594
Test: robotest
Change-Id: Idc3aada3bff001d603bf2f7737f70f2880f6cc35
2023-12-19 16:12:42 +08:00
Eric Rahm
802b922593 Revert "Test Fix SettingRobolectricTest Fail"
This reverts commit 818f77cd1f.

Reason for revert: Underlying issue fixed in ag/23454315.

Bug: b/275023433
Test: atest SettingsGlobalRoboTests

Change-Id: I1af272efd00b3c5bd35310512f5712d5d1c7d834
2023-09-11 13:38:36 +00:00
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
2023-08-17 22:33:20 +00:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00:00
Jason Chiu
5310c40640 Refine permission check process of 2-pane deep link
- Check the deep link activity instance before rediercting to the
  internal activity for the managed profile invocation so the caller
  can't bypass the permission check.
- Get the referrer as the caller so that onNewIntent can recognize the
  new caller and check if it has a permission to open the target page.

Test: robotest & manual
Bug: 268193384
Bug: 272437506
Change-Id: Ie69742983fb74ee2316b7aad16461db95ed927c2
2023-03-27 11:59:07 +08:00
Arc Wang
c3141fa911 Settings 2-pane deep link vulnerabilities
Settings app must not start an deep link Activity if
1. The deep link Activity is not exported.
or
2. Calling package does not have the permission to
   start the deep link Activity.

Bug: 250589026
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsHomepageActivityTest
Change-Id: I9a3bddfa5d9d1d2e924dd6f3e5e07dca6c11664f
2022-11-29 00:10:36 +08:00
Yi-Ling Chuang
e3fcf1f082 Remove BatteryFixSlice as it's not used
The BatteryFixSlice hasn't been used for a while, and it's introducing
memory leaks due to a design change at the framework's end. Hence,
remove it.

Bug: 245385410
Test: robotests
Change-Id: I517cab71a32613d5cb5fcd3beb991a24926a2902
2022-11-04 12:22:56 +08:00
Arc Wang
31eec49217 [Activity embedding] Fix unexpected finished 2nd layer problem
If Settings is started on an existing task, the existing SplitPairRule
may cause an unexpected app finish while navigating back from the
2nd layer page.

This change resets SplitPairRule in onCreate().

Bug: 247080168
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsHomepageActivityTest
      manual
      1. Settings app -> 'Connexted device'.
      2. Launch Settings app again from Settings icon in quick Settings.
      3. Start a 3rd layer from 'Network & internet'
      4. Click back and see if the 2nd lay shows.
Change-Id: I262327cc49c3a4434a183eb00ac57f47fa598f70
2022-10-31 05:48:45 +00:00
Yi-Ling Chuang
b684a8dbdf Improve the animation while opening search
Remove the exit transition on the homepage.

Fixes: 189390497
Test: robotest and launch search seeing the y-axis transition
Change-Id: Ia791757e0fef51eeefc7442e04369016a6200f84
2021-06-17 17:26:43 +08:00
Curtis Belmonte
5ece4babd3 Merge "Revert "Turn on the transition flag"" into sc-dev 2021-05-08 07:38:45 +00:00
Curtis Belmonte
1e1b259445 Revert "Turn on the transition flag"
This reverts commit 1be773da62.

Reason for revert: b/187517936

Fixes: 187517936
Change-Id: I57d0a7a16bdb76e105b0febd43bdf81521e69e3a
2021-05-07 22:43:05 +00:00
Alex Stetson
413893244d Merge "Use shared model for non-system overlay toggle" into sc-dev 2021-05-07 14:08:52 +00:00
Yi-Ling Chuang
1be773da62 Turn on the transition flag
Test: robotests
Bug: 186701900
Change-Id: I09c821e17fca88ee532f6535031a52c4c832a1e8
2021-05-07 13:21:42 +08:00
Alex Stetson
aff80d1e14 Use shared model for non-system overlay toggle
Allows settings applications on other platforms to re-use values by
migrating to Settings.secure and moving HideNonSystemOverlayMixin to
SettingsLib.

Bug: 184967544
Test: atest SettingsUnitTests
Change-Id: If9aaeca29ebb8b481d75622934503e368d7435d3
2021-05-06 08:28:19 -07:00
Yi-Ling Chuang
58813f7b6c Apply settings page transition
This change applies Shared X-Axis transition across settings pages. For
injected settings, the injected apps have to also apply the same
transition to take effect.

Fixes: 177479937
Test: robotests and navigate through settings pages
Change-Id: I6241860766f5969428faf9a5b3730a7614fdcd92
2021-04-28 17:29:49 +08:00
Jason Chiu
c37dd71260 Settings homepage redesign
- Support new suggestion design
- Search bar relayout
- Move avatar icon to the top right corner

Test: robotest
Bug: 178068045

Change-Id: I07f1577488d6d1827ee07d55db6759f02d655d5f
2021-03-24 18:53:27 +08:00
Dmitri Plotnikov
313dbc0355 Remove references to BatteryStatsHelper from PowerUsageBase
Bug: 180630447
Bug: 173745486

Test: make RunSettingsRoboTests
Test: male RunSettingsGoogleRoboTests
Change-Id: Ifed69c4fdd741f75b0b962f9d3200f0ed533358f
2021-03-18 06:07:29 +00:00
Yanting Yang
6778fe74bd Fix robotests fail if turning on silky home by default
Bug: 179136903
Test: robotests
Change-Id: Ic620a5061fe7b778076970fd01f212a7aa95bf9e
2021-02-03 03:36:08 +08:00
Jason Chiu
b56ea7e9e3 Adjust homepage styles and layouts
- Fine tune the header text size and position
- Fix the header overlapping problem on the homepage and collapsing
  toolbar pages when configuration changes by adding android:id.
- New AppBarScrollingViewBehavior for the homepage to avoid manually
  offsetting the IA
- Correct the formula of counting search box height

Test: robotest, manual
Fixes: 177967923
Fixes: 177968564
Change-Id: Id3ed44f4296fa2a19d6890b009d3881a5c140bbd
2021-01-22 13:27:22 +00:00
Jason Chiu
bd854ccd10 Support contextual suggestion
- add a suggestion layout
- add an interface to get fragment in suggestion feature provider
- remove the first preference category of homepage IA to align its top
  with the bottom of the search box

Bug: 173768418
Test: robotest
Change-Id: I784e3eef29ca474c4c89f07b916c6500fabbf7d4
2020-12-27 01:37:30 +08:00
Sunny Shao
647e49e7cf Add Tapjacking Protection for SettingsHomepageActivity
Add/remove the SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS flag into/from
SettingsHomepageActivity and SettingsPanelActivity with lifecycle.

Bug: 138442483
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.homepage
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.panel
      manual test
Change-Id: I72f9a947f57f74a8c09127d6c39173594c248ddc
2019-08-01 23:36:12 +08:00
Fan Zhang
3e14383a28 Display settings homepage content fully edge-to-edge
This is needed to support fully gesture navigation.

Bug: 132182711
Test: visual
Change-Id: Ifaf15ecec73b974356355a74e73754f95b84ad3e
2019-05-08 11:43:58 -07:00
Fan Zhang
4df9bfaa3e Remove feature flag for contextual home.
Fixes: 118444000
Test: rebuild
Change-Id: I4b42e22bd93c2d79bacbd40b28912b4e6808325a
2019-02-22 15:40:49 -08:00
Mill Chen
23452861e5 Add fancy animation for IA fragment
The animation of IA fragment is very choppy on expanding or collapsing
conditionals. So adding LayoutTransition for IA fragment makes the
animation more smoothly.

Bug: 123536786
Bug: 123537499
Test: visual, robotests
Change-Id: I731db8556ac392c9ab98bd292498ccf6c87295fb
2019-02-22 16:56:14 +08:00
Sunny Shao
4ddecb00ef Fix padding problem between search bar and homepage cards
Get the statusbar height dynamically to fix this problem in notch mode.

Change-Id: I4ca0427fc2556f1fb5f868118c5207fdfa035c59
Fixes: 123215804
Test: robotest
2019-01-29 13:56:40 +08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
Fan Zhang
0c7c59f1b9 Make android.settings.SETTINGS intent go into homepage.
Change-Id: Ib7453a79a473410c44bdcf06019446cedd34f837
Fixes: 117281845
Test: robotests
2018-10-28 15:59:24 -07:00
Mill Chen
623eb5a904 Create the default static cards for Contextual Settings Homepage
Adding three default ContextualCard data to CardContentProvider, in case
of empty database or no SettingsIntelligence, to keep Contextual
Settings Homepage working well.

Bug: 113372471
Test: visual, atest SettingsHomepageActivityTest
Change-Id: Id7b26818e10f7945b2618100901310a005d8cc0d
2018-09-28 14:23:14 -07:00
Fan Zhang
44be9131b1 Open personal settings tab when launching homepage
Change-Id: I341e1a128fda7db8f953f9a0800050cc007554c5
Fixes: 114441682
Test: manual/robotest
2018-09-07 13:44:21 -07:00