Commit Graph

344 Commits

Author SHA1 Message Date
Automerger Merge Worker
ee8e7742da Merge "Fixes sound panel create multiple SoundSettings activity" am: e45a8aadd4 am: 3999464409 am: f424190715
Change-Id: If7d8124bb4ffc5594affe8dd0dedf446c5dee02f
2019-12-18 12:45:01 +00:00
Automerger Merge Worker
f424190715 Merge "Fixes sound panel create multiple SoundSettings activity" am: e45a8aadd4 am: 3999464409
Change-Id: I2b5875e2c79daf6e5b7173da59b33e2cfcfbad6e
2019-12-18 12:25:43 +00:00
Raff Tsai
a9e7517f2c Fixes sound panel create multiple SoundSettings activity
- Use FLAG_ACTIVITY_NEW_TASK to prevent activity stack contains
many activites

Fixes: 142231489
Test: 1. Press volume button and click in volume settings button
      2. Press Media Volume to open SoundSettings
      3. Repeat 1, Press Call Volume to open SoundSettings
      4. Repeat 1, Press Alarm Volume to open SoundSettings
      5. Press back, should see volume panel
Change-Id: I87cd75fbd43f77446191ad50ed7a002a2202337f
2019-12-18 18:38:37 +08:00
Automerger Merge Worker
83c64c3a3c Merge "Fix volume slider color is not correct" am: d1489d2f1f am: 9bb1c631ae am: 96c32711b8
Change-Id: Ibb3508f910e6d913135f5370b47376155f69f7ca
2019-12-17 09:42:04 +00:00
Automerger Merge Worker
96c32711b8 Merge "Fix volume slider color is not correct" am: d1489d2f1f am: 9bb1c631ae
Change-Id: I66e7bb3c06891d092d6ec4b49372ab977670beee
2019-12-17 09:22:59 +00:00
Raff Tsai
37860d4299 Fix volume slider color is not correct
Fixes: 140990940
Test: 1. Switch to dark theme
      2. adb shell am start -a android.settings.panel.action.VOLUME
      3. check volume slider color is identical to color in "Done"
      4. Switch to light theme
      5. adb shell am start -a android.settings.panel.action.VOLUME
      6. Check volume slider color is identical to color in "Done"

Change-Id: If783d5c5f8604a23cfaaa28cf42b916763f9c9e8
2019-12-17 14:34:29 +08:00
Julia Reynolds
aceccce75c Reorganize notification Settings classes
The notification package was getting too big.

Test: make -j64 RunSettingsRoboTests
Fixes: 145224451
Change-Id: I25ba82f42f7a137d8adcce72dcf8089d0e018bdc
2019-11-27 10:02:13 -05:00
Yi-Ling Chuang
d57e5a5d1a Add the impl for the ability to query non-public Slices
Apps get Settings Slices through onGetSliceDescendants(), so adding some
codes here to make us be capable returning non-public Slices. As these
SliceData come from slice_index.db, where SliceDatabaseAccessor is the
middleman for us to access those data, so adding a parameter in
getSliceUris() to determine what data should be returned.

Bug: 141088937
Test: robotests
Change-Id: I411eb1ff194b7c8915b9e7309c684046dbde29fb
2019-11-26 17:06:15 +08:00
Yi-Ling Chuang
c7cd6c4671 Add a new column for slices_index table.
To distinguish public and non-public slices, add public_slice column
to the database so we can return corresponding results based on this
value.

Bug: 141088937
Test: robotests
Change-Id: I05d003875a8be27e5cb735b4814eb86d6dc40174
2019-11-20 11:44:23 +08:00
Yi-Ling Chuang
345dc2bf3a Merge "Add a new method in Sliceable." 2019-11-19 09:12:14 +00:00
Sunny Shao
0a1f43a7c9 Merge "Add a dark theme slice" into qt-qpr1-dev am: 713143df37
am: e565a793be

Change-Id: I7b780475a3439d229a8b94e882372f7086bd02ed
2019-11-18 17:41:25 -08:00
TreeHugger Robot
713143df37 Merge "Add a dark theme slice" into qt-qpr1-dev 2019-11-19 01:26:30 +00:00
Yi-Ling Chuang
c04df4ae39 Add a new method in Sliceable.
We are making some Settings Slices public and some not so we can expose
more Settings Slices to Settings Search without worrying about privacy
and security concern. Hence, add this method to distinguish these two.

