|
package com.electric.chargingpile.activity;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Paint;
import android.hardware.Camera;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v4.view.animation.LinearOutSlowInInterpolator;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.blankj.utilcode.util.LogUtils;
import com.electric.chargingpile.R;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.data.OperatorPicBean;
import com.electric.chargingpile.manager.ProfileManager;
import com.electric.chargingpile.util.DES3;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.LoadingDialog;
import com.electric.chargingpile.util.Md5Util;
import com.electric.chargingpile.util.ToastUtil;
import com.electric.chargingpile.view.AlertDialogTwo;
import com.electric.chargingpile.view.CircleProgressBar;
import com.electric.chargingpile.view.OperatorDialog;
import com.electric.chargingpile.view.WaveView;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.analytics.MobclickAgent;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.TimeZone;
import java.util.Timer;
import java.util.TimerTask;
import okhttp3.Call;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions;
public class MainScanActivity extends AppCompatActivity implements View.OnClickListener, EasyPermissions.PermissionCallbacks {
private static final String TAG = "MainScanActivity";
private IntentFilter intentFilter;
private NetworkChangeReceiver networkChangeReceiver;
public static String tag;
public static int no = 0;
LoadingDialog dialog;
private Activity activity;
int j;
SimpleDateFormat formatter;
private LinearLayout ll_tab_our, ll_tab_index, ll_tab_find, ll_yue, ll_1;
private RelativeLayout rl_scan;
private LinearLayout ll_charging_status, tab_qa;
private ImageView iv_our, iv_scan, iv_questionmark, iv_find, iv_main, iv_screening;
private long exitTime = 0;
private String money;
private String free_status;
private String tellist;
private ArrayList<ImageView> list_iv;
private ArrayList<OperatorPicBean> operatorPicBeen;
private TextView tv_more, tv_msg_num, tv_time, tv_cost, tv_zhuang_num, tv_chongdianliang, tv_go, tv_yue, tv_recharge, tv_progress, tv_screening;
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
// case 1:
// //操作界面
// hw.setText(msg.obj.toString());
//
// break;
case 2:
// tv_time.setText(msg.obj.toString());
break;
}
}
};
private CircleProgressBar bar;
private Timer mTimer;
private int i = 0;
private TextView tv_help;
private String zhan_idc = "";
private int z = 0;
private int msgOne = 0;
private Timer timer;
private AlertDialogTwo alertDialogTwo;
private WaveView wave_view;
private static final int RC_CAMERA_PERM = 123;
private static final int RC_TELL_PERM = 124;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_scan);
// LogUtils.e(MainApplication.userPassword);
intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver, intentFilter);
activity = this;
dialog = new LoadingDialog(this);
dialog.setCanceledOnTouchOutside(false);
tellist = ProfileManager.getInstance().getKeyTel(getApplicationContext());
initViews();
getOperatorList();
formatter = new SimpleDateFormat("HH:mm:ss");//初始化Formatter的转换格式。
formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
// start timer task
}
private void initViews() {
tv_more = (TextView) findViewById(R.id.tv_more);
mTimer = new Timer();
alertDialogTwo = new AlertDialogTwo(MainScanActivity.this);
wave_view = (WaveView) findViewById(R.id.wave_view);
wave_view.setDuration(4000);
wave_view.setStyle(Paint.Style.FILL);
wave_view.setColor(getResources().getColor(R.color.lvse));
wave_view.setInterpolator(new LinearOutSlowInInterpolator());
wave_view.start();
// wave_view.postDelayed(new Runnable() {
// @Override
// public void run() {
// wave_view.stop();
// }
// }, 10000);
tab_qa = (LinearLayout) findViewById(R.id.tab_qa);
tab_qa.setOnClickListener(this);
tv_help = (TextView) findViewById(R.id.tv_help);
tv_help.setOnClickListener(this);
ll_tab_index = (LinearLayout) findViewById(R.id.ll_tab_index);
ll_1 = (LinearLayout) findViewById(R.id.ll_1);
ll_1.setOnClickListener(this);
ll_tab_index.setOnClickListener(this);
ll_tab_our = (LinearLayout) findViewById(R.id.ll_tab_our);
ll_tab_our.setOnClickListener(this);
ll_tab_find = (LinearLayout) findViewById(R.id.ll_tab_find);
ll_tab_find.setOnClickListener(this);
iv_scan = (ImageView) findViewById(R.id.iv_scan);
iv_scan.setOnClickListener(this);
tv_time = (TextView) findViewById(R.id.tv_time);
tv_msg_num = (TextView) findViewById(R.id.tv_msg_num);
tv_cost = (TextView) findViewById(R.id.tv_cost);
tv_zhuang_num = (TextView) findViewById(R.id.tv_zhuang_num);
tv_progress = (TextView) findViewById(R.id.tv_jincheng);
tv_chongdianliang = (TextView) findViewById(R.id.tv_chongdianliang);
tv_go = (TextView) findViewById(R.id.tv_go);
tv_go.setOnClickListener(this);
tv_yue = (TextView) findViewById(R.id.tv_yue);
tv_recharge = (TextView) findViewById(R.id.tv_recharge);
tv_recharge.setOnClickListener(this);
iv_questionmark = (ImageView) findViewById(R.id.iv_questionmark);
iv_questionmark.setOnClickListener(this);
ll_yue = (LinearLayout) findViewById(R.id.ll_yue);
// tv_go.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// startActivity(new Intent(getApplication(), ChargingStatusActivity.class));
// }
// });
ll_charging_status = (LinearLayout) findViewById(R.id.ll_charging_status);
rl_scan = (RelativeLayout) findViewById(R.id.rl_scan);
// if (tag.equals("1")){
// ll_scan.setVisibility(View.GONE);
// rl_charging_status.setVisibility(View.VISIBLE);
//// setTimerTask();
// }else {
// ll_scan.setVisibility(View.VISIBLE);
// rl_charging_status.setVisibility(View.GONE);
// }
iv_our = (ImageView) findViewById(R.id.iv_our);
iv_find = (ImageView) findViewById(R.id.iv_find);
iv_main = (ImageView) findViewById(R.id.iv_main);
iv_screening = (ImageView) findViewById(R.id.iv_screening);
tv_screening = (TextView) findViewById(R.id.tv_screening);
// if (MainMapActivity.have_message == 0 && MainMapActivity.have_pinglun == 0) {
// if (MainApplication.festival_time.equals("1")){
// iv_our.setImageResource(R.drawable.icon_cj4);
// }else if (MainApplication.festival_time.equals("2")){
// iv_our.setImageResource(R.drawable.icon_yx4);
// }else {
// iv_our.setImageResource(R.drawable.tab_our);
// }
// } else if (MainMapActivity.have_message == 1 || MainMapActivity.have_pinglun != 0) {
// if (MainApplication.festival_time.equals("1")){
// iv_our.setImageResource(R.drawable.icon_cjh4);
// }else if (MainApplication.festival_time.equals("2")){
// iv_our.setImageResource(R.drawable.icon_yxh4);
// }else {
// iv_our.setImageResource(R.drawable.tab_our_h);
// }
// }
//
// if (MainApplication.festival_time.equals("1")){
// iv_screening.setImageResource(R.drawable.icon_cj2);
// iv_main.setImageResource(R.drawable.icon_cj1);
// iv_find.setImageResource(R.drawable.icon_cj3);
// tv_screening.setTextColor(getResources().getColor(R.color.jieri));
// }else if (MainApplication.festival_time.equals("2")){
// iv_screening.setImageResource(R.drawable.icon_yx2);
// iv_main.setImageResource(R.drawable.icon_yx1);
// iv_find.setImageResource(R.drawable.icon_yx3);
// tv_screening.setTextColor(getResources().getColor(R.color.jieri));
// }
}
private void getUserIntegral() {
String replace = null;
try {
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = String.valueOf(updatetime);
String encode_token = DES3.encode(token);
replace = URLEncoder.encode(encode_token);
} catch (Exception e) {
e.printStackTrace();
}
String url = MainApplication.url + "/zhannew/basic/web/index.php/member/get-score?id=" + MainApplication.userId +
"&phone=" + MainApplication.userPhone + "&password=" + URLEncoder.encode(MainApplication.userPassword) + "&token=" + replace;
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
// Log.e(TAG, "onResponse: " + response);
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
if (null != rtnCode && rtnCode.equals("01")) {
String rtnMsg = JsonUtils.getKeyResult(response, "rtnMsg");
money = JsonUtils.getKeyResult(rtnMsg, "money");
free_status = JsonUtils.getKeyResult(rtnMsg, "free_status");
if (free_status.equals("0")) {
tv_yue.setText("余额:" + money + "元");
ll_yue.setVisibility(View.VISIBLE);
} else {
ll_yue.setVisibility(View.INVISIBLE);
}
} else {
ProfileManager.getInstance().setUsername(getApplicationContext(), "");
MainApplication.userPhone = "";
Toast.makeText(getApplicationContext(), "登录已失效,请重新登录", Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), LoginActivity.class));
}
}
});
}
private void showCallDialog(final String s) {
alertDialogTwo.builder()
.setMsg(s)
.setPositiveButton("联系客服", new View.OnClickListener() {
@Override
public void onClick(View v) {
tellTask();
}
}).setNegativeButton("取消", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}).show();
}
private void ifTimeout() {
dialog.show();
String url = MainApplication.url + "/zhannew/basic/web/index.php/special/orderstatus_v2?user_id=" + MainApplication.userId + "&password=" + MainApplication.userPassword;
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
dialog.cancel();
ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT);
CrashReport.postCatchedException(e);
}
@Override
public void onResponse(String response) {
LogUtils.e(response);
String code = JsonUtils.getKeyResult(response, "code");
dialog.cancel();
if (code.equals("200")) {
limitStart();
} else if (code.equals("300")) {
Intent intent = new Intent(getApplication(), ChargingStatusActivity.class);
intent.putExtra("type", "tld");
startActivity(intent);
} else {
ToastUtil.showToast(getApplicationContext(), "您有一笔订单正在启动中,请稍后再试", Toast.LENGTH_SHORT);
}
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_help:
MobclickAgent.onEvent(getApplicationContext(), "0604");
Intent intentt = new Intent(getApplication(), MyWebViewActivity.class);
// intent3.putExtra("url", "http://m.wz.qichecdn.com/h5/vehicle/List?openid="+MainApplication.userId+"&platformid=1hz5sM5_orY"+"&userid="+MainApplication.userId);
intentt.putExtra("url", "http://evcharge.cc/cdz/newcharge-help.html");
startActivity(intentt);
break;
case R.id.ll_tab_index:
// Intent intent = new Intent(getApplication(), MainMapActivity.class);
// intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
// startActivity(intent);
MobclickAgent.onEvent(getApplicationContext(), "0118");
finish();
overridePendingTransition(0, 0);
break;
case R.id.ll_tab_our:
MobclickAgent.onEvent(getApplicationContext(), "0106");
Intent intent1 = new Intent(getApplication(), UserCenterActivity.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent1);
finish();
overridePendingTransition(0, 0);
break;
case R.id.ll_tab_find:
MobclickAgent.onEvent(getApplicationContext(), "0105");
Intent intent5 = new Intent(getApplication(), FindActivity.class);
intent5.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent5);
finish();
overridePendingTransition(0, 0);
break;
case R.id.tab_qa:
MobclickAgent.onEvent(getApplicationContext(), "0103");
Intent intent = new Intent(getApplication(), ChatActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
finish();
overridePendingTransition(0, 0);
break;
case R.id.iv_scan:
if (!MainApplication.isLogin()) {
startActivity(new Intent(getApplication(), LoginActivity.class));
} else {
MobclickAgent.onEvent(getApplicationContext(), "0602");
// startActivity(new Intent(getApplicationContext(),TLDLoadingActivity.class));
cameraTask();
// ifTimeout();
}
break;
case R.id.tv_recharge:
MobclickAgent.onEvent(getApplicationContext(), "0603");
startActivity(new Intent(getApplicationContext(), AccountRechargeActivity.class));
break;
case R.id.tv_go:
startActivity(new Intent(getApplication(), ChargingStatusActivity.class));
// if (mTimer != null) {
// mTimer.cancel();
// mTimer = null;
// }
// if (timer != null) {
// timer.cancel();
// }
z = 0;
break;
case R.id.iv_questionmark:
Intent intenttt = new Intent(getApplication(), MyWebViewActivity.class);
String s = null;
try {
s = "http://evcharge.cc/activity/no-pwd-pay-info.html";
} catch (Exception e) {
e.printStackTrace();
}
intenttt.putExtra("url", s);
// intenttt.putExtra("tag", "3");
startActivity(intenttt);
break;
case R.id.ll_1:
if (ll_1.getVisibility() == View.VISIBLE) {
MobclickAgent.onEvent(getApplicationContext(), "0605");
new OperatorDialog(MainScanActivity.this, MainScanActivity.this, operatorPicBeen).builder().setCancelable(true).show();
}
break;
default:
break;
}
}
private void limitStart() {
dialog.show();
String url = MainApplication.url + "/zhannew/basic/web/index.php/free/startlimit_v2?user_id=" + MainApplication.userId + "&password=" + MainApplication.userPassword;
LogUtils.e(url);
OkHttpUtils.get().url(url).build().connTimeOut(10000).execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT);
CrashReport.postCatchedException(e);
}
@Override
public void onResponse(String response) {
LogUtils.e(response);
if (activity != null && !activity.isFinishing()) {
dialog.cancel();
}
String code = JsonUtils.getKeyResult(response, "code");
if ("200".equals(code)) {
Intent iintent = new Intent(getApplicationContext(), com.google.zxing.client.android.CaptureActivity.class);
iintent.putExtra("url", MainApplication.url);
iintent.putExtra("user_id", MainApplication.userId);
iintent.putExtra("user_password", MainApplication.userPassword);
iintent.putExtra("cha", MainMapActivity.cha);
startActivity(iintent);
} else if (code.equals("2000")) {
final String error_message = JsonUtils.getKeyResult(response, "error_message");
// Toast.makeText(getApplicationContext(),error_message,Toast.LENGTH_SHORT).show();
String data = JsonUtils.getKeyResult(response, "data");
final String user_id = JsonUtils.getKeyResult(data, "user_id");
final String order_id = JsonUtils.getKeyResult(data, "order_id");
final String money = JsonUtils.getKeyResult(data, "money");
// final String time = JsonUtils.getKeyResult(data,"time");
// final String zhanName = JsonUtils.getKeyResult(data,"zhan_name");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
alertDialogTwo.builder()
.setTitle("温馨提示")
.setMsg(error_message)
.setPositiveButton("结算", new View.OnClickListener() {
@Override
public void onClick(View v) {
// LogUtils.e("free_status="+free_status);
if (free_status.equals("0")) {
Intent intent = new Intent(getApplicationContext(), NonSecretSeettingActivity.class);
intent.putExtra("user_id", user_id);
intent.putExtra("order_id", order_id);
intent.putExtra("money", money);
intent.putExtra("tag", "1");
Uri uri = Uri.parse("chongdianzhuang://");
intent.setData(uri);
startActivity(intent);
} else {
dialog.show();
String url = MainApplication.url + "/zhannew/basic/web/index.php/free/pay?user_id=" + user_id + "&money=" + money + "&third_id=" + order_id;
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
if (activity != null && !activity.isFinishing()) {
dialog.cancel();
}
ToastUtil.showToast(getApplicationContext(), "结算失败,请检查您的支付宝账户", Toast.LENGTH_SHORT);
}
@Override
public void onResponse(String response) {
if (activity != null && !activity.isFinishing()) {
dialog.cancel();
}
// LogUtils.e(response);
String code = JsonUtils.getKeyResult(response, "code");
if (code.equals("200")) {
ToastUtil.showToast(getApplicationContext(), "结算订单成功", Toast.LENGTH_SHORT);
} else {
ToastUtil.showToast(getApplicationContext(), "支付宝扣款失败,请确保您的支付宝账号内有足够金额", Toast.LENGTH_SHORT);
}
}
});
}
// Intent intent = new Intent(getApplicationContext(), AccountRechargeActivity.class);
// startActivity(intent);
}
}).setNegativeButton("取消", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}).show();
}
}, 100);
} else if (code.equals("600")) {
String error_message = JsonUtils.getKeyResult(response, "error_message");
if (activity != null && !activity.isFinishing()) {
showCallDialog(error_message);
}
} else if (code.equals("104")) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
alertDialogTwo.builder()
.setMsg("账户余额不足,请前往充值或开通免密支付")
.setPositiveButton("去充值", new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), AccountRechargeActivity.class);
startActivity(intent);
}
}).setNegativeButton("开通免密支付", new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), NonSecretSeettingActivity.class);
Uri uri = Uri.parse("chongdianzhuang://");
intent.setData(uri);
startActivity(intent);
// startActivity(new Intent(getApplicationContext(),NonSecretSeettingActivity.class));
}
}).show();
}
}, 200);
} else {
String error_message = JsonUtils.getKeyResult(response, "error_message");
ToastUtil.showToast(getApplicationContext(), error_message, Toast.LENGTH_SHORT);
}
}
});
}
private void setTimerTasks() {
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// i++;
j++;
// long ms = i * 1000;
long sm = 1000 * j;
// String hms = formatter.format(ms);
String smh = formatter.format(sm);
// Message msg = new Message();
// msg.obj = hms;
// msg.what = 1;
// mHandler.sendMessage(msg);//向Handler发送消息,
Message message = new Message();
message.obj = smh;
message.what = 2;
mHandler.sendMessage(message);
}
}, 0, 1000/* 表示1000毫秒之後,每隔1000毫秒執行一次 */);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
Log.e(TAG, "onKeyDown: ----------------------------");
// ActivityManagerApplication.destoryActivity("MainMapActivity");
if (MainMapActivity.mainMapActivity != null) {
MainMapActivity.mainMapActivity.finish();
}
SharedPreferences mySharedPreferences = getSharedPreferences("showdialog",
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor1 = mySharedPreferences.edit();
editor1.clear();
finish();
ProfileManager.getInstance().setSearchAddress(this, "");
android.os.Process.killProcess(android.os.Process.myPid());
}
return true;
}
return super.onKeyDown(keyCode, event);
}
private void setTimerTask() {
if (mTimer != null) {
mTimer.schedule(new TimerTask() {
@Override
public void run() {
i++;
chargingStatus();
}
}, 1000, 10000/* 表示1000毫秒之後,每隔1000毫秒執行一次 */);
}
}
private void chargingStatus() {
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = String.valueOf(updatetime);
String url = MainApplication.url + "/zhannew/basic/web/index.php/xxapi/status_v2" +
"?supplier=星星充电&timer=" + token + "&user_id=" + MainApplication.userId +
"&password=" + MainApplication.userPassword + "&ver=1.0&sign="
+ Md5Util.md5("password=" + MainApplication.userPassword + "&supplier=星星充电&timer=" + token + "&user_id="
+ MainApplication.userId + "&key=661f9efdcb4f46fe7ab5f2e78a705a2a");
Log.e("urlstatus", url);
OkHttpUtils.get()
.url(url)
.build()
.connTimeOut(10000)
.readTimeOut(10000)
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT);
CrashReport.postCatchedException(e);
}
@Override
public void onResponse(String response) {
Log.e("status===", response);
String code = JsonUtils.getKeyResult(response, "code");
if (null != code) {
if (code.equals("200")) {
String data = JsonUtils.getKeyResult(response, "data");
String status = JsonUtils.getKeyResult(data, "status");
String type = JsonUtils.getKeyResult(data, "type");
zhan_idc = JsonUtils.getKeyResult(data, "zhanIDC");
if (null != status) {
if (status.equals("1")) {
//充电类型 0交流 1直流
String chargeType = JsonUtils.getKeyResult(data, "chargeType");
String name = JsonUtils.getKeyResult(data, "name");
if (name != null) {
if (name.equals("")) {
String stubId = JsonUtils.getKeyResult(data, "stubId");
tv_zhuang_num.setText(stubId);
} else {
tv_zhuang_num.setText(name);
}
}
//桩编号
// String stubId = JsonUtils.getKeyResult(data, "stubId");
// tv_zhuang_num.setText(stubId);
//充电金额
String feeTotal = JsonUtils.getKeyResult(data, "feeTotal");
if (feeTotal != null) {
if (feeTotal.equals("")) {
tv_cost.setText("--");
} else {
tv_cost.setText(feeTotal);
}
}
//充电电流
// String current = JsonUtils.getKeyResult(data, "current");
// if (current.equals("")){
// tv_dianliu.setText("--");
// }else {
// tv_dianliu.setText(current);
// }
//充电电压
// String voltage = JsonUtils.getKeyResult(data, "voltage");
// if (voltage.equals("")){
// tv_dianya.setText("--");
// }else {
// tv_dianya.setText(voltage);
// }
//百分比
if (type != null) {
// if (type.equals("xx")) {
String soc = JsonUtils.getKeyResult(data, "soc");
if (chargeType.equals("1")) {
if (!soc.equals("")) {
tv_progress.setText(soc + "%");
// tv_jindu.setText(soc+"%");
// float f = 0;
// try {
// f = Float.parseFloat(soc) * 0.01f;
// Log.e("111", f + "");
// } catch (NumberFormatException e) {
// e.printStackTrace();
// }
//
//
// bar.setProgress(f, 7000);
} else {
// tv_jindu.setText("--");
}
} else if (chargeType.equals("0")) {
// tv_jindu.setText("--");
}
// }
}
//充电时长(s)
// String timeCharge = JsonUtils.getKeyResult(data, "timeCharge");
// if (timeCharge.equals("")){
// tv_time.setText("--:--:--");
// }else {
// tv_time.setText(getStandardTime(Long.parseLong(timeCharge)));
// }
if (z == 0) {
String timeCharge = JsonUtils.getKeyResult(data, "timeCharge");
if (timeCharge != null) {
if (timeCharge.equals("")) {
tv_time.setText("--:--:--");
} else {
j = Integer.parseInt(timeCharge);
new Thread(new Runnable() {
@Override
public void run() {
setTimerTasks();
}
}).start();
z++;
}
}
}
//充电电量
String power = JsonUtils.getKeyResult(data, "power");
if (power != null) {
tv_chongdianliang.setText(power);
}
} else if (status.equals("9")) {
no = 1;
chargingEnd();
if (mTimer != null) {
mTimer.cancel();
mTimer = null;
}
if (null != timer) {
timer.cancel();
}
}
}
} else if (code.equals("110")) {
// chargingEnd();
if (null != mTimer) {
mTimer.cancel();
mTimer = null;
}
if (null != timer) {
timer.cancel();
timer = null;
}
rl_scan.setVisibility(View.VISIBLE);
ll_charging_status.setVisibility(View.GONE);
ToastUtil.showToast(getApplicationContext(), "本次充电已结束", Toast.LENGTH_SHORT);
MainApplication.isAppStart = false;
ProfileManager.getInstance().setAppStart(getApplicationContext(), MainApplication.isAppStart);
}
}
}
});
}
private void chargingEnd() {
// dialog.show();
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = String.valueOf(updatetime);
String url = MainApplication.url + "/zhannew/basic/web/index.php/xxapi/end" +
"?supplier=星星充电&timer=" + token + "&user_id=" + MainApplication.userId + "&ver=1.0&sign="
+ Md5Util.md5("supplier=星星充电&timer=" + token + "&user_id=" + MainApplication.userId + "&key=661f9efdcb4f46fe7ab5f2e78a705a2a");
Log.e("urlend===", url);
OkHttpUtils.get()
.url(url)
.build()
.connTimeOut(10000)
.readTimeOut(10000)
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
Toast.makeText(getApplicationContext(), "网络不给力", Toast.LENGTH_SHORT).show();
// dialog.cancel();
}
@Override
public void onResponse(String response) {
// Log.e("end===",response);
// dialog.cancel();
String code = JsonUtils.getKeyResult(response, "code");
// String error_message = JsonUtils.getKeyResult(response, "error_message");
// Log.e("code_end",code);
// Toast.makeText(getApplicationContext(),code,Toast.LENGTH_SHORT).show();
if (code.equals("200")) {
//
String data = JsonUtils.getKeyResult(response, "data");
String hongbao = JsonUtils.getKeyResult(data, "hongbao");
String money = JsonUtils.getKeyResult(data, "money");
String time_charge = JsonUtils.getKeyResult(data, "time_charge");
String power = JsonUtils.getKeyResult(data, "power");
String feeTotal = JsonUtils.getKeyResult(data, "feeTotal");
String end_info = JsonUtils.getKeyResult(data, "end_info");
String url = JsonUtils.getKeyResult(data, "url");
String zhuang_id = JsonUtils.getKeyResult(data, "zhan_id");
String order_id = JsonUtils.getKeyResult(data, "order_id");
MainApplication.isAppStart = false;
ProfileManager.getInstance().setAppStart(getApplicationContext(), MainApplication.isAppStart);
Intent intent = new Intent(getApplication(), OderDetailsActivity.class);
intent.putExtra("hongbao", hongbao);
intent.putExtra("money", money);
intent.putExtra("time_charge", time_charge);
intent.putExtra("power", power);
intent.putExtra("feeTotal", feeTotal);
intent.putExtra("end_info", end_info);
intent.putExtra("url", url);
intent.putExtra("zhuang_id", zhuang_id);
intent.putExtra("order_id", order_id);
intent.putExtra("zhan_idc", zhan_idc);
startActivity(intent);
// finish();
// Toast.makeText(getApplication(),"结束",Toast.LENGTH_SHORT).show();
} else if (code.equals("400")) {
mTimer.cancel();
mTimer = null;
if (null != timer) {
timer.cancel();
}
MainApplication.isAppStart = false;
ProfileManager.getInstance().setAppStart(getApplicationContext(), MainApplication.isAppStart);
// finish();
} else {
String error_message = JsonUtils.getKeyResult(response, "error_message");
// if(!error_message.equals("")) {
ToastUtil.showToast(getApplication(), error_message, Toast.LENGTH_SHORT);
}
if (null != mTimer) {
mTimer.cancel();
mTimer = null;
}
if (null != timer) {
timer.cancel();
}
rl_scan.setVisibility(View.VISIBLE);
ll_charging_status.setVisibility(View.GONE);
}
});
}
@Override
protected void onResume() {
super.onResume();
if (MainMapActivity.total_unread > 0) {
tv_msg_num.setVisibility(View.VISIBLE);
tv_msg_num.setText(MainMapActivity.total_unread + "");
} else {
tv_msg_num.setVisibility(View.GONE);
}
if (MainApplication.isLogin()) {
getUserIntegral();
} else {
ll_yue.setVisibility(View.GONE);
}
if (MainApplication.isLogin()) {
chargingStatuss();
} else {
rl_scan.setVisibility(View.VISIBLE);
ll_charging_status.setVisibility(View.GONE);
}
}
private void chargingStatuss() {
tv_go.setEnabled(false);
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = String.valueOf(updatetime);
String url = MainApplication.url + "/zhannew/basic/web/index.php/xxapi/status_v2" +
"?supplier=星星充电&timer=" + token + "&user_id=" + MainApplication.userId +
"&password=" + MainApplication.userPassword + "&ver=1.0&sign="
+ Md5Util.md5("password=" + MainApplication.userPassword + "&supplier=星星充电&timer=" + token + "&user_id="
+ MainApplication.userId + "&key=661f9efdcb4f46fe7ab5f2e78a705a2a");
Log.e("urlstatuss", url);
OkHttpUtils.get()
.url(url)
.build()
.connTimeOut(10000)
.readTimeOut(10000)
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT);
CrashReport.postCatchedException(e);
}
@Override
public void onResponse(String response) {
tv_go.setEnabled(true);
Log.e("status===", response);
String code = JsonUtils.getKeyResult(response, "code");
if (code.equals("200")) {
setTimerTask();
rl_scan.setVisibility(View.GONE);
ll_charging_status.setVisibility(View.VISIBLE);
// startActivity(new Intent(getApplication(), ChargingStatusActivity.class));
Log.e("首页查询订单=", "有");
} else {
rl_scan.setVisibility(View.VISIBLE);
ll_charging_status.setVisibility(View.GONE);
if (!tellist.contains(MainApplication.userPhone)) {
try {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (null != money) {
if (Float.parseFloat(money) > 1 && free_status.equals("0")) {
boolean isDestory = true;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
isDestory = MainScanActivity.this.isDestroyed();
}
if (!MainScanActivity.this.isFinishing() && isDestory == false) {
alertDialogTwo.builder()
.setMsg("新增支付宝小额免密支付功能,开通后无需充值,直接充电,快来开通吧")
.setPositiveButton("去开通", new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), NonSecretSeettingActivity.class);
Uri uri = Uri.parse("chongdianzhuang://");
intent.setData(uri);
startActivity(intent);
}
}).setNegativeButton("忽略", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}).show();
tellist += MainApplication.userPhone;
ProfileManager.getInstance().setKeyTel(getApplicationContext(), tellist);
}
}
}
}
}, 50);
} catch (Exception e) {
e.printStackTrace();
}
}
Log.e("首页查询订单=", "没有");
}
}
});
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (null != mTimer) {
mTimer.cancel();
mTimer = null;
}
if (null != timer) {
timer.cancel();
timer = null;
}
mHandler.removeCallbacksAndMessages(null);
unregisterReceiver(networkChangeReceiver);
}
@Override
public void onRequestPermissionsResult(int requestCode,
@NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
// EasyPermissions handles the request result.
// try {
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
// }catch (Exception e){
// e.getStackTrace();
// }
}
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
Log.d(TAG, "onPermissionsGranted:" + requestCode + ":" + perms.size());
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(MainScanActivity.this,
"该功能需要开启摄像头权限,是否前往开启??").build().show();
}
}
class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (null != networkInfo && networkInfo.isAvailable()) {
} else {
Toast.makeText(context, "当前网络不可用", Toast.LENGTH_SHORT).show();
}
}
}
private void getOperatorList() {
String url = MainApplication.url + "/zhannew/basic/web/index.php/suppiler/operator-list";
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
try {
// Log.e(TAG, "getOperatorList: "+response );
Gson g = new Gson();
operatorPicBeen = g.fromJson(response, new TypeToken<ArrayList<OperatorPicBean>>() {
}.getType());
// for (int i = 0;i<operatorPicBeen.size();i++){
// list_iv.get(i).setVisibility(View.VISIBLE);
// Picasso.with(MainScanActivity.this).load(operatorPicBeen.get(i).getIcon()).into(list_iv.get(i));
// if (i == 3){
// break;
// }
// }
// if (operatorPicBeen.size() == 4){
// tv_more.setVisibility(View.VISIBLE);
// }
// if (operatorPicBeen.size() >0){
// ll_1.setVisibility(View.VISIBLE);
// }
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
@AfterPermissionGranted(RC_CAMERA_PERM)
public void cameraTask() {
if (hasCameraPermission()) {
// Have permission, do the thing!
// Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
ifTimeout();
} else {
// Ask for one permission
EasyPermissions.requestPermissions(
this,
"该功能需要开启摄像头权限,是否前往开启?",
RC_CAMERA_PERM,
Manifest.permission.CAMERA);
}
}
@AfterPermissionGranted(RC_TELL_PERM)
public void tellTask() {
if (hasTellPermission()) {
// Have permission, do the thing!
// Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
String telNum = "4008810405";
Intent intent = new Intent();
intent.setAction("android.intent.action.CALL");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("tel:" + telNum));
MainScanActivity.this.startActivity(intent);
} else {
LogUtils.e("@@@@@@@");
// Ask for one permission
EasyPermissions.requestPermissions(
this,
"该功能需要开启拨号权限,是否前往开启?",
RC_TELL_PERM,
Manifest.permission.CALL_PHONE);
}
}
private boolean hasCameraPermission() {
return EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA);
}
private boolean hasTellPermission() {
return EasyPermissions.hasPermissions(this, Manifest.permission.CALL_PHONE);
}
@SuppressLint("StringFormatInvalid")
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if (requestCode == AppSettingsDialog.DEFAULT_SETTINGS_REQ_CODE) {
// String yes = getString(R.string.app_id);
// String no = getString(R.string.app_id);
//
// // Do something after user returned from app settings screen, like showing a Toast.
// Toast.makeText(
// this,
// getString(R.string.app_id,
// hasCameraPermission() ? yes : no),
// Toast.LENGTH_LONG)
// .show();
// }
}
public static boolean isCameraUseable() {
boolean canUse = true;
Camera mCamera = null;
try {
mCamera = Camera.open();
// setParameters 是针对魅族MX5。MX5通过Camera.open()拿到的Camera对象不为null
Camera.Parameters mParameters = mCamera.getParameters();
mCamera.setParameters(mParameters);
} catch (Exception e) {
canUse = false;
}
if (mCamera != null) {
mCamera.release();
}
return canUse;
}
}
|