Commit Graph

1194 Commits

Author SHA1 Message Date
Jacky Wang
20558e21bd [Catalyst] Support hybrid mode
Bug: 332202168
Flag: com.android.settings.flags.catalyst
Test: Manual
Change-Id: Ib3607a91345bb0d94cd0d63cf7f9434c5603dd91
2024-10-12 16:38:31 +08:00
Treehugger Robot
c7be2f126e Merge "Better Support for profiles in "People that can interrupt"" into main 2024-10-07 20:11:09 +00:00
Matías Hernández
504e927168 Better Support for profiles in "People that can interrupt"
* Show contacts from personal and work profile.
* Open personal or work profile Contacts app when choosing settings.
* Skip conversations with no ShortcutInfo (they are returned for a disabled work profile but we cannot show an icon for them).

Fixes: 371513451
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: Id8653a85ee4fd15dfccbecb3ea2d31e615d29f8c
2024-10-07 17:37:37 +02:00
Matías Hernández
a2e71cc7cb Delete Settings code related to super-obsolete zen onboarding
A notification was shown when upgrading from pre-P to P because default DND settings had changed. The default was later changed back so it was already obsolete at that point. Moreover, it should be impossible to upgrade from pre-P to V in one step.

Bug: 346789065
Test: N/A
Flag: EXEMPT Unflaggable -- removing resources, manifest entries, etc.
Change-Id: I2862211dc9709b741e60beca5fc029cc054745a3
2024-09-26 14:30:23 +02:00
Jacky Wang
1c486036ef Avoid potential ActivityNotFoundException
Bug: 332202168
Flag: com.android.settings.flags.catalyst
Test: Manual
Change-Id: I74d7bbc9eb34e0f8d04cfb663b04393a3432e784
2024-09-25 11:58:10 +08:00
Jacky Wang
504feedd6b Add global flag for settings catalyst
Bug: 323791114
Flag: com.android.settings.flags.catalyst
Test: Presubmit
Change-Id: I1addb2391405ced12f0b32b2415608cf3a472c37
2024-09-18 14:49:48 +08:00
Jacky Wang
7630a4ca95 Support flagging for PreferenceScreenCreator
Bug: 335132588
Flag: com.android.settingslib.flags.settings_catalyst
Test: Presubmit & Local test
Change-Id: I8e1d8ee679c84401bfcfcfb21f221a619257f6a2
2024-09-14 23:18:33 +08:00
Jacky Wang
b3e1b527d8 Catalyst framework integration
Bug: 335132588
Flag: com.android.settingslib.flags.settings_catalyst
Test: Presubmit
Change-Id: Ic0f0193fd5cee144f2fab36ae5190156efb7bd10
2024-09-09 21:14:53 +08:00
Chris Antol
468e15f49a Supported updated suggestion cards in AOSP Settings
Flag: com.android.settings.flags.updated_suggestion_card_aosp
Bug: 323258154
Test: Enable flag and trigger suggestion cards to show
Change-Id: Iee47d05d8d75c10ba073ae3541f108bc37b4c09b
2024-08-28 16:35:01 +00:00
Chris Antol
969fc9639b Support dynamic injected preference icons from raw data
Flag: com.android.settings.flags.support_raw_dynamic_icons
Bug: 351884562
Test: Registered an injected preference in another app locally, providing icon dynamically using new metadata field
Change-Id: I80a5e6804b9beab343c0068753277948a3855865
2024-07-12 22:57:37 +00:00
Jason Chiu
f22b2668e0 Guard against exception when reg/unreg content observer
When an app injects an entry to Settings with dynamic title/summary, and
disables its content provider at runtime, Settings will crash while
trying to registering/unregistering the data observer.

Fix: 337567627
Test: manual
Flag: EXEMPT bugfix
Change-Id: I9c7f689c6696d91f0b8e40113a8df10375930ede
2024-06-26 16:06:31 +08:00
Edgar Wang
47400df7ae Homepage UX revamp
- unified Search and Suggestion behavior between regular phone and two
  pane
- don't adjust padding
- update new icon drawable
- support group homepage preference with round corner on phone
- Remove avator from homepage
- Adjust homepage preference order

