package com.ladjzero.uzlee;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.ladjzero.hipda.User;
import com.ladjzero.uzlee.utils.Utils;
import com.rey.material.app.Dialog;
import com.rey.material.widget.Spinner;
import com.tencent.stat.StatConfig;
import com.tencent.stat.StatService;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Created by chenzhuo on 15-11-8.
*/
public class ActivityLogin extends ActionBarActivity {
@Bind(R.id.user_name)
TextView name;
@Bind(R.id.user_password)
TextView passwd;
@Bind(R.id.answer)
TextView answer;
@Bind(R.id.question)
Spinner spn;
@Bind(R.id.logo)
View logo;
private HttpApi mHttpApi;
private LocalApi mLocalApi;
private User mUser;
@OnClick(R.id.login)
void onLogin() {
mHttpApi.login(name.getText().toString(), passwd.getText().toString(), spn.getSelectedItemPosition(), answer.getText().toString(), new HttpClientCallback() {
@Override
public void onSuccess(String response) {
Utils.showToast(ActivityLogin.this, "登录成功");
Utils.replaceActivity(ActivityLogin.this, ActivityMain.class);
/*
Hack. apiStore.user will be fetched with any page. BUT one mock user MUST
be set to authorize fetching security forums.
*/
App.getInstance().getCore().getApiStore().setUser(new User().setId(1));
}
@Override
public void onFailure(String reason) {
Utils.showToast(ActivityLogin.this, "登录失败");
}
});
}
@OnClick(R.id.register)
void onRegister() {
final Dialog dialog = new Dialog(this);
dialog.title("注册")
.contentView(R.layout.register_info)
.positiveAction("前往HiPDA注册")
.negativeAction("取消")
.positiveActionClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String url = "http://www.hi-pda.com/forum/tobenew.php";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
}
})
.negativeActionClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
})
.cancelable(true)
.show();
}
@OnClick(R.id.view_as_visitor)
void viewAsVisitor() {
Utils.replaceActivity(this, ActivityMain.class);
}
@Override
protected void onCreate(Bundle bundle) {
SharedPreferences setting = PreferenceManager.getDefaultSharedPreferences(this);
String themeColor = setting.getString("theme", ActivityBase.DefaultTheme);
setTheme(Utils.getTheme(themeColor));
super.onCreate(bundle);
setContentView(R.layout.activity_login);
ButterKnife.bind(this);
Core core = ((App) getApplication()).getCore();
mHttpApi = core.getHttpApi();
mLocalApi = core.getLocalApi();
Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate);
logo.setAnimation(animation);
User user = mLocalApi.getUser();
if (user != null && user.getId() > 0) {
Utils.replaceActivity(this, ActivityMain.class);
} else {
String[] questions = getResources().getStringArray(R.array.questions);
spn.setAdapter(new ArrayAdapter<>(this, R.layout.item_spinner, questions));
spn.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(Spinner spinner, View view, int i, long l) {
answer.setVisibility(i == 0 ? View.GONE : View.VISIBLE);
}
});
}
StatConfig.setDebugEnable(true);
StatService.trackCustomEvent(this, "onCreate", "");
}
}