Commit Graph

87 Commits

Author SHA1 Message Date
Bonian Chen
5c71853bd9 [Settings] Expand scrollable area of Wifi calling UI
1. Replace InstrumentedDialogFragment by SettingsPreferenceFragment.
   Enable the capability of shirnking the size of title.
2. Move switch bar into Preference.
   Enlarge scrollable area within this UI page.

Bug: 224661026
Test: local
Change-Id: I6e0a491721e9f93858c389593b2bb891f6fa8f8d
2022-05-13 09:18:32 +08:00
Michael Groover
d1f76eea72 Merge "Add unaudited exported flag to exposed runtime receivers" 2022-01-03 17:35:02 +00:00
Bonian Chen
a6a35b8409 [Settings] Enable WiFi calling toggle in search
WiFi calling toggle in search need to pass the toggle request to
receiver to make it work.

Bug: 206871758
Test: local
Change-Id: If23d1ae1eaeb5d505e584dec94e1980f6e329c65
2021-12-16 18:06:54 +08:00
Michael Groover
911f7e7aa9 Add unaudited exported flag to exposed runtime receivers
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.

Bug: 161145287
Test: Build
Change-Id: Ie97372efebd8258d9a4c503771d55109a85e6ae9
2021-12-09 20:34:02 -08:00
Bonian Chen
8a892271da [Settings] Refactor Wifi Calling description text
Refactor the display of description text when no wifi calling options available.
Enhancement:
1. These text need to align the style with the summary part of the wifi
calling options.
2. These text need to be scrollable in order to see full description.
3. The link within text need to be clickable.

Bug: 204844012
Test: local
Change-Id: I60f339bf4adf50236d80176669a557c77f0d97ca
2021-11-30 13:55:55 +00:00
Bonian Chen
a81acf8a26 [Settings] Remove space before WiFiCalling description
Align the description part to upper left corner of the description area.

Bug: 191525963
Test: local
Change-Id: I8bbe6c653c51b8ca43d936e50166f0f8bfb1acdc
2021-11-19 13:13:53 +08:00
Zoey Chen
2d5641f17b [Settings] 1. Add configChange for WFC Activity to cover the changes of rotation and screen size am: 6cf16b0aa9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16145006

Change-Id: Idea7f177ee4897c20bd7faf773a34e79976f2376
2021-11-12 08:43:51 +00:00
Zoey Chen
6cf16b0aa9 [Settings] 1. Add configChange for WFC Activity to cover the changes of rotation and screen size
2. register split rule for MobileNetworkActivity

Bug: 204508876
Test: manual
Change-Id: Iff3dae41293e79b274d2928cb51efea46fb45dd4
2021-11-12 15:22:43 +08:00
Treehugger Robot
15c0678ca8 Merge "[Settings] backport missing CL" am: a8ee80e95a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1836333

Change-Id: I09f384d8d7073270d4bf460e91a52021a69e3e19
2021-09-24 10:24:31 +00:00
Bonian Chen
dc3c1e8a4b [Settings] backport missing CL
aosp/1258356 got missing when merging several CLs of refactor code in
aosp/1281915.

Bug: 186543910
Test: local
Change-Id: I34287b22fec4da660c7b44b5953eb16591cfb2d7
2021-09-24 15:45:30 +08:00
Bonian Chen
e530d93382 [Settings] fix for Wifi calling settings page crash
UI crash reported due to accessing telephony framework API with invalid
subscription ID from SIM. Which comes with multiple reason.

Besides of avoidance of crash, following updates are also required:
1. Close wifi calling settings UI when pSIM or eSIM not available or
inserted.
2. Keep the selection of tab (under multi-SIM) when screen rotate
3. Only show 1 SIM when multi-SIM are grouped together

Bug: 149190278
Test: local
Change-Id: Ied9a088b6ee5da66972f27649cc07f4a31304f17
(cherry picked from commit fbe1293a54)
(cherry picked from commit 05f29efe34)
2021-07-06 12:38:45 +00:00
Yanting Yang
863d2e50e7 Remove silky flag for searching and help menu
Bug: 183670633
Test: robotests
Change-Id: Ia62936e9f48a111ab36d74b852ec04090e42039a
2021-06-02 16:49:27 +08:00
Bonian Chen
d6f54ed90b Revert "[Settings] Convert to getSystemService(Class<T>)"
Revert submission 1645152-getSystemService(Class<T>)

