Guard against null activity. If activity is already null, there is no
need to call finish().
Fixes: 131180213
Test: robotests
Change-Id: I19232ed67ddd0c3539b1827de23fdc584850b519
Create a config resource for OEMs to add suppressed tile's key, then
DashboardFragment will filter related tiles out from Settings.
OEMs can use this way to suppress security patch injected tile if they
don't use Google OTA.
Fixes: 130734771
Test: visual, robotests
Change-Id: I4cab79c8672048fa543d39b2a8f38ffe338189c8
Also removes the switch if cross-profile calendar is disabled by admin.
Test: atest ManagedProfileSettingsTest
Fixes: 123930863
Change-Id: Ieeb9266e8833d7ca730fedb5e947b03ec7d18d3c
In Pie, it's alphabetical ordering in Accounts > Account sync detail page.
But Q doesn't follow it, intend to keep the same behavior.
Fixes:124382857
Test: visual, robotests
Change-Id: I593a4cc919daa0018d3874d84978e876198aae23
- the account detail settings page is launched with the correct user
handle when there is work profile to indicate which profile the account
belongs to. When we process the dynamic tile, for the page, we should
add this info to the tile intent, so that it can be launched with the
correct profile.
- when we launch the tile intent, check whether there's user handle
specified. If so, launch the intent directly without prompting for
profile selection.
Change-Id: I91f8c666a826909006b1f53907b3441825322c10
Fixes: 119657694
Test: make RunSettingsRoboTests
- Displaying/hiding Emergency info, branded account, device header
widget are now driven by config flags
- Also refactored controllers to use BasePreferenceController
Change-Id: Ie601ebf689e0744c6a05a2cca5513fa43ef355e0
Fixes: 119607340
Test: robotests
- Add to launch the new Contextual Landing Page when user clicks the avatar
icon and check the matching intent activity exist.
- Use the serialized intent and keeps in config.xml.
- Remove the getAccountSettingsDeeplinkIntent in the AccountFeatureProvider
which never use again.
Change-Id: I50396af67eb04034572f8c885b4d9aef48a67e9d
Fixes: 122486552
Test: robotest
- Remove LayoutPreference in Settings source code.
- Remove unused style, layout
- Replace old imports to com.android.settingslib.widget.LayoutPreference
- Replace old XML tag to com.android.settingslib.widget.LayoutPreference
Test: robotest, manual test
Bug: 120005054
Change-Id: I9ae1ae14a16f443e11ac5d75b6038c7c5e253844
Add feature flag to link overlay emergency app instead of Emergency Info
app for teamfood in the future.
Test: Manually
Bug: 118809382
Change-Id: I7956704b9d134647cc0a1a5975a0bf8bea482422
Some ShadowUserManager function moved into the basic shadow in
robolectric proper and has been removed from the Settings
ShadowUserManager.
Test: make -j56 RunSettingsRoboTests
Change-Id: I38647dae5d16bc79bc7925ca139c9362a2035393
Settings get account name and account avatar from SI.
According the account name to launch the account page.
Bug: 119608711
Test: robotest
Change-Id: I0d53e9445f4ba5ce470bd079038db0f08f0cc1c8
Launched the adding account when click no account icon on search bar
Retreived the avatar of the account and show in the end of the search bar
Added getAccountSettingsDeeplinkIntent api into the AccountFeatureProvider
Bug: 118691898
Test: robotest
Change-Id: I25d69b8f4b6cf138f5e20fc22ce4ff26357bc107
Not all devices have account, OEMs should be able to disable this
feature if they want.
Bug: 117509285
Test: robotests
Change-Id: I3b03a04cff6ff0ec6c31763ac1829b119531e489
In cl/5074783 I fixed a problem with account deletion where the account
didn't appear to be deleted even when it was. Part of that fix broke the
ability to make changes to work profile accounts - this CL fixes that by
making sure not to early exit the account detail dashboard unless we've
checked the accounts owned by all profiles for the user.
Bug: 117965642
Test: make -j40 RunSettingsRoboTests
Change-Id: Id034418beb4aec8bd4d10191b4924509d27e55d4
Mofidied the search_bar layout and added this icon in the right side of the search_bar.
Added the hasAccount api in AvatarViewMixin and display this icon when there is no any account in device.
Added the test case of the AvatarViewMixin.
Bug: 117509285
Test: robotest
Change-Id: I6ceaa457af4fb20acd0211ca840df5b530c47e0f
- Condition is already supported in PersonalSettingsFragment
- Suggestion is already supported in PersonalSettingsFragment
- Static/dynamic tiles are supported in TopLevelSettings
Change-Id: I51882e3bd0919ad95109baefac683d98667c11e3
Fixes: 110405144
Test: robotests
The visible symptom of this problem is that when deleting an account, if
a screen lock is set, after confirming the removal and entering the
credentials, you end up back on the account details for the page and it
looks like the deletion failed (even though it didn't).
There were two problems here:
-We were expecting the AccountDetailDashboardFragment to be in a resumed
state at the end of the confirmation dialog, but it wasn't if we had
launched the activity to have the user enter their screen lock
credentials. In the past trying to finish an activity that wasn't in
resumed state seemed to have generated a crash (b/6494527), but that
isn't the case anymore from some tests I ran.
-The AccountDetailDashboardFragment doesn't check in onResume that the
account still exists.
This CL fixes the bug in 2 ways - we'll always try to finish the
AccountDetailDashboardFragment if the account removal succeeded, and
when AccountDetailDashboardFragment's onResume is called we'll always
check for the account existence. Either approach would be sufficient on
its own.
Change-Id: Iaa65e97fca5dfc8b1251968142e47315e3b590c2
Fixes: 112845988
Test: make RunSettingsRoboTests
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.
This causes a lot of trivial code changes.
I also updated the ordering of the imports in all affected files.
Bug: 110953302
Test: Built
make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
When refreshing the Accounts settings UI, we uses the cached user info
for checking user status. However, when the work profile is being
updated, the UserInfo obejct for the user might be updated even the
user id is the same. Using the cached data causes stale info to be
returned for the user and results in the latest account data not
being shown properly for the user. Update the cache to the latest user
info retrieved from user manager.
Change-Id: Ic0127842203f0288f2fdea6c6346cd11e42a8bf0
Fix: 38302246
Test: make RunSettingsRoboTests
This CL only changed AlertDialog imports.
So, reviewer can review it easily.
Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.
This patch focused on fixing compile errors and some runtime errors.
Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
When running monkey, the authority in the preference might not have been
properly set. Add a check for valid authority before trying to update
the sync automatically setting.
Change-Id: I59f910565fc9f128e86bd92337135fe46fed12e1
Fixes: 80551551
Test: make RunSettingsRoboTests
- Share the same set of pref controller between main UI and search
in AccountDashboardFragment.
- Update WorkSoundPreferenceController to actually do something for
updateNonIndexable() method.
- LockscreenDashboardFragment to also suppress "Work notification" header. I
think we just missed it previously.
Change-Id: Ifa6f9b2077c9810ffff33f240929f418d4a8a5aa
Fixes: 62167659
Test: robotests
Also remove the duplicate ic_menu_delete.xml and fix up places where it
was used.
Bug: 77982107
Test: manual
Change-Id: I23ede37b7cdf9bea59b44cd0f817bf0ad0cd1d69
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.
The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.
Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.
Bug: 78910582
Bug: 79245656
Test: robotests
Change-Id: I58821a6cfd6134b3b351657b6edf5f74ead00643
For make this method usage more clear,
setTitle(charSequence) rename as setTitleText,
add java doc: it is only for user generated string
setTitle(int) rename as setTitleRes.
Change-Id: I972cb6a8ff90873dfdc25c23f6dc3d68103c8e4e
Fixes: 78347436
Test: make RunSettingsRoboTests
Currently in Settings we are using R.string.join_many_items_first, R.string.join_many_items_middle and R.string.join_many_items_last to manually join strings. The join code is messy and the joined string is incorrect in some languages, so we migrate all string join to just use ListFormatter.getInstance().format().
Bug: b/78248791
Test: robotests
Change-Id: I898339978e6e2027587e28994b0280fa46821fd6