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

Commit ea52d35e authored by Chung-yih Wang's avatar Chung-yih Wang Committed by Android (Google) Code Review
Browse files

Merge "Add dynamic uid info for tracking the sip service usage." into gingerbread

parents 6947cc59 5424c8dc
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.net.sip.SipProfile;
import android.net.sip.SipSessionAdapter;
import android.net.sip.SipSessionState;
import android.net.wifi.WifiManager;
import android.os.Binder;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -97,6 +98,7 @@ public final class SipService extends ISipService.Stub {
    }

    public void open(SipProfile localProfile) {
        localProfile.setCallingUid(Binder.getCallingUid());
        if (localProfile.getAutoRegistration()) {
            openToReceiveCalls(localProfile);
        } else {
@@ -119,6 +121,7 @@ public final class SipService extends ISipService.Stub {

    public synchronized void open3(SipProfile localProfile,
            String incomingCallBroadcastAction, ISipSessionListener listener) {
        localProfile.setCallingUid(Binder.getCallingUid());
        if (TextUtils.isEmpty(incomingCallBroadcastAction)) {
            throw new RuntimeException(
                    "empty broadcast action for incoming call");
@@ -165,6 +168,7 @@ public final class SipService extends ISipService.Stub {

    public synchronized ISipSession createSession(SipProfile localProfile,
            ISipSessionListener listener) {
        localProfile.setCallingUid(Binder.getCallingUid());
        if (!mConnected) return null;
        try {
            SipSessionGroupExt group = createGroup(localProfile);
@@ -362,16 +366,7 @@ public final class SipService extends ISipService.Stub {

        private SipProfile duplicate(SipProfile p) {
            try {
                return new SipProfile.Builder(p.getUserName(), p.getSipDomain())
                        .setProfileName(p.getProfileName())
                        .setPassword("*")
                        .setPort(p.getPort())
                        .setProtocol(p.getProtocol())
                        .setOutboundProxy(p.getProxyAddress())
                        .setSendKeepAlive(p.getSendKeepAlive())
                        .setAutoRegistration(p.getAutoRegistration())
                        .setDisplayName(p.getDisplayName())
                        .build();
                return new SipProfile.Builder(p).setPassword("*").build();
            } catch (Exception e) {
                Log.wtf(TAG, "duplicate()", e);
                throw new RuntimeException("duplicate profile", e);
+19 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ public class SipProfile implements Parcelable, Serializable, Cloneable {
    private boolean mSendKeepAlive = false;
    private boolean mAutoRegistration = true;
    private boolean mAllowOutgoingCall = false;
    private int mCallingUid = -1;

    /** @hide */
    public static final Parcelable.Creator<SipProfile> CREATOR =
@@ -293,6 +294,7 @@ public class SipProfile implements Parcelable, Serializable, Cloneable {
        mSendKeepAlive = (in.readInt() == 0) ? false : true;
        mAutoRegistration = (in.readInt() == 0) ? false : true;
        mAllowOutgoingCall = (in.readInt() == 0) ? false : true;
        mCallingUid = in.readInt();
    }

    /** @hide */
@@ -306,6 +308,7 @@ public class SipProfile implements Parcelable, Serializable, Cloneable {
        out.writeInt(mSendKeepAlive ? 1 : 0);
        out.writeInt(mAutoRegistration ? 1 : 0);
        out.writeInt(mAllowOutgoingCall ? 1 : 0);
        out.writeInt(mCallingUid);
    }

    /** @hide */
@@ -437,4 +440,20 @@ public class SipProfile implements Parcelable, Serializable, Cloneable {
    public boolean isOutgoingCallAllowed() {
        return mAllowOutgoingCall;
    }

    /**
     * Sets the calling process's Uid in the sip service.
     * @hide
     */
    public void setCallingUid(int uid) {
        mCallingUid = uid;
    }

    /**
     * Gets the calling process's Uid in the sip settings.
     * @hide
     */
    public int getCallingUid() {
        return mCallingUid;
    }
}