Reason for revert: Fix JUnit test failure
Reverted Changes:
I1b4812044:[Settings] Convert to getSystemService(Class<T>)
I278951c24:[Settings] Support getSystemService(Class<T>)

Change-Id: I864a40f82ba9cb4170900ac0c1d77f781b17341f
2021-03-31 09:37:03 +00:00
Bonian Chen
234b698fb2 Revert "[Settings] Support getSystemService(Class<T>)"
This reverts commit d5ccde31a8.

Reason for revert: failure on test cases

Change-Id: I0a179a6ebb5ef1dec566ce6e8facd5f3b82d7c8a
2021-03-30 00:51:15 +00:00
Bonian Chen
d5ccde31a8 [Settings] Support getSystemService(Class<T>)
Add getSystemService(Class<T>) to align the capability with framework
part.

This is a back port from aosp/1639943, aosp/1645152 and aosp/1648047

Bug: 179640862
Test: local
Change-Id: I035db55a71f94000ca35f8d71f03c19208423c73
2021-03-24 00:59:46 +08:00
Bonian Chen
db6c47756d [Settings] Convert to getSystemService(Class<T>)
Change to getSystemService(Class<T>) to align the capability with framework
part.

Bug: 179640862
Test: local
Change-Id: I1b4812044fc4876bec6645570049a60f9470dbbd
2021-03-22 06:20:19 +00:00
Janis Danisevskis
5cef487b4b resolve merge conflicts of d42d9a41f6 to sc-dev
Change-Id: Ifa6a4af09d7cd45773a8c057416ab90fac23061e
2021-03-17 19:09:29 +00:00
Bonian Chen
203f0fe89d [Settings] Code refactor - remove unused import lines
Remove some unused import lines within source code based on
https://source.android.com/setup/contribute/code-style

Bug: 182867979
Test: build pass
Change-Id: I76dbcfa9e5b435b2838401dfee15b12f472d07d0
2021-03-16 10:24:24 +00:00
Zoey Chen
b8a639f8fd [Settings] Use TelephonyManasger.registerTelephonyCallback instead of TelephonyManager.listen
Bug: 175270951
Test: make and atest
Change-Id: I15e1a199e6a34914db97055bfea9392c5bbdc9c6
2021-03-12 19:27:05 +08:00
Stanley Wang
86cc0579f3 Replace the SwitchBar with MainSwitch.
- Update wi-fi calling switch.
- Update the switches in Accessibility

Fix: 178673860
Fix: 177968565
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: Id10e6a110f418ea500a2eaf3c54752bef4f36507
2021-02-23 16:21:52 +08:00
Jeremy Goldman
9d87cd9126 SubscriptionsPreferenceController shows the unique sim description.
Bug: 148303118
Bug: 150370656
Test: atest -c SubscriptionsPreferenceControllerTest
Change-Id: I041536fe0148087a068c6000383b382b0ff4e17c
2021-01-22 07:02:52 +00:00
Mill Chen
b126caa0e7 Remove both help and search icons from toolbar of wifi calling
On Android S, both help and search icons will be removed from each
toolbar of subsetting page. Using a feature flage to turn on/off these
menu items. After the collaping toolbar feature rolled out, the option
menu of toolbar will be removed entirely.

Bug: 177640645
Test: visual verified
Change-Id: I005fe85f23f8d28b3a6ca273ddb86ad3390ee0da
2021-01-15 19:01:03 +08:00
Jeremy Goldman
cd669b84bc WifiSliceHelper and associated test uses immutable PendingIntent flags
Bug: 172203646
Bug: 172810495
Test: atest -c WifiSliceHelperTest
Change-Id: Ie4de9517461a56b2328e8506d9eb640914924822
2021-01-12 16:49:36 +08:00
Ashwini Oruganti
2f349da025 Bulk apply PendingIntent.FLAG_MUTABLE_UNAUDITED.
We've been working hard to require PendingIntents explicitly declare
if they allow their contents to be mutated or not, and to finish
landing that work this change applies the new FLAG_MUTABLE_UNAUDITED
flag to all remaining code locations until they can be manually
inspected.

