Commit Graph

282 Commits

Author SHA1 Message Date
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
jackqdyulei
63a5c6f9ab Use SettingsRobolectricTestRunner in settings app
Change-Id: I3682ea52c53ff4fcce7e9aa52a4a6827bb31b2cb
Fixes: 111646366
Test: robotest
2018-07-19 11:21:20 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
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
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
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
Andrew Sapperstein
d497de27c1 Merge "Make the night display suggestion depend on a flag." into pi-dev am: 96294df2f0
am: 95e789dc58

Change-Id: I732a4d92f23354db44ce294096ad1e38ae0f198b
2018-05-17 13:59:26 -07:00
Daniel Nishi
4e9d52791b Make the night display suggestion depend on a flag.
This allows it to be enabled/disabled on certain devices.

Change-Id: I7b73bb866b05b92588e15ef7ffc2834cdde041ce
Fixes: 78601616
Test: Settings robotest
2018-05-17 10:29:59 -07:00
Doris Ling
1e9a979edd Fix improper dismiss of suggestion.
- when handling dismiss of suggestion card, need to check if the
dismissed suggestion can actually be removed from the current
suggestion list before trying to refresh the list.

Change-Id: Ia07b4cb76ef6c61a7d27184c3cba9d99fcc90bb3
Fixes: 76094746
Test: RunSettingsRoboTests
2018-05-04 12:29:20 -07:00
android-build-team Robot
d3ff522a0b Merge "Fix a NPE where developer options page crash sometimes." into pi-dev am: d940a680a5
am: aee1191c72

Change-Id: Iac0d2a8551d9c1ba230890dadb1bdf2b6edb12b9
2018-04-30 20:51:39 -07:00
Fan Zhang
ecadd0119d Fix a NPE where developer options page crash sometimes.
Developer options page crash for restricted users because the page
removes all preferences while DashboardFeatureProvider tries to
manipulate preferences on screen.

Added a null check to skip changin prefs in DashboardFeatureProvider
because the pref is going to be removed either way.

Change-Id: Ic83fd0dfb2a906605fb1d992d7b36c2163630e89
Fixes: 78655710
Test: robotests
2018-04-30 16:54:10 -07:00
HJ ChangLiao
7cd4cc9c61 Merge "Add intent receiver in BatterySaverCondition" into pi-dev am: 465f6da15b
am: f1a94be5d4

Change-Id: I2f04be621d0a121cfc51e6fefa02a493426172ad
2018-04-24 10:35:46 -07:00
HJ ChangLiao
3b7f08d1ee Add intent receiver in BatterySaverCondition
Receive ACTION_POWER_SAVE_MODE_CHANGING
to listen state and update immediately.

Change-Id: Iff2ebb262d95f43d0c970b32f326e3a3e6981a2a
Fixes: 78104542
Test: make RunSettingsRoboTests
2018-04-24 11:12:29 +08:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Doris Ling
f2dce9fac2 Update icon for security settings.
- also fix the issue of dynamic tile icon is being cached and not
updated properly.

Change-Id: I9289260340c1cddc4123fda88c366d658a11ddfc
Fixes: 74255242
Test: visual
2018-04-17 14:33:15 -07:00
Fan Zhang
7aa626b59d Support customizing icon color for externally items.
When a setting is injected to homepage, we now allow the setting
provider customize the background color for its icon.

If no custom bg color is provided, we fallback to existing behavior.

This behavior is only needed in homepage, because we don't have any
tinting logic in other pages so external setting providers can just
provide arbitrary icon.

Bug: 77188317
Test: robotests
Change-Id: I7d4b512fafc28537de46192026ce4bbe51b498c4
2018-04-13 09:38:36 -07:00
Beverly
98c63ed1c7 Update DndCondition settings summary
Test: make ROBOTEST_FILTER=ZenModeSettingsTest RunSettingsRoboTests -j40
Test: atest DndConditionTest
Change-Id: Iff39e9dfda25453bfe4c2554fea3ef7be0832413
Fixes: 77704156
Fixes: 76208187
2018-04-09 11:05:35 -04:00
Sean Stout
2ae92b541d Improve Night Light suggestion criterion
Night Light suggestion will now show even if the user is using Night
Light in manual mode. If the user has previously tapped or dismissed the
suggestion, the suggestion will not show again.

Bug: 68938869
Test: make ROBOTEST_FILTER=\
"(NightDisplayPreferenceControllerTest|SuggestionFeatureProviderImplTest)" \
RunSettingsRoboTests

