CTS to ensure telecom can bind to NonUiInCallService wo export prop.
This CL is a postmortem action which is detailed in the linked bug.
In short, an OEM had the telecom stack outside of the system process
and had a non-ui InCallService it wanted to bind. However, the
InCallService set the Exported property to false. This combo caused
a calling outage that prevented users from making/receiving calls.
To prevent the above scenaro from occuring again, this new CTS test
was created. It tests the Telecom stack of the OEM against a
non-ui InCallService that has it's exported property set to false.
Bug: 198715680
Test: 1 new CTS test,
NonUiInCallServiceWoExportTest
#testTelecomCanBindToNonUiInCallServiceThatIsNotExported
Change-Id: I5b99aa9c7e989a1c20a7b086f65782286a8be575
This commit is contained in:
@@ -76,6 +76,8 @@ public final class Telecom extends BaseCommand {
|
||||
private static final String COMMAND_CLEANUP_ORPHAN_PHONE_ACCOUNTS =
|
||||
"cleanup-orphan-phone-accounts";
|
||||
private static final String COMMAND_RESET_CAR_MODE = "reset-car-mode";
|
||||
private static final String COMMAND_IS_NON_IN_CALL_SERVICE_BOUND =
|
||||
"is-non-ui-in-call-service-bound";
|
||||
|
||||
/**
|
||||
* Change the system dialer package name if a package name was specified,
|
||||
@@ -169,6 +171,8 @@ public final class Telecom extends BaseCommand {
|
||||
+ " over Telephony.\n"
|
||||
+ "telecom log-mark <MESSAGE>: emits a message into the telecom logs. Useful for "
|
||||
+ "testers to indicate where in the logs various test steps take place.\n"
|
||||
+ "telecom is-non-ui-in-call-service-bound <PACKAGE>: queries a particular "
|
||||
+ "non-ui-InCallService in InCallController to determine if it is bound \n"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -270,6 +274,9 @@ public final class Telecom extends BaseCommand {
|
||||
case COMMAND_GET_MAX_PHONES:
|
||||
runGetMaxPhones();
|
||||
break;
|
||||
case COMMAND_IS_NON_IN_CALL_SERVICE_BOUND:
|
||||
runIsNonUiInCallServiceBound();
|
||||
break;
|
||||
case COMMAND_SET_TEST_EMERGENCY_PHONE_ACCOUNT_PACKAGE_FILTER:
|
||||
runSetEmergencyPhoneAccountPackageFilter();
|
||||
break;
|
||||
@@ -427,6 +434,18 @@ public final class Telecom extends BaseCommand {
|
||||
mTelephonyManager.switchMultiSimConfig(numSims);
|
||||
}
|
||||
|
||||
/**
|
||||
* prints out whether a particular non-ui InCallServices is bound in a call
|
||||
*/
|
||||
public void runIsNonUiInCallServiceBound() throws RemoteException {
|
||||
if (TextUtils.isEmpty(mArgs.peekNextArg())) {
|
||||
System.out.println("No Argument passed. Please pass a <PACKAGE_NAME> to lookup.");
|
||||
} else {
|
||||
System.out.println(
|
||||
String.valueOf(mTelecomService.isNonUiInCallServiceBound(nextArg())));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the mSIM config to the console.
|
||||
* "DSDS" for a phone in DSDS mode
|
||||
|
||||
@@ -358,6 +358,8 @@ interface ITelecomService {
|
||||
|
||||
int cleanupOrphanPhoneAccounts();
|
||||
|
||||
boolean isNonUiInCallServiceBound(in String packageName);
|
||||
|
||||
void resetCarMode();
|
||||
|
||||
void setTestDefaultCallRedirectionApp(String packageName);
|
||||
|
||||
Reference in New Issue
Block a user