1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
package de.blinkt.openvpn;
import de.blinkt.openvpn.core.X509Utils;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class FileSelectLayout extends LinearLayout implements OnClickListener {
private TextView mDataView;
private String mData;
private Fragment mFragment;
private int mTaskId;
private Button mSelectButton;
private boolean mBase64Encode;
private String mTitle;
private boolean mShowClear;
private TextView mDataDetails;
public FileSelectLayout( Context context,AttributeSet attrset) {
super(context,attrset);
inflate(getContext(), R.layout.file_select, this);
TypedArray ta = context.obtainStyledAttributes(attrset,R.styleable.FileSelectLayout);
mTitle = ta.getString(R.styleable.FileSelectLayout_title);
TextView tview = (TextView) findViewById(R.id.file_title);
tview.setText(mTitle);
mDataView = (TextView) findViewById(R.id.file_selected_item);
mDataDetails = (TextView) findViewById(R.id.file_selected_description);
mSelectButton = (Button) findViewById(R.id.file_select_button);
mSelectButton.setOnClickListener(this);
ta.recycle();
}
public void setFragment(Fragment fragment, int i)
{
mTaskId = i;
mFragment = fragment;
}
public void getCertificateFileDialog() {
Intent startFC = new Intent(getContext(),FileSelect.class);
startFC.putExtra(FileSelect.START_DATA, mData);
startFC.putExtra(FileSelect.WINDOW_TITLE,mTitle);
if(mBase64Encode)
startFC.putExtra(FileSelect.DO_BASE64_ENCODE, true);
if(mShowClear)
startFC.putExtra(FileSelect.SHOW_CLEAR_BUTTON, true);
mFragment.startActivityForResult(startFC,mTaskId);
}
public String getData() {
return mData;
}
public void setData(String data) {
mData = data;
if(data==null) {
mDataView.setText(mFragment.getString(R.string.no_data));
mDataDetails.setText("");
}else {
if(mData.startsWith(VpnProfile.INLINE_TAG))
mDataView.setText(R.string.inline_file_data);
else
mDataView.setText(data);
mDataDetails.setText(X509Utils.getCertificateFriendlyName(data));
}
}
@Override
public void onClick(View v) {
if(v == mSelectButton) {
getCertificateFileDialog();
}
}
public void setBase64Encode() {
mBase64Encode =true;
}
public void setShowClear() {
mShowClear=true;
}
}
|