Commit Graph

374 Commits

Author SHA1 Message Date
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
Fan Zhang
394ea1cde5 Merge "Move AppPreference to settingslib, and change imports." 2018-09-25 19:15:19 +00:00
Fan Zhang
754f737c2c Move AppPreference to settingslib, and change imports.
Bug: 116364655
Test: robotests
Change-Id: I313272737dc7c068c47abf8ea021de7d2bea0a25
2018-09-25 09:51:19 -07:00
Antony Sargent
e0202b219b Fix account deletion not updating account display
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
2018-09-21 13:11:54 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
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
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
f6747a2f44 Add summary text for more top level setting tiles
- Connected devices
- App & notifs
- Battery

Bug: 110405144
Test: robotests
Change-Id: Ife44f7c5165483a1bad903ce90a241108ab5da25
2018-08-09 14:38:52 -07:00
Fan Zhang
3506b74659 Get Tile#intent through getter
Bug: 77600770
Test: robotests
Change-Id: I17d3556f833e6a9610fe34f382534bd90bb0499f
2018-08-07 14:50:18 -07:00
Fan Zhang
60243e6873 Remove custom tintable check.
Make a bunch keys private in tile and DashboardCategory
Bug: 77600770
Test: robotests
Change-Id: I4693e6bb71bd50cc664f578c7f8e25e67da20b67
2018-08-03 16:38:36 -07:00
Doris Ling
c879386e5a Merge "Fix new account not shown for work profile." 2018-07-24 17:57:43 +00:00
Doris Ling
ce5f9c07da Fix new account not shown for work profile.
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
2018-07-23 16:13:39 -07:00
tmfang
41ab6b4bf8 Migrate all AlertDialogs to AndroidX version
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.
2018-07-20 11:32:13 +08:00
Fan Zhang
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
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
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Doris Ling
366418dab7 Fix monkey crash on selecting account sync prefernece.
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
2018-06-05 17:36:12 -07:00
Fan Zhang
3f34335e2e Suppress work-profile search terms when no AfW is on device
- 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
2018-06-04 22:37:42 +00:00
Gilbert Lee
0b4722f088 delete DeviceInfoSettings and activity, pref xml
Fixes: 78653510
Test: Manual

Change-Id: I13379f3f7812ceedffc0e9647db15e6358a3dc17
2018-05-20 16:17:43 +08:00
Antony Sargent
28f04c984d Merge "Updated delete icon" into pi-dev am: 55642ef91b
am: d55b214dbd

Change-Id: Ifca325273ca5e99461a93487b127b5d0adcf6a39
2018-05-18 14:52:44 -07:00
Antony Sargent
0d9afde271 Updated delete icon
Also remove the duplicate ic_menu_delete.xml and fix up places where it
was used.

Bug: 77982107
Test: manual
Change-Id: I23ede37b7cdf9bea59b44cd0f817bf0ad0cd1d69
2018-05-17 11:55:40 -07:00
android-build-team Robot
02ec86a17b Merge "Establish permanently unavailable settings" 2018-05-09 18:14:32 +00:00
Matthew Fritze
f87a1f3f41 Establish permanently unavailable settings
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
2018-05-09 08:36:59 -07:00
hjchangliao
e86eec0c07 Rename SubSettingLauncher.setTitle, add java doc
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
2018-05-09 10:00:05 +08:00
jyhshiangwang
4d015b17b3 Use ListFormatter to join strings
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
2018-05-02 11:15:32 +08:00
Emily Chuang
b279b1c025 Migrate ChooseAccountActivity to DashboardFragment
- Build a controller to generate/manage a list of preferences.
- Move some logics to the controller and add tests.
- Rename to ChooseAccountFragment.

Bug: 73899467
Test: make RunSettingsRoboTests -j
      atest UniquePreferenceTest SettingsGatewayTest
Change-Id: Id2906c4b922ef159d08c803b976671264c54665f
2018-04-27 22:17:23 -07:00
Fan Zhang
11e8d2f293 Use entity header to show account name in sync detail page
Also removed a bunch of outdated layout and drawables.

Change-Id: I38094d72b84fab1309163f641c4019349f5d6ee7
Fixes: 77657624
Test: visual
2018-04-23 15:25:32 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Fan Zhang
c83ebf15e5 Merge "Bidi wrap owner name in account setting page." into pi-dev am: 8a3bcaa3e3
am: 4a8acacde0

