package com.bestapp.yikuair.fragments; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.util.Log; import android.view.Gravity; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.bestapp.yikuair.R; import com.bestapp.yikuair.utils.Md5Util; import com.bestapp.yikuair.utils.MessageInfo; import com.bestapp.yikuair.utils.ModifyPasswordUtil; import com.bestapp.yikuair.utils.UserInfo; public class SetPasswordActivity extends Activity { private EditText oldPassword; private EditText setPassword; private EditText setPasswordAgain; private Toast toast; private TextView tv_success; private Dialog mDialog; private ModifyPasswordResultBroadcastReceiver mbr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.set_password_layout); initView(); } public void initView() { oldPassword = (EditText) findViewById(R.id.et_old_password); setPassword = (EditText) findViewById(R.id.et_login_password); setPasswordAgain = (EditText) findViewById(R.id.et_login_password_again); tv_success = (TextView) findViewById(R.id.tv_submit_success); mDialog = new AlertDialog.Builder(this).create(); // register broadcast IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(MessageInfo.ModifyPasswordBroadcast); mbr = new ModifyPasswordResultBroadcastReceiver(); registerReceiver(mbr, intentFilter); } public void closeLoadingDialog() { if (mDialog.isShowing()) mDialog.dismiss(); } public void showRoundProcessDialog() { mDialog.show(); mDialog.setCanceledOnTouchOutside(false); mDialog.setContentView(R.layout.modify_password_loading_dialog); } class ModifyPasswordResultBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context arg0, Intent arg1) { // TODO Auto-generated method stub Log.i("test", "receive modiy password result broadcast"); int resultCode = arg1.getIntExtra("code", 0); closeLoadingDialog(); if (resultCode == 200) { // showToast(getResources().getString(R.string.set_successful)); UserInfo.cipher_password = Md5Util.MD5(setPassword.getText() .toString()); tv_success.setVisibility(View.VISIBLE); quit(); } else { showToast(getResources().getString( R.string.modify_password_error)); } } } public void showToast(String str) { toast = Toast.makeText(getApplication(), str, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } public void cancelSetPassword(View view) { quit(); } public void checkSetPassword(View view) { String old_password = oldPassword.getText().toString(); String password_1 = setPassword.getText().toString(); String password_2 = setPasswordAgain.getText().toString(); if (old_password == null || old_password.length() == 0 || password_1 == null || password_1.length() == 0 || password_2 == null || password_2.length() == 0) { showToast(getResources() .getString(R.string.set_password_null_error)); return; } if (!password_1.equals(password_2)) { showToast(getResources().getString(R.string.set_password_dismatch)); } else { Log.e("test", "password ::" + UserInfo.password); if (old_password.equals(password_1)) { showToast(getResources().getString( R.string.set_password_same_error)); return; }else if(!old_password.equals(UserInfo.password)){ showToast(getResources().getString( R.string.old_password_error)); return; } UserInfo.password = password_1; showRoundProcessDialog(); ModifyPasswordUtil util = new ModifyPasswordUtil(this, setPassword .getText().toString()); util.ModifyPassword(); } } public void quit() { finish(); overridePendingTransition(R.anim.in_from_left, R.anim.out_of_right); } @Override public void onStop() { super.onStop(); if (mbr != null) { unregisterReceiver(mbr); mbr = null; } Log.i("test", "setpassword onStop"); } @Override public void onBackPressed() { quit(); } }