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

Commit 6be5e8c2 authored by Santos Cordon's avatar Santos Cordon
Browse files

Use new telecom PhoneAccount registration permissions.

Bug: 18106506
Change-Id: Ic825b44c2dc42709073a3990f6a7ca8e372025e9
parent 6e2b94ea
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -50,11 +50,6 @@ import java.util.List;
 * Implementation of the ITelecom interface.
 */
public class TelecomServiceImpl extends ITelecomService.Stub {
    private static final String REGISTER_PROVIDER_OR_SUBSCRIPTION =
            android.Manifest.permission.REGISTER_PROVIDER_OR_SUBSCRIPTION;
    private static final String REGISTER_CONNECTION_MANAGER =
            android.Manifest.permission.REGISTER_CONNECTION_MANAGER;

    /** The context. */
    private Context mContext;

@@ -303,9 +298,11 @@ public class TelecomServiceImpl extends ITelecomService.Stub {
        try {
            enforcePhoneAccountModificationForPackage(
                    account.getAccountHandle().getComponentName().getPackageName());
            if (account.hasCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER) ||
                account.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
                enforceRegisterProviderOrSubscriptionPermission();
            if (account.hasCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)) {
                enforceRegisterCallProviderPermission();
            }
            if (account.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
                enforceRegisterSimSubscriptionPermission();
            }
            if (account.hasCapabilities(PhoneAccount.CAPABILITY_CONNECTION_MANAGER)) {
                enforceRegisterConnectionManagerPermission();
@@ -597,12 +594,16 @@ public class TelecomServiceImpl extends ITelecomService.Stub {
        enforceFeature(PackageManager.FEATURE_CONNECTION_SERVICE);
    }

    private void enforceRegisterProviderOrSubscriptionPermission() {
        enforcePermission(REGISTER_PROVIDER_OR_SUBSCRIPTION);
    private void enforceRegisterCallProviderPermission() {
        enforcePermission(android.Manifest.permission.REGISTER_CALL_PROVIDER);
    }

    private void enforceRegisterSimSubscriptionPermission() {
        enforcePermission(android.Manifest.permission.REGISTER_SIM_SUBSCRIPTION);
    }

    private void enforceRegisterConnectionManagerPermission() {
        enforcePermission(REGISTER_CONNECTION_MANAGER);
        enforcePermission(android.Manifest.permission.REGISTER_CONNECTION_MANAGER);
    }

    private void enforceReadPermission() {
+2 −2
Original line number Diff line number Diff line
@@ -21,9 +21,9 @@

    <!-- Test connection service outgoing video preview. -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission
            android:name="com.android.server.telecom.permission.REGISTER_PROVIDER_OR_SUBSCRIPTION" />
    <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" />
    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
    <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />

    <application android:label="@string/app_name"
                 android:debuggable="true">