Commit Graph

484 Commits

Author SHA1 Message Date
Jason Chiu
10e675d6b5 [Settings] Support master switch of inline toggle of Settings Injection v2
Allow developers to inject MasterSwitchPreference, a switch
preference with two tap targets, to Settings page.

Developers should declare keyhint and switch_uri for the activity
in AndroidManifest,and then implement a SwitchesProvider.

Bug: 132808482
Test: robotest
Change-Id: I64cdf18268be0cfcd38aab2c059144536dd79b32
2019-11-22 04:04:04 +00:00
Jason Chiu
bac5987c8e [Settings] Support pure switch of inline toggle of Settings Injection v2
Bug: 132808482
Test: robotest
Change-Id: Ib24614fb46fe990925edad721e3b7d5d032854fc
2019-11-19 18:24:13 +08:00
Raff Tsai
3119f8d4a2 Fix testcase error
- Because BatteryFixSlice.updateBatteryTipAvailabilityCache() doesn't
run in ShadowThreadUtils shadow function, add a function to override
default behavior.

Fixes: 144405844
Test: make RunSettingsRoboTests
Change-Id: I72ee40a7a8fc524ab7bdc1fd838f8243159f2d21
2019-11-14 08:55:20 +00:00
Sunny Shao
0f844d168b Use the getBidiFormattedPhoneNumber to replace getFormattedPhoneNumber
Fixes: 123698996
Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.PhoneNumberPreferenceControllerTest
Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.simstatus.SimStatusDialogControllerTest
Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.network.telephony.RenameMobileNetworkDialogFragmentTest
Test: make RunSettingsGoogleRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage.contextualcards.deviceinfo.DeviceInfoSliceTest
Change-Id: I5dfb71ceb87a8f658ef7fbceacf460ef8d35593a
2019-11-08 16:36:33 +08:00
Raff Tsai
953da2ee40 Add AnimatedVectorDrawable support for VideoPreference
- We are planning to use animation vector drawable to replace mp4
file to reduce apk size
- Add vectorAnimation attr in VideoPreference
- Delegate VideoPreference media control to AnimationController

Bug: 143270527
Test: manual, robolectric
Change-Id: Ia5859f928a9082085cdf715c762f964e1c99e003
2019-10-31 23:42:53 +08:00
Pavel Grafov
69cac2c986 Password constraints cleanup.
Unified password validation code between DPMS and Settings.

Bug: 138375712
Test: atest tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
Change-Id: I55e4dae47526659594af3fcdbfc1292edceb5807
2019-10-16 15:36:21 +01:00
Rubin Xu
010116a173 Introduce LockscreenCredential
Bug: 65239740
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.password
Change-Id: Icb73d639291d6d2eda8015e18e93d0906f916bb2
2019-10-13 21:20:02 +01:00
Jason Chiu
1a1f9314b6 Refactor Settings for injection v2 inline toggle
Bug: 132808482
Test: robotest
Change-Id: I0b74e05bc26b97259a15859c669060ce3da7972a
2019-10-04 18:32:11 +08:00
Raff Tsai
6db277ebb7 Remove summary provider
- use SummaryProvider to provide the summary of UserSettings
- use WifiDisplayPreferenceController to replace the summary loader
in WifiDisplaySettings
- use ConfigureNotificationPreferernceController to replace the
sumary load in ConfigureNotificationSettings

Fixes: 141653158
Test: robolectric
Change-Id: Id5f5ed645707caa0b25ecae5252174cbf017651c
2019-10-03 15:04:36 +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
Raff Tsai
1f30b1cd67 Merge similar BaseSearchIndexProvider code together
Bug: 135053028
Test: robolectric, check search_index.db contains the same items
Change-Id: If3c18a170b0e671690df1fdf26e59a421d2c48cd
2019-09-12 11:09:09 +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
c786ae184b Separate power button preference controller from accessibility
Bug: 135056871
Test: manual, robotest
Change-Id: Ia3c2134bd9f88a39a796e4201f7bdf8c3015baa1
2019-06-27 22:59:55 +08:00
Raff Tsai
a9fc062fd1 Fix cannot switch between multiple TTS engines
- We didn't reset reset radio button state when user click back
while dialog was popped. Change the UI, when user really accepts the
dialog content, then changes radio button state.
- Migrate TtsEnginePreferenceFragment to RadioButtonPickerFragment

Fixes: 135588938
Test: manual
Change-Id: Ia824e08d59c77a23e6590ff0f5b7d897a73a1ff8
2019-06-25 16:46:31 +08:00
Mill Chen
dce601db84 Pull out a PreferenceController of lock screen from accessibility
To reduce the complexity of AccessibilitySettings, we are planning to
create a bunch of preference controllers. First of all, we are converting
lock screen preference to a preference controller. The rest part will be
uploaded soon.

Bug: 135056871
Test: robotest, manual
Change-Id: I6079136f3d08934c9a5363eb4d0e0ade29f8ba99
2019-06-19 16:44:42 +08:00
TreeHugger Robot
78241bc06b Merge "Update testcases which failed due to the SupportLibrary changed" 2019-06-14 03:11:33 +00:00
Sunny Shao
5da24591ea Update testcases which failed due to the SupportLibrary changed
Fragment.oncreate() causes an IllegalStateException. We use a
ShadowFragment to stop the calling sequence.

Fixes: 135086559
Test: robotest
Change-Id: I601e0f2513f826b0b7749cb2c013b7e4c0a94a33
2019-06-13 10:02:50 +00:00
Raff Tsai
74942cee5e Migrate VirtualKeyboardFragment to DashboardFragment
Fixes: 134451794
Test: robolectric
Change-Id: I2a40090178b3daea894bdad570549c7bfa34e4e6
2019-06-13 15:17:00 +08: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
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
Raff Tsai
1f0a1171b7 ANR observed under settings when trying to reset network settings
- Move reset network settings code to async task.

Test: manual, Robolectric
Fixes: 130772994
Change-Id: I59345f48ed840ecfd64c29c2c20ab8caf2679f63
Merged-In: I59345f48ed840ecfd64c29c2c20ab8caf2679f63
2019-05-03 13:02:07 +08: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
Amin Shaikh
2a9911e3a0 Show Styles & Wallpaper in Settings
Show "Styles & Wallpaper" in Settings based on whether the ThemePicker
component is availalable. Also update dashboard summary for display.

Bug: 129874298
Test: m RunSettingsRoboTests
Change-Id: Id7e0bb9cbc689bb9e637919a10a7d1006397afab
2019-04-09 13:25:57 -04:00
Svet Ganov
864765f8b4 Update Settings to use the proper DeviceConfig API.
Exempt-From-Owner-Approval: carry over approval from ag/6908306

bug:124769181

Change-Id: If18d0dc5e55dabf82b7c7a2b6df240fb8b24f736
2019-04-07 22:37:02 -07:00
Jason Chiu
8f6c06974c Add prompt to sign in at captive portal to Wi-Fi Slice
- Support signing in captive portal APs in WifiSlice
- Show ContextualWifiSlice when signing in is required
- Generifies SliceBackgroundWorker.getInstance() to return <T extends SliceBackgroundWorker>

Fixes: 128056349
Test: make RunSettingsRoboTests -j
Change-Id: Ib4d3942591a65e81018389e4c0bbddfea6854dbc
(cherry picked from commit dd9f92280b)
2019-04-04 16:51:02 +00:00
Irina Dumitrescu
e69f336850 Disable "Learn more" button for unknown apps disabled by admin on secondary profiles.
Test: packages/apps/Settings/tests/robotests/src/com/android/settings/applications/appinfo/ExternalSourcesDetailsTest.java
Test: packages/apps/Settings/tests/robotests/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelperTest.java
Fixes:118881180
Change-Id: I8f6dbd9decba331fbe0a3495a2989f570f2afa67
2019-03-29 13:18:53 +00:00
Fan Zhang
5bb2a87b7f Create a page to manage dnd permission for individual app
- Change the original ZenAccessPage to
  - Remove the inline switch
  - Make the preference click target go into the new detail page
  - Some formatting/style change.

