package com.shejiaomao.weibo.service.listener; import com.shejiaomao.maobo.R; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; import com.cattong.commons.ServiceProvider; import com.shejiaomao.weibo.activity.AddAccountActivity; public class AddAccountCustomKeyClickListener implements OnClickListener { private AddAccountActivity context; private LinearLayout llXAuthForm; private LinearLayout llOAuthIntro; private EditText etUsername; private EditText etPassword; private TextView tvOAuthIntro; private CheckBox cbUseProxy; private EditText etRestProxy; private EditText etSearchProxy; private CheckBox cbFollowOffical; private CheckBox cbMakeDefault; private Spinner spConfigApp; private Button btnAuthorize; public AddAccountCustomKeyClickListener(AddAccountActivity context) { this.context = context; llXAuthForm = (LinearLayout) context.findViewById(R.id.llXAuthForm); etUsername = (EditText) context.findViewById(R.id.etUsername); etPassword = (EditText) context.findViewById(R.id.etPassword); llOAuthIntro = (LinearLayout) context.findViewById(R.id.llOAuthIntro); tvOAuthIntro = (TextView) context.findViewById(R.id.tvOAuthIntro); cbUseProxy = (CheckBox) context.findViewById(R.id.cbUseApiProxy); etRestProxy = (EditText) context.findViewById(R.id.etRestProxy); etSearchProxy = (EditText) context.findViewById(R.id.etSearchProxy); cbFollowOffical = (CheckBox) context.findViewById(R.id.cbFollowOffical); cbMakeDefault = (CheckBox) context.findViewById(R.id.cbDefault); spConfigApp = (Spinner)context.findViewById(R.id.spConfigApp); btnAuthorize = (Button) context.findViewById(R.id.btnAuthorize); } @Override public void onClick(View v) { ServiceProvider sp = context.getSp(); if (true) { showOAuthForm(sp); } else { showForm(sp); context.resetAuthConfigApp(); } } private void showForm(final ServiceProvider sp) { switch (sp) { case Sina: case Tencent: showOAuthForm(sp); break; case Twitter: showOAuthForm(sp); cbUseProxy.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { showXAuthForm(sp); } else { showOAuthForm(sp); } } }); break; case RenRen: case KaiXin: case QQZone: showOAuthForm(sp); break; default: showXAuthForm(sp); break; } } private void showXAuthForm(ServiceProvider sp) { llOAuthIntro.setVisibility(View.GONE); llXAuthForm.setVisibility(View.VISIBLE); etUsername.setText(""); etPassword.setText(""); if (sp == ServiceProvider.Twitter) { cbUseProxy.setVisibility(View.VISIBLE); etRestProxy.setVisibility(View.VISIBLE); etRestProxy.setText(""); etSearchProxy.setVisibility(View.GONE); } else { cbUseProxy.setVisibility(View.GONE); etRestProxy.setVisibility(View.GONE); etSearchProxy.setVisibility(View.GONE); } // boolean isEnabled = false; // if (sp == ServiceProvider.Twitter && cbUseProxy.isChecked()) { // isEnabled = isEnabled && etRestProxy.getText().length() > 0; // } btnAuthorize.setEnabled(false); } private void showOAuthForm(ServiceProvider sp) { llXAuthForm.setVisibility(View.GONE); llOAuthIntro.setVisibility(View.VISIBLE); if (sp == ServiceProvider.Twitter) { cbUseProxy.setVisibility(View.VISIBLE); } else { cbUseProxy.setVisibility(View.GONE); } if (sp.getSpCategory().equals(ServiceProvider.CATEGORY_SNS)) { cbFollowOffical.setVisibility(View.GONE); cbMakeDefault.setVisibility(View.GONE); } else { cbFollowOffical.setVisibility(View.VISIBLE); cbMakeDefault.setVisibility(View.VISIBLE); } etRestProxy.setVisibility(View.GONE); etSearchProxy.setVisibility(View.GONE); tvOAuthIntro.setText(R.string.hint_accounts_oauth_intro_tencent); if (sp.isSns()) { tvOAuthIntro.append("\n\n"); tvOAuthIntro.append(context.getText(R.string.hint_accounts_sns)); } btnAuthorize.setEnabled(true); } }