Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05e03e8c authored by Brad Ebinger's avatar Brad Ebinger Committed by android-build-merger
Browse files

Merge "Add Telecom command for setting connectionservice filter"

am: 25f4dca6

Change-Id: I00ba7ce3b64f4680eaf8798c52d98318160b45f0
parents b7cdf14a 25f4dca6
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2895,6 +2895,14 @@ package android.telephony {

}

package android.telephony.emergency {

  public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
    field public static final int EMERGENCY_NUMBER_SOURCE_TEST = 32; // 0x20
  }

}

package android.telephony.mbms {

  public static class DownloadRequest.Builder {
+53 −12
Original line number Diff line number Diff line
@@ -78,6 +78,8 @@ public final class Telecom extends BaseCommand {
    private static final String COMMAND_SET_SIM_COUNT = "set-sim-count";
    private static final String COMMAND_GET_SIM_CONFIG = "get-sim-config";
    private static final String COMMAND_GET_MAX_PHONES = "get-max-phones";
    private static final String COMMAND_SET_TEST_EMERGENCY_PHONE_ACCOUNT_PACKAGE_FILTER =
            "set-test-emergency-phone-account-package-filter";

    private ComponentName mComponent;
    private String mAccountId;
@@ -91,7 +93,10 @@ public final class Telecom extends BaseCommand {
                + "usage: telecom set-phone-account-enabled <COMPONENT> <ID> <USER_SN>\n"
                + "usage: telecom set-phone-account-disabled <COMPONENT> <ID> <USER_SN>\n"
                + "usage: telecom register-phone-account <COMPONENT> <ID> <USER_SN> <LABEL>\n"
                + "usage: telecom set-user-selected-outgoing-phone-account <COMPONENT> <ID> "
                + "usage: telecom register-sim-phone-account [-e] <COMPONENT> <ID> <USER_SN>"
                        + " <LABEL>: registers a PhoneAccount with CAPABILITY_SIM_SUBSCRIPTION"
                        + " and optionally CAPABILITY_PLACE_EMERGENCY_CALLS if \"-e\" is provided\n"
                + "usage: telecom set-user-selected-outgoing-phone-account [-e] <COMPONENT> <ID> "
                + "<USER_SN>\n"
                + "usage: telecom set-test-call-redirection-app <PACKAGE>\n"
                + "usage: telecom set-test-call-screening-app <PACKAGE>\n"
@@ -108,6 +113,7 @@ public final class Telecom extends BaseCommand {
                + "usage: telecom set-sim-count <COUNT>\n"
                + "usage: telecom get-sim-config\n"
                + "usage: telecom get-max-phones\n"
                + "usage: telecom set-emer-phone-account-filter <PACKAGE>\n"
                + "\n"
                + "telecom set-phone-account-enabled: Enables the given phone account, if it has"
                        + " already been registered with Telecom.\n"
@@ -121,6 +127,8 @@ public final class Telecom extends BaseCommand {
                + "telecom get-default-dialer: Displays the current default dialer.\n"
                + "\n"
                + "telecom get-system-dialer: Displays the current system dialer.\n"
                + "telecom set-system-dialer: Set the override system dialer to the given"
                        + " component. To remove the override, send \"default\"\n"
                + "\n"
                + "telecom wait-on-handlers: Wait until all handlers finish their work.\n"
                + "\n"
@@ -131,6 +139,10 @@ public final class Telecom extends BaseCommand {
                        + " or \"\" for single SIM\n"
                + "\n"
                + "telecom get-max-phones: Get the max supported phones from the modem.\n"
                + "telecom set-test-emergency-phone-account-package-filter <PACKAGE>: sets a"
                        + " package name that will be used for test emergency calls. To clear,"
                        + " send an empty package name. Real emergency calls will still be placed"
                        + " over Telephony.\n"
        );
    }

@@ -219,6 +231,9 @@ public final class Telecom extends BaseCommand {
            case COMMAND_GET_MAX_PHONES:
                runGetMaxPhones();
                break;
            case COMMAND_SET_TEST_EMERGENCY_PHONE_ACCOUNT_PACKAGE_FILTER:
                runSetEmergencyPhoneAccountPackageFilter();
                break;
            default:
                Log.w(this, "onRun: unknown command: %s", command);
                throw new IllegalArgumentException ("unknown command '" + command + "'");
@@ -245,15 +260,27 @@ public final class Telecom extends BaseCommand {
    }

    private void runRegisterSimPhoneAccount() throws RemoteException {
        boolean isEmergencyAccount = false;
        String opt;
        while ((opt = nextOption()) != null) {
            switch (opt) {
                case "-e": {
                    isEmergencyAccount = true;
                    break;
                }
            }
        }
        final PhoneAccountHandle handle = getPhoneAccountHandleFromArgs();
        final String label = nextArgRequired();
        final String address = nextArgRequired();
        int capabilities = PhoneAccount.CAPABILITY_CALL_PROVIDER
                | PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION
                | (isEmergencyAccount ? PhoneAccount.CAPABILITY_PLACE_EMERGENCY_CALLS : 0);
        PhoneAccount account = PhoneAccount.builder(
            handle, label)
                .setAddress(Uri.parse(address))
                .setSubscriptionAddress(Uri.parse(address))
            .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER |
                    PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)
                .setCapabilities(capabilities)
                .setShortDescription(label)
                .addSupportedUriScheme(PhoneAccount.SCHEME_TEL)
                .addSupportedUriScheme(PhoneAccount.SCHEME_VOICEMAIL)
@@ -309,9 +336,11 @@ public final class Telecom extends BaseCommand {
    }

    private void runSetSystemDialer() throws RemoteException {
        final String packageName = nextArg();
        mTelecomService.setSystemDialerPackage(packageName.equals("default") ? null : packageName);
        System.out.println("Success - " + packageName + " set as override system dialer.");
        final String flatComponentName = nextArg();
        final ComponentName componentName = (flatComponentName.equals("default")
                ? null : parseComponentName(flatComponentName));
        mTelecomService.setSystemDialer(componentName);
        System.out.println("Success - " + componentName + " set as override system dialer.");
    }

    private void runGetDefaultDialer() throws RemoteException {
@@ -355,6 +384,18 @@ public final class Telecom extends BaseCommand {
        }
    }

    private void runSetEmergencyPhoneAccountPackageFilter() throws RemoteException {
        String packageName = mArgs.getNextArg();
        if (TextUtils.isEmpty(packageName)) {
            mTelecomService.setTestEmergencyPhoneAccountPackageNameFilter(null);
            System.out.println("Success - filter cleared");
        } else {
            mTelecomService.setTestEmergencyPhoneAccountPackageNameFilter(packageName);
            System.out.println("Success = filter set to " + packageName);
        }

    }

    private PhoneAccountHandle getPhoneAccountHandleFromArgs() throws RemoteException {
        if (TextUtils.isEmpty(mArgs.peekNextArg())) {
            return null;
+3 −2
Original line number Diff line number Diff line
@@ -2059,12 +2059,13 @@ public class TelecomManager {
    /**
     * Handles {@link Intent#ACTION_CALL} intents trampolined from UserCallActivity.
     * @param intent The {@link Intent#ACTION_CALL} intent to handle.
     * @param callingPackageProxy The original package that called this before it was trampolined.
     * @hide
     */
    public void handleCallIntent(Intent intent) {
    public void handleCallIntent(Intent intent, String callingPackageProxy) {
        try {
            if (isServiceConnected()) {
                getTelecomService().handleCallIntent(intent);
                getTelecomService().handleCallIntent(intent, callingPackageProxy);
            }
        } catch (RemoteException e) {
            Log.e(TAG, "RemoteException handleCallIntent: " + e);
+8 −3
Original line number Diff line number Diff line
@@ -281,6 +281,11 @@ interface ITelecomService {
     */
    void acceptHandover(in Uri srcAddr, int videoState, in PhoneAccountHandle destAcct);

    /**
     * @see TelecomServiceImpl#setTestEmergencyPhoneAccountPackageNameFilter
     */
    void setTestEmergencyPhoneAccountPackageNameFilter(String packageName);

    /**
     * @see TelecomServiceImpl#isInEmergencyCall
     */
@@ -289,7 +294,7 @@ interface ITelecomService {
    /**
     * @see TelecomServiceImpl#handleCallIntent
     */
    void handleCallIntent(in Intent intent);
    void handleCallIntent(in Intent intent, in String callingPackageProxy);

    void setTestDefaultCallRedirectionApp(String packageName);

@@ -302,9 +307,9 @@ interface ITelecomService {
    void setTestAutoModeApp(String packageName);

    /**
     * @see TelecomServiceImpl#setSystemDialerPackage
     * @see TelecomServiceImpl#setSystemDialer
     */
    void setSystemDialerPackage(in String packageName);
    void setSystemDialer(in ComponentName testComponentName);

    /**
     * @see TelecomServiceImpl#setTestDefaultDialer
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.telephony.emergency;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.TestApi;
import android.hardware.radio.V1_4.EmergencyNumberSource;
import android.hardware.radio.V1_4.EmergencyServiceCategory;
import android.os.Parcel;
@@ -184,6 +185,7 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu
     *
     * @hide
     */
    @TestApi
    public static final int EMERGENCY_NUMBER_SOURCE_TEST =  1 << 5;
    /** Bit-field which indicates the number is from the modem config. */
    public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG =