--- /dev/null
+/*
+ * Copyright (C) 2016 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.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.TextView;
+
+import org.strongswan.android.R;
+import org.strongswan.android.security.TrustedCertificateEntry;
+
+import java.util.List;
+
+public class CertificateIdentitiesAdapter extends ArrayAdapter<String>
+{
+ TrustedCertificateEntry mCertificate;
+
+ public CertificateIdentitiesAdapter(Context context)
+ {
+ super(context, android.R.layout.simple_dropdown_item_1line);
+ extractIdentities();
+ }
+
+ /**
+ * Set a new certificate for this adapter.
+ *
+ * @param certificate the certificate to extract identities from (null to clear)
+ */
+ public void setCertificate(TrustedCertificateEntry certificate)
+ {
+ mCertificate = certificate;
+ clear();
+ extractIdentities();
+ }
+
+ private void extractIdentities()
+ {
+ if (mCertificate == null)
+ {
+ add(getContext().getString(R.string.profile_user_select_id_init));
+ }
+ else
+ {
+ add(String.format(getContext().getString(R.string.profile_user_select_id_default),
+ mCertificate.getCertificate().getSubjectDN().getName()));
+ addAll(mCertificate.getSubjectAltNames());
+ }
+ }
+}
<string name="profile_user_certificate_label">Benutzer-Zertifikat</string>
<string name="profile_user_select_certificate_label">Benutzer-Zertifikat auswählen</string>
<string name="profile_user_select_certificate">Wählen Sie ein bestimmtes Benutzer-Zertifikat</string>
+ <string name="profile_user_select_id_label">Benutzer-Identität</string>
+ <string name="profile_user_select_id_init">Wählen Sie zuerst ein Benutzer-Zertifikat</string>
+ <string name="profile_user_select_id_default">Standardwert (%1$s)</string>
<string name="profile_ca_label">CA-Zertifikat</string>
<string name="profile_ca_auto_label">Automatisch wählen</string>
<string name="profile_ca_select_certificate_label">CA-Zertifikat auswählen</string>
<string name="profile_user_certificate_label">Certyfikat użytkownika</string>
<string name="profile_user_select_certificate_label">Wybierz certyfikat użytkownika</string>
<string name="profile_user_select_certificate">>Wybierz określony certyfikat użytkownika</string>
+ <string name="profile_user_select_id_label">User identity</string>
+ <string name="profile_user_select_id_init">Select a certificate first</string>
+ <string name="profile_user_select_id_default">Default (%1$s)</string>
<string name="profile_ca_label">Certyfikat CA</string>
<string name="profile_ca_auto_label">Wybierz automatycznie</string>
<string name="profile_ca_select_certificate_label">Wybierz certyfikat CA</string>
<string name="profile_user_certificate_label">Сертификат пользователя</string>
<string name="profile_user_select_certificate_label">Выбрать сертификат пользователя</string>
<string name="profile_user_select_certificate">Выбрать сертификат пользователя</string>
+ <string name="profile_user_select_id_label">User identity</string>
+ <string name="profile_user_select_id_init">Select a certificate first</string>
+ <string name="profile_user_select_id_default">Default (%1$s)</string>
<string name="profile_ca_label">Сертификат CA</string>
<string name="profile_ca_auto_label">Выбрать автоматически</string>
<string name="profile_ca_select_certificate_label">Выбрать сертификат CA</string>
<string name="profile_user_certificate_label">Сертифікат користувача</string>
<string name="profile_user_select_certificate_label">Виберіть сертифікат користувача</string>
<string name="profile_user_select_certificate">Вибрати спеціальний сертифікат користувача</string>
+ <string name="profile_user_select_id_label">User identity</string>
+ <string name="profile_user_select_id_init">Select a certificate first</string>
+ <string name="profile_user_select_id_default">Default (%1$s)</string>
<string name="profile_ca_label">Сертифікат CA</string>
<string name="profile_ca_auto_label">Вибрати автоматично</string>
<string name="profile_ca_select_certificate_label">Вибрати сертифікат CA</string>
<string name="profile_user_certificate_label">User certificate</string>
<string name="profile_user_select_certificate_label">Select user certificate</string>
<string name="profile_user_select_certificate">Select a specific user certificate</string>
+ <string name="profile_user_select_id_label">User identity</string>
+ <string name="profile_user_select_id_init">Select a certificate first</string>
+ <string name="profile_user_select_id_default">Default (%1$s)</string>
<string name="profile_ca_label">CA certificate</string>
<string name="profile_ca_auto_label">Select automatically</string>
<string name="profile_ca_select_certificate_label">Select CA certificate</string>