Commit Graph

62 Commits

Author SHA1 Message Date
changbetty
e231e87e80 Add setPackage for PendingIntent in SliceHelper
Bug: 151645867
Bug: 151646375
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiCallingSliceHelperTest
      make RunSettingsRoboTests ROBOTEST_FILTER=Enhanced4gLteSliceHelperTest
Change-Id: I33c1333f9b5472cdb962b272f6be52a2d2959376
2020-05-08 17:28:45 +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
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
Fan Zhang
2014d16e46 Fix robotests
Fixes: 128536554
Test: rerun robotests
Change-Id: Ife81f9d161fc416a63a9b2f04ce2ae4f9a1e74db
2019-03-13 14:31:43 -07:00
Hall Liu
843290ccb8 Merge "Add description for Wi-Fi calling mode" 2019-03-12 01:40:43 +00:00
Kazuya Ohshiro
c449048ac1 Add description for Wi-Fi calling mode
Replace the view of dialog with custom view that adds description
as summary.

Test: manual
Bug: 34793636
Change-Id: If9792b0a35c59c1260176b4b2c62107861de73b5
2019-03-11 13:21:51 -07:00
Kitta Koutarou
994d27a2a5 WFC roaming mode setting can not be used with a fixed value
WFC roaming mode setting can not be used with a fixed value because it
is changed as WFC home mode changes if
KEY_EDITABLE_WFC_ROAMING_MODE_BOOL is false.

To solve this issue, separate the WFC mode setting of home and roaming.
These can switch behavior by new carrier config
KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL.

Test: manual - Checked that WFC roaming mode is hidden if new config is
true.
Test: manual - Checked that WFC roaming mode is also changed when
change the WFC home mode if new config is true.
Test: auto - Passed WifiCallingSettingsForSubTest.
Bug: 79666081

Change-Id: Ib2363c5d50f5231cc89f287d760ca8728b02b249
2019-03-06 09:49:25 -08:00
tmfang
8b414c9a14 Fix some test cases fail
Test: robo test
Fixes: 125599276
Change-Id: I4b1b15f69ff3021e4330bed49ac95ea871b98e92
2019-02-22 17:37:04 +08:00
Youming Ye
da9e92c4f7 Merge "Fix issue that the wifi calling text cannot be customized based on sim" 2019-02-22 01:55:59 +00:00
Torbjorn Eklund
69dbf4bf84 Close Wi-Fi Calling screen if provisioning status changes to disallow
Starts to listen for provisioning changes in Wi-Fi Calling screen and
closes the screen if the Wi-Fi Calling provisioning status changes to
disallow.

This prevents the Wi-Fi Calling screen from being kept open if the Wi-Fi
Calling provisioning status is changed to disallow while the Wi-Fi
Calling screen is open.

Bug: 119389855
Test: make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Change-Id: I2af91c3734274f0aea942a8bb894d6f4ce295354
2019-02-12 15:49:12 -08:00
Wenting Xiong
af5c05392b Fix issue that the wifi calling text cannot be customized based on sim
Some carriers have requirements that the wifi calling text should be
customizable. However, the resources for the wifi calling text are
not obtained based on sim. So it cannot be customized per sim for multi
sim device. To solve this issue, obtain the resources with specified
sim.

Test: manual - Checked that the wifi calling text could be customized
based on sim.
Bug: 117257109

Change-Id: I6b3f6b06c9cc984ee6a68a19ae317b5d1d4e48e2
2019-02-06 13:16:12 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Malcolm Chen
14dde50c3a Don't show hidden Cellular subscription in Settings.
Replace getActiveSubscriptionInfoList() with
getActiveSubscriptionInfoList(true) so that settings will not show
hidden subscriptions to the user in various pages.

Bug: 121396526
Test: manual
Change-Id: I717999fed7d3a5a037914239694bef52df7c6207
2019-01-16 00:21:30 -08:00
Raff Tsai
626c6e0b17 Replace SliceAction deprecated method
- Replace new SliceAction with SliceAction.createDeeplink() or
SliceAction.create()

Test: make RunSettingsRoboTests
Change-Id: Ied34469d2220d8220a2dcc6c2fb4d32dd9cd9b8c
Fixes: 119879284
2018-12-01 06:21:01 +08:00
Fan Zhang
53f75f0df9 Move all custom slice uris to a registry class.
Change-Id: I192320f95ac81d14c8891ce2531d603912e59f56
Fixes: 119776308
Test: robotests
2018-11-29 16:41:21 -08:00
Clown SHEN
98ce7a1a7d Merge "Launch WfcActivation with subscription ID" am: bd57f94a4c am: 74fe4a9177
am: 4f2055500a

Change-Id: I326052d639276b89859770fbe110a73f80c4a9fc
2018-11-06 23:39:50 -08:00
clownshen
95f8c6e96a Launch WfcActivation with subscription ID
For multi SIM project, need to have subscription ID information in the
intent for launching WFC activation activity.

Bug: 112826472
Test: manual test
Change-Id: I9f470c014054efa612c87ff16e574fc9fd286b3d
2018-10-31 13:28:09 +08:00
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
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
Jason Monk
fee23c456a Follow slice API finalization
Test: build
Change-Id: I5671b180a949d5038f9a73caf84a6d266ef90cfa
2018-08-09 17:03:33 -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
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
Xiangyu/Malcolm Chen
0f07f45494 Merge "Fix bug of phoneListener always listens to default subId in WFC." 2018-07-13 00:09:12 +00:00
Malcolm Chen
c68e6b3d90 Fix bug of phoneListener always listens to default subId in WFC.
In WiFi calling settings, although each WifiCallingSettingsForSub
instance has its mSubId, the mPhoneStateListener always listens to
state of default subId, which is incorrect. This is to fix that.

Bug: 109787945
Test: In DSDS device, open WFC settings. Make phone call using default
voice phone, and check that WFC setting tab of the other phone is
not greyed out.
Change-Id: I126047c6099bf156b40e0145aa55df0fdf8ef882
2018-07-12 22:32:20 +00: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
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00