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

Commit 7d18ceb5 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

Removing permission check in ConnectionService.

This breaks RemoteConnectionServices, such as hangouts.

Bug: 16171070
Change-Id: I9b53fefe9c3246abb1e9e11109957fb2f8502de8
parent a2897ea9
Loading
Loading
Loading
Loading
+0 −22
Original line number Original line Diff line number Diff line
@@ -16,7 +16,6 @@


package android.telecomm;
package android.telecomm;


import android.Manifest;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant;
import android.app.PendingIntent;
import android.app.PendingIntent;
import android.app.Service;
import android.app.Service;
@@ -27,8 +26,6 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
import android.os.Looper;
import android.os.Looper;
import android.os.Message;
import android.os.Message;
import android.os.Parcel;
import android.os.RemoteException;
import android.telephony.DisconnectCause;
import android.telephony.DisconnectCause;


import com.android.internal.os.SomeArgs;
import com.android.internal.os.SomeArgs;
@@ -83,18 +80,6 @@ public abstract class ConnectionService extends Service {
    private final ConnectionServiceAdapter mAdapter = new ConnectionServiceAdapter();
    private final ConnectionServiceAdapter mAdapter = new ConnectionServiceAdapter();


    private final IBinder mBinder = new IConnectionService.Stub() {
    private final IBinder mBinder = new IConnectionService.Stub() {
        /**
         * Enforces the requirement that all calls into the ConnectionService require the
         * {@code BIND_CONNECTION_SERVICE} permission.
         */
        @Override
        public boolean onTransact(int code, Parcel data, Parcel reply,
                int flags) throws RemoteException
        {
            enforceBindConnectionServicePermission();
            return super.onTransact(code, data, reply, flags);
        }

        @Override
        @Override
        public void addConnectionServiceAdapter(IConnectionServiceAdapter adapter) {
        public void addConnectionServiceAdapter(IConnectionServiceAdapter adapter) {
            mHandler.obtainMessage(MSG_ADD_CONNECTION_SERVICE_ADAPTER, adapter).sendToTarget();
            mHandler.obtainMessage(MSG_ADD_CONNECTION_SERVICE_ADAPTER, adapter).sendToTarget();
@@ -844,11 +829,4 @@ public abstract class ConnectionService extends Service {
        Log.w(this, "%s - Cannot find Connection %s", action, callId);
        Log.w(this, "%s - Cannot find Connection %s", action, callId);
        return Connection.getNullConnection();
        return Connection.getNullConnection();
    }
    }

    /**
     * Enforces the {@code BIND_CONNECTION_SERVICE} permission for connection service calls.
     */
    private void enforceBindConnectionServicePermission() {
        enforceCallingPermission(Manifest.permission.BIND_CONNECTION_SERVICE, null);
    }
}
}