Change-Id: Iea838df043d75dfa73a1a383275dc42956374113
2018-03-30 23:12:16 +00:00
Fan Zhang
025d9d2a47 Fix a NPE when getting ZenMode in RingerMutedCondition.
Change-Id: If9a8b6f4a2d5e9b45402240d8e1401cef7dd001c
Fixes: 77217038
Test: robotest
2018-03-28 16:26:21 -07:00
Fan Zhang
8878a957f8 Add "device is muted/vibrate, click to turn on" conditions
Bug: 76022431
Test: robotests
Change-Id: I89b71f99fa5ef866028912183ad04b053213bb0d
2018-03-27 13:31:12 -07:00
Fan Zhang
0c8f8a8b46 Use custom drawable for Battery saver condition icon.
- Updated condition interface to use Drawable instead of Icon for icons.
- Converted all conditions to return drawable instead of Icon.
- Created a BatterySaverDrawable to draw a static battery saver icon.

Change-Id: Ie964f3439009c7658603a8ff352a05e964a0a795
Fixes: 76168403
Test: robotests
2018-03-26 17:50:27 -07:00
Doris Ling
b21dcf67da Fix crash when pausing DndCondition.
- check whether the receiver is registered before trying to unregister
it.

Change-Id: Ia949f5a90b8866f01684dc2c7797e87d8dc7804e
Fixes: 74073233
Test: make RunSettingsRoboTests
2018-03-21 14:27:29 -07:00
Doris Ling
1063e48ab8 Fix failing testcases in SettingsAdapterTest.
- added the shadow class for CardView to fix the not implemented error.

Change-Id: I17a53f804310ffb3330c1cd3ca11943cf91335a6
Fixes: 74446970
Test: make RunSettingsRoboTests
2018-03-09 15:48:50 -08:00
Doris Ling
d95e1752f6 Bypass failing test for SuggestionAdapterTest.
- other changes might have caused this test to start failing. Need more
time to investigate or properly fix the tests. Since they are blocking
presubmit right now, will ignore the tests first and provide fix
later.

Bug: 74444815
Test: make RunSettingsRoboTests
Change-Id: I985abe74c64a562fb117b91056a23895181897bd
2018-03-09 14:21:05 -08:00
Doris Ling
8f5773b834 Fix layout height for suggestion tile.
- set minHeight instead of using a fix height, so that when the
font/display size is set to larger, the height will expand accordingly
to fit all elements in the suggestion card.

- revert the change that tint all suggestion icons. The previous logic
should be used to determine if we should tint the icon or not.

Change-Id: I2451490130cee216ff65301a600eb91d2e65c321
Fixes: 74261827
Test: visual and make RunSettingsRoboTests
2018-03-07 15:04:11 -08:00
TreeHugger Robot
710207f024 Merge "Stop wrapping RoundedHomepageIcon if it's already wrapped." into pi-dev 2018-03-07 01:21:20 +00:00
Fan Zhang
4fdf0b461d Stop wrapping RoundedHomepageIcon if it's already wrapped.
On homepage, if an icon is already wrapped in RoundedHomepageIcon, we
shouldn't wrap it more. Otherwise each time we do this it will add a few
dp padding around the bitmap.

Change-Id: I5313a38f4bd128272d7b4e05209aaee72c690c55
Fixes: 73295342
Test: robotest
2018-03-06 14:52:03 -08:00
Doris Ling
05811609c7 Create a new list when building suggestion data.
- using sublist of the original suggestions list may results in
ConcurrentModificationException if the originaly list is being modified.
Create a new list instead to avoid running into the issue.

Change-Id: Ia83a0432be542eeb428d177f6118d26fc2262e93
Fixes: 74194336
Test: run monkey
2018-03-06 10:55:40 -08:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
Doris Ling
7d59c441b8 Reduce max suggestion to show to 2.
- since we now either have 1 or 2 suggestions, putting most layout
configuration in the xml instead of dynamically setting it in code.
- remove the suggestion header
- vertical center align the suggestion title text for 2 cards to make
the card with single line looks better.
- tint all suggestions icons.

Change-Id: I0130f15d530264e164e5afd7c091f165a4a6adc2
Fixes: 70573674
Fixes: 73293989
Fixes: 64986736
Test: visual and make RunSettingsRoboTests
2018-03-01 14:16:07 -08:00
Fan Zhang
04f1423bfa Remove custom updateState() if it's just setting summary
Change-Id: I6311d67d6ba11961a6814b91dcd8e37a2e17df40
Fixes: 73950519
Test: rerun robotests
2018-02-28 15:22:09 -08:00
Jan Nordqvist
7bcddb1f3c Merge "Fixed failing launch of Data usage activty from data saver suggestion." 2018-02-28 17:21:16 +00:00
Jan Nordqvist
e2385be5e1 Fixed failing launch of Data usage activty from data saver suggestion.
After introducing the new data usage UI behind a feature flag a bug was
introduced that causes the data saver suggestion to throw an exception
from a missing class reference in "legacy" mode.

Bug: 73648306
Test: manual
Change-Id: I4fcd2bd0f55931f40738266dca94a55fea5087b3
2018-02-26 17:10:45 -08:00
Zhizhi Liu
4b01eebe8b Merge "Move IconCache to SettingsLib(II)." 2018-02-26 19:22:04 +00:00
Fan Zhang
f7843adabd More renaming in DashboardFragment
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936

Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
2018-02-23 16:56:30 -08:00
Fan Zhang
aed8994f6f Rename Indexable::getAllPreferenceControllers.
To getPreferenceControllers. "all" is redundant. Then internally, the
old getPreferenceControllers() is renamed to
createPreferenceControllers() to emphasize the controllers are created
from code (versus the ones created from xml).

Bug: 73668763
Test: robotest
Change-Id: Ifec46aefdc2a418031c8e152028b30bdcd396fc7
2018-02-23 16:37:28 -08:00
TreeHugger Robot
8e6d5ad27e Merge "Instantiate pref controllers from xml if it's defined." 2018-02-24 00:13:45 +00:00
Fan Zhang
917f101899 Instantiate pref controllers from xml if it's defined.
- If a <preference> tag also defines a controller, we will try to
  instantiate it before displaying the UI. The same logic is shared by
  BaseSearchIndexProvider so it also drives search suppression.

- If user also defines a list of controllers programatically, the
  programatically created ones takes precedence.

Bug: 73668763
Test: WIP
Change-Id: I7aecec270bcd3af261e012ef1f6995d2a523cfa1
2018-02-23 14:08:51 -08:00
Zhizhi Liu
c4e8369ab0 Move IconCache to SettingsLib(II).
Remove IconCache from Settings.

Test: Setting tests passed.
Change-Id: If4d256c5baec2fae8a1cba3cc3a62d4612a2d417
2018-02-22 12:26:26 -08:00
Doris Ling
34200fb19e Update launch component for work mode condition.
- start accounts dashboard instead of users settings.

Change-Id: I1365e6c32ac3de23c24b75e33262957e4a4224a9
Fixes: 73651609
Test: make RunSettingsRoboTests
2018-02-20 17:43:46 -08:00
Doris Ling
98a6b74291 Add content description to suggestion card close button.
Change-Id: I2354dd5a4b092ac24bbc0c197bd228b73d8ede64
Fixes: 72958040
Test: talkback, make RunSettingsRoboTests
2018-02-12 11:40:03 -08:00
TreeHugger Robot
f504294b12 Merge "Update suggestion card width." 2018-02-06 22:14:29 +00:00
Doris Ling
c627161ca6 Update suggestion card width.
- instead of using hard-coded width for 1 or 2 cards, they should take
up the whole screen width minus the defined padding, so that when the
device is in landscape mode, they look better.

Change-Id: Ic6485c858c7742a154a6d9b05fff180f161be323
Fixes: 72850225
Test: make RunSettingsRoboTests
2018-02-06 12:18:34 -08:00
Ben Lin
845e213514 Set categories to the adapter if suggestion is not available.
If there's no suggestion, we should set the category to the adapter
before returning.

Bug: none
Test: robotests
Change-Id: I73bb248d17edb3c398a9fb0a8f3913e7233fcc0b
2018-02-05 16:20:56 -08:00
TreeHugger Robot
36952523bb Merge "Update suggestion UI" 2018-02-02 21:23:24 +00:00
Doris Ling
7fa083ece9 Update suggestion UI
- reduce space above and below the suggestion header
- reduce space around the suggestion cardview
- set the font family for the suggestion header and title.

Change-Id: Ief6247005f1e69fe5025af60f3c9627d357d94a4
Fixes: 72710227
Test: visual
2018-02-02 11:34:03 -08:00
Doris Ling
0e96107ddc Check icon tintable flag of the Suggestion.
- instead of checking the icon resource package, check the icon tintable
flag to see if we should tint the suggestion icon.

Bug: 72330968
Test: make RunSettingsRoboTests
Change-Id: I4767df05bebf815774dbd8e528c7ac0f5b902d44
2018-01-31 16:55:10 -08:00