Commit Graph

936 Commits

Author SHA1 Message Date
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
161ff18a0b Merge "Remove getExtraAction() from DashboardFeatureProvider." 2018-08-21 23:13:56 +00:00
Fan Zhang
a4b14bd9f1 Remove condition manager v1 code.
Change-Id: I866c1f7c493c6080ccf766ecfc8e6b00dafeecd9
Fixes: 112485407
Test: robotests
2018-08-21 13:21:14 -07:00
Fan Zhang
d011d45da5 Remove getExtraAction() from DashboardFeatureProvider.
It's always set to null and not doing anything.

Bug: 111427617
Test: robotest
Change-Id: I7172a31056950b1597f0b98625a3a2615305e466
2018-08-20 16:14:16 -07:00
Fan Zhang
64951163b8 Use getSummary() to get tile summary text.
Bug: 77600770
Test: robotests
Change-Id: Iecef09853bb49bc259502494912ed81d52e2d7ce
2018-08-20 14:13:14 -07:00
Fan Zhang
54cfb64987 Use tile.getTitle(context) to get tile title.
And switch to getId() instead of title when comparing 2 tiles. This is
more accurate and more efficient.

Bug: 77600770
Test: robotests
Change-Id: I587d90702d98956bf7b420529ac3280351ca4a10
2018-08-20 12:50:06 -07:00
Fan Zhang
7373ec042b Migrate all remaining condition cards to v2.
Bug: 112485407
Test: robotests
Change-Id: I3c304c308fa6f499b4b5e21d4c5735cde7b90220
2018-08-15 09:48:38 -07:00
Fan Zhang
06e25e75a5 New ConditionManager
- Create a new ConditionManager that loads data and filters displayable
  condtionals in memory
- Separete conditional controller logic and ui model
- Plumb new ui model into DashboardAdapater, and create a new
  ConditionAdapter to manage UI.

Bug: 112485407
Test: robotests
Change-Id: If56d141d135341e9b8c2dc80e43c3d40b1de1340
2018-08-14 11:01:49 -07:00
Fan Zhang
48ef7e5b6f Move ConditionListener to a top level class.
So we can use it later for furture refactoring.

Bug: 112485407
Test: rebuild
Change-Id: Ic3994464cfaff67a56f2d383490860a81f436fbd
2018-08-13 17:31:08 -07:00
TreeHugger Robot
237f80b0aa Merge "Force externally injected tiles to use rounded icon." 2018-08-11 01:20:22 +00:00
TreeHugger Robot
80df6f8bab Merge "Move conditional stuff from dashboard/ to homepage package." 2018-08-11 01:13:20 +00:00
Fan Zhang
ce1b61a146 Move conditional stuff from dashboard/ to homepage package.
dashboard package is not a real place for homepage stuff. Putting
Conditionals here makes it easier to refactor it for new homepage in the
future

Bug: 110405144
Bug: 112485407
Test: robotests
Change-Id: If433aeac8766124f0f4f6e5786b93ac1372bb745
2018-08-11 00:28:31 +00:00
Fan Zhang
fde4f207ff Force externally injected tiles to use rounded icon.
Bug: 110405144
Change-Id: Ic65200fce5010ea8077254e7a67bbe4dae886ec3
Fixes: 79748104
Test: robotests
2018-08-10 15:45:50 -07:00
Fan Zhang
7d5a9eebb8 Add a config to force rounded icon for DashboardFragment.
And each page has ability to turn on/off rounded icons. This CL only
adds the flag, it doesn't actually change icon shape yet.

- Boolean config in xml
- New protected method for each DashboardFragment to load config
- Plumb the boolean into DashboardFeatureProvider for future use.
- Remove some unused APIs from DashboardFeatureProvider

Bug: 110405144
Fixes: 79748104
Test: robotests
Change-Id: Id34782e75aa7289967e4dd1f4fe2978688092702
2018-08-10 10:57:18 -07:00
Fan Zhang
3541dcb040 Let new homepage accept injected tiles
Bug: 110405144
Test: robotests
Change-Id: Idaa60fad23bab0989cccf687fb3ea47b7d56d957
2018-08-09 17:12:47 -07: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
25d9f3812b [Dynamic Home] Make a new page for all top level settings
Since we are moving conditionals/suggestions to a different place, there
is no need to use DashboardSummary to display top level settings any
more. We can simplify a lot of code for top level settings and reduce it
to a standard DashboardFragment.

