Remove certificate spinner from edit view
authorTobias Brunner <tobias@strongswan.org>
Tue, 14 Aug 2012 07:12:29 +0000 (09:12 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 14 Aug 2012 10:01:41 +0000 (12:01 +0200)
src/frontends/android/res/layout/profile_detail_view.xml
src/frontends/android/res/values-de/strings.xml
src/frontends/android/res/values/strings.xml
src/frontends/android/src/org/strongswan/android/ui/VpnProfileDetailActivity.java

index 4952eba..a930265 100644 (file)
             android:layout_height="wrap_content"
             android:text="@string/profile_ca_auto_label" />
 
-        <CheckBox
-            android:id="@+id/ca_show_all"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:text="@string/profile_ca_show_all" />
-
-        <Spinner
-            android:id="@+id/ca_spinner"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="5dp" />
-
     </LinearLayout>
 
 </ScrollView>
\ No newline at end of file
index 0e0ddd5..bc426e6 100644 (file)
@@ -51,7 +51,6 @@
     <string name="profile_password_hint">(anfordern wenn benötigt)</string>
     <string name="profile_ca_label">CA-Zertifikat:</string>
     <string name="profile_ca_auto_label">Automatisch wählen</string>
-    <string name="profile_ca_show_all">Alle Zertifikate anzeigen</string>
     <!-- Warnings/Notifications in the details view -->
     <string name="alert_text_no_input_gateway">Bitte geben Sie hier die Gateway-Adresse ein</string>
     <string name="alert_text_no_input_username">Bitte geben Sie hier Ihren Benutzernamen ein</string>
index a83e219..8559140 100644 (file)
@@ -51,7 +51,6 @@
     <string name="profile_password_hint">(prompt when needed)</string>
     <string name="profile_ca_label">CA certificate:</string>
     <string name="profile_ca_auto_label">Select automatically</string>
-    <string name="profile_ca_show_all">Show all certificates</string>
     <!-- Warnings/Notifications in the details view -->
     <string name="alert_text_no_input_gateway">Please enter the gateway address here</string>
     <string name="alert_text_no_input_username">Please enter your username here</string>
index 05ba5e8..5c87ba6 100644 (file)
 
 package org.strongswan.android.ui;
 
-import java.security.cert.X509Certificate;
-import java.util.Hashtable;
-
 import org.strongswan.android.R;
 import org.strongswan.android.data.VpnProfile;
 import org.strongswan.android.data.VpnProfileDataSource;
 import org.strongswan.android.logic.TrustedCertificateManager;
-import org.strongswan.android.ui.adapter.TrustedCertificateAdapter;
 
 import android.app.Activity;
 import android.app.AlertDialog;
@@ -38,13 +34,10 @@ import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.Window;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemSelectedListener;
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.EditText;
-import android.widget.Spinner;
 
 public class VpnProfileDetailActivity extends Activity
 {
@@ -53,13 +46,10 @@ public class VpnProfileDetailActivity extends Activity
        private VpnProfile mProfile;
        private boolean mCertsLoaded;
        private String mCertAlias;
-       private Spinner mCertSpinner;
-       private TrustedCertificateAdapter.CertEntry mSelectedCert;
        private EditText mName;
        private EditText mGateway;
        private EditText mUsername;
        private EditText mPassword;
-       private CheckBox mCheckAll;
        private CheckBox mCheckAuto;
 
        @Override
@@ -81,42 +71,13 @@ public class VpnProfileDetailActivity extends Activity
                mGateway = (EditText)findViewById(R.id.gateway);
                mUsername = (EditText)findViewById(R.id.username);
 
-               mCheckAll = (CheckBox)findViewById(R.id.ca_show_all);
                mCheckAuto = (CheckBox)findViewById(R.id.ca_auto);
-               mCertSpinner = (Spinner)findViewById(R.id.ca_spinner);
 
                mCheckAuto.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                        @Override
                        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
                        {
-                               updateCertSpinner();
-                       }
-               });
 