- Create a new detail page for zen access.
  - Exit if app didn't declare this permission
  - Preset the switch toggle to their current permission grant state
  - Move the warning dialog logic from ZenAccessSettings to here.

- Move some common functionality into ZenAccessController, a static
  helper class

Bug: 128547723
Test: robotest
Change-Id: I1ebb32396869d07ff4283b300bd716506298c9b5
2019-03-18 14:42:31 -07:00
manabu, shimoda
9fae73915c Base implementation of WFC disclaimer UI
Test: manual - Check that no error occurred when changing the wifi
calling settings to turn on.
Test: auto - Passed WifiCallingSettingsForSubTest,
WifiCallingDisclaimerFragmentTest and DisclaimerItemListAdapterTest.
Bug: 67872298

Change-Id: I789f530d3e16baa6e56feaa4269f6696976f747e
2019-03-14 14:58:20 -07:00
Clown SHEN
457f9a6ee8 Merge "[Passpointv2] Provide two views for saved networks" 2019-03-08 02:42:30 +00:00
clownshen
0a7e2c0383 [Passpointv2] Provide two views for saved networks
List all passpoint network under "Subscriptions" view and others under
"Wi-Fi networks".

Bug: 116362877
Test: hard code verify subscribed network
Change-Id: I9750e9964e8b5affc2e91ea86a058c3ba65b3588
2019-03-07 07:59:58 +00:00
Yanting Yang
24ff4a2110 Fix Hotspot condition string truncated
Update hotspot condition title and summary and remove unused string.

Fixes: 125914006
Test: visual, robotests
Change-Id: I2a41c0d1840c9a21f86bd62495b404b02d8a865e
2019-03-07 13:57:49 +08:00
TreeHugger Robot
b67abe180c Merge "Use Device Policy dialog in switchbar" 2019-02-27 19:51:35 +00:00
Zhi An Ng
c6b4170460 Merge "Disable system alert window permissions on low ram devices" 2019-02-27 17:06:50 +00:00
Jason Chiu
6391c9b6e4 Merge "Leverage the behavior of showing the searching message in wifi slice" 2019-02-27 10:03:28 +00:00
Jason Chiu
6bbe6e2362 Leverage the behavior of showing the searching message in wifi slice
Fixes: 124823973
Test: robotest
Change-Id: Id89ec5ef09f05f83e019a6f4488cacf2ab4e635b
2019-02-27 12:20:11 +08:00
Rich Cannings
03908ded19 Merge "Refactor passwords/pins/patterns to byte[]" 2019-02-27 03:21:57 +00:00
Ng Zhi An
b97bdc38da Disable system alert window permissions on low ram devices
Bug: 63697002
Bug: 117832554
Test: adb am start-activity -a
android.settings.action.MANAGE_OVERLAY_PERMISSION
Change-Id: I44c64001cd07fd4934cdc55f455384cebd5c9cfb
2019-02-26 17:58:43 -08:00
Raff Tsai
3fd80809cc Use Device Policy dialog in switchbar
We need to pop dialog when switchbar is disabled by Device Policy

Test: visual, robolectric
Fixes: 124855614
Change-Id: Ief65baa2c4912cb7c85d5eccc2c0f363d2fc898b
2019-02-27 09:38:52 +08:00
Rich Cannings
b27c4308a2 Refactor passwords/pins/patterns to byte[]
Relating to packages/apps/Settings

Bug: 120484642
Test: manual - test setting and unlocking passwords/pins/patterns.
      automated - 20 of about 500 tests fail due to fragile synthetic
      password test code.

Change-Id: Idec8338d141c185bef67ade12035fdb2fa9d17ea
2019-02-26 14:46:12 -08:00
Matthew Fritze
9e50419c75 Remove NFC Slice jank
The NFC Slice would jank on enable and disable, because of the
intent filter it registered with SysUI. The intent filter would
broadcast an update for four states:
1) On
2) Off
3) Turning On
4) Turning off