- Create a new DashboardFragment + xml for all top level internal items
- Add a PreferenceController to provide summary for Network & internet
  item.
- Mark a bunch of things deprecated for future work.

Bug: 110405144
Test: robotests
Change-Id: I9f778777131c28eb836b722e089e026a59f5ddc6
2018-08-08 17:20:15 -07:00
Fan Zhang
9445d15f9d Remove priority from intent-filters for IA items
And use ORDER metadata instead.

Bug: 77600770
Test: robotests
Change-Id: I9862c89ff5b601fbb9fb53eaa91f03d95d501284
2018-08-08 09:09:27 -07:00
tmfang
800f713021 Convert ProfileSelectDialog to androidx verison
Change-Id: Ib3baf04860aee07e5f28d7b537a99a3543d2a978
Fixes: 112155563
Test: robo, manual test
2018-08-08 10:33:11 +08:00
TreeHugger Robot
fbc325a9aa Merge "Get Tile#intent through getter" 2018-08-08 02:08:06 +00: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
58543721f8 Treat icon color metadata as raw value instead of reference
Bug: 79841665
Test: robotests
Change-Id: I1216718e45e80a428e8a0edb7b9accf5325be769
2018-08-07 09:15:23 -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
Fan Zhang
9a1928ea36 Move profile selector dialog to Settings
Bug: 77600770
Test: robotest
Change-Id: I601dabfd925a1990b7bd9115ef579bff9039a7c0
2018-08-02 13:35:08 -07:00
Fan Zhang
b4c610b93c Remove unused SuggestionFeatureProvider APIs.
Bug: 111941143
Test: robotests
Change-Id: Ic4e607b3601fd43ad57dad13474e2d0ee78bf29c
2018-08-01 09:53:54 -07:00
Fan Zhang
1c61a58f0d Pass in context when loading icons from Tile
Bug: 111860183
Test: robotests
Change-Id: I836ad66eb420f4e0bd0bbded541f4dfe947c9b18
2018-07-26 13:09:25 -07:00
Fan Zhang
701b65eccc Use Tile.getIcon() to avoid caching issue
Bug: 77600770
Test: robotests
Change-Id: Icb21f5da9b542abc239b04b71813290ad3104ffb
2018-07-25 12:06:10 -07:00
Fan Zhang
75bafefa49 Move CategoryManager to Settings.
Bug: 77600770
Test: robo
Change-Id: Id4a0c89938d43d21147944b820a191486c589238
2018-07-23 15:09:41 -07:00
Fan Zhang
c00b042678 Merge changes from topic "migrate-alerdialog-androidx"
* changes:
  Migrate all AlertDialogs to AndroidX version
  Migrate all AlertDialogs to AndroidX version
2018-07-20 21:52:06 +00:00
Fan Zhang
171e14eec9 Remove ref to tile.remoteView, which is no longer used
Bug: 77600770
Test: rebuild
Change-Id: If0fdd67dd3098d063584acaf2b262a04c209a569
2018-07-20 13:07:46 -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
5c3816ba03 Remove NewDeviceIntroSuggestion
The functionality is entirely replaced by other apps.

Change-Id: Id3d425cf92a07bae070cd22c0d726aba0472dd5d
Fixes: 111195449
Test: robotest
2018-07-12 11:23:38 -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
TreeHugger Robot
5e07f74fa8 Merge "Fork SettingsDrawerActivity in Settings." 2018-06-28 06:38:17 +00:00
tmfang
d97fba5f0f Fork SettingsDrawerActivity in Settings.
Settings app uses fragment classes from android framework,
which is deprecated as of P.
We need to switch to use fragment and associated classes to androidx.

Because Settings didn't support drawer feature since Android O,
we rename SettingsDrawerActivity to SettingsBaseActivity.

Before we migrate to fragment of androix,
we need to let SettingsBaseActivity extend FragmentActivity.

Test: make RunSettingsRoboTests
Bug: 110259478
Change-Id: Ifbf53f75f042da1618da16cf7837b70d298a9a14
2018-06-28 13:38:16 +08:00
Kevin Chyn
71de3025bd Merge "Move Fingerprint settings to biometrics/fingerprint" 2018-06-27 22:11:48 +00:00
Kevin Chyn
871e55fc54 Move Fingerprint settings to biometrics/fingerprint
Bug: 110589286

