package com.haicaojie.android.ui.mine;
|
|
import android.app.ProgressDialog;
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.view.View;
|
import android.view.Window;
|
import android.view.WindowManager;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.lcjian.library.util.SingleToast;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.xiaomi.mipush.sdk.MiPushClient;
|
import com.haicaojie.android.BasicTextHttpResponseHandler;
|
import com.haicaojie.android.R;
|
import com.haicaojie.android.ShoppingApi;
|
import com.haicaojie.android.entity.UserInfo;
|
import com.haicaojie.android.ui.BaseActivity;
|
import com.haicaojie.android.util.TimeUtils;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
/**
|
* Created by weikou2015 on 2018/5/31.
|
* 合并账号
|
*/
|
|
public class MergeAccountActivity extends BaseActivity implements View.OnClickListener {
|
|
private TextView tv_top_left, tv_top_middle;
|
private ImageView iv_portrait_old;
|
private TextView tv_nickName_old, tv_id_old, tv_create_time_old;
|
private ImageView iv_portrait_new;
|
private TextView tv_nickName_new, tv_id_new, tv_create_time_new;
|
private TextView tv_cancel, tv_confirm;
|
|
UserInfo mainUser;
|
UserInfo lessUser;
|
UserInfo info;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_merge_account);
|
/*
|
* 计算状态栏高度并设置
|
*/
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
Window window = getWindow();
|
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
|
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
int result = 0;
|
int resourceId = getResources().getIdentifier("status_bar_height",
|
"dimen", "android");
|
if (resourceId > 0) {
|
result = getResources().getDimensionPixelSize(resourceId);
|
}
|
//设置状态栏文字颜色及图标为深色
|
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
|
result);
|
findViewById(R.id.v_status_bar).setLayoutParams(params);
|
} else {
|
findViewById(R.id.v_status_bar).setVisibility(View.GONE);
|
}
|
tv_top_left = (TextView) findViewById(R.id.tv_top_bar_left);
|
tv_top_middle = (TextView) findViewById(R.id.tv_top_bar_middle);
|
iv_portrait_old = (ImageView) findViewById(R.id.iv_portrait_old);
|
tv_nickName_old = (TextView) findViewById(R.id.tv_nickname_old);
|
tv_id_old = (TextView) findViewById(R.id.tv_id_old);
|
tv_create_time_old = (TextView) findViewById(R.id.tv_create_time_old);
|
iv_portrait_new = (ImageView) findViewById(R.id.iv_portrait_new);
|
tv_nickName_new = (TextView) findViewById(R.id.tv_nickname_new);
|
tv_id_new = (TextView) findViewById(R.id.tv_id_new);
|
tv_create_time_new = (TextView) findViewById(R.id.tv_create_time_new);
|
tv_cancel = (TextView) findViewById(R.id.tv_cancel);
|
tv_confirm = (TextView) findViewById(R.id.tv_confirm);
|
|
mainUser = (UserInfo) getIntent().getSerializableExtra("mainUser");
|
lessUser = (UserInfo) getIntent().getSerializableExtra("lessUser");
|
info = (UserInfo) getIntent().getSerializableExtra("user");
|
|
|
if (mainUser != null) {
|
Glide.with(this).load(mainUser.getPortrait()).placeholder(R.drawable.ic_default_portrait).into(iv_portrait_new);
|
tv_nickName_new.setText(mainUser.getNickName());
|
tv_id_new.setText("ID:" + mainUser.getId());
|
tv_create_time_new.setText(TimeUtils.millisToStringDate(Long.parseLong(mainUser.getCreatetime()), "yyyy-MM-dd"));
|
}
|
|
if (lessUser != null) {
|
Glide.with(this).load(lessUser.getPortrait()).placeholder(R.drawable.ic_default_portrait).into(iv_portrait_old);
|
tv_nickName_old.setText(lessUser.getNickName());
|
tv_id_old.setText("ID:" + lessUser.getId());
|
tv_create_time_old.setText(TimeUtils.millisToStringDate(Long.parseLong(lessUser.getCreatetime()), "yyyy-MM-dd"));
|
}
|
|
tv_top_middle.setText("合并账号");
|
tv_top_left.setOnClickListener(this);
|
tv_cancel.setOnClickListener(this);
|
tv_confirm.setOnClickListener(this);
|
|
}
|
|
@Override
|
public void onClick(View view) {
|
switch (view.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.tv_cancel:
|
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE);
|
SharedPreferences.Editor editor = sp.edit();
|
editor.putBoolean("isLogin", true);
|
editor.putBoolean("isTBBind", true);
|
editor.putBoolean("isFirstInput", false);
|
editor.putString("uid", info.getId());
|
MiPushClient.setAlias(MergeAccountActivity.this, info.getId(), null);
|
|
if (StringUtils.isEmpty(info.getOpenid())) {
|
editor.putBoolean("isTBBind", false);
|
} else {
|
editor.putBoolean("isTBBind", true);
|
}
|
if (StringUtils.isEmpty(info.getWxOpenId())) {
|
editor.putBoolean("isWxBind", false);
|
} else {
|
editor.putBoolean("isWxBind", true);
|
}
|
editor.commit();
|
SingleToast.showToast(MergeAccountActivity.this, "登录成功!");
|
finish();
|
break;
|
case R.id.tv_confirm:
|
mergeAccount();
|
break;
|
}
|
}
|
|
private void mergeAccount() {
|
|
final ProgressDialog pd = new ProgressDialog(this);
|
pd.setMessage("账号合并中...");
|
pd.setCanceledOnTouchOutside(false);
|
pd.show();
|
ShoppingApi.mergeAccount(MergeAccountActivity.this, mainUser.getId(), lessUser.getId(), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
final UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("user").toString(), new TypeToken<UserInfo>() {
|
}.getType());
|
SharedPreferences sp = getSharedPreferences("user", Context.MODE_PRIVATE);
|
SharedPreferences.Editor editor = sp.edit();
|
editor.putBoolean("isLogin", true);
|
editor.putBoolean("isTBBind", true);
|
editor.putBoolean("isFirstInput", false);
|
editor.putString("uid", info.getId());
|
MiPushClient.setAlias(MergeAccountActivity.this, info.getId(), null);
|
|
if (StringUtils.isEmpty(info.getOpenid())) {
|
editor.putBoolean("isTBBind", false);
|
} else {
|
editor.putBoolean("isTBBind", true);
|
}
|
if (StringUtils.isEmpty(info.getWxOpenId())) {
|
editor.putBoolean("isWxBind", false);
|
} else {
|
editor.putBoolean("isWxBind", true);
|
}
|
editor.commit();
|
SingleToast.showToast(MergeAccountActivity.this, "账户合并成功!");
|
finish();
|
} else {
|
SingleToast.showToast(MergeAccountActivity.this, jsonObject.optString("msg"));
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
if (pd.isShowing())
|
pd.dismiss();
|
}
|
});
|
}
|
}
|