The first two caused no problems. The third and fourth caused jank,
since when clicked, the switch in the NFC slice would turn on / off
asynchronously - that is, it turned on or off based on the previous
state of the switch, rather than on the actual value of NFC. It does
this to feel fluid in the app in which it is rendered.

From the off state, the order of events is:
1.  Switch clicked
2.  Switch animates on
2.  Background intent is fired to settings to turn on Nfc (happens at
       the same time as animation)
3.  Settings calls the NFC enable API
4.  A broadcast for Turning On is sent
5.  The receiver in SysUI gets the broadcast and forwards it to settings
6.  Settings tells the Slice to make sure it is up to date
7.  The Slice checks for the current value - IMPORTANTLY - which is
        currently off, it is only in the process of being enabled.
8.  The Slice flips back off
9.  Nfc finishes getting enabled in the background
10. The framework pushes the NFC ON broadcast
11. SysUI gets the broadcast, and forwards it to settings
12. Settings tells the slice to update
13. The slice checks again and finds that NFC is on, flipping on.

This CL creates a new background slice worker for NFC and registers
the intent filter there, rather than in SysUI. When the background
worker gets the broadcast, it checks if it is in state 3/4, and if so,
it drops the update silently.

Fixes: 115737701
Test: robotests
Change-Id: I17043828ad3a67a2a5acdf5c75d9cc51ff7e91d0
2019-02-26 08:20:38 -08:00
Fan Zhang
e0a722e130 Merge Copyable into Sliceable.
It's only a slice concept. Regular preference copyability is handled in
xml.

Bug: 112427717
Test: rebuild
Change-Id: Iaba7077c320cd03a5963797916a60e0dc80fdbbe
2019-02-25 16:36:04 -08:00
TreeHugger Robot
c4383213cc Merge "Settings UI fix for missing secure lock screen feature." 2019-02-25 11:41:03 +00:00
Lenka Trochtova
bb8e81770b Settings UI fix for missing secure lock screen feature.
Bug: 123737250
Bug: 111072170
Bug: 111071972
Test: manual both with and without the feature flag
Test: make RunSettingsRoboTests

Change-Id: Iacefa95dce85d860633315e074cbf2772691cfdd
2019-02-25 10:18:35 +00:00
Jason Chiu
dcedd4e2e2 WiFi Slice Polish - Searching for WiFi state
1. Change the font color to be secondary
2. Align the left to the AP list title
3. Update the font for Wi-Fi list to be body font - Roboto regular 14dp

Fixes: 124468947
Test: robotest
Change-Id: I9f41925f7e3938bdf3f444b09eab33d6bf479f57
2019-02-25 17:35:16 +08:00
TreeHugger Robot
9e9dc49cb8 Merge "Add progress bar for Privacy screen" 2019-02-18 03:04:05 +00:00
Mill Chen
09fedbf7ec Update the summary for DND conditional
Since original string is too long for DND conditional subtext, separate
DND conditional to two different states, one is for "Phone muted" state,
the othe is for "With exceptions" state.

Also, clean up the strings of other product variants for the conditional.

Bug: 122929205
Test: visual
Change-Id: Icb156ff9a4858a26355d92e6d4fb82ad1927b278
2019-02-15 18:37:25 +08:00
tmfang
64f5b796c2 Add progress bar for Privacy screen
We show up top linear progress bar
when Settings is querying permission usage data.

Test: visual, robotest
Fixes: 123539793
Change-Id: I350068856d1708eb054d2a205d9ca857214891ce
2019-02-15 11:01:10 +08:00
Fan Zhang
07207c0113 Misc ui tweaks.
- Update conditional card layout
  - move action button from right side to bottom.
  - Get rid of the forking between small/big screens.

- Update a few icons

Fixes: 121189136
Fixes: 124315564
Fixes: 124316920

Test: visual
Change-Id: I205d9995a2d7ed06ad9d32f3cea74f2840a28aed
2019-02-12 16:14:21 -08:00
TreeHugger Robot
d9d6acf1fd Merge "Logging SetNewPasswordActivity events" 2019-02-08 13:59:19 +00:00