package com.ectrip.cyt.ui; import static com.ectrip.cyt.utils.DesUtil.decrypt1; import static com.ectrip.cyt.utils.DesUtil.desCrypto; import android.app.ActionBar; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.text.InputType; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.Display; import android.view.KeyEvent; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.TextView; import android.widget.Toast; import com.ectrip.cyt.adapter.MainGridDataAdapter; import com.ectrip.cyt.base.DataTrans; import com.ectrip.cyt.bean.ConfigBean; import com.ectrip.cyt.bean.ImageInfo; import com.ectrip.cyt.callback.HttpCallback; import com.ectrip.cyt.config.BindService; import com.ectrip.cyt.config.DevicTool; import com.ectrip.cyt.config.MyApp; import com.ectrip.cyt.constant.DeviceType; import com.ectrip.cyt.constant.LogoType; import com.ectrip.cyt.constant.Module; import com.ectrip.cyt.constant.OrderCode; import com.ectrip.cyt.constant.ParamContants; import com.ectrip.cyt.constant.SelectAction; import com.ectrip.cyt.constant.constant; import com.ectrip.cyt.db.DbManager; import com.ectrip.cyt.response.LoginResponse; import com.ectrip.cyt.service.FtpParamerService; import com.ectrip.cyt.service.OrderRegularDelecteService; import com.ectrip.cyt.service.UploadLogService; import com.ectrip.cyt.shield_home.LockLayer.MToast; import com.ectrip.cyt.utils.AESEncryptor; import com.ectrip.cyt.utils.CommetryUtils; import com.ectrip.cyt.utils.DenstityUtils; import com.ectrip.cyt.utils.DesUtil; import com.ectrip.cyt.utils.LogUtil; import com.ectrip.cyt.utils.PreferenceUtils; import com.ectrip.cyt.utils.SharedPreferences2Obj; import com.ectrip.trips.check.R; import com.ectrip.trips.net.HttpHelper; import com.fri.idcread.idcread; import java.io.File; import java.io.InputStream; import java.lang.reflect.Method; import java.util.ArrayList; import hdx.HdxUtil; /** * @author jigo 首页 */ public class MainActivity extends BaseActivity implements OnItemClickListener, View.OnClickListener { private final int SETTING_REQUESTCODE = 1; private final String TAG = "MainActivity"; private GridView gridView1; private MainGridDataAdapter adapter; private ArrayList listConfig; private ImageView logo; private TextView login; private TextView unlogin; private TextView tv_username; private final Handler mHandler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_main); deleteConfigFile(); initData(); initView(); regularDelecte(); typeJudgment(); LogUtil.e(TAG, "硬件序列号 : " + getSerialNumber() + ",型号 :" + Build.MODEL); mHandler.postDelayed(new Runnable() { @Override public void run() { initService(); } }, 3000); } /** * 删除配置文件 */ private void deleteConfigFile() { try { File file = new File(constant.SelectionDir); if (file.exists()) { file.delete(); } } catch (Exception e) { e.printStackTrace(); } } private void initService() { Intent ftp = new Intent(this, FtpParamerService.class); startService(ftp); Intent upLoad = new Intent(this, UploadLogService.class); startService(upLoad); } /** * 获取硬件的序列号 */ public String getSerialNumber() { String serial = null; try { Class c = Class.forName("android.os.SystemProperties"); Method get = c.getMethod("get", String.class); serial = (String) get.invoke(c, "ro.serialno"); } catch (Exception e) { e.printStackTrace(); } return serial; } /** * 机器类型判断 */ private void typeJudgment() { // //机型 // String model = Build.MODEL; // String sn = android.os.Build.MODEL; // 得到存储的类型 Integer type = SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType").getObject("type", Integer.class); //如果未存储类型 if (type == null || type == 0) { DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int width = metrics.widthPixels; int height = metrics.heightPixels; if ((getSerialNumber() != null && getSerialNumber().contains("CYT") && getSerialNumber() .substring(0, 3).equals("CYT")) || (getSerialNumber() != null && getSerialNumber().contains("CTY") && getSerialNumber() .substring(0, 3).equals("CTY"))) { // 新的pos机 LogUtil.i(TAG, getString(R.string.new_pos)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.New_POS.getValue()); } else if ((getSerialNumber() != null && getSerialNumber().contains("LY") && getSerialNumber() .substring(0, 2).equals("LY"))) { release(); // 新的手持pos机 LogUtil.i(TAG, getString(R.string.new_handset_pos)); SharedPreferences2Obj .getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.New_HANDSET_POS.getValue()); } else if ((getSerialNumber() != null && getSerialNumber().contains("DY") && getSerialNumber() .substring(0, 2).equals("DY"))) { // 新的身份证pos机 LogUtil.i(TAG, getString(R.string.new_id_pos)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.New_IDPOS.getValue()); } else if (DevicTool.isHiboryPos()) { LogUtil.i(TAG, "5501H手持机"); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.BLACK_ID_POS.getValue()); } else if (DevicTool.isRSKPos()) { LogUtil.i(TAG, "RSK手持机"); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.ID_CARD_POS_RSK.getValue()); } else if (HdxUtil.SetIDCARDPower(1) != -1) { // 身份证pos机 LogUtil.i(TAG, getString(R.string.id_pos)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.ID_POS.getValue()); } else if (idcread.isIdcard("/dev/ttySAC1") || DevicTool.getInstance().isSerialPortHandset()) { release(); // 黄色手持机 LogUtil.i(TAG, getString(R.string.handset)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.HANDSET.getValue()); } else if ((DevicTool.getInstance().isSerialPort() || DevicTool .getInstance().isIdPosPrint()) && width <= 350 && height <= 500) { release(); // 小pos机 LogUtil.i(TAG, getString(R.string.small_pos)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.SMALL_POS.getValue()); } else if (DevicTool.getInstance().isSerialPort() || DevicTool.getInstance().isIdPosPrint()) { // 一般pos机 LogUtil.i(TAG, getString(R.string.general_pos)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.GENERAL_POS.getValue()); } //盛本pos机测试******************************* else if (BindService.getInstance().isBasewin()) { // 盛本pos机 LogUtil.i(TAG, "盛本POS机"); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.BASEWIN_REB_POS.getValue()); } //盛本pos机测试******************************* else { release(); // 手机 LogUtil.i(TAG, getString(R.string.mobile)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("MachineType") .setObject("type", DeviceType.MOBILE.getValue()); } } } /** * 释放常亮 */ public void release() { try { if (wakeLock != null) { wakeLock.release(); } } catch (Exception e) { e.printStackTrace(); } } /** * 开启服务去清除一定时间以上的数据 */ private void regularDelecte() { Intent intent = new Intent(MainActivity.this, OrderRegularDelecteService.class); startService(intent); } @Override protected void onResume() { super.onResume(); initConn(); if (MyApp.getInstance().getAccountId() != null) { if (!TextUtils.isEmpty(MyApp.getInstance().getUsername())) { login.setVisibility(View.GONE); tv_username.setVisibility(View.VISIBLE); tv_username.setText(MyApp.getInstance().getUsername() + " 已登录"); } } } private boolean initConn() { listConfig = DbManager.GetConfigs(); if (listConfig != null && listConfig.size() > 0) { MyApp.getInstance().setServiceIp(listConfig.get(0).getEc_ip()); MyApp.getInstance().KeyStr = listConfig.get(0).getEc_identity(); setFtpUrl(listConfig.get(0).getEc_ip()); try { String ec_signkey = AESEncryptor.decrypt(constant.decrypt, listConfig.get(0).getEc_signkey()); MyApp.getInstance().setSignkey(ec_signkey); LogUtil.i("MainActivity", "ec_signkey = " + ec_signkey); } catch (Exception e) { e.printStackTrace(); } MyApp.getInstance().setIdentity(listConfig.get(0).getEc_identity()); LogUtil.i("MainActivity", "getEc_identity = " + listConfig.get(0).getEc_identity()); LogUtil.d(TAG, getString(R.string.current_ip) + MyApp.getInstance().getServiceIp()); return true; } else { Intent intent = new Intent(MainActivity.this, SettingsActivity.class); intent.putExtra("titleName", getString(R.string.system_setting)); intent.putExtra("mode", "0"); startActivityForResult(intent, SETTING_REQUESTCODE); return false; } } private void setFtpUrl(String ec_ip) { LogUtil.d(TAG, "ec_ip = " + ec_ip); // int endIndex = ec_ip.trim().indexOf("/"); // String url = ec_ip.trim().substring(0, endIndex); PreferenceUtils.putString(MyApp.getInstance(), ParamContants.SET_ip, ec_ip.trim()); } private void initView() { gridView1 = (GridView) findViewById(R.id.gridView1); adapter = new MainGridDataAdapter(MainActivity.this, initData()); gridView1.setAdapter(adapter); gridView1.setOnItemClickListener(this); login = (TextView) findViewById(R.id.login); unlogin = (TextView) findViewById(R.id.unlogin); tv_username = (TextView) findViewById(R.id.username); login.setOnClickListener(this); unlogin.setOnClickListener(this); logo = (ImageView) findViewById(R.id.logo); if (constant.logoMark == LogoType.CYT.getValue()) { if (DevicTool.getInstance().isTablet(this)) { setImg(logo, R.drawable.main_cyt_pad); } else { setImg(logo, R.drawable.main_cyt); } } else if (constant.logoMark == LogoType.QNE.getValue()) { if (DevicTool.getInstance().isTablet(this)) { setImg(logo, R.drawable.main_qnr_pad); } else { setImg(logo, R.drawable.main_qne); } } else if (constant.logoMark == LogoType.EMC.getValue()) { if (DevicTool.getInstance().isTablet(this)) { setImg(logo, R.drawable.main_emc_pad); } else { setImg(logo, R.drawable.main_emc); } } else if (constant.logoMark == LogoType.LLT.getValue()) { if (DevicTool.getInstance().isTablet(this)) { setImg(logo, R.drawable.main_lly_pad); } else { setImg(logo, R.drawable.main_lly); } } } @SuppressWarnings("deprecation") private void setImg(ImageView imageView, int drawableId) { BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inPreferredConfig = Bitmap.Config.RGB_565; opt.inPurgeable = true; opt.inInputShareable = true; InputStream is = getResources().openRawResource(drawableId); Bitmap bm = BitmapFactory.decodeStream(is, null, opt); if (bm != null) { imageView.setScaleType(ScaleType.FIT_XY); imageView.setImageBitmap(bm); } } /** * 获取四个按钮的图片\文字 * * @return */ private ArrayList initData() { ArrayList data = new ArrayList(); data.add(new ImageInfo(getString(R.string.check), R.drawable.check_selector, R.drawable.icon_bg02, Module.CHECK)); // data.add(new ImageInfo(getString(R.string.reprint), // R.drawable.repaint_selector, R.drawable.icon_bg02, Module.REPRINT)); data.add(new ImageInfo(getString(R.string.query), R.drawable.check_order, R.drawable.icon_bg02, Module.QUERY)); data.add(new ImageInfo(getString(R.string.system_setting), R.drawable.set_selector, R.drawable.icon_bg02, Module.SETTING)); // data.add(new ImageInfo(getString(R.string.statistic), // R.drawable.statistic_selector, R.drawable.icon_bg02, // Module.STATISTIC)); // data.add(new ImageInfo(getString(R.string.about), // R.drawable.about, R.drawable.icon_bg02, // Module.ABOUT)); return data; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { dialog(SelectAction.Back.getValue()); } return false; } ; private void dialog(final int i) { final EditText inputpress = new EditText(this); inputpress.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); Builder builder = new AlertDialog.Builder(this); if (i == SelectAction.Reprint.getValue()) { builder.setTitle(getString(R.string.input_pwd)); } else if (i == SelectAction.Back.getValue()) { builder.setTitle(getString(R.string.input_exit_pwd)); } builder.setIcon(android.R.drawable.ic_dialog_info); builder.setView(inputpress).setPositiveButton( getString(R.string.btn_ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String password = inputpress.getText().toString(); if (listConfig != null && listConfig.size() > 0 && password.equals(listConfig.get(0) .getEc_passwd())) { if (i == SelectAction.Reprint.getValue()) { Intent intent; intent = new Intent(MainActivity.this, SelectActionActivity.class); // 设置选择的模式 SharedPreferences2Obj .getInstance(MainActivity.this) .setName("SelectAction") .setObject("Select", SelectAction.Reprint.getValue()); SharedPreferences2Obj .getInstance(MainActivity.this) .setName("SelectAction") .setObject("titleName", getString(R.string.reprint)); intent.putExtra("titleName", getString(R.string.reprint)); startActivity(intent); } else if (i == SelectAction.Back.getValue()) { try { CommetryUtils .releaseCommery(MainActivity.this); } catch (Exception e) { e.printStackTrace(); } finish(); } } else if (listConfig != null && listConfig.size() == 0 && constant.pwd.equals(password)) { try { CommetryUtils.releaseCommery(MainActivity.this); } catch (Exception e) { e.printStackTrace(); } finish(); } else { if (i == SelectAction.Back.getValue()) { MToast(MainActivity.this, getString(R.string.pwd_error_noexit), MToast.LENGTH_SHORT); } else { MToast(MainActivity.this, getString(R.string.pwd_error), MToast.LENGTH_SHORT); } } // 强制隐藏键盘 hideInpu(inputpress); } }); builder.setNegativeButton(getString(R.string.btn_cancel), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 强制隐藏键盘 hideInpu(inputpress); } }); AlertDialog dialog = builder.create(); if (MyApp.getInstance().isHandset) { dialog.getWindow().setType( WindowManager.LayoutParams.TYPE_SYSTEM_ERROR); } dialog.show(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case 1: if (resultCode == 1) { if (data == null) { return; } if (initConn()) { openDialog(getString(R.string.warm_prompt), getString(R.string.modiffy_success), getString(R.string.btn_ok)); } } break; } } private void openDialog(String title, String message, String button) { Builder builder = new Builder(MainActivity.this); builder.setTitle(title); builder.setMessage(message); builder.setNegativeButton(getString(R.string.btn_ok), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { try { dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } catch (Throwable e) { e.printStackTrace(); } } }); Dialog dialog = builder.create(); if (MyApp.getInstance().isHandset) { dialog.getWindow().setType( WindowManager.LayoutParams.TYPE_SYSTEM_ERROR); } dialog.show(); } /* * 下面就是四个点击模块 */ @Override public void onItemClick(AdapterView parent, View view, int position, long id) { ImageInfo obj = (ImageInfo) view.getTag(R.id.imageView1); Intent intent = null; listConfig = DbManager.GetConfigs(); switch (obj.getTag()) { case CHECK: // 检票 MyApp.getInstance().setCheckType(-1); if (listConfig != null && listConfig.size() > 0) { intent = new Intent(MainActivity.this, SelectActionActivity.class); intent.putExtra("titleName", getString(R.string.check)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("SelectAction") .setObject("Select", SelectAction.Check.getValue()); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("SelectAction") .setObject("titleName", getString(R.string.check)); // 设置选择的模式 MyApp.getInstance().setTempMode(0); startActivity(intent); } else { intent = new Intent(MainActivity.this, SettingsActivity.class); intent.putExtra("titleName", getString(R.string.system_setting)); intent.putExtra("mode", "0"); startActivityForResult(intent, SETTING_REQUESTCODE); } break; case REPRINT: // 补打 MyApp.getInstance().setCheckType(-1); if (listConfig != null && listConfig.size() > 0) { Boolean isEncrypt = SharedPreferences2Obj .getInstance(MainActivity.this).setName("config") .getObject("isEncrypt", Boolean.class); if (isEncrypt != null && isEncrypt) { dialog(SelectAction.Reprint.getValue()); } else { intent = new Intent(MainActivity.this, SelectActionActivity.class); // 设置选择的模式 SharedPreferences2Obj .getInstance(MainActivity.this) .setName("SelectAction") .setObject("Select", SelectAction.Reprint.getValue()); SharedPreferences2Obj .getInstance(MainActivity.this) .setName("SelectAction") .setObject("titleName", getString(R.string.reprint)); intent.putExtra("titleName", getString(R.string.reprint)); startActivity(intent); } } else { intent = new Intent(MainActivity.this, SettingsActivity.class); intent.putExtra("titleName", getString(R.string.system_setting)); intent.putExtra("mode", "0"); startActivityForResult(intent, SETTING_REQUESTCODE); } break; case QUERY: // 查询 if (listConfig != null && listConfig.size() > 0) { intent = new Intent(MainActivity.this, SelectActionActivity.class); // 设置选择的模式 intent.putExtra("titleName", getString(R.string.query)); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("SelectAction") .setObject("Select", SelectAction.Query.getValue()); SharedPreferences2Obj.getInstance(MainActivity.this) .setName("SelectAction") .setObject("titleName", getString(R.string.query)); MyApp.getInstance().setTempMode(1); startActivity(intent); } else { intent = new Intent(MainActivity.this, SettingsActivity.class); intent.putExtra("titleName", getString(R.string.system_setting)); intent.putExtra("mode", "0"); startActivityForResult(intent, SETTING_REQUESTCODE); } break; case STATISTIC:// 统计 MyApp.getInstance().setCheckType(-100); intent = new Intent(MainActivity.this, StatisticsActivity.class); intent.putExtra("titleName", getString(R.string.statistic)); startActivity(intent); break; case ABOUT: intent = new Intent(MainActivity.this, AboutActivity.class); intent.putExtra("titleName", getString(R.string.about)); startActivity(intent); break; case SETTING: // 设置 MyApp.getInstance().setCheckType(-1); if (listConfig != null && listConfig.size() > 0) { final EditText inputpress = new EditText(MainActivity.this); inputpress.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle(getString(R.string.input_pwd)); builder.setIcon(android.R.drawable.ic_dialog_info); builder.setView(inputpress).setPositiveButton( getString(R.string.btn_ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String password = inputpress.getText() .toString(); if (password.equals(listConfig.get(0) .getEc_passwd())) { Intent intent = new Intent( MainActivity.this, SettingsActivity.class); intent.putExtra("titleName", getString(R.string.system_setting)); intent.putExtra("mode", "1"); startActivityForResult(intent, SETTING_REQUESTCODE); } else { MToast(MainActivity.this, getString(R.string.pwd_error), MToast.LENGTH_SHORT); } // 隐藏软键盘 hideInpu(inputpress); } }); builder.setNegativeButton(getString(R.string.btn_cancel), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { hideInpu(inputpress); } }); AlertDialog dialog = builder.create(); if (MyApp.getInstance().isHandset) { dialog.getWindow().setType( WindowManager.LayoutParams.TYPE_SYSTEM_ERROR); } dialog.show(); } else { intent = new Intent(MainActivity.this, SettingsActivity.class); intent.putExtra("titleName", getString(R.string.system_setting)); intent.putExtra("mode", "0"); startActivityForResult(intent, SETTING_REQUESTCODE); } break; default: } } /** * 隐藏软件盘 */ private void hideInpu(View view) { // 隐藏软键盘 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); // 强制隐藏键盘 } @Override public void onClick(View view) { switch (view.getId()) { case R.id.login: loginTimps(); break; case R.id.unlogin: MyApp.getInstance().setAccountId(null); MyApp.getInstance().setUsername(null); tv_username.setText(""); tv_username.setVisibility(View.GONE); login.setVisibility(View.VISIBLE); Toast.makeText(this, "注销成功!", Toast.LENGTH_LONG).show(); break; } } private void loginTimps() { View view = View.inflate(this, R.layout.login_dialog, null); TextView popTitle = (TextView) view.findViewById(R.id.pop_title); TextView text_ok = (TextView) view.findViewById(R.id.text_ok); TextView text_no = (TextView) view.findViewById(R.id.text_no); popTitle.setText("操作员登录"); text_ok.setText("确定"); AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); final AlertDialog dialog = builder.create(); dialog.setView(view); dialog.show(); WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); WindowManager manager = this.getWindowManager(); Display display = manager.getDefaultDisplay(); int width = display.getWidth(); lp.width = DenstityUtils.dp2px(this, 300); lp.height = ActionBar.LayoutParams.WRAP_CONTENT; dialog.getWindow().setAttributes(lp); final EditText et_username = (EditText) dialog.findViewById(R.id.pop_suername); final EditText et_password = (EditText) dialog.findViewById(R.id.pop_password); text_ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final String username = et_username.getText().toString().trim(); if (TextUtils.isEmpty(username)) { Toast.makeText(MainActivity.this, "请输入用户名!", Toast.LENGTH_SHORT).show(); return; } String password = et_password.getText().toString().trim(); if (TextUtils.isEmpty(password)) { Toast.makeText(MainActivity.this, "请输入密码!", Toast.LENGTH_SHORT).show(); return; } HttpHelper.getInstance(MainActivity.this).login(username, password, new HttpCallback() { ProgressDialog dialog = null; private String signed; private String data; private int lastItem; @Override public void onPreCallback() { if (dialog == null) { // 显示ProgressDialog dialog = new ProgressDialog(MainActivity.this); dialog.setMessage("正在登录"); dialog.setCanceledOnTouchOutside(true); dialog.setCancelable(true); try { if (dialog != null && !dialog.isShowing()) { dialog.show(); } } catch (Exception e) { e.printStackTrace(); } } else { dialog.setMessage("登录中..."); } } @Override public void onCompletedCallback(DataTrans result) { } @Override public void afterCompletedCallback(DataTrans result) { if (result != null) { signed = result.getSigned(); data = result.getData(); parse2(result.getData(), LoginResponse.class, MainActivity.this); } else { if (dialog != null && dialog.isShowing()) { try { dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } catch (Throwable e) { e.printStackTrace(); } } Toast.makeText(MainActivity.this, "登录失败!", Toast.LENGTH_SHORT).show(); } } @Override public void onFailureCallback(String FailureStr) { if (dialog != null && dialog.isShowing()) { try { dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } catch (Throwable e) { e.printStackTrace(); } } Toast.makeText(MainActivity.this, FailureStr, Toast.LENGTH_SHORT).show(); } @Override public void onStopCallback() { } @Override public void onAgainParseCallback(Object parse) { if (dialog != null && dialog.isShowing()) { try { dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } catch (Throwable e) { e.printStackTrace(); } } if (parse != null) { LoginResponse loginResponse = (LoginResponse) parse; String code = loginResponse.getCode(); if (code != null && OrderCode.SUCESS.getValue().equals(code)) { if (loginResponse.getAccountId() != null) { dialog.dismiss(); MyApp.getInstance().setAccountId(loginResponse.getAccountId()); MyApp.getInstance().setUsername(username); login.setVisibility(View.GONE); tv_username.setVisibility(View.VISIBLE); tv_username.setText(username + " 已登录"); Toast.makeText(MainActivity.this, "登录成功!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "登录失败,请重试!", Toast.LENGTH_SHORT).show(); } } } else { Toast.makeText(MainActivity.this, "登录失败,请重试!", Toast.LENGTH_SHORT).show(); } } }); if (dialog.isShowing()) { dialog.dismiss(); } } }); text_no.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); } }