Bug: 333989622
Bug: 334130370
Test: visual
Change-Id: I9880b52553f164745766c8b9d5c996585285e52a
2024-05-09 08:21:08 +00:00
Edgar Wang
aec1d97788 Dynamic Injection into PreferenceCategory
- Avoid NPE when groupkey is null

Bug: 335592049
Change-Id: I810220d18e55351a280cff08b74b37130607168c
Test: robotest & manual
2024-04-23 07:41:11 +00:00
Edgar Wang
9ff8ddeed1 Allow dynamic injecting preference into specific preferenceCategory
Bug: 333547416
Test: robotest
Change-Id: I443ec8c16afc6db334a6f16d857f69f293803979
2024-04-16 15:30:56 +00:00
shaoweishen
90e70b15d7 [Physical Keyboard] Clean up old ui and flag
Change-Id: I9423d0e9debcef37338e5733aab56b98920621e3

Test: n/a
Bug: 330517633
Change-Id: I485848f67e0eb3ab207413a6ed8f7de809f80c5c
2024-04-16 05:21:30 +00:00
Manish Singh
cace44f497 Fix location services for all profiles
Bug: 330538899
Bug: 333507072
Test: atest LocationInjectedServicesPreferenceControllerTest
Test: manual
Change-Id: Ia42e59b73b9b7c84ecb89082e968b801e1fd1302
2024-04-11 16:11:41 +00:00
Jason Chiu
0bd014c497 [Safer intents] Settings misc
To avoid implicit intents, make intents launch explicitly.

Test: build
Bug: 323061508
Change-Id: Ie19cbceb89842a75a180898abcce81b63c18d46c
2024-03-29 04:22:45 +00:00
Manish Singh
acafaf94b9 Merge "Support private profile in spinner adapters" into main 2024-03-19 09:54:58 +00:00
Manish Singh
d7ff6fe966 Support private profile in spinner adapters
Screenshot - https://screenshot.googleplex.com/35czwQHeevX75pj
Video - https://drive.google.com/file/d/1LkYPJ3i8llArnQBE3ieLPYMctEOw3xdp/view?usp=sharing&resourcekey=0-j-3-VV4OyXJKBPXwAqJvKg

Bug: 328565911
Bug: 313610609
Bug: 302082696
Test: manual
Test: atest UserAdapterTest
Test: atest StylusDevicesControllerTest
Change-Id: If8395eba5cc73809ab4abc95bc13067451c38b8f
2024-03-15 17:16:57 +00:00
Treehugger Robot
0003443c3d Merge "Fix Settings profile selector on HSUM" into main 2024-03-08 18:36:27 +00:00
Liahav Eitan
0f37c7463b Fix Settings profile selector on HSUM
Currently Settings ProfileSelectorFragment uses isSystem() to identify
the personal user. This change migrates it to use isMain() in line with
HSUM architecture.

Test: atest SettingsRoboTests:com.android.settings.dashboard.profileselector.ProfileSelectFragmentTest
Fixes: 327610266, 327600527, 327585940, 326574736
Change-Id: I064b2fb295b89cffcd556e151fe1bf4484caf384
2024-03-07 14:41:07 +00:00
Olivier Nshimiye
b816437d39 Merge changes from topic "add-ps-features-flag" into main
* changes:
  Add Private Space features flag check to Settings tests
  Add an additional flag guard for Private Space implementation
2024-03-07 10:48:58 +00:00
Manish Singh
8ca4f47292 Return the correct position for the profile tab
The existing code returns the fixed tab values, which doesn't work
now that the ordering is determined by the user manager's ordering.

Bug: 302278487
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: I87b393b8e12e21dc1b38ee75bb43ca9133785c81
2024-03-05 19:50:29 +00:00
Olivier Nshimiye
0f3799cbad Add an additional flag guard for Private Space implementation
This a layer of flag guarding only for the implementation of Private Space features excluding the APIs. The MVP flag allow_private_profile still guards all the features including the APIs.

Bug: 326060689
Test: Manual - a few verifications that some feeatures are unavailable when this flag is disabled
Test: Run presubmits and verify that nothing breaks
Change-Id: I05f7e2f20c6132b33484bb133ce03a933ece485f
2024-03-04 15:43:24 +00:00
Vaibhav Devmurari
0336216f20 Fix broken PK setting page
Culprit CL: ag/24940191, the InputDeviceIdentifier wasn't properly passed onto the Profile specific instances of PK settings fragment.