Bug: 160794467
Test: manual
Change-Id: I7b9ef5dcd35187facef1ec424589b81f834f23c0
2021-01-08 13:14:05 -08:00
Jeremy Goldman
9e1e47fef7 Add goldmanj to settings owners files.
Test: N/A, code not edited.
Change-Id: I23a64e52d01ebeda1509d1e207200d868444d955
2020-09-11 18:55:46 +00:00
changbetty
0383d76a5e Add setPackage for PendingIntent in SliceHelper
Bug: 151645867
Bug: 151646375
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiCallingSliceHelperTest
      make RunSettingsRoboTests ROBOTEST_FILTER=Enhanced4gLteSliceHelperTest
Change-Id: I33c1333f9b5472cdb962b272f6be52a2d2959376
Merged-In: I33c1333f9b5472cdb962b272f6be52a2d2959376
2020-05-12 17:56:48 +08:00
Yanting Yang
96127fe621 Remove sub-text from slice builder
We would like to remove all sub-text from Settings Search. But slice
view does not support API to configure the sub-text visibility.
Therefore, the only way is to remove the sub-text from slices directly.

Since Settings slices are also invoked by other apps, we can not
directly remove the sub-text.

Finally, we decide to check the caller's uid. If it comes from Settings
Search, we will return the slice without the sub-text.

Bug: 143118037
Test: visual, robotests
Change-Id: Iac72f1683a2c930592634e0599058890d86f669d
2020-04-28 14:15:16 +08:00
Bonian Chen
ce92b0efb7 [Settings] Add more owner
Add more owner for code review.

Bug: 0
Test: none
Change-Id: Idf49638e4599b95fe39fe127e5b965cf724f5d7c
2020-04-10 13:13:08 +08:00
Bonian Chen
7520adccee [Settings] Apply WifiCallingQueryImsState
Apply design of WifiCallingQueryImsState to source code which accessing
WifiCalling.

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingPreferenceControllerTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSliceHelperTest

Change-Id: I0db966742d63cfe9a1ef4e1b06f6b5c81f681927
2020-03-31 14:40:18 +08:00
Bonian Chen
21475ae6c6 [Settings] Code Refactor
Code refactor in order to support auto testing

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest

Change-Id: I2427732435b59d7359a102e0dd56317ac6a024b4
2020-03-31 03:46:45 +00:00
Bonian Chen
c134ef08d4 [Settings] Replace ImsManager#isWfcEnabledByPlatform()
Replace ImsManager#isWfcEnabledByPlatform().

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSettingsTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingPreferenceControllerTest

Change-Id: I85907efb39aecdb3fb18cacf11ce4510b898edc4
2020-03-30 03:34:01 +00:00
Bonian Chen
fedd8fa7ef [Settings] Avoid access hidden constant ACTION_IMS_REGISTRATION_ERROR
Replace ACTION_IMS_REGISTRATION_ERROR by
ACTION_WFC_IMS_REGISTRATION_ERROR.

Bug: 140542283
Test: build pass
Change-Id: I9c54eb63a0df3fde38965ee7e2ae46cc1b7efd47
2020-02-14 21:25:52 +08:00
Bonian Chen
ced9489549 [Settings] Code refactor for Wifi calling IMS API
Replacing logics of
ImsManager#isWfcEnabledByPlatform() &
MobileNetworkUtils#isWfcProvisionedOnDevice()
into WifiCallingQueryImsState#isWifiCallingProvisioned().

Bug: 140542283
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSliceHelperTest
Change-Id: I68462368669b81e10d09bbb93e74e23ea9a1f446
2020-02-10 00:56:51 +08:00
Bonian Chen
a8f14cb11e [Settings] Apply ImsQueryProvisioningStat to WFC
1. Code refactor
2. Apply ImsQueryProvisioningStat class to WFC's use case

Bug: 140542283
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingPreferenceControllerTest
Change-Id: I8a09264f83b9fc4fce3f79ec3aeb6ae757b004e4
2020-02-05 16:55:17 +08:00
Bonian Chen
c4413a850f [Settings] replace isNonTtyOrTtyOnVolteEnabled() and isWfcEnabledByUser() in WFC
1. Code refactor
2. Replace ImsManager#isNonTtyOrTtyOnVolteEnabled() by combination of
   TelecomManager#getCurrentTtyMode() and
   ImsMmTelManager#isTtyOverVolteEnabled()
