package com.bdyjy.fragment;
import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.HashMap;
import com.alibaba.fastjson.JSON;
import com.bdyjy.R;
import com.bdyjy.activity.MainActivity;
import com.bdyjy.constants.HandlerOrder;
import com.bdyjy.entity.complaint.ComplaintContentQueryResultBean;
import com.bdyjy.entity.personalinfo.PersonalInfoContentQueryResultBean;
import com.bdyjy.entity.upload.ImgUploadResultBean;
import com.bdyjy.util.OkHttpUtils;
import com.bdyjy.util.SPUtils;
/**
* holy ���������������
*
* @author
*/
public class ResetPasswordFragment extends Fragment
{
private TextView tv_back;
private Handler handler;
private String toastMsg;
private MainActivity ctx;
private void initHandler()
{
handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
switch (msg.what)
{
case HandlerOrder.TOAST:
// TODO
Toast.makeText(ctx, toastMsg, Toast.LENGTH_LONG).show();
break;
case HandlerOrder.UPDATE_LISTVIEW:
// listView1.onLoad();
// loadData();
break;
case HandlerOrder.PROCESSBAR_SHOW:
ctx.showRoundProcessDialog();
break;
case HandlerOrder.PROCESSBAR_HIDE:
ctx.hideRoundProcessDialog();
break;
case HandlerOrder.UPLOAD_ERROR:
Toast.makeText(ctx, "�ϴ������������쳣", Toast.LENGTH_LONG).show();
ctx.hideRoundProcessDialog();
break;
case HandlerOrder.POST_OK:
// ���������post֮��Ľ��
handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_HIDE);
// ����ֵ������JSON��ʽ�����ݣ���Ҫ���������
String res = msg.getData().get("body").toString();
System.out.println("post_result:\n" + res);
PersonalInfoContentQueryResultBean bean = JSON.parseObject(
res, PersonalInfoContentQueryResultBean.class);
String app_result_key = bean.getApp_result_key();
if ("0".equals(app_result_key))
{
toastMsg = "�����ijɹ�";
handler.sendEmptyMessage(HandlerOrder.TOAST);
ctx.jumpToPersonalSettingFragment();
} else
{
toastMsg = bean.getApp_result_message_key();// "��Ϣ�ύʧ�ܣ�������";
handler.sendEmptyMessage(HandlerOrder.TOAST);
}
break;
}
}
};
}
public ResetPasswordFragment(MainActivity ctx)
{
this.ctx = ctx;
initHandler();
}
Button submit;
EditText et_oldPwd;
EditText et_newPwd;
EditText et_newPwd2;
String oldPwd;
String newPwd;
String newPwd2;
@SuppressLint("InflateParams")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.reset_password_fragment, null);
tv_back = (TextView) view.findViewById(R.id.tv_back);
tv_back.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
ctx.jumpToPersonalSettingFragment();
}
});
et_oldPwd = (EditText) view.findViewById(R.id.origin_passwprd);
et_newPwd = (EditText) view.findViewById(R.id.new_password);
et_newPwd2 = (EditText) view.findViewById(R.id.new_password_again);
submit = (Button) view.findViewById(R.id.submit);
submit.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
oldPwd = et_oldPwd.getText().toString();
newPwd = et_newPwd.getText().toString();
newPwd2 = et_newPwd2.getText().toString();
String valRes = ifParameterOK(oldPwd, newPwd, newPwd2);
if (null != valRes)
{
toastMsg = valRes;
handler.sendEmptyMessage(HandlerOrder.TOAST);
return;
}
System.out.println("mNewPassword:" + newPwd);
updatePassword();
}
});
return view;
}
private void updatePassword()
{
new Thread()
{
@Override
public void run()
{
System.out.println("����Ϣ�ύ��������:" + newPwd);
// ȡ��ҳ���ϵIJ����Լ�Ӧ���Ѿ��洢�IJ���
String res = null;
// ��sharePreference��ȡ��֮ǰ�洢�IJ���
String token = (String) SPUtils.get(ctx, "token", "");
String singnature = (String) SPUtils.get(ctx, "singnature", "");
String st = (String) SPUtils.get(ctx, "st", "");
// ����post����
tryPost(newPwd,oldPwd, token, singnature, st);
}
}.start();
}
/**
* �����첽post��ʽ�����ύ
*/
private void tryPost(String mNewPassword,String oldPwd, String token, String singnature,
String st)
{
// ����ʹ���첽post�������
HashMap<String, String> map = new HashMap<String, String>();
// ���ڿ�ʼ�������(��ȡ)
map.put("password", mNewPassword);
map.put("oldPassword", oldPwd);
String http = "/admin/clientuser/updatePwd.do?token=" + token
+ "&singnature=" + singnature + "&st=" + st;
handler.sendEmptyMessage(HandlerOrder.PROCESSBAR_SHOW);
OkHttpUtils.getInstance().doPostAsync(ctx, http, map, handler);
}
private String ifParameterOK(String oldPwd, String new1, String news2)
{
if (TextUtils.isEmpty(oldPwd))
return "�����벻��Ϊ��";
if (TextUtils.isEmpty(new1))
return "�����벻��Ϊ��";
if (TextUtils.isEmpty(news2))
return "���ٴ���д������";
if (!new1.equals(news2))
return "������д�������벻һ��";
return null;
}
}