Test: make -j56 RunSettingsRoboTests
Test: adb shell am start -a android.settings.FINGERPRINT_ENROLL still works
Test: adb shell am start -a android.settings.FINGERPRINT_SETUP still works
Change-Id: If33b557137cae7b57e4a0e906ee95032bc589436
2018-06-25 16:51:16 -07:00
arangelov
b6852d7828 Add a metadata to control whether an external intent should be opened in
the personal profile when in a managed profile.

This change introduces the com.android.settings.profile metadata with possible values "primary_profile_only" and "all_profiles" (the default
value when not specified). If an application declares this metadata with a value of "primary_profile_only", in a work profile the ProfileSelectDialog is never shown and the application is opened straight in the personal profile. If an application specifies a value of "all_profiles" or does not specify anything, the ProfileSelectDialog is shown to the user.

Bug: 79868199
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java#openTileIntent_profileSelectionDialog_shouldShow
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java#openTileIntent_profileSelectionDialog_explicitMetadataShouldShow
Test: atest packages/apps/Settings/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java#openTileIntent_profileSelectionDialog_shouldNotShow
Change-Id: Id62ab44b58b93c479407cc1bacc7a806a09bfd1b
2018-06-25 14:40:22 +01:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Fan Zhang
cd21cb8def Remove DataSummaryUsageLegacy.
Change-Id: I8da039530cafe547008b434b6016add5f9383e94
Fixes: 109943959
Test: robotest/atest
2018-06-11 11:05:54 -07:00
Fan Zhang
8379a09554 Misc fixes for Settings
- Add some precautious logging in RoundedHomepageIcon in case b/79841665
  comes back.
- Hide memory setting from app info page.

Change-Id: I37d090504ab25854e1278aa3a6d3e85781f394b1
Fixes: 79841665
Fixes: 80140797
Test: visual
2018-05-29 13:56:43 -07:00
Lei Yu
3a9bad927e Merge "Update icon for battery saver conditon." into pi-dev am: 89e0287711
am: 4c39b05ad7

Change-Id: Id969c2685ca51086f412f46eaa3f89834710c1ad
2018-05-24 23:48:36 -07:00
Lei Yu
cbc21a3088 Update icon for battery saver conditon.
To make it consistent with quick settings and battery settings.

Change-Id: I990692b53ee87805d92b93cc874f371e0512154e
Fixes: 80157879
Test: Screenshot
2018-05-23 14:56:08 -07:00
Jason Chang
a76797e756 [SettingsLib] Update Utils.getColorAccent() and Utils.getColorError() to return ColorStateLists instead of colors.
Update Utils.getColorAccent() and Utils.getColorError() to return ColorStateLists instead of colors and change every callers entry.

Bug: 78215054
Test: manually test for UI
Change-Id: Ie201aee439bd9e8337eca989b4cdc836a6e8e917
2018-05-21 17:23:41 +08:00
Fan Zhang
5de68ea81a Update sound setting icons am: 37a6a91444
am: c3669d8971

Change-Id: Id6d6393f8fb754dd98f756601ddf97d1a5fabf23
2018-05-15 19:05:04 -07:00
Fan Zhang
37a6a91444 Update sound setting icons
- icon for sound setting in Settings homepage
- icon on phone muted condition card
- icon on DND condition card and DND suggestion

Bug: 77982107
Test: visual
Change-Id: I22b5223029d67de0bcb2466a45075835453a2b5f
2018-05-15 15:35:37 -07:00
Rajeev Kumar
0494ba84c9 Merge "Make sure we do not make UI calls from background thread in DashboardSummary class." into pi-dev am: e3813863b7
am: 1378ebfcca

Change-Id: Ib0f7223226bfe4b5cc95672d1f2efe1b7ce4c009
2018-05-15 13:12:20 -07:00
Rajeev Kumar
549a188efe Make sure we do not make UI calls from background thread in DashboardSummary class.
Bug: 79705354
Test: make RunSettingsRoboTests -j40 and manual testing.
Change-Id: I08a08e05f3424f4a6d2100aed32d32bb15997c86
2018-05-14 17:59:59 -07:00
Beverly
8f52258962 Add DND Settings suggestion
Cherry-picked from pi-dev ag/4019736

Test: SettingsSuggestionsTest, ZenOnboardingActivityTest
Change-Id: Ie78c9cf8287ee56bc4596efe20d27f8eb432ab6c
Bug: 78445134
2018-05-14 18:15:29 +00:00