diff options
author | Tobias Brunner <tobias@strongswan.org> | 2017-06-27 15:13:30 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2017-07-03 10:27:54 +0200 |
commit | 3cc6a03fa018e602d1b94c05151a31e4e7fa3124 (patch) | |
tree | aee0db761bfdab5d5cc2078f92b0db1d85310d04 /src | |
parent | eb59c6a38a7b0038ea3abc9df39f5a5ed6971206 (diff) | |
download | strongswan-3cc6a03fa018e602d1b94c05151a31e4e7fa3124.tar.bz2 strongswan-3cc6a03fa018e602d1b94c05151a31e4e7fa3124.tar.xz |
android: Add simple activity for the selection of apps
Diffstat (limited to 'src')
9 files changed, 87 insertions, 0 deletions
diff --git a/src/frontends/android/app/src/main/AndroidManifest.xml b/src/frontends/android/app/src/main/AndroidManifest.xml index bc2de9af7..c7f745b70 100644 --- a/src/frontends/android/app/src/main/AndroidManifest.xml +++ b/src/frontends/android/app/src/main/AndroidManifest.xml @@ -49,6 +49,10 @@ android:label="@string/trusted_certs_title" > </activity> <activity + android:name=".ui.SelectedApplicationsActivity" + android:label="@string/profile_select_apps" > + </activity> + <activity android:name=".ui.LogActivity" android:label="@string/log_title" > </activity> diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/SelectedApplicationsActivity.java b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/SelectedApplicationsActivity.java new file mode 100644 index 000000000..db2e56655 --- /dev/null +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/SelectedApplicationsActivity.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2017 Tobias Brunner + * HSR Hochschule fuer Technik Rapperswil + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +package org.strongswan.android.ui; + +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.FragmentManager; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.view.MenuItem; + +import org.strongswan.android.data.VpnProfileDataSource; + +public class SelectedApplicationsActivity extends AppCompatActivity +{ + private static final String LIST_TAG = "ApplicationList"; + private SelectedApplicationsListFragment mApps; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + + ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + + FragmentManager fm = getSupportFragmentManager(); + mApps = (SelectedApplicationsListFragment)fm.findFragmentByTag(LIST_TAG); + if (mApps == null) + { + mApps = new SelectedApplicationsListFragment(); + fm.beginTransaction().add(android.R.id.content, mApps, LIST_TAG).commit(); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + switch (item.getItemId()) + { + case android.R.id.home: + prepareResult(); + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public void onBackPressed() + { + prepareResult(); + super.onBackPressed(); + } + + private void prepareResult() + { + Intent data = new Intent(); + data.putExtra(VpnProfileDataSource.KEY_SELECTED_APPS_LIST, mApps.getSelectedApplications()); + setResult(RESULT_OK, data); + } +} diff --git a/src/frontends/android/app/src/main/res/values-de/strings.xml b/src/frontends/android/app/src/main/res/values-de/strings.xml index b981375ff..ca22f78b5 100644 --- a/src/frontends/android/app/src/main/res/values-de/strings.xml +++ b/src/frontends/android/app/src/main/res/values-de/strings.xml @@ -87,6 +87,7 @@ <string name="profile_included_subnets_hint">Nur Verkehr in die spezifizierten Subnetze wird via VPN geleitet, der Rest wird behandelt, als ob kein VPN vorhanden wäre (mit Leerzeichen getrennt, z.B. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Ausgeschlossene Subnetze</string> <string name="profile_excluded_subnets_hint">Verkehr in diese Subnetze wird vom VPN ausgeschlossen und behandelt, als ob kein VPN vorhanden wäre (mit Leerzeichen getrennt, z.B. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Apps auswählen</string> <string name="profile_import">VPN Profile importieren</string> <string name="profile_import_failed">VPN Profil-Import fehlgeschlagen</string> <string name="profile_import_failed_detail">VPN Profil-Import fehlgeschlagen: %1$s</string> diff --git a/src/frontends/android/app/src/main/res/values-pl/strings.xml b/src/frontends/android/app/src/main/res/values-pl/strings.xml index 6924aecab..1708f6edf 100644 --- a/src/frontends/android/app/src/main/res/values-pl/strings.xml +++ b/src/frontends/android/app/src/main/res/values-pl/strings.xml @@ -87,6 +87,7 @@ <string name="profile_included_subnets_hint">Only route traffic to specific subnets via VPN, everything else is routed as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Excluded subnets</string> <string name="profile_excluded_subnets_hint">Traffic to these subnets will not be routed via VPN, but as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Select applications</string> <string name="profile_import">Import VPN profile</string> <string name="profile_import_failed">Failed to import VPN profile</string> <string name="profile_import_failed_detail">Failed to import VPN profile: %1$s</string> diff --git a/src/frontends/android/app/src/main/res/values-ru/strings.xml b/src/frontends/android/app/src/main/res/values-ru/strings.xml index 0d117b70b..0183e0306 100644 --- a/src/frontends/android/app/src/main/res/values-ru/strings.xml +++ b/src/frontends/android/app/src/main/res/values-ru/strings.xml @@ -84,6 +84,7 @@ <string name="profile_included_subnets_hint">Only route traffic to specific subnets via VPN, everything else is routed as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Excluded subnets</string> <string name="profile_excluded_subnets_hint">Traffic to these subnets will not be routed via VPN, but as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Select applications</string> <string name="profile_import">Import VPN profile</string> <string name="profile_import_failed">Failed to import VPN profile</string> <string name="profile_import_failed_detail">Failed to import VPN profile: %1$s</string> diff --git a/src/frontends/android/app/src/main/res/values-ua/strings.xml b/src/frontends/android/app/src/main/res/values-ua/strings.xml index 22e8da227..156300d3e 100644 --- a/src/frontends/android/app/src/main/res/values-ua/strings.xml +++ b/src/frontends/android/app/src/main/res/values-ua/strings.xml @@ -85,6 +85,7 @@ <string name="profile_included_subnets_hint">Only route traffic to specific subnets via VPN, everything else is routed as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Excluded subnets</string> <string name="profile_excluded_subnets_hint">Traffic to these subnets will not be routed via VPN, but as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Select applications</string> <string name="profile_import">Import VPN profile</string> <string name="profile_import_failed">Failed to import VPN profile</string> <string name="profile_import_failed_detail">Failed to import VPN profile: %1$s</string> diff --git a/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml b/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml index 8df905b82..119d462cc 100644 --- a/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml @@ -84,6 +84,7 @@ <string name="profile_included_subnets_hint">Only route traffic to specific subnets via VPN, everything else is routed as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Excluded subnets</string> <string name="profile_excluded_subnets_hint">Traffic to these subnets will not be routed via VPN, but as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Select applications</string> <string name="profile_import">导入VPN配置</string> <string name="profile_import_failed">导入VPN配置失败</string> <string name="profile_import_failed_detail">导入VPN配置失败: %1$s</string> diff --git a/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml b/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml index 1aa060587..2b0ce6b2b 100644 --- a/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml @@ -84,6 +84,7 @@ <string name="profile_included_subnets_hint">Only route traffic to specific subnets via VPN, everything else is routed as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Excluded subnets</string> <string name="profile_excluded_subnets_hint">Traffic to these subnets will not be routed via VPN, but as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Select applications</string> <string name="profile_import">匯入VPN設定檔</string> <string name="profile_import_failed">匯入VPN設定檔失敗</string> <string name="profile_import_failed_detail">匯入VPN設定檔失敗: %1$s</string> diff --git a/src/frontends/android/app/src/main/res/values/strings.xml b/src/frontends/android/app/src/main/res/values/strings.xml index 3b35306da..e9a62f03c 100644 --- a/src/frontends/android/app/src/main/res/values/strings.xml +++ b/src/frontends/android/app/src/main/res/values/strings.xml @@ -87,6 +87,7 @@ <string name="profile_included_subnets_hint">Only route traffic to specific subnets via VPN, everything else is routed as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> <string name="profile_excluded_subnets_label">Excluded subnets</string> <string name="profile_excluded_subnets_hint">Traffic to these subnets will not be routed via VPN, but as if there was no VPN (separated by spaces, e.g. \"192.168.1.0/24 2001:db8::/64\")</string> + <string name="profile_select_apps">Select applications</string> <string name="profile_import">Import VPN profile</string> <string name="profile_import_failed">Failed to import VPN profile</string> <string name="profile_import_failed_detail">Failed to import VPN profile: %1$s</string> |