88
|
1 |
package com.beem.project.beem.ui;
|
|
2 |
|
|
3 |
import android.app.Activity;
|
114
|
4 |
import android.content.Context;
|
88
|
5 |
import android.content.SharedPreferences;
|
|
6 |
import android.os.Bundle;
|
114
|
7 |
import android.util.Log;
|
88
|
8 |
import android.view.View;
|
|
9 |
import android.view.View.OnClickListener;
|
114
|
10 |
import android.widget.AdapterView;
|
|
11 |
import android.widget.ArrayAdapter;
|
88
|
12 |
import android.widget.Button;
|
|
13 |
import android.widget.EditText;
|
114
|
14 |
import android.widget.LinearLayout;
|
|
15 |
import android.widget.Spinner;
|
|
16 |
import android.widget.TextView;
|
|
17 |
import android.widget.AdapterView.OnItemSelectedListener;
|
88
|
18 |
|
|
19 |
import com.beem.project.beem.R;
|
|
20 |
|
|
21 |
public class ContactListSettings extends Activity {
|
|
22 |
|
|
23 |
public static final int CHANGE = 1;
|
114
|
24 |
private boolean mIsChanged = false;
|
88
|
25 |
private SharedPreferences mSettings;
|
114
|
26 |
private String[] mProxyTypeString;
|
88
|
27 |
|
|
28 |
@Override
|
|
29 |
protected void onCreate(Bundle savedInstanceState) {
|
|
30 |
super.onCreate(savedInstanceState);
|
|
31 |
setContentView(R.layout.contactlistsettings);
|
114
|
32 |
|
|
33 |
String TypeNone = getString(R.string.PreferenceProxyTypeNone);
|
|
34 |
String TypeHTTP = getString(R.string.PreferenceProxyTypeHttp);
|
|
35 |
String TypeSocks4 = getString(R.string.PreferenceProxyTypeSocks4);
|
|
36 |
String TypeSocks5 = getString(R.string.PreferenceProxyTypeSocks5);
|
|
37 |
|
|
38 |
mProxyTypeString = new String[] { TypeNone, TypeHTTP, TypeSocks4, TypeSocks5 };
|
|
39 |
mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
|
|
40 |
|
|
41 |
Spinner sp = (Spinner) findViewById(R.id.proxy_type);
|
|
42 |
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,
|
|
43 |
mProxyTypeString);
|
|
44 |
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
|
45 |
sp.setAdapter(adapter);
|
|
46 |
for (int i = 0; i < mProxyTypeString.length; ++i)
|
|
47 |
if (mProxyTypeString[i].equals(getPreferenceString(R.string.PreferenceProxyType)))
|
|
48 |
sp.setSelection(i);
|
|
49 |
sp.setOnItemSelectedListener(mProxyType);
|
|
50 |
|
88
|
51 |
showSettings();
|
|
52 |
Button ok = (Button) findViewById(R.id.ok);
|
|
53 |
ok.setOnClickListener(mOkListener);
|
|
54 |
}
|
|
55 |
|
114
|
56 |
private OnItemSelectedListener mProxyType = new OnItemSelectedListener() {
|
|
57 |
|
|
58 |
@Override
|
|
59 |
public void onItemSelected(AdapterView<?> parent, View arg1, int arg2, long arg3) {
|
|
60 |
String value = parent.getSelectedItem().toString();
|
|
61 |
LinearLayout ll = (LinearLayout) findViewById(R.id.proxy_layout);
|
|
62 |
SharedPreferences.Editor editor = mSettings.edit();
|
|
63 |
|
|
64 |
if (value.equals(getString(R.string.PreferenceProxyTypeNone))) {
|
|
65 |
ll.setVisibility(LinearLayout.INVISIBLE);
|
|
66 |
editor.putBoolean(getString(R.string.PreferenceUseProxy), false);
|
|
67 |
} else {
|
|
68 |
ll.setVisibility(LinearLayout.VISIBLE);
|
|
69 |
editor.putBoolean(getString(R.string.PreferenceUseProxy), true);
|
|
70 |
}
|
|
71 |
if (!value.equals(getPreferenceString(R.string.PreferenceProxyType))) {
|
|
72 |
editor.putString(getString(R.string.PreferenceProxyType), value);
|
|
73 |
mIsChanged = true;
|
|
74 |
}
|
|
75 |
}
|
|
76 |
|
|
77 |
@Override
|
|
78 |
public void onNothingSelected(AdapterView<?> arg0) {
|
|
79 |
}
|
|
80 |
|
|
81 |
};
|
|
82 |
|
88
|
83 |
private OnClickListener mOkListener = new OnClickListener() {
|
|
84 |
public void onClick(View v) {
|
|
85 |
SharedPreferences.Editor editor = mSettings.edit();
|
|
86 |
|
|
87 |
if (isChanged(R.id.host, R.string.PreferenceHostKey)) {
|
114
|
88 |
editor.putString(getString(R.string.PreferenceHostKey), getWidgetText(R.id.host));
|
|
89 |
mIsChanged = true;
|
88
|
90 |
}
|
|
91 |
if (isChanged(R.id.port, R.string.PreferencePortKey)) {
|
114
|
92 |
editor.putString(getString(R.string.PreferencePortKey), getWidgetText(R.id.port));
|
|
93 |
mIsChanged = true;
|
88
|
94 |
}
|
|
95 |
if (isChanged(R.id.userid, R.string.PreferenceLoginKey)) {
|
114
|
96 |
editor.putString(getString(R.string.PreferenceLoginKey), getWidgetText(R.id.userid));
|
|
97 |
mIsChanged = true;
|
88
|
98 |
}
|
|
99 |
if (isChanged(R.id.password, R.string.PreferencePasswordKey)) {
|
114
|
100 |
editor.putString(getString(R.string.PreferencePasswordKey), getWidgetText(R.id.password));
|
|
101 |
mIsChanged = true;
|
88
|
102 |
}
|
|
103 |
|
114
|
104 |
if (isChanged(R.id.proxy_host, R.string.PreferenceProxyHost)) {
|
|
105 |
editor.putString(getString(R.string.PreferenceProxyHost), getWidgetText(R.id.proxy_host));
|
|
106 |
mIsChanged = true;
|
|
107 |
}
|
|
108 |
if (isChanged(R.id.proxy_port, R.string.PreferenceProxyPort)) {
|
|
109 |
editor.putString(getString(R.string.PreferenceProxyPort), getWidgetText(R.id.proxy_port));
|
|
110 |
mIsChanged = true;
|
|
111 |
}
|
|
112 |
if (isChanged(R.id.proxy_login, R.string.PreferenceProxyUser)) {
|
|
113 |
editor.putString(getString(R.string.PreferenceProxyUser), getWidgetText(R.id.proxy_login));
|
|
114 |
mIsChanged = true;
|
|
115 |
}
|
|
116 |
if (isChanged(R.id.proxy_pwd, R.string.PreferenceProxyPassword)) {
|
|
117 |
editor.putString(getString(R.string.PreferenceProxyPassword), getWidgetText(R.id.proxy_pwd));
|
|
118 |
mIsChanged = true;
|
|
119 |
}
|
|
120 |
|
|
121 |
if (mIsChanged == true) {
|
88
|
122 |
editor.commit();
|
|
123 |
setResult(RESULT_OK);
|
|
124 |
} else
|
|
125 |
setResult(RESULT_CANCELED);
|
|
126 |
finish();
|
|
127 |
}
|
|
128 |
};
|
|
129 |
|
|
130 |
private boolean isChanged(int idEdit, int idPreference) {
|
|
131 |
return (!getWidgetText(idEdit).equals(getPreferenceString(idPreference)));
|
|
132 |
}
|
|
133 |
|
|
134 |
private void showSettings() {
|
|
135 |
EditText e = (EditText) findViewById(R.id.host);
|
|
136 |
e.setText(getPreferenceString(R.string.PreferenceHostKey));
|
|
137 |
e = (EditText) findViewById(R.id.port);
|
|
138 |
e.setText(getPreferenceString(R.string.PreferencePortKey));
|
|
139 |
e = (EditText) findViewById(R.id.userid);
|
|
140 |
e.setText(getPreferenceString(R.string.PreferenceLoginKey));
|
|
141 |
e = (EditText) findViewById(R.id.password);
|
|
142 |
e.setText(getPreferenceString(R.string.PreferencePasswordKey));
|
114
|
143 |
|
|
144 |
e = (EditText) findViewById(R.id.proxy_host);
|
|
145 |
e.setText(getPreferenceString(R.string.PreferenceProxyHost));
|
|
146 |
e = (EditText) findViewById(R.id.proxy_port);
|
|
147 |
e.setText(getPreferenceString(R.string.PreferenceProxyPort));
|
|
148 |
e = (EditText) findViewById(R.id.proxy_login);
|
|
149 |
e.setText(getPreferenceString(R.string.PreferenceProxyUser));
|
|
150 |
e = (EditText) findViewById(R.id.proxy_pwd);
|
|
151 |
e.setText(getPreferenceString(R.string.PreferenceProxyPassword));
|
88
|
152 |
}
|
|
153 |
|
|
154 |
private String getWidgetText(int id) {
|
|
155 |
EditText widget = (EditText) this.findViewById(id);
|
|
156 |
return widget.getText().toString();
|
|
157 |
}
|
|
158 |
|
|
159 |
private String getPreferenceString(int id) {
|
|
160 |
return mSettings.getString(getString(id), "");
|
|
161 |
}
|
|
162 |
|
|
163 |
}
|