Bug: 317416208
Test: manual
Change-Id: I8431cc6c220cc313ea7a7b1931d2a5a88fa46797
2024-01-08 14:33:34 +00:00
Manish Singh
dbb2337ce0 Fix title for work and private profiles
For some languages UserManager#getBadgedLabelForUser does not return
the correct string for the context.

Bug: 315082416
Test: manual
Change-Id: I376d1ad4eafd1ba5f3db2c32c9fddb81bbde2dd2
2023-12-27 10:43:23 +00:00
Manish Singh
aff8a7d231 Fix postsubmit test failures
Test: atest ProfileSelectFragmentTest
Bug: 314371622
Change-Id: Id31518fb92491e5a434cc4a3a95b6353d58a382f
2023-12-14 08:31:14 +00:00
Manish Singh
585bffb7ec Select the correct tab
What the clients send over is the tab based on user, but the correct tab
(position) wise needs to figured out.

Bug: 314371622
Test: manual
Change-Id: Ib6ebefb898b1c5678c14157333dc2b2ebc198ed8
2023-12-10 09:32:21 +00:00
Manish Singh
62702e3c47 Merge "Make the order of tabs same as profile creation" into main 2023-12-07 13:26:19 +00:00
Manish Singh
9ee5f6edc9 Make the order of tabs same as profile creation
Currently the order is hardcoded to be Primary, Work, Private.
But SettingsLib in frameworks uses the order returned by UserManager's
getProfiles API. This causes inconsistency across various Settings
pages.

Changing the order to be the one returned by UserManager.

Bug: 304366476
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: I9953f211bfbeab129aa6b7c7ec0fe294e91dda26
2023-12-01 22:37:37 +00:00
Manish Singh
71e27963f7 Merge "Check purely for the presence of a managed profile" into main 2023-11-30 20:51:06 +00:00
Manish Singh
d503f25692 Check purely for the presence of a managed profile
including the parent user, as here we care only about the existence of
the managed profile.

This maintains the behaviour prior to private space changes.

Bug: 313128792
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: I1d253f95ca534b48acfdb4c1c8b84368d731dded
2023-11-28 16:09:11 +00:00
Treehugger Robot
958a6ab7aa Merge "Remove unnecessary flag check" into main 2023-11-27 19:05:22 +00:00
Manish Singh
eaafcbcb28 Remove unnecessary flag check
This code is to remove the user which shouldn't be shown when in quiet
mode - if anything, it's better to keep this not behind the flag.

Also, the user property is not behind the flag.

Bug: 312976400
Test: manual
Change-Id: Ic66a53bf7608848df223914b0fe78ed00b86db70
2023-11-27 17:39:16 +00:00
Chaohui Wang
7c4b3a3477 Clean up unused SummaryProvider
Remove unused content provider to improve latency.

Bug: 311604902
Test: manual - on System page
Change-Id: I3208a2fe341337c2648733b5e11159b96f5e6908
2023-11-27 12:26:48 +08:00
Edgar Wang
a930f5eaf8 Merge "Remove injecting multi-user settings into settings itself" into main 2023-11-23 22:02:30 +00:00
Olivier Nshimiye
02399366cd Merge "Update the getHideInSettingsInQuietMode to getHideInUiInQuietMode" into main 2023-11-23 15:53:28 +00:00
Edgar Wang
6024953f02 Remove injecting multi-user settings into settings itself
- It can improve performance because we use less injected item

Bug: 242152448
Test: robotest
Change-Id: I892e1ac9c3f8297c489fc1fec934e9f5f2e2f5e9
2023-11-21 21:05:54 +08:00
Olivier Nshimiye
fcafdcffb0 Update the getHideInSettingsInQuietMode to getHideInUiInQuietMode
Bug: 307515481
Test: manual
Change-Id: I75996df11e9276eff5c388b509d630a0d4b3d39f
2023-11-21 10:27:48 +00:00
Marcelo Arteiro
17b8421469 Fixing wriong color on Setting's Profile Selector
Fixes: 283057775
Flag: N/A
Test: Manual
Change-Id: I8e79041634884c71b10a820083b42e971cff7330
2023-11-21 09:17:44 +00:00
Manish Singh
94cffad6c2 Support Private profile in profile modal selector
Profile selector modal with work profile
https://screenshot.googleplex.com/8ugpsT7nZA75VPa

