summaryrefslogtreecommitdiffstats
path: root/voip
diff options
context:
space:
mode:
authorChung-yih Wang <cywang@google.com>2010-10-10 14:21:18 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-10 14:21:18 -0700
commite06be941185e33392dde3dcaba85c67ce5423578 (patch)
tree03efa10e558920189beaed1de2c4461f713e88b7 /voip
parent615e2fa1755ea3b6b8196f783842cd394ad3beb2 (diff)
parent77880ae4187d92506848249585687fc9d0c0dd25 (diff)
downloadframeworks_base-e06be941185e33392dde3dcaba85c67ce5423578.zip
frameworks_base-e06be941185e33392dde3dcaba85c67ce5423578.tar.gz
frameworks_base-e06be941185e33392dde3dcaba85c67ce5423578.tar.bz2
am 77880ae4: am 44b7ef54: Merge "SipService: add permission check for using API" into gingerbread
Merge commit '77880ae4187d92506848249585687fc9d0c0dd25' * commit '77880ae4187d92506848249585687fc9d0c0dd25': SipService: add permission check for using API
Diffstat (limited to 'voip')
-rw-r--r--voip/java/com/android/server/sip/SipService.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/voip/java/com/android/server/sip/SipService.java b/voip/java/com/android/server/sip/SipService.java
index 1fa2400..db1931b 100644
--- a/voip/java/com/android/server/sip/SipService.java
+++ b/voip/java/com/android/server/sip/SipService.java
@@ -123,6 +123,8 @@ public final class SipService extends ISipService.Stub {
}
public synchronized SipProfile[] getListOfProfiles() {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
boolean isCallerRadio = isCallerRadio();
ArrayList<SipProfile> profiles = new ArrayList<SipProfile>();
for (SipSessionGroupExt group : mSipGroups.values()) {
@@ -134,6 +136,8 @@ public final class SipService extends ISipService.Stub {
}
public void open(SipProfile localProfile) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
localProfile.setCallingUid(Binder.getCallingUid());
try {
createGroup(localProfile);
@@ -146,6 +150,8 @@ public final class SipService extends ISipService.Stub {
public synchronized void open3(SipProfile localProfile,
PendingIntent incomingCallPendingIntent,
ISipSessionListener listener) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
localProfile.setCallingUid(Binder.getCallingUid());
if (incomingCallPendingIntent == null) {
Log.w(TAG, "incomingCallPendingIntent cannot be null; "
@@ -159,7 +165,7 @@ public final class SipService extends ISipService.Stub {
incomingCallPendingIntent, listener);
if (localProfile.getAutoRegistration()) {
group.openToReceiveCalls();
- if (isWifiOn()) grabWifiLock();
+ if (isWifiActive()) grabWifiLock();
}
} catch (SipException e) {
Log.e(TAG, "openToReceiveCalls()", e);
@@ -181,6 +187,8 @@ public final class SipService extends ISipService.Stub {
}
public synchronized void close(String localProfileUri) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
SipSessionGroupExt group = mSipGroups.get(localProfileUri);
if (group == null) return;
if (!isCallerCreatorOrRadio(group)) {
@@ -191,10 +199,12 @@ public final class SipService extends ISipService.Stub {
group = mSipGroups.remove(localProfileUri);
notifyProfileRemoved(group.getLocalProfile());
group.close();
- if (isWifiOn() && !anyOpened()) releaseWifiLock();
+ if (isWifiActive() && !anyOpened()) releaseWifiLock();
}
public synchronized boolean isOpened(String localProfileUri) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
SipSessionGroupExt group = mSipGroups.get(localProfileUri);
if (group == null) return false;
if (isCallerCreatorOrRadio(group)) {
@@ -206,6 +216,8 @@ public final class SipService extends ISipService.Stub {
}
public synchronized boolean isRegistered(String localProfileUri) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
SipSessionGroupExt group = mSipGroups.get(localProfileUri);
if (group == null) return false;
if (isCallerCreatorOrRadio(group)) {
@@ -218,6 +230,8 @@ public final class SipService extends ISipService.Stub {
public synchronized void setRegistrationListener(String localProfileUri,
ISipSessionListener listener) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
SipSessionGroupExt group = mSipGroups.get(localProfileUri);
if (group == null) return;
if (isCallerCreator(group)) {
@@ -229,6 +243,8 @@ public final class SipService extends ISipService.Stub {
public synchronized ISipSession createSession(SipProfile localProfile,
ISipSessionListener listener) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
localProfile.setCallingUid(Binder.getCallingUid());
if (!mConnected) return null;
try {
@@ -241,6 +257,8 @@ public final class SipService extends ISipService.Stub {
}
public synchronized ISipSession getPendingSession(String callId) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.USE_SIP, null);
if (callId == null) return null;
return mPendingSessions.get(callId);
}
@@ -330,9 +348,8 @@ public final class SipService extends ISipService.Stub {
}
}
- private boolean isWifiOn() {
+ private boolean isWifiActive() {
return "WIFI".equalsIgnoreCase(mNetworkType);
- //return (mConnected && "WIFI".equalsIgnoreCase(mNetworkType));
}
private synchronized void onConnectivityChanged(