summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-chi Yeh <chiachi@android.com>2011-07-15 12:00:55 -0700
committerChia-chi Yeh <chiachi@android.com>2011-07-15 12:10:48 -0700
commit339abf1fbac25321cea9d39de14b6a6b4e326120 (patch)
tree725bfba5775e8d9baeb3498ddfca012bdbc63d9b
parentf9284695e8c10dad4daf3d2c84f607483bcb56ca (diff)
downloadframeworks_base-339abf1fbac25321cea9d39de14b6a6b4e326120.zip
frameworks_base-339abf1fbac25321cea9d39de14b6a6b4e326120.tar.gz
frameworks_base-339abf1fbac25321cea9d39de14b6a6b4e326120.tar.bz2
VpnDialogs: enforce calling permissions.
Change-Id: I1bb3bd4616309f091ef653ee246b97b1a006a225
-rw-r--r--packages/VpnDialogs/AndroidManifest.xml1
-rw-r--r--packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java8
2 files changed, 8 insertions, 1 deletions
diff --git a/packages/VpnDialogs/AndroidManifest.xml b/packages/VpnDialogs/AndroidManifest.xml
index c0b0a08..8554b77 100644
--- a/packages/VpnDialogs/AndroidManifest.xml
+++ b/packages/VpnDialogs/AndroidManifest.xml
@@ -4,6 +4,7 @@
<application android:label="VpnDialogs">
<activity android:name=".ConfirmDialog"
+ android:permission="android.permission.VPN"
android:theme="@style/transparent">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java
index 21e916b..40c0a02 100644
--- a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java
+++ b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java
@@ -58,6 +58,13 @@ public class ManageDialog extends Activity implements Handler.Callback,
@Override
protected void onResume() {
super.onResume();
+
+ if (getCallingPackage() != null) {
+ Log.e(TAG, getCallingPackage() + " cannot start this activity");
+ finish();
+ return;
+ }
+
try {
mConfig = getIntent().getParcelableExtra("config");
@@ -83,7 +90,6 @@ public class ManageDialog extends Activity implements Handler.Callback,
} else {
PackageManager pm = getPackageManager();
ApplicationInfo app = pm.getApplicationInfo(mConfig.packagz, 0);
-
mDialog = new AlertDialog.Builder(this)
.setIcon(app.loadIcon(pm))
.setTitle(app.loadLabel(pm))