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