diff options
| author | 2010-08-25 19:26:31 -0700 | |
|---|---|---|
| committer | 2010-08-25 19:26:31 -0700 | |
| commit | 5e0d833710aaba2562f39eb8021a4289bc3bcc5a (patch) | |
| tree | 0aa776e0c3d9eec85d1148304f9938f7b0acbed0 | |
| parent | 5a54e98022d640900f94102c077d8dff447f3c76 (diff) | |
| parent | ea52d35e5685094f4d2cca5012239bde66f2c4fe (diff) | |
am ea52d35e: Merge "Add dynamic uid info for tracking the sip service usage." into gingerbread
Merge commit 'ea52d35e5685094f4d2cca5012239bde66f2c4fe' into gingerbread-plus-aosp
* commit 'ea52d35e5685094f4d2cca5012239bde66f2c4fe':
Add dynamic uid info for tracking the sip service usage.
| -rw-r--r-- | services/java/com/android/server/sip/SipService.java | 15 | ||||
| -rw-r--r-- | voip/java/android/net/sip/SipProfile.java | 19 |
2 files changed, 24 insertions, 10 deletions
diff --git a/services/java/com/android/server/sip/SipService.java b/services/java/com/android/server/sip/SipService.java index 1142136418c8..3dcaff6bbc62 100644 --- a/services/java/com/android/server/sip/SipService.java +++ b/services/java/com/android/server/sip/SipService.java @@ -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); diff --git a/voip/java/android/net/sip/SipProfile.java b/voip/java/android/net/sip/SipProfile.java index ec8d0ed2c395..6c99141b7d43 100644 --- a/voip/java/android/net/sip/SipProfile.java +++ b/voip/java/android/net/sip/SipProfile.java @@ -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; + } } |