Change-Id: Ie26828f23d760af36f922a66c0b7c45f8a7e4945
2018-04-18 17:47:11 -07:00
Fan Zhang
fa9849e282 Bidi wrap owner name in account setting page.
This fixes RTL issue when owner is set to have a LTR name but the
device language is in RTL.

Change-Id: I9f3fed76f641c2ff6a18e3bc8db98aef7011c33f
Fixes: 77947484
Test: visual
2018-04-18 15:58:50 -07:00
jason_chiu
c69102d24e Migrate ManagedProfileSettings to DashboardFragment
- Move preference related logic to Controllers.
- Add some test cases for controllers.

Test: manual
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.accounts
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.core
      atest SettingsGatewayTest UniquePreferenceTest
Change-Id: If4fcd7bf572672c886d5c91b2d15013817d1aa67
2018-04-16 12:35:01 -07:00
Fan Zhang
b6d40d133b Use DateUtils to build account sync timestamp
Change-Id: I2158855bd2caba42f64d24ab2fb00c6b561e5cef
Fixes: 77913394
Test: visual
2018-04-13 22:27:43 +00:00
Fan Zhang
3b3e951b6f Merge "Protect against invalid authority in account sync pref." into pi-dev am: 2c15909bfc
am: 2e49b6fdac

Change-Id: I124cedfa18452ce936690b380d4d9b35f5c457f9
2018-04-10 16:13:33 -07:00
TreeHugger Robot
2c15909bfc Merge "Protect against invalid authority in account sync pref." into pi-dev 2018-04-10 22:49:18 +00:00
Fan Zhang
c7e36d940d Merge "Use proper icon size for default app prefs." into pi-dev am: 968dcaf41a
am: d45b7cbe40

Change-Id: I0f77ebaeb861fd4a15ec31abb1d6728b5dde1788
2018-04-09 12:45:56 -07:00
Fan Zhang
e0d2140256 Use proper icon size for default app prefs.
Change-Id: Ib48c7a546fcd3a3a9e32b7a65cbdadd54721f252
Fixes: 77726902
Test: robotests
2018-04-09 10:29:58 -07:00
Fan Zhang
76dbb21cb5 Protect against invalid authority in account sync pref.
Some apps might contain account synclets with empty authority. Settings
UI should protect against this type of synclets. Otherwise clicking on
these synclets will crash.

(Also removed some strings that are no longer needed)

Change-Id: I364b45fc67679aa287ff1e04e6f5ac749116543a
Fixes: 74240862
Test: robotests
2018-04-05 15:19:51 -07:00
Fan Zhang
02295b4074 Merge "Use grey icon for work profile settings" into pi-dev am: d3bb3945bd
am: 5b5dfb94c4

Change-Id: Ifafc0ac9a7e9d957290d9158518a997e8dd51892
2018-04-04 14:19:44 -07:00
Fan Zhang
41c4e5f5db Use grey icon for work profile settings
Change-Id: I2b40d44578599d6abd892dd2198eb38471beb663
Fixes: 77537465
Test: visual
2018-04-03 13:21:34 -07:00
Tony Mantler
0fcd6cbaa8 Autogenerate SearchIndexableResources subclass
Bug: 77148954
Test: RunSettingsLibRoboTests RunSettingsRoboTests RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I842c42c55014c3310070ef22bd4f0d9a70dfd804
2018-04-03 10:26:55 -07:00
Fan Zhang
aab36de0d6 Remove wrapper for device policy manager
Bug: 76167422
Test: robotests
Change-Id: I69dc7341cf1ff408bc24c2a062586cef25b7b918
2018-03-30 20:44:20 -07:00
yuemingw
5f0f6b9831 Remove account should show policy transparency dialog when DISALLOW_MODIFY_ACCOUNTS
is set.

createAdminIntentSupport always checks user restrictions on user 0(
if called from system uid) so can't be used here when account could
be work profile account.

Bug: 70674230
Test: m -j RunSettingsRobotests
Change-Id: Ibd2df8891d9fa7b4c85c42a305c5db2acd4c829b
2018-03-26 17:41:37 +01:00
Fan Zhang
ad47e1aada Move Auto sync data prefs from user to account screen
Change-Id: Idb69ed49c6e21f93cafa593ba5e7dffa32f377b7
Fixes: 73739376
Test: existing robotests & atest
2018-03-07 15:53:18 -08:00