aboutsummaryrefslogtreecommitdiffstats
path: root/src/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontends')
-rw-r--r--src/frontends/android/res/menu/certificates.xml23
-rw-r--r--src/frontends/android/res/values-de/strings.xml2
-rw-r--r--src/frontends/android/res/values-pl/strings.xml2
-rw-r--r--src/frontends/android/res/values-ru/strings.xml2
-rw-r--r--src/frontends/android/res/values-ua/strings.xml2
-rw-r--r--src/frontends/android/res/values/strings.xml2
-rw-r--r--src/frontends/android/src/org/strongswan/android/ui/TrustedCertificatesActivity.java37
7 files changed, 65 insertions, 5 deletions
diff --git a/src/frontends/android/res/menu/certificates.xml b/src/frontends/android/res/menu/certificates.xml
new file mode 100644
index 000000000..c735e0c70
--- /dev/null
+++ b/src/frontends/android/res/menu/certificates.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2014 Tobias Brunner
+ 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.
+-->
+<menu xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item
+ android:id="@+id/menu_reload_certs"
+ android:title="@string/reload_trusted_certs"
+ android:showAsAction="withText" />
+
+</menu>
diff --git a/src/frontends/android/res/values-de/strings.xml b/src/frontends/android/res/values-de/strings.xml
index 1f283bbf5..269ac67ab 100644
--- a/src/frontends/android/res/values-de/strings.xml
+++ b/src/frontends/android/res/values-de/strings.xml
@@ -20,7 +20,6 @@
<!-- Application -->
<string name="app_name">strongSwan VPN Client</string>
<string name="main_activity_name">strongSwan</string>
- <string name="reload_trusted_certs">CA-Zertifikate neu laden</string>
<string name="show_log">Log anzeigen</string>
<string name="search">Suchen</string>
<string name="vpn_not_supported_title">VPN nicht unterstützt</string>
@@ -76,6 +75,7 @@
<!-- Trusted certificate selection -->
<string name="trusted_certs_title">CA-Zertifikate</string>
<string name="no_certificates">Keine Zertifikate</string>
+ <string name="reload_trusted_certs">CA-Zertifikate neu laden</string>
<string name="system_tab">System</string>
<string name="user_tab">Benutzer</string>
<string name="local_tab">Importiert</string>
diff --git a/src/frontends/android/res/values-pl/strings.xml b/src/frontends/android/res/values-pl/strings.xml
index 8b13d4abe..1e05a66a5 100644
--- a/src/frontends/android/res/values-pl/strings.xml
+++ b/src/frontends/android/res/values-pl/strings.xml
@@ -20,7 +20,6 @@
<!-- Application -->
<string name="app_name">strongSwan klient VPN</string>
<string name="main_activity_name">strongSwan</string>
- <string name="reload_trusted_certs">Przeładuj certyfikaty CA</string>
<string name="show_log">Pokaż log</string>
<string name="search">Szukaj</string>
<string name="vpn_not_supported_title">Nie obsługiwany VPN</string>
@@ -76,6 +75,7 @@
<!-- Trusted certificate selection -->
<string name="trusted_certs_title">Certyfikaty CA</string>
<string name="no_certificates">Brak certyfikatów</string>
+ <string name="reload_trusted_certs">Przeładuj certyfikaty CA</string>
<string name="system_tab">System</string>
<string name="user_tab">Użytkownik</string>
<string name="local_tab">Imported</string>
diff --git a/src/frontends/android/res/values-ru/strings.xml b/src/frontends/android/res/values-ru/strings.xml
index 4a20a9b86..d90c28f9c 100644
--- a/src/frontends/android/res/values-ru/strings.xml
+++ b/src/frontends/android/res/values-ru/strings.xml
@@ -17,7 +17,6 @@
<!-- Application -->
<string name="app_name">Клиент strongSwan VPN</string>
<string name="main_activity_name">strongSwan</string>
- <string name="reload_trusted_certs">Обновить сертификат CA</string>
<string name="show_log">Журнал</string>
<string name="search">Поиск</string>
<string name="vpn_not_supported_title">VPN не поддерживается</string>
@@ -73,6 +72,7 @@
<!-- Trusted certificate selection -->
<string name="trusted_certs_title">Сертификаты CA</string>
<string name="no_certificates">Нет доступных сертификатов</string>
+ <string name="reload_trusted_certs">Обновить сертификат CA</string>
<string name="system_tab">Система</string>
<string name="user_tab">Пользователь</string>
<string name="local_tab">Imported</string>
diff --git a/src/frontends/android/res/values-ua/strings.xml b/src/frontends/android/res/values-ua/strings.xml
index 18759f3ea..fe1e619ba 100644
--- a/src/frontends/android/res/values-ua/strings.xml
+++ b/src/frontends/android/res/values-ua/strings.xml
@@ -18,7 +18,6 @@
<!-- Application -->
<string name="app_name">strongSwan VPN клієнт</string>
<string name="main_activity_name">strongSwan</string>
- <string name="reload_trusted_certs">Перезавантажити CA сертифікати</string>
<string name="show_log">Перегляд журналу</string>
<string name="search">Пошук</string>
<string name="vpn_not_supported_title">VPN не підтримуеться</string>
@@ -74,6 +73,7 @@
<!-- Trusted certificate selection -->
<string name="trusted_certs_title">Сертифікати CA</string>
<string name="no_certificates">Немає сертифікатів</string>
+ <string name="reload_trusted_certs">Перезавантажити CA сертифікати</string>
<string name="system_tab">Система</string>
<string name="user_tab">Користувач</string>
<string name="local_tab">Imported</string>
diff --git a/src/frontends/android/res/values/strings.xml b/src/frontends/android/res/values/strings.xml
index e5f47fc6c..7a8008888 100644
--- a/src/frontends/android/res/values/strings.xml
+++ b/src/frontends/android/res/values/strings.xml
@@ -20,7 +20,6 @@
<!-- Application -->
<string name="app_name">strongSwan VPN Client</string>
<string name="main_activity_name">strongSwan</string>
- <string name="reload_trusted_certs">Reload CA certificates</string>
<string name="show_log">View log</string>
<string name="search">Search</string>
<string name="vpn_not_supported_title">VPN not supported</string>
@@ -76,6 +75,7 @@
<!-- Trusted certificate selection -->
<string name="trusted_certs_title">CA certificates</string>
<string name="no_certificates">No certificates</string>
+ <string name="reload_trusted_certs">Reload CA certificates</string>
<string name="system_tab">System</string>
<string name="user_tab">User</string>
<string name="local_tab">Imported</string>
diff --git a/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificatesActivity.java b/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificatesActivity.java
index 34f3d062a..03cf84375 100644
--- a/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificatesActivity.java
+++ b/src/frontends/android/src/org/strongswan/android/ui/TrustedCertificatesActivity.java
@@ -17,6 +17,7 @@ package org.strongswan.android.ui;
import org.strongswan.android.R;
import org.strongswan.android.data.VpnProfileDataSource;
+import org.strongswan.android.logic.TrustedCertificateManager;
import org.strongswan.android.logic.TrustedCertificateManager.TrustedCertificateSource;
import org.strongswan.android.security.TrustedCertificateEntry;
@@ -26,8 +27,11 @@ import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.content.Intent;
+import android.os.AsyncTask;
import android.os.Bundle;
+import android.view.Menu;
import android.view.MenuItem;
+import android.view.Window;
public class TrustedCertificatesActivity extends Activity implements TrustedCertificateListFragment.OnTrustedCertificateSelectedListener
{
@@ -38,6 +42,7 @@ public class TrustedCertificatesActivity extends Activity implements TrustedCert
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
+ requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.trusted_certificates_activity);
ActionBar actionBar = getActionBar();
@@ -72,6 +77,13 @@ public class TrustedCertificatesActivity extends Activity implements TrustedCert
}
@Override
+ public boolean onCreateOptionsMenu(Menu menu)
+ {
+ getMenuInflater().inflate(R.menu.certificates, menu);
+ return true;
+ }
+
+ @Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
@@ -79,6 +91,9 @@ public class TrustedCertificatesActivity extends Activity implements TrustedCert
case android.R.id.home:
finish();
return true;
+ case R.id.menu_reload_certs:
+ new ReloadCertificatesTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ return true;
}
return super.onOptionsItemSelected(item);
}
@@ -150,4 +165,26 @@ public class TrustedCertificatesActivity extends Activity implements TrustedCert
/* nothing to be done */
}
}
+
+ /**
+ * Class that reloads the cached CA certificates.
+ */
+ private class ReloadCertificatesTask extends AsyncTask<Void, Void, TrustedCertificateManager>
+ {
+ @Override
+ protected void onPreExecute()
+ {
+ setProgressBarIndeterminateVisibility(true);
+ }
+ @Override
+ protected TrustedCertificateManager doInBackground(Void... params)
+ {
+ return TrustedCertificateManager.getInstance().reload();
+ }
+ @Override
+ protected void onPostExecute(TrustedCertificateManager result)
+ {
+ setProgressBarIndeterminateVisibility(false);
+ }
+ }
}