Bug: 141088937
Test: rebuild
Change-Id: I457802bb6472ec81a3dfb65c0674af4bb3dd4b5a
2019-11-18 15:28:06 +08:00
Sunny Shao
abcbc79d7d Add a dark theme slice
Fixes: 142476879
Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage.contextualcards.slices.DarkThemeSliceTest
Change-Id: I4865c3c4a807bc4ac96762a882b193a3e2595019
2019-11-15 13:41:49 +08:00
Yi-Ling Chuang
e786ce000e Fix non responding slice toggling
The issue happens when users are toggling slices. Sometimes the toggle
doesn't work as expected because the pending intent of the toggle action
seems to be canceled for some reasons.

Hence, we replace FLAG_CANCEL_CURRENT with FLAG_UPDATE_CURRENT to
prevent from getting PendingIntent.CancelExcpetion from SliceActionView
when toggling slices.

This change only applies on those auto converted Slices.

Bug: 140719905
Test: toggle slices in Settings Search and NGA
Change-Id: Iff724ce5f6a1e6a7d9ca85b8ce76539a72e72964
Merged-In: Iff724ce5f6a1e6a7d9ca85b8ce76539a72e72964
(cherry picked from commit ddf6cefcac)
2019-11-13 10:30:26 +00:00
Raff Tsai
c5e1fc677c Integrated SearchIndexableResources interface in Settings
- New SearchIndexableResources interface returns SearchIndexableBundle,
we don't need reflection to get SearchIndexableProvider

Bug: 135053028
Test: robolectric, check database search_index.db items
Change-Id: I5ed3416ccf72ef3d38db817fcb4aff7502649ed4
2019-11-05 17:38:32 +08:00
TreeHugger Robot
a7485f40b9 Merge "Fix non responding slice toggling" 2019-10-22 06:47:48 +00:00
Yi-Ling Chuang
0495ec3b96 Merge "Fix non responding slice toggling problem." into qt-qpr1-dev am: 5956f903cb
am: e87289bbc4

Change-Id: I7cea63639e03070d6aee1eeaf82214bc5f4328b6
2019-10-16 21:32:12 -07:00
hughchen
1605b0364c Fix Connected devices page UI not update after paired
This CL before, onChanged(null) will cause PreferenceGroup
didn't update UI in ConnectedDeviceDashboardFragment.

This CL remove onChanged(null) and set unvisible of SliceView
in the constructor.

Bug: 142220754
Test: make -j42 RunSettingsRoboTests
Change-Id: Ib20db373430589c5c5efbe8a4c866b7fae4f3399
2019-10-16 14:12:33 +08:00
Raff Tsai
40d9986fd7 Fix IllegalStateException in recyclerview
- Fixed by updating UI in mainthread

Fixes: 142241908
Fixes: 142220754
Test: manual test if it crashes again
Change-Id: Ia83b66d3e60201bc524dbfab69bdeaa5201d38c2
2019-10-15 09:52:34 +00:00
Yi-Ling Chuang
ddf6cefcac Fix non responding slice toggling
The issue happens when users are toggling slices. Sometimes the toggle
doesn't work as expected because the pending intent of the toggle action
seems to be canceled for some reasons.

Hence, we replace FLAG_CANCEL_CURRENT with FLAG_UPDATE_CURRENT to
prevent from getting PendingIntent.CancelExcpetion from SliceActionView
when toggling slices.

This change only applies on those auto converted Slices.

Bug: 142107748
Test: toggle slices in Settings Search and NGA
Change-Id: Iff724ce5f6a1e6a7d9ca85b8ce76539a72e72964
2019-10-14 09:31:50 +08:00
Yi-Ling Chuang
f8eb30800a Fix non responding slice toggling problem.
The issue happens when users are toggling slices. Sometimes the toggle
doesn't work as expected because the pending intent of the toggle action
seems to be canceled for some reasons.

Hence, we replace FLAG_CANCEL_CURRENT with FLAG_UPDATE_CURRENT to prevent from
getting PendingIntent.CancelExcpetion from SliceActionView when toggling
slices.

Note that this change would only apply on Wifi, MobileData, Flashlight
and Bluetooth Slices.

Bug: 140719905
Test: rebuild and switch toggles
Change-Id: Iddbb16ddcbcf97b6f6e680b43645c04fbc061f39
2019-10-04 17:17:19 +08:00
Raff Tsai
590042b3ba Hide sliceView if Slice is null
Fixes: 142035673
Test: robolectric, visual
Change-Id: I2b5b34d068ba4590f65a284d4f62a1cc77f9666f
2019-10-03 17:23:35 +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
Jason Chiu
e856e2b738 Change deprecated slice APIs to new ones
Bug: 138979954
Test: robotest
Change-Id: Ibc430f9975d4e40be00ae4ba61833e94cd090a0c
2019-08-14 11:34:27 +08:00
Yanting Yang
a299fc5435 Fix NPE of launching Settings with malicious URL
Fixes: 122836081
Test: visual, robotests
Change-Id: I97430ea0208c570c46a02dd499dfd944d20eb06e
2019-07-25 21:40:28 +08:00
Raff Tsai
85e1218b31 Add wifi calling slice to settings search and AGSA
Fixes: 121041498
Test: test if wifi calling slice is appeared in Settings Search
Change-Id: I4892da6e7d396f28bb232f8e520a8c946f35570d
2019-07-12 23:40:27 +08:00
Joshua Mccloskey
c4f18bb77c Merge "Adding slice for Face Enrollment" into qt-r1-dev am: 35252d1b9f
am: ef3d1939c8

