diff options
Diffstat (limited to 'packages/VpnDialogs')
-rw-r--r-- | packages/VpnDialogs/Android.mk | 2 | ||||
-rw-r--r-- | packages/VpnDialogs/AndroidManifest.xml | 3 | ||||
-rw-r--r-- | packages/VpnDialogs/res/layout/confirm.xml | 9 | ||||
-rw-r--r-- | packages/VpnDialogs/res/values/strings.xml | 1 | ||||
-rw-r--r-- | packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java | 11 | ||||
-rw-r--r-- | packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java | 44 |
6 files changed, 40 insertions, 30 deletions
diff --git a/packages/VpnDialogs/Android.mk b/packages/VpnDialogs/Android.mk index 89f010a..ac84125 100644 --- a/packages/VpnDialogs/Android.mk +++ b/packages/VpnDialogs/Android.mk @@ -20,6 +20,8 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional +LOCAL_CERTIFICATE := platform + LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := VpnDialogs diff --git a/packages/VpnDialogs/AndroidManifest.xml b/packages/VpnDialogs/AndroidManifest.xml index 4e6784c..c0b0a08 100644 --- a/packages/VpnDialogs/AndroidManifest.xml +++ b/packages/VpnDialogs/AndroidManifest.xml @@ -1,5 +1,6 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.vpndialogs"> + package="com.android.vpndialogs" + android:sharedUserId="android.uid.system"> <application android:label="VpnDialogs"> <activity android:name=".ConfirmDialog" diff --git a/packages/VpnDialogs/res/layout/confirm.xml b/packages/VpnDialogs/res/layout/confirm.xml index 249b6e6..5ab6ee2 100644 --- a/packages/VpnDialogs/res/layout/confirm.xml +++ b/packages/VpnDialogs/res/layout/confirm.xml @@ -17,7 +17,8 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:padding="5mm"> <ImageView android:id="@+id/icon" android:layout_width="@android:dimen/app_icon_size" @@ -32,7 +33,7 @@ android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@id/icon" - android:padding="2mm" + android:padding="3mm" android:text="@string/warning" android:textSize="18sp"/> @@ -53,9 +54,7 @@ android:layout_alignParentRight="true" android:layout_below="@id/warning" android:text="@string/accept" - - - android:textSize="18sp" + android:textSize="20sp" android:checked="false"/> </RelativeLayout> diff --git a/packages/VpnDialogs/res/values/strings.xml b/packages/VpnDialogs/res/values/strings.xml index 8186e26..df6d36b 100644 --- a/packages/VpnDialogs/res/values/strings.xml +++ b/packages/VpnDialogs/res/values/strings.xml @@ -29,6 +29,7 @@ <string name="accept">I trust this application.</string> + <string name="legacy_title">VPN is connected</string> <string name="configure">Configure</string> <string name="disconnect">Disconnect</string> diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java index c54e719..c7b4a5f 100644 --- a/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java +++ b/packages/VpnDialogs/src/com/android/vpndialogs/ConfirmDialog.java @@ -36,7 +36,7 @@ public class ConfirmDialog extends Activity implements CompoundButton.OnCheckedC DialogInterface.OnClickListener, DialogInterface.OnDismissListener { private static final String TAG = "VpnConfirm"; - private String mPackageName; + private String mPackage; private IConnectivityManager mService; @@ -47,19 +47,19 @@ public class ConfirmDialog extends Activity implements CompoundButton.OnCheckedC protected void onResume() { super.onResume(); try { - mPackageName = getCallingPackage(); + mPackage = getCallingPackage(); mService = IConnectivityManager.Stub.asInterface( ServiceManager.getService(Context.CONNECTIVITY_SERVICE)); - if (mPackageName.equals(mService.prepareVpn(null))) { + if (mService.prepareVpn(mPackage, null)) { setResult(RESULT_OK); finish(); return; } PackageManager pm = getPackageManager(); - ApplicationInfo app = pm.getApplicationInfo(mPackageName, 0); + ApplicationInfo app = pm.getApplicationInfo(mPackage, 0); View view = View.inflate(this, R.layout.confirm, null); ((ImageView) view.findViewById(R.id.icon)).setImageDrawable(app.loadIcon(pm)); @@ -103,8 +103,7 @@ public class ConfirmDialog extends Activity implements CompoundButton.OnCheckedC @Override public void onClick(DialogInterface dialog, int which) { try { - if (which == AlertDialog.BUTTON_POSITIVE && - mPackageName.equals(mService.prepareVpn(mPackageName))) { + if (which == AlertDialog.BUTTON_POSITIVE && mService.prepareVpn(null, mPackage)) { setResult(RESULT_OK); } } catch (Exception e) { diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java index ba3f344..21e916b 100644 --- a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java +++ b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java @@ -64,26 +64,36 @@ public class ManageDialog extends Activity implements Handler.Callback, mService = IConnectivityManager.Stub.asInterface( ServiceManager.getService(Context.CONNECTIVITY_SERVICE)); - PackageManager pm = getPackageManager(); - ApplicationInfo app = pm.getApplicationInfo(mConfig.packageName, 0); - View view = View.inflate(this, R.layout.manage, null); - if (mConfig.sessionName != null) { - ((TextView) view.findViewById(R.id.session)).setText(mConfig.sessionName); + if (mConfig.session != null) { + ((TextView) view.findViewById(R.id.session)).setText(mConfig.session); } mDuration = (TextView) view.findViewById(R.id.duration); mDataTransmitted = (TextView) view.findViewById(R.id.data_transmitted); mDataReceived = (TextView) view.findViewById(R.id.data_received); - mDialog = new AlertDialog.Builder(this) - .setIcon(app.loadIcon(pm)) - .setTitle(app.loadLabel(pm)) - .setView(view) - .setNeutralButton(R.string.disconnect, this) - .setNegativeButton(android.R.string.cancel, this) - .create(); + if (mConfig.packagz.equals(VpnConfig.LEGACY_VPN)) { + mDialog = new AlertDialog.Builder(this) + .setIcon(android.R.drawable.ic_dialog_info) + .setTitle(R.string.legacy_title) + .setView(view) + .setNeutralButton(R.string.disconnect, this) + .setNegativeButton(android.R.string.cancel, this) + .create(); + } else { + PackageManager pm = getPackageManager(); + ApplicationInfo app = pm.getApplicationInfo(mConfig.packagz, 0); + + mDialog = new AlertDialog.Builder(this) + .setIcon(app.loadIcon(pm)) + .setTitle(app.loadLabel(pm)) + .setView(view) + .setNeutralButton(R.string.disconnect, this) + .setNegativeButton(android.R.string.cancel, this) + .create(); + } - if (mConfig.configureActivity != null) { + if (mConfig.configureIntent != null) { mDialog.setButton(DialogInterface.BUTTON_POSITIVE, getText(R.string.configure), this); } @@ -113,11 +123,9 @@ public class ManageDialog extends Activity implements Handler.Callback, public void onClick(DialogInterface dialog, int which) { try { if (which == AlertDialog.BUTTON_POSITIVE) { - Intent intent = new Intent(); - intent.setClassName(mConfig.packageName, mConfig.configureActivity); - startActivity(intent); + mConfig.configureIntent.send(); } else if (which == AlertDialog.BUTTON_NEUTRAL) { - mService.prepareVpn(""); + mService.prepareVpn(mConfig.packagz, VpnConfig.LEGACY_VPN); } } catch (Exception e) { Log.e(TAG, "onClick", e); @@ -161,7 +169,7 @@ public class ManageDialog extends Activity implements Handler.Callback, try { // See dev_seq_printf_stats() in net/core/dev.c. in = new DataInputStream(new FileInputStream("/proc/net/dev")); - String prefix = mConfig.interfaceName + ':'; + String prefix = mConfig.interfaze + ':'; while (true) { String line = in.readLine().trim(); |