Commit Graph

416 Commits

Author SHA1 Message Date
Raff Tsai
5c075bad44 Finish Activity when account is changed
Fixes: 146230862
Test: remove work profile account
Change-Id: I7c7c788587d9f17b629358be56befa76b0916e99
2019-12-16 04:37:06 +00:00
Raff Tsai
1e5d8146b5 Change ProfileType definition
Bug: 141601408
Test: rebuild
Change-Id: Ia4d4fabe8a4daad4ce54c243748fa3c29bf944ba
2019-12-12 13:44:35 +08:00
Stanley Wang
304957b1fb Merge "Add work profile items of Account page to dynamic index." 2019-11-28 03:45:58 +00:00
Stanley Wang
8015cbab9e Add work profile items of Account page to dynamic index.
- Add "Work profile settings" & "Remove work profile"
to dynamic index

Test: manual & robotests AccountPreferenceControllerTest
Change-Id: I122269927fd466bc8fbce1dd68faa372a6a7477b
Bugs: 69907442
2019-11-27 18:44:12 +08:00
Raff Tsai
5089629bf5 Separate personal/work tab in LocationSettings
- Add LocationPersonalSettings for personal location Settings
- Add LocationWorkProfileSettings for workprofile location settings

Bug: 141601408
Test: manual
Change-Id: Iaaa3a1db5abe02881c4d8afdaec1013ab5552eb3
2019-11-26 17:21:55 +08:00
Raff Tsai
f5277ba54a Modify account page multiple profile UI
- Extend the tab width to 50%
- Hide category title in two tab mode

Bug: 141601408
Test: manual
Change-Id: I73a1a64c704f7a74c200803efef97cdac5534aa7
2019-11-07 14:53:54 +08:00
Sunny Shao
f7d56e94ad Fix the crashed problem at the AccountSyncSettings
- Use uid mapping to lowWord request code to avoid checking error of the request code.
- Use the local variable to keep the mapping data.
- Use onSaveInstanceState and onActivityCreated to backup/restore the mapped data.

Fixes: 142573823
Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: Ib034c5c418d4b73df604a8dc7d9994309c717356
2019-10-30 18:15:07 +08:00
Raff Tsai
539ab8ace4 Add work/personal profile tab for storage page
- Add ProfileSelectStorageFragment
- Check featureFlag in SecondaryUserController to decide show/hide
workprofile item StorageDashboardFragment

Bug: 141601408
Test: manual
Change-Id: I97762d3b1a4985e2b186b34fc37c7976c2f69224
2019-10-25 16:57:24 +08:00
Tsung-Mao Fang
c60c674b0e Fix crash on indexing AccountWorkProfileDashboardFragment
This feature is not ready, We should not index this fragment now.

Change-Id: I127d00069846f39e8faaae0c8d099463af0718ed
Fix: 142780476
Test: rebuilt
2019-10-16 19:57:04 +08:00
Raff Tsai
65866290ce Add tablayout for work/personal profile
- Add Tablayout in ProfileSelectFragment
- Add AccountWorkProfileDashboardFragment inherited from
ProfileSelectFragment
- Add ProfileFragmentBridge to convert AccountDashboardFragment
to AccountProfileSelectFragment
- Use flag settings_work_profile to guard the new fragment

Bug: 141601408
Test: Settings->developer options->feature flags->
turn settings_work_profile on/off, then go to settings->account
to see if UI is changed.

Change-Id: Ifb32c22cdeab69c51517664081cacf4a401c46a1
2019-10-15 18:01:08 +08:00
Raff Tsai
966fa01423 Use SettingsLib Indexable
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId

Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
2019-09-25 18:24:56 +08:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
TreeHugger Robot
ea43780693 Merge "Revert "Prevent accounts page directly opening in screen pinning mode"" 2019-09-06 11:13:40 +00:00
Mill Chen
348234565a Revert "Prevent accounts page directly opening in screen pinning mode"
This reverts commit f3242dab35.

Reason for revert: use another way to handle this.

Change-Id: I83c97db5189cfda3a09f5249d8591ea91dbd3bcb
2019-09-06 09:18:23 +00:00
Raff Tsai
fcaca1ac75 Remove ic_menu_refresh_holo_dark
Menu overflow item icon is removed for 1p apps. We don't need to
set it.

