# HG changeset patch # User marseille # Date 1240352701 -7200 # Node ID a40f65ceeb1af49df6611ac274ee2e492128cc8f # Parent 01b2fc87427b59e39d870e4533cb783739fad817 Proxy set . Qqls bugs a corriger Ahem :p diff -r 01b2fc87427b -r a40f65ceeb1a AndroidManifest.xml --- a/AndroidManifest.xml Tue Apr 21 19:06:38 2009 +0200 +++ b/AndroidManifest.xml Wed Apr 22 00:25:01 2009 +0200 @@ -2,14 +2,16 @@ - + - + - - - - - - + android:orientation="vertical" android:layout_width="fill_parent" + android:layout_height="fill_parent"> + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + - + + + + + + + + + + + + + \ No newline at end of file diff -r 01b2fc87427b -r a40f65ceeb1a res/values/strings.xml --- a/res/values/strings.xml Tue Apr 21 19:06:38 2009 +0200 +++ b/res/values/strings.xml Wed Apr 22 00:25:01 2009 +0200 @@ -22,7 +22,9 @@ Beem host - Jabber IDloginpassword + Jabber ID + login + password port proxy_host proxy_port @@ -30,6 +32,7 @@ proxy_type proxy_user proxy_password + None HTTP SOCKS4 SOCKS5 diff -r 01b2fc87427b -r a40f65ceeb1a src/com/beem/project/beem/ui/ContactListSettings.java --- a/src/com/beem/project/beem/ui/ContactListSettings.java Tue Apr 21 19:06:38 2009 +0200 +++ b/src/com/beem/project/beem/ui/ContactListSettings.java Wed Apr 22 00:25:01 2009 +0200 @@ -1,63 +1,124 @@ package com.beem.project.beem.ui; import android.app.Activity; +import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; +import android.util.Log; import android.view.View; -import android.util.Log; import android.view.View.OnClickListener; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.Spinner; +import android.widget.TextView; +import android.widget.AdapterView.OnItemSelectedListener; import com.beem.project.beem.R; public class ContactListSettings extends Activity { public static final int CHANGE = 1; + private boolean mIsChanged = false; private SharedPreferences mSettings; + private String[] mProxyTypeString; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.contactlistsettings); - mSettings = getSharedPreferences( - getString(R.string.PreferenceFileName), MODE_PRIVATE); + + String TypeNone = getString(R.string.PreferenceProxyTypeNone); + String TypeHTTP = getString(R.string.PreferenceProxyTypeHttp); + String TypeSocks4 = getString(R.string.PreferenceProxyTypeSocks4); + String TypeSocks5 = getString(R.string.PreferenceProxyTypeSocks5); + + mProxyTypeString = new String[] { TypeNone, TypeHTTP, TypeSocks4, TypeSocks5 }; + mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE); + + Spinner sp = (Spinner) findViewById(R.id.proxy_type); + ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, + mProxyTypeString); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + sp.setAdapter(adapter); + for (int i = 0; i < mProxyTypeString.length; ++i) + if (mProxyTypeString[i].equals(getPreferenceString(R.string.PreferenceProxyType))) + sp.setSelection(i); + sp.setOnItemSelectedListener(mProxyType); + showSettings(); Button ok = (Button) findViewById(R.id.ok); ok.setOnClickListener(mOkListener); } + private OnItemSelectedListener mProxyType = new OnItemSelectedListener() { + + @Override + public void onItemSelected(AdapterView parent, View arg1, int arg2, long arg3) { + String value = parent.getSelectedItem().toString(); + LinearLayout ll = (LinearLayout) findViewById(R.id.proxy_layout); + SharedPreferences.Editor editor = mSettings.edit(); + + if (value.equals(getString(R.string.PreferenceProxyTypeNone))) { + ll.setVisibility(LinearLayout.INVISIBLE); + editor.putBoolean(getString(R.string.PreferenceUseProxy), false); + } else { + ll.setVisibility(LinearLayout.VISIBLE); + editor.putBoolean(getString(R.string.PreferenceUseProxy), true); + } + if (!value.equals(getPreferenceString(R.string.PreferenceProxyType))) { + editor.putString(getString(R.string.PreferenceProxyType), value); + mIsChanged = true; + } + } + + @Override + public void onNothingSelected(AdapterView arg0) { + } + + }; + private OnClickListener mOkListener = new OnClickListener() { public void onClick(View v) { - boolean b = false; SharedPreferences.Editor editor = mSettings.edit(); if (isChanged(R.id.host, R.string.PreferenceHostKey)) { - editor.putString( - getString(R.string.PreferenceHostKey), - getWidgetText(R.id.host)); - b = true; + editor.putString(getString(R.string.PreferenceHostKey), getWidgetText(R.id.host)); + mIsChanged = true; } if (isChanged(R.id.port, R.string.PreferencePortKey)) { - editor.putString( - getString(R.string.PreferencePortKey), - getWidgetText(R.id.port)); - b = true; + editor.putString(getString(R.string.PreferencePortKey), getWidgetText(R.id.port)); + mIsChanged = true; } if (isChanged(R.id.userid, R.string.PreferenceLoginKey)) { - editor.putString( - getString(R.string.PreferenceLoginKey), - getWidgetText(R.id.userid)); - b = true; + editor.putString(getString(R.string.PreferenceLoginKey), getWidgetText(R.id.userid)); + mIsChanged = true; } if (isChanged(R.id.password, R.string.PreferencePasswordKey)) { - editor.putString( - getString(R.string.PreferencePasswordKey), - getWidgetText(R.id.password)); - b = true; + editor.putString(getString(R.string.PreferencePasswordKey), getWidgetText(R.id.password)); + mIsChanged = true; } - if (b == true) { + if (isChanged(R.id.proxy_host, R.string.PreferenceProxyHost)) { + editor.putString(getString(R.string.PreferenceProxyHost), getWidgetText(R.id.proxy_host)); + mIsChanged = true; + } + if (isChanged(R.id.proxy_port, R.string.PreferenceProxyPort)) { + editor.putString(getString(R.string.PreferenceProxyPort), getWidgetText(R.id.proxy_port)); + mIsChanged = true; + } + if (isChanged(R.id.proxy_login, R.string.PreferenceProxyUser)) { + editor.putString(getString(R.string.PreferenceProxyUser), getWidgetText(R.id.proxy_login)); + mIsChanged = true; + } + if (isChanged(R.id.proxy_pwd, R.string.PreferenceProxyPassword)) { + editor.putString(getString(R.string.PreferenceProxyPassword), getWidgetText(R.id.proxy_pwd)); + mIsChanged = true; + } + + if (mIsChanged == true) { editor.commit(); setResult(RESULT_OK); } else @@ -79,6 +140,15 @@ e.setText(getPreferenceString(R.string.PreferenceLoginKey)); e = (EditText) findViewById(R.id.password); e.setText(getPreferenceString(R.string.PreferencePasswordKey)); + + e = (EditText) findViewById(R.id.proxy_host); + e.setText(getPreferenceString(R.string.PreferenceProxyHost)); + e = (EditText) findViewById(R.id.proxy_port); + e.setText(getPreferenceString(R.string.PreferenceProxyPort)); + e = (EditText) findViewById(R.id.proxy_login); + e.setText(getPreferenceString(R.string.PreferenceProxyUser)); + e = (EditText) findViewById(R.id.proxy_pwd); + e.setText(getPreferenceString(R.string.PreferenceProxyPassword)); } private String getWidgetText(int id) {