Commit Graph

416 Commits

Author SHA1 Message Date
Jason Chiu
0e2147c5e2 Fix the injection disappearance in the Account detail page
displayTile() requires some parameters to determine whether to show the
injection tiles and update the intent, but the parameters were not
initialized.

Move the parameter initialization before super.onCreate() since
displayTile() will be called in super.onCreate().

Test: visual, robotest
Fix: 242673595
Change-Id: Idf2d758a8b8c4230e644bcd0d286a278d258b736
2022-08-30 06:46:39 +00:00
Jason Chiu
c89755525f Update all preferences when the account preference updates UI
When an account is added or removed, the account preference controller
just updates the account list, whereas there's no trigger point for the
account data sync preferences to refresh.

Add an API to update all preferences in DashboardFragment, so we can
refresh the account sync preferences whenever the account list is
updated.

Bug: 185479221
Test: robotest, manual
Change-Id: Ide3d972abae09ce0175e3bafbb1f4a5e307d20c8
2022-07-19 10:32:23 +00:00
Jason Chiu
7f1ff1b796 Revert "Do not show the redundant RemoveAccountFailureDialog"
This reverts commit e5f1d24913.

Reason for revert: "Remove account" does nothing and shows no errors
Fix: 232819214

Change-Id: I4a4e5084cde87ea2a9e5be1ff3ca6709e11ebc3d
2022-06-09 08:14:13 +00:00
Edgar Wang
68d12953e7 Update learn more string of FooterPrefernce
Replace FooterPreference#SetLearnMoreContentDescription() with
FooterPreference#SetLearnMoreText().

This is a requirement: All links, controls, and buttons should
also have comprehensible text or tooltip text, so users can identify its
purpose, independent of context, such as when using the URL list from
TalkBack’s local context menu.

Bug: 215045903
Test: manual & robotest
Change-Id: Ib657ba336c5688c1434a58611dea3891001afe14
2022-05-13 08:13:36 +00:00
Jonathan Scott
b7f4f56cad Add missing settings strings.
Also re-enable and fix tests.

Test: manual
Fixes: 226183482
Fixes: 218799125
Fixes: 219375624

Change-Id: I9605f1f4e2e834baf63e015e96639567c5481b5f
2022-05-05 09:12:59 +00:00
Jason Chiu
9c1a1cb884 Relaunch the account page after removing a work account
Removing a work account goes back the previous page.
However, this closes Settings app in dual pane mode since the account
page is in the 2nd layer.

Bug: 223755141
Test: manual, robotest
Change-Id: I40407cb052c0474f62254bcb2216e33496c901c8
2022-04-25 12:39:51 +08:00
kholoud mohamed
de78149c16 RESTRICT AUTOMERGE Refactor device policy resource APIs to a separate class
Bug: 217388602
Bug: 218875965
Test: atest EnterpriseResourcesTests
Test: manual
Change-Id: I4775d7741c7819fd811c3fc4eda1636b1e04b398
2022-03-17 17:37:45 +00:00
Jonathan Scott
269f97d960 Allow overriding of strings referenced in XML files.
Test: manual
Bug: 188414370
Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
2022-02-07 21:00:05 +00:00
Jonathan Scott
e0d439472f Allow Device Management Role Holder to update Settings strings.
Test: manual
Bug: 188414370
Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
2022-01-25 19:03:24 +00:00
TreeHugger Robot
1cbb603d60 Merge "FRP bypass defense in the settings app" 2022-01-05 05:37:51 +00:00
Tsung-Mao Fang
07dd833a6a FRP bypass defense in the settings app
Over the last few years, there have been a number of
Factory Reset Protection bypass bugs in the SUW flow.
It's unlikely to defense all points from individual apps.

Therefore, we decide to block some critical pages when
user doesn't complete the SUW flow.

Test: Can't open the certain pages in the suw flow.
Fix: 200746457
Bug: 202975040
Fix: 213091525
Fix: 213090835
Fix: 201561699
Fix: 213090827
Fix: 213090875
Change-Id: Ia18f367109df5af7da0a5acad7702898a459d32e
2022-01-05 12:10:00 +08:00
Michael Groover
d1f76eea72 Merge "Add unaudited exported flag to exposed runtime receivers" 2022-01-03 17:35:02 +00:00
Michael Groover
911f7e7aa9 Add unaudited exported flag to exposed runtime receivers
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.

Bug: 161145287
Test: Build
Change-Id: Ie97372efebd8258d9a4c503771d55109a85e6ae9
2021-12-09 20:34:02 -08:00
Jason Chiu
e5f1d24913 Do not show the redundant RemoveAccountFailureDialog
When the AccountManager's confirm remove dialog is canceled, a redundant
ConfirmRemoveAccountDialog showed up.