Modal without work profile
https://screenshot.googleplex.com/9bPFbFG2DKBHhvS

Bug: 309635228
Test: manual
Change-Id: Id7533f101d2b5693c419c9591d59751925a4b7ce
2023-11-10 18:14:33 +00:00
Manish Singh
6ce9c37701 Deep copy the existing Arguments
Otherwise we end up using the same bundle for all the fragments.

Bug: 304697867
Test: manual
Test: atest ProfileSelectFragmentTest
Change-Id: Ia31f2440516783c22849593922467756c8c54cb9
2023-11-08 20:53:58 +00:00
Chaohui Wang
cfdb3b1f1b Migrate new() to SwitchPreferenceCompat
Bug: 306658427
Test: manual - on Settings pages
Change-Id: I258a8c63d5c46403c6d333a9d2f34c33cb35e27f
2023-10-24 14:05:34 +08:00
Chaohui Wang
15ca95a31b Migrate to TwoStatePreference
SwitchPreference and SwitchPreferenceCompat are both TwoStatePreference.

Using TwoStatePreference in Java will helps migration in the future.

Bug: 306771414
Test: manual - check Settings pages
Change-Id: I84e1d7b09451106797c2b23d127855c6976678ca
2023-10-23 09:28:57 +00:00
Manish Singh
6efc455f2c Show a separate tab for the Private Space
This covers all the known Settings pages using the tabbed view model.

https://docs.google.com/document/d/1CdjUjAE84-5ZEPRIfw5KYFjLVHtEZxc_sF0w95su8DA/edit?resourcekey=0-dAACT9HRexY1IyoxMmkVlw#heading=h.58jd58rmznte

Screenshots:
all apps
https://screenshot.googleplex.com/3E5Jm7Pi2JfN64r
with work tab:
https://screenshot.googleplex.com/8egk4yHK5jSENjR

PS Apps Special media management apps
https://screenshot.googleplex.com/BHHafqW7bgUwSGg
with work tab:
https://screenshot.googleplex.com/3cocdhruEmCCh5k

PS Location Services tab view
https://screenshot.googleplex.com/3DqJcT2BFTEpvYT
with work tab:
https://screenshot.googleplex.com/6Avpx6hxSrdGJw5

PS on screen keyboard tab view
https://screenshot.googleplex.com/4FzVNnBWwbUeJNw
with work tab:
https://screenshot.googleplex.com/8E8UhpWq8PL5nxU

PS password account tab view
https://screenshot.googleplex.com/6bDR4AKtth2S3EW
with work tab:
https://screenshot.googleplex.com/9msXV2TdHdJapch

PS storage tab view
https://screenshot.googleplex.com/5Nk2FTxwdmpEv3B
with work tab:
https://screenshot.googleplex.com/79tw2EaWZKfMsnC

PS appl_languages_work
https://screenshot.googleplex.com/3qrREeg3RQdHhhH

Bug: 302278487
Test: manual
Change-Id: I8cd39170827fbe251bc4075ef306206020b3a022
2023-10-11 12:32:17 +01:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Chaohui Wang
58f0ee30fc Remove context from dashboardFeatureProvider
DashboardFeatureProviderImpl is created by using application context,
no need pass context in when get.

Bug: 286764889
Test: m Settings
Change-Id: Ia9672dfd9d3d71f64735cbc5979a6ad57c9429d3
2023-07-20 12:21:16 +08:00
Chaohui Wang
eb4fea1a36 Call onViewCreated in DashboardFragment
To let fragment's view lifecycle owner passed in to controllers.

For UI usage, view lifecycle owner is the best choice, controller could
use this lifecycle owner to observe events and do UI related works.

Usage DataSaverController as first example.

Bug: 287005021
Test: Manually for DataSaverController
Change-Id: Id965ea3a24d61f4d0ec6735632944f41f72ba06a
2023-06-14 12:22:12 +08:00
Jason Chiu
a8142278e9 Merge "Do not init dashboard categories when SetupWizard isn't finished yet" into udc-dev am: b2ed35b2ae
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23486247

Change-Id: I8a7966fd9f3ee88683c35fd4f2bd7b60b475cbcc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-02 11:05:34 +00:00