From 08de6a08f0b21df9c4a6a1678b060e531c033c0b Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 30 May 2014 17:50:46 +0200 Subject: android: Add option to reload CA certificates to TrustedCertificatesActivity --- src/frontends/android/res/menu/certificates.xml | 23 ++++++++++++++ src/frontends/android/res/values-de/strings.xml | 2 +- src/frontends/android/res/values-pl/strings.xml | 2 +- src/frontends/android/res/values-ru/strings.xml | 2 +- src/frontends/android/res/values-ua/strings.xml | 2 +- src/frontends/android/res/values/strings.xml | 2 +- .../android/ui/TrustedCertificatesActivity.java | 37 ++++++++++++++++++++++ 7 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 src/frontends/android/res/menu/certificates.xml 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 @@ + + + + + + + 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 @@ strongSwan VPN Client strongSwan - CA-Zertifikate neu laden Log anzeigen Suchen VPN nicht unterstützt @@ -76,6 +75,7 @@ CA-Zertifikate Keine Zertifikate + CA-Zertifikate neu laden System Benutzer Importiert 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 @@ strongSwan klient VPN strongSwan - Przeładuj certyfikaty CA Pokaż log Szukaj Nie obsługiwany VPN @@ -76,6 +75,7 @@ Certyfikaty CA Brak certyfikatów + Przeładuj certyfikaty CA System Użytkownik Imported 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 @@ Клиент strongSwan VPN strongSwan - Обновить сертификат CA Журнал Поиск VPN не поддерживается @@ -73,6 +72,7 @@ Сертификаты CA Нет доступных сертификатов + Обновить сертификат CA Система Пользователь Imported 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 @@ strongSwan VPN клієнт strongSwan - Перезавантажити CA сертифікати Перегляд журналу Пошук VPN не підтримуеться @@ -74,6 +73,7 @@ Сертифікати CA Немає сертифікатів + Перезавантажити CA сертифікати Система Користувач Imported 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 @@ strongSwan VPN Client strongSwan - Reload CA certificates View log Search VPN not supported @@ -76,6 +75,7 @@ CA certificates No certificates + Reload CA certificates System User Imported 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(); @@ -71,6 +76,13 @@ public class TrustedCertificatesActivity extends Activity implements TrustedCert outState.putInt("tab", getActionBar().getSelectedNavigationIndex()); } + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + getMenuInflater().inflate(R.menu.certificates, menu); + return true; + } + @Override public boolean onOptionsItemSelected(MenuItem item) { @@ -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 + { + @Override + protected void onPreExecute() + { + setProgressBarIndeterminateVisibility(true); + } + @Override + protected TrustedCertificateManager doInBackground(Void... params) + { + return TrustedCertificateManager.getInstance().reload(); + } + @Override + protected void onPostExecute(TrustedCertificateManager result) + { + setProgressBarIndeterminateVisibility(false); + } + } } -- cgit v1.2.3