- Only show the dialog when a real error reported from AccountManager
- Also change RemoveAccountFailureDialog's title to remove the redundant
  question mark

Fix: 204948166
Test: manual
Change-Id: If712e120938e80e1bf4593fa78a1a2a70684fc2a
2021-12-08 06:29:19 +00:00
Tsung-Mao Fang
17423d1682 Fix abnormal behavior on avatar account page
Prior to this cl, if user opens settings app
in single-pane first and navigates to
the avatar account page, then rotate the device,
user observed the account page was still shown
with full screen.

Because we didn't register correct split rule,
it causes the abormal behavior on two-pane mode.
In order to register correct rule,  we also need
to assign correct component name while opening the
account page.

Bug: 207609699
Test: Rebuilt apk and verify the behavior
Change-Id: I31def684c033c1d0c20870284826c6713a31b43d
2021-11-25 04:19:14 +00:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08:00
Tsung-Mao Fang
22b50de9f4 Add click tile event for tracking
- Search bar in homepage.
- Avatar icon in homepage.
- More personal safety in Safety & emergency.

Test: Rebuilt rom
Fix: 190341976
Change-Id: I14297211e4b7424f5fdeb46c360b3913101251d7
2021-06-17 17:50:34 +08:00
Sunny Shao
a6eb37b215 Fix Learn more link placement is wrong problem
- Use the new style of the FooterPreference.

Fixes: 189389674
Test: Robo test
Change-Id: I1529952181cca0eccd18f911eaa265b19dbb97f7
2021-06-10 20:14:56 +08:00
Edgar Wang
cdff5c6ceb Revert "Apply SettingsLib SeekBarPreference to Settings"
Revert submission 13422386-seekbar-sc-dev

Reason for revert: build broken in SettingsGoogle
Reverted Changes:
I0c2d0d5fb:Apply SettingsLib SeekBarPreference to SettingsGoo...
I1844bb3b0:Apply SettingsLib SeekBarPreference to a11y vibrat...
Ia3e4adec8:Apply SettingsLib SeekBarPreference to a11y vibrat...
Iadee57e9d:Apply SettingsLib SeekBarPreference to a11y vibrat...
I219878716:Apply SettingsLib SeekBarPreference to Settings
I959f5672c:Create SettingsLibSeekBarPreference
I92545a69c:Apply SettingsLib SeekBarPreference to a11y vibrat...

Change-Id: Ie6c3b0dc072e044796abdb33fca305f9f9d47c4d
Bug: 176818438
2021-06-08 09:47:51 +00:00
Edgar Wang
d6b5bbb5cb Apply SettingsLib SeekBarPreference to Settings
Bug: 176818438
Test: robotest

Change-Id: I219878716457ce4bb7cad251bccf5d50d93030a5
2021-06-07 18:09:19 +00:00
Jason Chiu
4b1d1e21d5 Align the items in account sync page to the start border
The prefernces haven't been applied to the SettingsLib preference theme
which sets iconSpaceReserved false.

Fixes: 187670431
Test: visual, robotest
Change-Id: Ifa797fbec4f207248fd0254e26d456b8889e25d8
2021-05-24 10:13:53 +08:00
TreeHugger Robot
52f627f9ef Merge "Account settings: Fix duplicate title and extra padding." into sc-dev 2021-05-14 04:14:24 +00:00
Ahaan Ugale
6663bed71c Account settings: Fix duplicate title and extra padding.
This change reverts the change in
I3981ce73fef63f06a40e61e894481d24284614ba to add a PreferenceCategory
for the accounts after merging the page with autofill settings. That was
done to get the Accounts heading to display for the personal/work
profile view.
This change instead sets the title on the existing PreferenceCategory
that's created dynamically in the Controller.

Removing the extra PreferenceCategory also fixes the padding.

Fix: 183677515
Bug: 183677706
Test: manual - with single profile, with personal/work profiles
Test: make -j RunSettingsRoboTests \
 ROBOTEST_FILTER="com.android.settings.accounts.AccountPreferenceControllerTest"
Change-Id: Ib7fe6f97b93b81d5a5897280cdd6bbad1b75f3a9
2021-05-13 19:49:04 -07:00
Sunny Shao
2fade46f0a Fix talkback label "ACCOUNTS FOR OWNER" is not matching problem
- Root cause: the content description is different with title.
- Solution: set the description same as title.