3. Replace ImsManager#isWfcEnabledByUser() by
ImsMmTelManager#isVoWiFiSettingEnabled()

Bug: 140542283
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSliceHelperTest
Change-Id: I57c91a095fc4d454d92e8d78e0b647b4f098c6a3
2020-01-22 00:24:16 +08:00
Bonian Chen
ff1863451f Merge "[Settings] replace isNonTtyOrTtyOnVolteEnabled() in WFC" 2020-01-21 16:11:07 +00:00
Bonian Chen
2c0088be68 Merge "[Settings] apply WifiCallingQueryImsState" 2020-01-21 14:57:10 +00:00
Bonian Chen
72717cb537 [Settings] replace isNonTtyOrTtyOnVolteEnabled() in WFC
1. Code refactor
2. Replace ImsManager#isNonTtyOrTtyOnVolteEnabled() by combination of
   TelecomManager#getCurrentTtyMode() and
   ImsMmTelManager#isTtyOverVolteEnabled()

Bug: 140542283
Test: manual
Change-Id: Ia5179ee1a23f054899bc74c796542bae40cdc8d5
2020-01-21 22:40:33 +08:00
Bonian Chen
a498eae245 [Settings] apply WifiCallingQueryImsState
1. Code refactor
2. Apply WifiCallingQueryImsState to more WifiCalling classes

Bug: 140542283
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSliceHelperTest
Change-Id: Idd4935a6d8ceed77c15e90f96781014d1940a427
2020-01-21 19:33:16 +08:00
Bonian Chen
106ac9b648 [Settings] Allow more user to take responsibility
1. Add owner to wifi calling folder
2. Add songferngwang and tomhsu to telephony part

Bug: None
Test: Not required
Change-Id: I455685eb26df69d929ff3ed3c26ce84aa5f6b1f8
2020-01-21 18:16:19 +08:00
changbetty
ebe36cf96c [Mainline] To use @SystemApi to replace non-formal APIs for mainline
- getResourcesForSubId(Context, int, boolean)
      - @SystemApi getResourcesForSubId(Context, int)
    - isUsableSubIdValue(int subId)
      - public isUsableSubscriptionId(int subId)

Bug: 147206736
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ResetNetworkTest
      make RunSettingsRoboTests ROBOTEST_FILTER=ResetNetworkConfirmTest
      make RunSettingsRoboTests ROBOTEST_FILTER=CellularFallbackPreferenceControllerTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiCallingSettingsForSubTest

Change-Id: I1a67db80b114a438afda7d45af90e54af38703c3
2020-01-08 22:06:26 +08:00
Malcolm Chen
26e5dbdbfd Mainline: remove usage of hiddepn API SubscriptionManager#getPhoneId
Bug: 140908357
Test: build
Change-Id: Idaa206c7659717a269738c0121a31d957f7d90d0
2019-12-16 11:43:00 -08:00
Torbjorn Eklund
4f44b44168 Consider subId when loading Wfc string resources
Consider subId when loading string resources in screen
WifiCallingSettingsForSub and Wi-Fi Calling slice.

This ensures that correct string resources is loaded in multi sim
scenario when operators are using customized strings.

Bug: 129893058
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiCallingPreferenceController
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiCallingSliceHelper
Change-Id: Ia5b763d4b59f7e738cb741b778bb859884a85198
2019-11-27 14:35:07 +01:00
Pooja Jain
812f8e9065 IMS: Grey out Wifi calling option when either sub is having call.
The WifiCallingSettingsForSub was not checking for call state reported
by telephony manager, hence, when call was on other sub, the option was not
getting greyed out.
Use the TelephonyManager API to fetch callstate.

Test: Manual

Bug: 130706399
Change-Id: Ib4b0e1191c83e23377ccf8ed013252728ef9dd95
2019-11-25 12:10:03 +05:30
Bonian Chen
cacf047daa [Settings] Fix conflict of AOSP merge on wifi call
Merge for fixing conflict of Ib4b0e1191c83e23377ccf8ed013252728ef9dd95

