Merge pull request #435 from owncloud/ssl_dialogs_refactored_in_just_one
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / adapter / CertificateCombinedExceptionViewAdapter.java
1 /* ownCloud Android client application
2 * Copyright (C) 2012-2014 ownCloud Inc.
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2,
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 */
17 package com.owncloud.android.ui.adapter;
18
19 import com.owncloud.android.R;
20 import com.owncloud.android.lib.common.network.CertificateCombinedException;
21 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
22 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.ErrorViewAdapter;
23
24 import android.view.View;
25 import android.widget.TextView;
26
27 /**
28 * TODO
29 *
30 * @author masensio
31 * @author David A. Velasco
32 *
33 */
34 public class CertificateCombinedExceptionViewAdapter implements SslUntrustedCertDialog.ErrorViewAdapter {
35
36 //private final static String TAG = CertificateCombinedExceptionViewAdapter.class.getSimpleName();
37
38 private CertificateCombinedException mSslException = null;
39
40 public CertificateCombinedExceptionViewAdapter(CertificateCombinedException sslException) {
41 mSslException = sslException;
42 }
43
44 @Override
45 public void updateErrorView(View dialogView) {
46 /// clean
47 dialogView.findViewById(R.id.reason_no_info_about_error).setVisibility(View.GONE);
48
49 /// refresh
50 if (mSslException.getCertPathValidatorException() != null) {
51 ((TextView)dialogView.findViewById(R.id.reason_cert_not_trusted)).setVisibility(View.VISIBLE);
52 } else {
53 dialogView.findViewById(R.id.reason_cert_not_trusted).setVisibility(View.GONE);
54 }
55
56 if (mSslException.getCertificateExpiredException() != null) {
57 ((TextView)dialogView.findViewById(R.id.reason_cert_expired)).setVisibility(View.VISIBLE);
58 } else {
59 dialogView.findViewById(R.id.reason_cert_expired).setVisibility(View.GONE);
60 }
61
62 if (mSslException.getCertificateNotYetValidException() != null) {
63 ((TextView)dialogView.findViewById(R.id.reason_cert_not_yet_valid)).setVisibility(View.VISIBLE);
64 } else {
65 dialogView.findViewById(R.id.reason_cert_not_yet_valid).setVisibility(View.GONE);
66 }
67
68 if (mSslException.getSslPeerUnverifiedException() != null) {
69 ((TextView)dialogView.findViewById(R.id.reason_hostname_not_verified)).setVisibility(View.VISIBLE);
70 } else {
71 dialogView.findViewById(R.id.reason_hostname_not_verified).setVisibility(View.GONE);
72 }
73
74 }
75 }