Fixes: 181192849
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: Ic566d061e78eaf427add6aac4701142a6180e557
2021-05-13 11:36:17 +00:00
Yanting Yang
d1312e8e6e Add summary back to the homepage
Also update some summaries with new strings.

Bug: 183586663
Test: robotests & atest & visual

Change-Id: I692be9b34e8867501aaa8c8e40428870b99644f8
2021-05-06 00:27:37 +08:00
Ahaan Ugale
3afa988e1e Merge "Fix passwords settings crash due to null lifecycle owner." into sc-dev 2021-03-31 23:42:10 +00:00
Ahaan Ugale
318f7cc512 Fix passwords settings crash due to null lifecycle owner.
A change related to lifecycles was reverted some time ago
(I7e6d2e9e6fd363a3afdd3dbab24e7c3b36e9ed29), which caused this to break.

The crash is only seen if an autofill service sets the new Passwords
Activity attr; currently no services do.

Fix: 184077486
Test: manual - check settings page and see no crash
Test: manual - same with work profile added
Test: make RunSettingsRoboTests
Change-Id: Ie439f37c9e884f9de2b112b348e1bef03adcd077
2021-03-31 03:31:33 +00:00
Ahaan Ugale
2e46cdb287 Merge "Update summary for Passwords and Accounts." into sc-dev 2021-03-25 16:22:46 +00:00
Ahaan Ugale
2c80a7ca98 Update summary for Passwords and Accounts.
Bug: 169455298
Test: manual - disable silky home and check summary
Test: make RunSettingsRoboTests
Change-Id: Id4574f5865c57ec6a5cd010412a59411ab9af546
2021-03-25 09:25:30 +00:00
Ahaan Ugale
7f3534925f Merge "Merge Autofill settings into Account settings." into sc-dev 2021-03-24 14:48:58 +00: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
Ahaan Ugale
9b183778f2 Merge Autofill settings into Account settings.
Autofill settings are removed from Language and Input.

They are now in a new top-level Passwords and Accounts page.

Some polish work is left to match the new design.

Bug: 169455298
Test: manual - check settings page and some search keywords
Test: manual - add work profile and check the above again
Test: make RunSettingsRoboTests
Change-Id: I3981ce73fef63f06a40e61e894481d24284614ba
2021-03-23 23:48:09 -07:00
Edgar Wang
fc02ce1c20 Refactor AppPreference and AppSwitchPreference
- Move AppSwitchPreference
- Remove FeatureflagPreference summary

Bug: 176815722
Test: robotest
Change-Id: Id337097f237ac9ca6dfa01665df61b1258dc24f2
2021-01-05 18:27:08 +00:00
Yanting Yang
9aa4a5463f Remove subtitles for the homepage IA
Remove the summary of the homepage IA if silky home enabled.

Fixes: 170933968
Test: robotest & visual with turning on/off silky home
Change-Id: I502b6590cece9b80e9923109fe0582cc4d9a1c56
2020-10-20 23:54:03 +08:00
Sunny Shao
0b0f237834 Add the explicitly mutable flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
  FLAG_MUTABLE while errors occur.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
2020-10-14 09:38:51 +00:00
Daniel Chapin
ee1360f13c Revert "Add the FLAG_IMMUTABLE flag for creating a PendingIntent"
This reverts commit 334968c113.

Reason for revert: Bug: 170280415

Change-Id: Idaa269406d6c1609c75f0dfba1f7fa9daf979101
2020-10-07 17:47:36 +00:00
Sunny Shao
334968c113 Add the FLAG_IMMUTABLE flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass and manual test add an account
Change-Id: I0f7b117273647dbe9e146033b8995c8c6f147576
2020-10-06 11:46:08 +08:00
TreeHugger Robot
e66c8beaa5 Merge "Update language to comply with Android's inclusive language guidance" 2020-08-03 01:44:01 +00:00
Edgar Wang
8829e515ca Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: Ibe64a68d7bddf84780dfac33555c097ff55c97a8
2020-07-30 12:54:27 +08:00
Edgar Wang
4e02ceb8b4 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: I890335a0c0e31f7d3ea32c6130482e4ef0e20b88
2020-07-29 13:36:09 +08:00
Kevin Chyn
b13bc50542 1/n: Make ChooseLockSettingsHelper into a builder
The multitude of slightly different launchConfirmationActivity(*)
methods are a big unsustainable pyramid. It's too difficult to
read, too difficult to track which clients are interested in which
parameters, and too difficult to add new parameters, since we need to

1) Read through all of them and find one that's the closest
2) Try not to affect other callers, so potentially add yet another
3) Modify the internal paths, which all basically call each other
   until it reaches the biggest launchConfirmationActivity which
   has ALL of the parameters