-               mCheckAll.setOnCheckedChangeListener(new OnCheckedChangeListener() {
-                       @Override
-                       public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
-                       {
-                               Hashtable<String, X509Certificate> certs;
-                               certs = isChecked ? TrustedCertificateManager.getInstance().getAllCACertificates()
-                                                                 : TrustedCertificateManager.getInstance().getUserCACertificates();
-                               mCertSpinner.setAdapter(new TrustedCertificateAdapter(VpnProfileDetailActivity.this, certs));
-                               mSelectedCert = (TrustedCertificateAdapter.CertEntry)mCertSpinner.getSelectedItem();
-                       }
-               });
-
-               mCertSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
-                       @Override
-                       public void onItemSelected(AdapterView<?> parent, View view,
-                                                                          int pos, long id)
-                       {
-                               mSelectedCert = (TrustedCertificateAdapter.CertEntry)parent.getSelectedItem();
-                       }
-
-                       @Override
-                       public void onNothingSelected(AdapterView<?> arg0)
-                       {
-                               mSelectedCert = null;
                        }
                });
 
@@ -215,64 +176,8 @@ public class VpnProfileDetailActivity extends Activity
                @Override
                protected void onPostExecute(TrustedCertificateManager result)
                {
-                       TrustedCertificateAdapter adapter;
-                       if (mCertAlias != null && mCertAlias.startsWith("system:"))
-                       {
-                               mCheckAll.setChecked(true);
-                               adapter = new TrustedCertificateAdapter(VpnProfileDetailActivity.this,
-                                                                                                               result.getAllCACertificates());
-                       }
-                       else
-                       {
-                               mCheckAll.setChecked(false);
-                               adapter = new TrustedCertificateAdapter(VpnProfileDetailActivity.this,
-                                                                                                               result.getUserCACertificates());
-                       }
-                       mCertSpinner.setAdapter(adapter);
-
-                       if (mCertAlias != null)
-                       {
-                               int position = adapter.getItemPosition(mCertAlias);
-                               if (position == -1)
-                               {       /* previously selected certificate is not here anymore */
-                                       showCertificateAlert();
-                               }
-                               else
-                               {
-                                       mCertSpinner.setSelection(position);
-                               }
-                       }
-
-                       mSelectedCert = (TrustedCertificateAdapter.CertEntry)mCertSpinner.getSelectedItem();
-
                        setProgressBarIndeterminateVisibility(false);
                        mCertsLoaded = true;
-                       updateCertSpinner();
-               }
-       }
-
-       /**
-        * Update the CA certificate selection UI depending on whether the
-        * certificate should be automatically selected or not.
-        */
-       private void updateCertSpinner()
-       {
-               if (!mCheckAuto.isChecked())
-               {
-                       if (mCertsLoaded)
-                       {
-                               mCertSpinner.setEnabled(true);
-                               mCertSpinner.setVisibility(View.VISIBLE);
-                               mCheckAll.setEnabled(true);
-                               mCheckAll.setVisibility(View.VISIBLE);
-                       }
-               }
-               else
-               {
-                       mCertSpinner.setEnabled(false);
-                       mCertSpinner.setVisibility(View.GONE);
-                       mCheckAll.setEnabled(false);
-                       mCheckAll.setVisibility(View.GONE);
                }
        }
 
@@ -317,7 +222,7 @@ public class VpnProfileDetailActivity extends Activity
                        mUsername.setError(getString(R.string.alert_text_no_input_username));
                        valid = false;
                }
-               if (!mCheckAuto.isChecked() && mSelectedCert == null)
+               if (!mCheckAuto.isChecked())
                {
                        showCertificateAlert();
                        valid = false;
@@ -339,8 +244,6 @@ public class VpnProfileDetailActivity extends Activity
                String password = mPassword.getText().toString().trim();
                password = password.isEmpty() ? null : password;
                mProfile.setPassword(password);
-               String certAlias = mCheckAuto.isChecked() ? null : mSelectedCert.mAlias;
-               mProfile.setCertificateAlias(certAlias);
        }
 
        /**
@@ -368,8 +271,6 @@ public class VpnProfileDetailActivity extends Activity
                                finish();
                        }
                }
-               mCheckAll.setChecked(false);
                mCheckAuto.setChecked(mCertAlias == null);
-               updateCertSpinner();
        }
 }