Bug: 139336138
Test: visual
Change-Id: I91216d0363211c5e9aee074810746999ae49b097
2019-08-19 18:15:49 +08:00
Raff Tsai
4831332a1c Replace png to vector drawable
Bug: 139336138
Test: visual
Change-Id: Ic778b7ce6ecfc48cb35a5618fd766d69d67a0834
2019-08-14 16:01:33 +08:00
Sunny Shao
7e866b670e Use Builder to replace the Uitls.addFooterPreference
Fixes: 139163212
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.bluetooth
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I861434b81c07db785e6f1cfb3e34871ffba41e5f
2019-08-09 11:42:04 +08:00
Sunny Shao
6b4a22522b Use FooterPreference in xml explicitly
Removed the FooterPreferenceMixin from the ChooseAccountFragment page.

Fixes: 139043643
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I2b6ebef7f8ca0684afd75ec9bdd742a78a771bcd
2019-08-07 17:01:25 +08:00
Sunny Shao
1908cb6bd2 Use FooterPreference in AccountSyncSettings page
.Use the new FooterPreference and removed the old FooterPreferenceMixin
 from the AccountSyncSettings page.
.Add the ShadowAuthenticationHelper for commnon shadow util.

Fixes: 138978130
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I93ae46b3b66e7e504320a9ed120ab7948dd06423
2019-08-06 20:33:44 +08:00
Mill Chen
f3242dab35 Prevent accounts page directly opening in screen pinning mode
There is no auth mechanism to prevent accounts page being opened in
screen pinning mode. We will directly close the account page if users
are trying to navigate to it from screen pinning mode.

Fixes: 137015265
Test: manual, robotests
Change-Id: If26eda408a9ef6fa03ad82e5bee51bb7185950d6
2019-07-20 02:51:14 +08:00
Stanley Wang
1903470bfb Fix Settings search result 'add an account' does nothing.
Tap 'add an account' from search results will launch ChooseAccountFragment,
this way doesn't invoke AddAccountSettings and the add account service of gms
won't be triggered, so the items on the fragment will do nothing.

Move the key word to the search synonym of AccountDashboardFragment
and remove it from ChooseAccountFragment, the search result will invoke
AccountDashboardFragment.

Fixes: 133511289
Test: maunal
Change-Id: I67fa004c4965da37c59cada6ca27752e9fe7202b
2019-07-01 14:56:20 +08:00
Sunny Shao
2c6d308ecb Set the mAccountName as null while device has no any account
It doesn't clean the mAccountName buffer while device has no any account. And it will be put into
the Intent and pass to MeCard when user click the ghost boy avatar. It does not make sense and
modify code to fixed it.

Fixes: 129265427
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.accounts
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.core
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.dashboard

Change-Id: Ib8cfab2cb416515018f335b21ef49a95699a1597
2019-06-04 15:56:18 +08:00
Sunny Shao
d843ee85de Fixed the IllegalStateException on removing account
According the log, I found that there are a lot of DeadObjectException and gms servervice restart.
The system became unstable during this period, so add try/catch to avoid the exception of the Settings.

Fixes: 133253227
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.accounts
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.core
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.dashboard

Change-Id: I8534e8f7118234f6346607415698f9f91c3e5ffb
2019-05-30 11:24:49 +08:00
Jason Chiu
3e4d002679 Fix multiple instances for Google SignIn activity appearing in task stack
- Account page starts an activity with the flag FLAG_ACTIVITY_NEW_TASK
  to add an account and then causes multiple activity instances.
- Add the flag FLAG_ACTIVITY_CLEAR_TASK in conjunction with
  FLAG_ACTIVITY_NEW_TASK to clear existing task before the activity is
  started.

Fixes: 109923099
Test: robotest, manual
Change-Id: I8234ab33d8aa949e5ff78320962920cb0f8b2953
2019-05-16 17:50:46 +08:00
Amin Shaikh
3f1de20c7e Fix themed settings icons.
- Added android prefix for homeAsUpIndicator attribute
- Override ic_arrow_down_24dp from androidx
- Remove ic_lock drawable overlay
- Update date and time icon
- Dedupe ic_menu_add and ic_add_24dp

Bug: 131346125
Test: mp settings;
Change-Id: I7223249f2adccc5569a37e8b68cae5499e7c7620
2019-05-03 17:02:46 +00:00
yuanjiahsu
1da7fbb09d Clean Safetyhub feature flag from Settings.
Clean all related code, need submit together.

Test: Manually
Bug: 118848485
Change-Id: Icaa0c0736dfa4a7d96aba396a884c9d3383a0f22
2019-05-02 12:45:53 +08:00
Fan Zhang
e3ecf5bb9e Fix a NPE when removing accounts.
Guard against null activity. If activity is already null, there is no
need to call finish().