This change should have no behavioral change.

Note: CredentialStorage doesn't need returnCredentials anymore as of
      ag/6073449

Test: make -j56 RunSettingsRoboTests
Test: Manually traced code paths for each invocation. A few hidden
      dependencies (such as explicitly setting challenge=0 with
      hasChallenge=true) were found. Left them the way they were in
      case they were intended
Test: Enroll face, fingerprint
Test: Enable developer options
Test: Change to PIN, Pattern, Password, then back to PIN (so each
      type requests confirmation)
Test: adb shell am start -a android.app.action.CONFIRM_DEVICE_CREDENTIAL,
      authenticate
Test: adb shell am start -a android.app.action.CONFIRM_FRP_CREDENTIAL
      (shows confirm credential screen)
Fixes: 138453993

Change-Id: Ic82ef3c3ac2e14d624281921f2d816bcdacbd82b
2020-07-24 11:13:13 -07:00
Sunny Shao
d6d8f98844 Allows to launch only authenticator owned activities
- 3rd party developers can define himself-authenticator
  and use the accountPreferences attribute to load the
  predefined preference UI.
- If a developer defines an action intent to launch the
  other activity in xml and it would return true due
  to the true exported attribute and no permission.
- To avoid launching arbitrary activity. Here allows
  to launch only authenticator owned activities.

Bug: 150946634
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Test: PoC app
Change-Id: I5ce1a0b3838db7b3fbe48c6ea23d5f093d625cdb
2020-05-13 10:55:49 +08:00
Tsung-Mao Fang
b3bb7a0237 Fallback to AOSP emergency info if the original intent is broken
If the variant of emergency info is broken, we should try to show
AOSP emergency info instead.

Test: Rebuilt rom and see the Ui. Run robo test
Fix: 154114259
Change-Id: I5bc3f6cbf9102a7b7299c3edf718a58101effbf8
2020-04-16 17:23:52 +08:00
Jason Chiu
b12e3b96c9 Support click metrics logs in several pages
- Assign metrics category to perferences at an earlier stage in
  DashboardFragment for better usability.

Bug: 137559984
Test: robotest
Change-Id: Icd4185efa0e655be20c4b673a1380fa42140923f
2020-04-07 16:44:53 +08:00
Alex Kershaw
c364f5d95d Remove policy transparency for cross-profile calendar setting
We will likely deprecate this setting in the next release, to be
replaced by usage of 'connected work and personal apps'. However, we are
keeping it in this release as it's still possible that a lightweight
calendar access API could be useful, if the admin and user approvals are
combined.

For now, the error message that refers to cross-profile calendar when
the setting is disabled is confusing admins, since we're not
recommending usage of this API at this time.

Remove the setting when it is disabled, rather than showing policy
transparency.

Fixes: 143477431
Test: manual
Change-Id: I65573a5ba892e12a4dabcdf23541f33516db0a8a
2020-03-31 11:41:44 +01:00
Sunny Shao
0030d78b62 Disable the sync now menu while no any synced item
- Check the number of the switch on for all SyncStateSwitchPreferences to
  enable/disable the sync now menu item.

Fixes: 147030748
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I88e4b042e6d236b98866b9e8bff9ec2c64b41b87
2020-03-19 20:58:29 +08:00
Alex Johnston
051c3ecaa3 Add policy transparency dialog to 'Remove work profile'
* In New COPE mode, no explanation was being shown to the
  user as to why the work profile cannot be removed.
* This CL adds a policy transparency dialog when the
  'Remove work profile' preference is selected.
* This was done by modifying AccountRestrictionHelper to
  set the preference to disabled by admin if the device is
  in New COPE mode and the base restriction
  DISALLOW_REMOVE_MANAGED_PROFILE is enforced.

Bug: 149391073
Test: Manual testing
Change-Id: Iec0f57b988e1d4fd08bca040abd1bb30b6991507
Merged-In: Iec0f57b988e1d4fd08bca040abd1bb30b6991507
(cherry picked from commit 56e8278498)
2020-03-02 12:05:22 +00:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.

Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
2020-02-06 19:07:11 +08:00
Stanley Wang
5536205081 Merge "Index user accounts." 2019-12-19 06:05:33 +00:00
Stanley Wang
3b02810356 Index user accounts.
Index user accounts in AccountDashboardFragment if there is no managed
user profile.

Fixes: 146478761
Test: manual & robotest
Change-Id: I719dc6ee8030a11f1cbfacc8f24419e9e4c3ca18
2019-12-19 10:55:42 +08:00