Change-Id: I3c3b28e6ac2e67a588f970d8eae706390f666bc1
2019-06-25 19:31:34 -07:00
joshmccloskey
6634c159fd Adding slice for Face Enrollment
Fixes: 134965754
Test: Verified slice appears when not enrolled.
Test: Verified slice does not appear when enrolled.
Test: Verified slice disappears after clicking on icon and going back
to settings page.
Change-Id: Id1c4458742ab622df8d5881e926fe54684b36843
2019-06-24 17:41:36 -07:00
Fan Zhang
13cf250be5 Remove "platform_slice" attribute from Settings.
Bug: 126222433
Test: robo
Change-Id: I05beec7d3e3ec713c40740a1adbcacaee88237b5
2019-06-10 14:05:43 -07:00
Fan Zhang
aa08a2cc0e Use slice uri from slice index db directly.
During SettingsSliceProvider#onGetSliceDescendants, use the uris from
database directly instead of getting the key and construct the uris
manually.

Bug: 126222433
Test: robotest
Change-Id: Iad4e9fc28ec4442b6bb323878503d743582b35ac
2019-05-31 16:03:33 -07:00
Fan Zhang
ec81d6121e Override 2 getSliceUri() instance to return platform slice
Bug: 126222433
Test: robotest
Change-Id: I3f9c8202d9b75b24b80ebcf385abc95f8df851e2
2019-05-30 16:50:43 -07:00
Fan Zhang
f36ca50ec7 Add slice uri to slice index db
And slightly refactored the SliceDataConverter to remove 1 reflection.

Bug: 126222433
Test: robotest
Change-Id: Ic5782bdd71f5c9cb77879a35de81dc61c01d1912
2019-05-30 16:47:31 -07:00
Alex Salo
88e3adce68 Merge "Adds contextual cards for screen attention in Settings Homepage" into qt-r1-dev am: fa127bd6f7
am: ac7851e1ce

Change-Id: Id621a398191568a76ed1e5bce00a63ad48a22f86
2019-05-30 16:31:17 -07:00
Alex Salo
fa127bd6f7 Merge "Adds contextual cards for screen attention in Settings Homepage" into qt-r1-dev 2019-05-30 22:59:12 +00:00
Lei Yu
ebdca63be8 Merge "Update SliceView when slice is null" into qt-dev am: f32025a17d am: 949c937fce
am: 2dd116845a

Change-Id: I8f7c3467362d2e4662c0a7ad9649a2b1ab505c07
2019-05-30 11:44:04 -07:00
Lei Yu
f32025a17d Merge "Update SliceView when slice is null" into qt-dev 2019-05-30 17:38:59 +00:00
Fan Zhang
225da1517c Add interface and extend db to support storing slice uris
Bug: 126222433
Test: manual
Change-Id: Ie81e69477d297aa96a0daad02d56196c956271a3
2019-05-29 15:41:15 -07:00
Lei Yu
798b80e5ad Update SliceView when slice is null
When it is null, we should also update SliceView, so SliceView can
update to be "invisible"

Fixes: 133790296
Test: RunSettingsRoboTests
Change-Id: I239405cce8bcadacbd374ccbb24d0fcbadc04880
2019-05-29 13:11:57 -07:00
Yi Jiang
7605494cc5 Adds contextual cards for screen attention in Settings Homepage
Bug: 128527964
Test: atest ContextualAdaptiveSleepSliceTest, maually verified.
Change-Id: Ifaea7d8d4391e91cf6cbde38a2506728f55913d8
2019-05-29 10:37:11 -07:00
Lei Yu
2837d010ad Update logic to build slider slice
Return null when slider getMax() <= getMin(), instead of force
build it to make it crash

Fixes: 132657278
Test: RunSettingsRoboTests
Change-Id: I9f3c078ae07522aa8f1cebdee3f73df2d014d6bb
2019-05-22 14:13:09 -07:00
Jason Chiu
2c3e6c6434 Fix automatically directing the user to the captive portal in Wi-Fi Slice
The feature failed after the CL "Force the adapter to rebind cards with
a toggle".

