package com.shejiaomao.weibo.activity;
import com.shejiaomao.maobo.R;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.cattong.commons.ServiceProvider;
import com.cattong.commons.http.auth.Authorization;
import com.cattong.entity.ConfigApp;
import com.shejiaomao.weibo.BaseActivity;
import com.shejiaomao.weibo.common.Constants;
import com.shejiaomao.weibo.common.theme.ThemeUtil;
import com.shejiaomao.weibo.db.ConfigAppDao;
import com.shejiaomao.weibo.service.listener.GoBackClickListener;
public class AddConfigAppActivity extends BaseActivity {
private EditText etAppName;
private EditText etAppKey;
private EditText etAppSecret;
private EditText etCallbackUrl;
private Button btnFooterActionSubmit;
private Button btnFooterActionReset;
private ServiceProvider sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.add_config_app);
initParams();
initCompoments();
bindEvent();
}
private void initParams() {
Intent intent = this.getIntent();
int spNo = intent.getIntExtra("spNo", ServiceProvider.Sina.getSpNo());
sp = ServiceProvider.getServiceProvider(spNo);
}
private void initCompoments() {
TextView tvTitle = (TextView) findViewById(R.id.tvTitle);
tvTitle.setText(R.string.title_add_config_app);
LinearLayout llRoot = (LinearLayout)findViewById(R.id.llRoot);
LinearLayout llHeaderBase = (LinearLayout)findViewById(R.id.llHeaderBase);
etAppName = (EditText) findViewById(R.id.etAppName);
etAppKey = (EditText) findViewById(R.id.etAppKey);
etAppSecret = (EditText) findViewById(R.id.etAppSecret);
etCallbackUrl = (EditText) findViewById(R.id.etCallbackUrl);
etCallbackUrl.setVisibility(View.GONE);
Authorization auth = new Authorization(sp);
if (auth.getAuthVersion() == Authorization.AUTH_VERSION_OAUTH_2) {
etCallbackUrl.setVisibility(View.VISIBLE);
}
LinearLayout llFooterAction = (LinearLayout)findViewById(R.id.llFooterAction);
btnFooterActionSubmit = (Button) findViewById(R.id.btnFooterActionSubmit);
btnFooterActionReset = (Button) findViewById(R.id.btnFooterActionReset);
ThemeUtil.setSecondaryHeader(llHeaderBase);
ThemeUtil.setRootBackground(llRoot);
int content = theme.getColor("content");
etAppName.setBackgroundDrawable(theme.getDrawable("selector_input_frame"));
etAppName.setTextColor(content);
etAppKey.setBackgroundDrawable(theme.getDrawable("selector_input_frame"));
etAppKey.setTextColor(content);
etAppSecret.setBackgroundDrawable(theme.getDrawable("selector_input_frame"));
etAppSecret.setTextColor(content);
etCallbackUrl.setBackgroundDrawable(theme.getDrawable("selector_input_frame"));
etCallbackUrl.setTextColor(content);
llFooterAction.setBackgroundDrawable(theme.getDrawable("bg_footer_action"));
int padding8 = theme.dip2px(8);
llFooterAction.setPadding(padding8, padding8, padding8, padding8);
llFooterAction.setGravity(Gravity.CENTER);
ThemeUtil.setBtnActionPositive(btnFooterActionSubmit);
ThemeUtil.setBtnActionNegative(btnFooterActionReset);
}
private void bindEvent() {
Button btnBack = (Button) this.findViewById(R.id.btnBack);
btnBack.setOnClickListener(new GoBackClickListener(R.anim.slide_in_right));
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) { }
@Override
public void afterTextChanged(Editable s) {
updateFormButton();
}
};
etAppName.addTextChangedListener(textWatcher);
etAppKey.addTextChangedListener(textWatcher);
etAppSecret.addTextChangedListener(textWatcher);
etCallbackUrl.addTextChangedListener(textWatcher);
btnFooterActionSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ConfigAppDao configAppDao = new ConfigAppDao(v.getContext());
ConfigApp configApp = new ConfigApp();
configApp.setServiceProvider(sp);
configApp.setAppName(etAppName.getText().toString());
configApp.setAppKey(etAppKey.getText().toString());
configApp.setAppSecret(etAppSecret.getText().toString());
configApp.setCallbackUrl(etCallbackUrl.getText().toString());
configAppDao.save(configApp);
AddConfigAppActivity.this.setResult(Constants.RESULT_CODE_SUCCESS);
AddConfigAppActivity.this.finish();
}
});
btnFooterActionReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
etAppName.setText("");
etAppKey.setText("");
etAppSecret.setText("");
etCallbackUrl.setText("");
}
});
}
private void updateFormButton() {
boolean enabled = etAppName.getText().length() > 0
&& etAppKey.getText().length() > 0
&& etAppSecret.length() > 0;
if (etCallbackUrl.getVisibility() == View.VISIBLE) {
enabled = enabled && etCallbackUrl.getText().length() > 0;
}
btnFooterActionSubmit.setEnabled(enabled);
}
}