Bug: 144960427
Test: build pass
Change-Id: I2979a9a2ee1bc690486e25b7d470cf905cf02d17
Merged-In: Idb063bdab3d3b11c348804c1c0ecb268cca3068e
2019-11-22 20:38:13 +00:00
Antony Sargent
46d819272a Check isWfcProvisionedOnDevice in WifiCallingSettings
On the SIM details page, the preference leading to a page for
configuring wifi calling will appear based on the results of the
MobileNetworkUtils#isWifiCallingEnabled helper function. That helper
uses the ImsManager to check several conditions, among them both
isWfcEnabledByPlatform and isWfcProvisionedOnDevice.

The page for configuring wifi calling has a tabbed UX, with one tab for
each active subscription that supports it. The WifiCallingSettings class
gets a list of the active subscriptions to determine which tabs to show,
and removes any that don't support wifi calling, but was only using the
isWfcEnabledByPlatform test to do so. This is a problem because the code
for showing the contents inside the tab, in WifiCallingSettingsForSub,
includes a sanity check of isWfcProvisionedOnDevice and calls finish()
if that returns false.

What this meant in practice is that if you happened to have 2
subscriptions where one returns true for both isWfcEnabledByPlatform and
isWfcProvisionedOnDevice, but the other only returned true for
isWfcEnabledByPlatform, then you'd never be able to succesfully use the
wifi calling page at all because the tab for the subscription you
*aren't* trying to configure would always call finish() early.

The right long term solution to this problem is probably to remove the
tabbed UX entirely from this page, since we probably don't need it given
the overall new multi-SIM UX. But there may still be legacy uses and
that is likely a bigger change than we want to make right now.

As a stopgap, this CL just adds a check of isWfcProvisionedOnDevice to
the code for filtering out ineligible subscriptions from the tabbed
interface, which we should have always had anyway.

Fixes: 135591718
Test: make RunSettingsRoboTests
Change-Id: I656c3d3fb30cb6fabcb86685eae38c5f0cd0c6f2
2019-06-25 14:16:53 -07:00
Brad Ebinger
6acceb3cd1 Merge "Fix issue that user can't edit WFC mode for SIM2" am: d2727d5d9f
am: c91d33798b

Bug: 117193148
Test: manual CP
Merged-In: Icb3bd924f9e8e3e2e82845ab85ef25c2e38e13dc
Change-Id: Icb3bd924f9e8e3e2e82845ab85ef25c2e38e13dc
(cherry picked from commit ac4a495fc2)
2019-04-11 00:37:37 +00:00
Antony Sargent
02db2ef9b6 Go to the correct subscription in WifiCallingSettings
For subscriptions that support wifi calling, we have a preference on the
mobile network details page which leads to a Wifi Calling page. That
page already supports the concept of multiple subscriptions with a
header strip containing a tab for each subscription that supports wifi
calling. However, we were not necessarily selecting the *correct* tab
when going to this page. So you might be viewing the mobile network
details for subscription B and click on "Wifi Calling", only to land on
the page with the tab for subscription A selected.

This CL fixes the problem by adding an extra with the current
subscription id to the Preference's intent in
WifiCallingPreferenceController, and then reads that extra in
WifiCallingSettings and uses it to select the appropriate tab.

Fixes: 117135894
Test: make RunSettingsRoboTests
Change-Id: I3aec30072712247d14fe0fb6b61207535f9e981c
2019-04-09 16:08:04 -07:00
Hao Zhang
ec20de3eba Show the disclaimer for WFC emergency call limitation
The emergency calls might not work properly via wifi calling, especially
in areas with no 2G/3G coverage. Display the disclaimer for the this
limitation when a user enabled the wifi calling setting.

Test: manual - Checked that the disclaimer for emergency call limitation
is shown when changing wifi calling setting to turned on.
Test: auto - Passed EmergencyCallLimitationDisclaimerTest.
Bug: 68115846

Change-Id: I881d479c1e02525ac614c66594637a5e0347d70c
2019-04-01 17:09:41 -07:00
Yong Shi
a37337349c Show the disclaimer regarding WFC location privacy policy
In some countries the rules is very strict about responsibility and
liability around location data during emergency calls. The purpose of
this feature is to notify end user that the location information will
be shared for calls over wifi calling.

Test: manual - Checked that WFC locatopn privacy policy is shown when
changing wifi calling setting to turned on.
Test: auto - Passed LocationPolicyDisclaimerTest.
Bug: 67872298

Change-Id: I03895743fb8da95269069ad7eda9a7b3e282857e
2019-03-18 20:42:04 +00:00