Because toggle slices have been forced to rebind after starting another
activity and when any slice is updating. This unpins Wi-Fi slice and
stops WifiScanWorker and then clears the saved clicked network.

Solution:
1. Change ConnectToWifiHandler from activity to receiver and send
   broadcasts to it with FLAG_RECEIVER_FOREGROUND, so Wi-Fi slice won't
   be forced to rebind.
2. Seperate Wi-Fi scan worker and contextual Wi-Fi scan worker. Keep the
   original logic for the generic one, and then add the logic below to
   the contextual one.
3. Do not clear the saved clicked network when slice is unppined because
   it happens frequently in contextual homepage.
4. Introduce a static long in ContextualWifiScanWorker that updates once
   in every visible UI session. A session is when the screen is visible
   to user.
5. Use session token to determine whether auto-starting captive portal
   is needed.

Fixes: 128056349
Test: robotest, visual in homepage and network panel
Change-Id: I9e03c379806e124fa7253b2a635574b2433f6afc
2019-05-11 03:26:57 +00:00
tmfang
6410821f04 Catch another exception when we are building slices data for search
We lose chance to build all Settings slices if we got an exception
when settings was creating slice data for controllers.
We should make sure the process goes well even we got an exception
on an incorrect controller.

Also, we log exceptions for each catch.

Bug: 131449561
Test: Open Settings search and then we can see slice for some
search result.

Change-Id: Iac9f0e0a187f6d10cf53886afeb9cab479b6ce02
2019-05-09 10:31:53 +08:00
TreeHugger Robot
7f9a86d869 Merge "Prevent bad apps from getting Setting Slices" into qt-dev 2019-04-18 17:38:28 +00:00
Matthew Fritze
2bdea1d922 Prevent bad apps from getting Setting Slices
SettingsSliceProvider no longer allows apps to request permission
from the user for Settings Slices. Instead, the PrimaryAction on the
permission slice will be an intent into Settings.

This is because the dialog for granting apps Settings Slices would act
as a replacement for regular permission dialogs, which we want to avoid.

Fixes: 130795282
Test: robolectrico
Change-Id: I6848215bab2bf10ee5e53814b765d04f04f53f4e
2019-04-18 08:51:17 -07:00
Fan Zhang
57f18af554 Remove on/off subtext from gesture preferencecontrollers
The toggle switch next to the subtitle already shows on/off clearly.

Fixes: 130652619
Fixes: 130652843
Fixes: 130653459
Fixes: 130653297
Test: robo
Change-Id: Ib2396575bbc69a7cca5e9c90e113c76ff6db00b5
2019-04-17 23:49:25 +00:00
TreeHugger Robot
cef4e42dc2 Merge "Enforce min value on panel slices slider" into qt-dev 2019-04-16 21:18:05 +00:00
lindatseng
fadedb321c Enforce min value on panel slices slider
We did not set the min value on slider slices when converting them
from preference to slices, which makes the slices all have min 0.
However, there are some slider which should have min value greater
than 0, for example, call and alarm.

We should get the min value and apply it to slider slice to make it
consistent with what we have in settings pref.

Test: Manual verification
Test: make -j40 RunSettingRobotests
Test: atest VolumeSeekBarPreferenceControllerTest
Fixes: 130439216
Fixes: 130358208
Change-Id: Ib4399c36c7da3ac41a6d46a6c150f0ec1b9b0b0f
2019-04-16 16:30:08 +00:00
Fan Zhang
7df6445c3e Clean up DND slice in search.
- Remove the controller in SoundSettings, just use the common one.
- Update a bunch of IDs so ZenModeSliceBuilder maps to the toggle
  button in zen_mode_settings.xml

This is needed so the slice intent (left target when shown in search)
is the same as what we index from search side. Previously the search
indexer is finding zen_mode from sound page but the slice itself is
reporting a deep link into zenModeSettings page.

Fixes: 130437726
Test: robotest

Change-Id: Ic41d2d93afa1f748e3282e23010199a0fa078645
2019-04-12 16:11:31 -07:00
lindatseng
083243df76 Fix panel slices title not updated when locale changed
When calling getSliceData from SliceDataConverter, we were returning
the old version of List<SliceData> if there's one already existed.
So when the Locale get changed and we are re-indexing data, we
are still inserting the old List<SliceData> in database.  We should
reconstruct the List of SliceData instead of reusing the old
version here, since we only call SliceDataConverter#getSliceData
when we need to reindex.

Test: Manual verification
Fixes: 126732022
Change-Id: I42a3cf93dc313efefe50a34faabac9e1d616ef6c
2019-04-09 05:41:23 +00:00