Fixes: 131180213
Test: robotests
Change-Id: I19232ed67ddd0c3539b1827de23fdc584850b519
2019-04-23 15:23:36 -07:00
Fan Zhang
ac76a480bd Merge "Add a way to suppress injected tiles for OEMs" into qt-dev 2019-04-19 20:30:24 +00:00
Yanting Yang
4e56cb2917 Add a way to suppress injected tiles for OEMs
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
2019-04-20 01:31:07 +08:00
Jonathan Scott
ed701572d7 Don't show policy transparency UI for cross-profile setting.
Also removes the switch if cross-profile calendar is disabled by admin.

Test: atest ManagedProfileSettingsTest
Fixes: 123930863
Change-Id: Ieeb9266e8833d7ca730fedb5e947b03ec7d18d3c
2019-04-18 11:31:50 +00:00
Fan Zhang
d482da51e5 Disable avatar and contextual cards on low ram devices.
Fixes: 124127763
Test: robotest & manually inspected hprof
Change-Id: I8d328b782a9b1871b76edf433d2378d06face14a
2019-03-13 14:04:35 -07:00
Yanting Yang
11a157a8e7 Fix preferences ordering issue in AccountSyncSettings
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
2019-02-20 21:18:28 +08:00
Fan Zhang
7db118e367 Mass clean up: don't cast class when not needed.
Bug: none
Test: rebuild
Change-Id: Ie3f58a3d5ae99ade28a33dcac80c18de90d4d5b2
2019-02-14 12:26:09 -08:00
TreeHugger Robot
7f328536c3 Merge "Add a metrics for avatar" 2019-02-01 18:25:11 +00:00
Sunny Shao
20aaf3d276 Add a metrics for avatar
Add a metrics log when user click search bar avatar

Change-Id: I389d469cc3fe335ee934d72d642251a6f4fd038b
Fixes: 123560980
Test: compilation
2019-02-01 10:26:59 +08:00
Doris Ling
3e586a5cf2 Add current user handle to tile intent in account detail page.
- 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
2019-01-31 11:19:30 -08:00
Fan Zhang
5c3301b0ab Add configs to display/hide a few tiles in device info page
- 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
2019-01-28 14:44:02 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Sunny Shao
7aa9fdd75c Launch view account page when it's available.
- 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
2019-01-10 09:33:21 +08:00
yuemingw
a35990b633 Add Cross profile calendar Settings UI.
Bug: 117976974
Test: make ROBOTEST_FILTER=CrossProfileCalendarPreferenceControllerTest -j40 RunSettingsRoboTests
Change-Id: Ieb4dcfb8091e2c63f4372af220695297c7bb116d
2018-12-10 19:39:29 +00:00
Fan Zhang
d7fa2fa64e Make a few custom slices implement CustomSliceable.
Bug: 80263568
Test: robotests, slice-browser
Change-Id: Id809a347d77448917154c2d1144fd2517e70829a
2018-12-05 15:47:14 -08:00
tmfang
dce94bb237 Use SettingsLib's LayoutPreference
- 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
2018-11-27 13:12:53 +08:00
yuanjiahsu
432650df20 Link overlay emergency app by feature flag
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
2018-11-27 00:09:05 +08:00
James Lemieux
3a55de44c5 Prepare tests for impending robolectric merge
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
2018-11-20 16:40:57 -08:00
Sunny Shao
408dc883f7 Added the launching account page
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
2018-11-20 07:38:50 +08:00
Sunny Shao
aebf84b857 Added account avatar in the end of search bar
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
2018-11-09 10:40:10 -08:00
Fan Zhang
21f5291c1a Add a config flag so OEMs can disable avatar mixin
Not all devices have account, OEMs should be able to disable this
feature if they want.

Bug: 117509285
Test: robotests
Change-Id: I3b03a04cff6ff0ec6c31763ac1829b119531e489
2018-11-08 14:57:24 -08:00
Antony Sargent
95f34b43f4 Check accounts in all profiles on account detail dashboard
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
2018-11-06 21:21:04 +00:00
Sunny Shao
6dc1cc2a77 Added the icon displayed on no account in search bar
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
2018-11-05 10:52:11 +08:00
Fan Zhang
130c477044 Remove DashboardSummary and all related classes.
- 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
2018-10-25 11:27:47 -07:00