android: Add adapter for user ID selection

This commit is contained in:
Tobias Brunner 2016-04-30 16:59:00 +02:00
parent eb507a5a0d
commit cdcf754f64
6 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,65 @@
/*
* 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());
}
}
}

View File

@ -61,6 +61,9 @@
<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>

View File

@ -61,6 +61,9 @@
<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>

View File

@ -58,6 +58,9 @@
<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>

View File

@ -59,6 +59,9 @@
<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>

View File

@ -61,6 +61,9 @@
<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>