Browse Source

完成接入特瓦特

hy 2 years ago
parent
commit
07604be699

+ 2 - 1
app/src/main/AndroidManifest.xml

3
    xmlns:tools="http://schemas.android.com/tools"
3
    xmlns:tools="http://schemas.android.com/tools"
4
    package="com.electric.chargingpile"
4
    package="com.electric.chargingpile"
5
    android:versionCode="103"
5
    android:versionCode="103"
6
    android:versionName="3.5.17">
6
    android:versionName="3.5.18">
7
7
8
   <!-- <uses-permission android:name="android.permission.BLUETOOTH" />
8
   <!-- <uses-permission android:name="android.permission.BLUETOOTH" />
9
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />-->
9
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />-->
74
    <!--适配Android R包可见性 结束-->
74
    <!--适配Android R包可见性 结束-->
75
75
76
    <application
76
    <application
77
        android:extractNativeLibs="true"
77
        android:name=".application.MainApplication"
78
        android:name=".application.MainApplication"
78
        android:allowBackup="true"
79
        android:allowBackup="true"
79
        android:icon="@drawable/icon626"
80
        android:icon="@drawable/icon626"

+ 233 - 5
app/src/main/java/com/electric/chargingpile/activity/ChargingPileActivity.java

1
package com.electric.chargingpile.activity;
1
package com.electric.chargingpile.activity;
2
2
3
import android.Manifest;
3
import android.annotation.SuppressLint;
4
import android.annotation.SuppressLint;
4
import android.content.Context;
5
import android.content.Context;
5
import android.content.Intent;
6
import android.content.Intent;
7
import android.net.Uri;
6
import android.os.Bundle;
8
import android.os.Bundle;
7
import android.text.Editable;
9
import android.text.Editable;
8
import android.text.TextWatcher;
10
import android.text.TextWatcher;
11
import android.view.View;
9
import android.widget.EditText;
12
import android.widget.EditText;
10
import android.widget.LinearLayout;
13
import android.widget.LinearLayout;
11
import android.widget.TextView;
14
import android.widget.TextView;
16
import androidx.recyclerview.widget.GridLayoutManager;
19
import androidx.recyclerview.widget.GridLayoutManager;
17
import androidx.recyclerview.widget.RecyclerView;
20
import androidx.recyclerview.widget.RecyclerView;
18
21
22
import com.blankj.utilcode.util.EmptyUtils;
23
import com.blankj.utilcode.util.LogUtils;
19
import com.electric.chargingpile.R;
24
import com.electric.chargingpile.R;
20
import com.electric.chargingpile.adapter.LicensePlateHistoryAdapter;
25
import com.electric.chargingpile.adapter.LicensePlateHistoryAdapter;
26
import com.electric.chargingpile.application.MainApplication;
27
import com.electric.chargingpile.constant.UrlConstants;
21
import com.electric.chargingpile.manager.ProfileManager;
28
import com.electric.chargingpile.manager.ProfileManager;
22
import com.electric.chargingpile.util.BarColorUtil;
29
import com.electric.chargingpile.util.BarColorUtil;
30
import com.electric.chargingpile.util.JsonUtils;
31
import com.electric.chargingpile.util.LoadingDialog;
32
import com.electric.chargingpile.util.ToastUtil;
33
import com.electric.chargingpile.view.AlertDialogTwo;
23
import com.electric.chargingpile.view.ConfirmChargingDialog;
34
import com.electric.chargingpile.view.ConfirmChargingDialog;
24
import com.google.zxing.client.android.constant.ChargingConstants;
35
import com.google.zxing.client.android.constant.ChargingConstants;
25
import com.king.keyboard.KingKeyboard;
36
import com.king.keyboard.KingKeyboard;
37
import com.tencent.bugly.crashreport.CrashReport;
38
import com.zhy.http.okhttp.OkHttpUtils;
39
import com.zhy.http.okhttp.callback.StringCallback;
40
41
import java.net.URLEncoder;
42
import java.util.List;
43
44
import okhttp3.Call;
45
import pub.devrel.easypermissions.AfterPermissionGranted;
46
import pub.devrel.easypermissions.AppSettingsDialog;
47
import pub.devrel.easypermissions.EasyPermissions;
26
48
27
/**
49
/**
28
 *  特瓦特充电 详情页
50
 *  特瓦特充电 详情页
29
 * */
51
 * */
30
public class ChargingPileActivity extends AppCompatActivity {
52
public class ChargingPileActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks {
31
53
32
    private KingKeyboard kingKeyboard;
54
    private KingKeyboard kingKeyboard;
33
    private int beforeCount = 0;
55
    private int beforeCount = 0;
40
    private LinearLayout mKeyboardParent;
62
    private LinearLayout mKeyboardParent;
41
    private String pileId;
63
    private String pileId;
42
    private TextView tvCoding;
64
    private TextView tvCoding;
65
    private AlertDialogTwo alertDialog;
66
    private LoadingDialog loadingDialog;
43
67
68
    private static final int RC_TELL_PERM = 124;
69
    private static final int startInterface = 2;
70
    private static final String numType = "2";
44
71
45
    @Override
72
    @Override
46
    protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
73
    protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
60
        rootView = findViewById(R.id.rootView);
87
        rootView = findViewById(R.id.rootView);
61
        rvHistory = findViewById(R.id.rvHistory);
88
        rvHistory = findViewById(R.id.rvHistory);
62
        tvCoding = findViewById(R.id.tvCoding);
89
        tvCoding = findViewById(R.id.tvCoding);
63
90
        alertDialog = new AlertDialogTwo(this);
91
        loadingDialog = new LoadingDialog(this);
92
        loadingDialog.setCanceledOnTouchOutside(false);
64
        tvCoding.setText("充电桩编码:"+pileId);
93
        tvCoding.setText("充电桩编码:"+pileId);
94
65
    }
95
    }
66
96
67
    private void initOnClick() {
97
    private void initOnClick() {
75
        mAdapter.setList();
105
        mAdapter.setList();
76
106
77
        mDialog.setOnClickListener(v->{
107
        mDialog.setOnClickListener(v->{
78
            //todo 进入充电流程
79
            ProfileManager.getInstance().setLicensePlateHistory(mDialog.getLicensePlate());
108
            String licensePlate = mDialog.getLicensePlate();
109
            startCharging(licensePlate);
110
            ProfileManager.getInstance().setLicensePlateHistory(licensePlate);
80
            mAdapter.setList();
111
            mAdapter.setList();
81
        });
112
        });
82
113
86
                Toast.makeText(this, "请输入车牌号", Toast.LENGTH_SHORT).show();
117
                Toast.makeText(this, "请输入车牌号", Toast.LENGTH_SHORT).show();
87
                return;
118
                return;
88
            }
119
            }
120
            if (str.length() < 7){
121
                Toast.makeText(this, "请输入正确车牌号", Toast.LENGTH_SHORT).show();
122
                return;
123
            }
89
124
90
            mDialog.setLicensePlate(str);
125
            mDialog.setLicensePlate(str);
91
            mDialog.show(getSupportFragmentManager());
126
            mDialog.show(getSupportFragmentManager());
93
        });
128
        });
94
129
95
        rootView.setOnClickListener(v->{
130
        rootView.setOnClickListener(v->{
96
            kingKeyboard.hide();
131
            if (kingKeyboard.isShow())
132
                kingKeyboard.hide();
97
        });
133
        });
98
    }
134
    }
99
135
100
    private void registerKingKeyboard(){
136
    private void registerKingKeyboard(){
101
        kingKeyboard = new KingKeyboard(this,mKeyboardParent);
137
        kingKeyboard = new KingKeyboard(this,mKeyboardParent);
102
        //然后将EditText注册到KingKeyboard即可
138
        //然后将EditText注册到KingKeyboard即可
139
        kingKeyboard.setBringToFront(true);
103
        kingKeyboard.register(editText, KingKeyboard.KeyboardType.LICENSE_PLATE_PROVINCE);
140
        kingKeyboard.register(editText, KingKeyboard.KeyboardType.LICENSE_PLATE_PROVINCE);
141
104
        editText.addTextChangedListener(new TextWatcher() {
142
        editText.addTextChangedListener(new TextWatcher() {
105
            @Override
143
            @Override
106
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
144
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
141
        super.onDestroy();
179
        super.onDestroy();
142
        kingKeyboard.onDestroy();
180
        kingKeyboard.onDestroy();
143
    }
181
    }
182
    private void startCharging(String result) {
183
        LogUtils.e(result);
184
        loadingDialog.show();
185
        OkHttpUtils.get().url(UrlConstants.START_CHARGING_URL)
186
                .addParams(com.electric.chargingpile.constant.ChargingConstants.FLAG, numType)
187
                .addParams(com.electric.chargingpile.constant.ChargingConstants.URL, URLEncoder.encode(pileId))
188
                .addParams(com.electric.chargingpile.constant.ChargingConstants.USERID, MainApplication.userId)
189
                .addParams(com.electric.chargingpile.constant.ChargingConstants.PWD, MainApplication.userPassword)
190
                .addParams(com.electric.chargingpile.constant.ChargingConstants.PLATE_NUM, result)
191
                .addParams("type", "1")
192
                .build().connTimeOut(30000).readTimeOut(30000).execute(new StringCallback() {
193
            @Override
194
            public void onError(Call call, Exception e) {
195
                ToastUtil.showToast(getApplicationContext(), "网络异常,请检查您的网络连接", Toast.LENGTH_SHORT);
196
                CrashReport.postCatchedException(e);
197
            }
198
199
            @Override
200
            public void onResponse(String response) {
201
                LogUtils.e(response);
202
                if (EmptyUtils.isNotEmpty(response)) {
203
                    dismissDialog();
204
                    handlingOperations(response, startInterface);
205
                }
206
207
            }
208
        });
209
    }
210
211
    private void handlingOperations(String response, int interfaceType) {
212
        String rtnCode = com.google.zxing.client.android.JsonUtils.getKeyResult(response, "rtnCode");
213
        String rtnMsg = com.google.zxing.client.android.JsonUtils.getKeyResult(response, "rtnMsg");
214
        switch (rtnCode) {
215
            case "01":
216
                if (interfaceType == startInterface) {
217
                    String data = JsonUtils.getKeyResult(response, "data");
218
                    String orderid = JsonUtils.getKeyResult(data, "orderId");
219
                    Intent intent = new Intent(getApplicationContext(), TLDLoadingActivity.class);
220
                    intent.putExtra(com.electric.chargingpile.constant.ChargingConstants.ORDERID, orderid);
221
                    startActivity(intent);
222
                    finish();
223
                }
224
                break;
225
            case "304":
226
                alertDialog.builder()
227
                        .setMsg(rtnMsg)
228
                        .setPositiveButton("去充值", new View.OnClickListener() {
229
                            @Override
230
                            public void onClick(View v) {
231
                                Intent intent = new Intent(getApplicationContext(), AccountRechargeActivity.class);
232
                                startActivity(intent);
233
                            }
234
                        })
235
//                        .setNegativeButton("开通免密支付", new View.OnClickListener() {
236
//                    @Override
237
//                    public void onClick(View v) {
238
//                        Intent intent = new Intent(getApplicationContext(),NonSecretSeettingActivity.class);
239
//                        Uri uri = Uri.parse("chongdianzhuang://");
240
//                        intent.setData(uri);
241
//                        startActivity(intent);
242
//                    }
243
//                })
244
                        .show();
245
                break;
246
            case "305":
247
                alertDialog.builder()
248
                        .setMsg(rtnMsg)
249
                        .setPositiveButton("联系客服", new View.OnClickListener() {
250
                            @Override
251
                            public void onClick(View v) {
252
                                tellTask();
253
                            }
254
                        }).setNegativeButton("取消", new View.OnClickListener() {
255
                    @Override
256
                    public void onClick(View v) {
257
                    }
258
                }).show();
259
                break;
260
            case "309":
261
                alertDialog.builder()
262
                        .setMsg(rtnMsg)
263
                        .setPositiveButton("联系客服", new View.OnClickListener() {
264
                            @Override
265
                            public void onClick(View v) {
266
                                tellTask();
267
                            }
268
                        }).setNegativeButton("取消", new View.OnClickListener() {
269
                    @Override
270
                    public void onClick(View v) {
271
                    }
272
                }).show();
273
                break;
274
            case "306":
275
                //跳转到充电详情界面
276
                String data306 = JsonUtils.getKeyResult(response, "data");
277
                String orderid = JsonUtils.getKeyResult(data306, "orderId");
278
                Intent intent306 = new Intent(getApplicationContext(), ChargingStatusActivity.class);
279
                intent306.putExtra(com.electric.chargingpile.constant.ChargingConstants.ORDERID, orderid);
280
                startActivity(intent306);
281
                finish();
282
                break;
283
            case "307":
284
                alertDialog.builder()
285
                        .setMsg(rtnMsg)
286
                        .setPositiveButton("去充值", new View.OnClickListener() {
287
                            @Override
288
                            public void onClick(View v) {
289
                                Intent intent = new Intent(getApplicationContext(), AccountRechargeActivity.class);
290
                                startActivity(intent);
291
                            }
292
                        }).show();
293
                break;
294
            case "311":
295
                alertDialog.builder()
296
                        .setMsg(rtnMsg)
297
                        .setPositiveButton("开通免密支付", new View.OnClickListener() {
298
                            @Override
299
                            public void onClick(View v) {
300
                                Intent intent = new Intent(getApplicationContext(), NonSecretSeettingActivity.class);
301
                                Uri uri = Uri.parse("chongdianzhuang://");
302
                                intent.setData(uri);
303
                                startActivity(intent);
304
                            }
305
                        }).show();
306
                break;
307
            case "1800":
308
                String data1800 = JsonUtils.getKeyResult(response, "data");
309
                String pileId = JsonUtils.getKeyResult(data1800, "pileId");
310
                Intent intent1800 = new Intent(getApplicationContext(), SelectPileActivity.class);
311
                intent1800.putExtra(com.electric.chargingpile.constant.ChargingConstants.ORDERID, pileId);
312
                startActivity(intent1800);
313
                break;
314
315
            case "1000":
316
                String data1000 = JsonUtils.getKeyResult(response, "data");
317
                String pileIds = JsonUtils.getKeyResult(data1000, "pileId");
318
                ChargingPileActivity.actionStart(this,pileIds);
319
                break;
320
            default:
321
                ToastUtil.showToast(getApplicationContext(), rtnMsg, Toast.LENGTH_SHORT);
322
                break;
323
        }
324
    }
325
326
    @AfterPermissionGranted(RC_TELL_PERM)
327
    public void tellTask() {
328
        if (hasTellPermission()) {
329
            // Have permission, do the thing!
330
//            Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
331
            String telNum = "4008810405";
332
            Intent intent = new Intent();
333
            intent.setAction("android.intent.action.CALL");
334
            intent.addCategory("android.intent.category.DEFAULT");
335
            intent.setData(Uri.parse("tel:" + telNum));
336
            ChargingPileActivity.this.startActivity(intent);
337
338
        } else {
339
            LogUtils.e("@@@@@@@");
340
            // Ask for one permission
341
            EasyPermissions.requestPermissions(
342
                    this,
343
                    "该功能需要开启拨号权限,是否前往开启?",
344
                    RC_TELL_PERM,
345
                    Manifest.permission.CALL_PHONE);
346
        }
347
    }
348
349
    private boolean hasTellPermission() {
350
        return EasyPermissions.hasPermissions(this, Manifest.permission.CALL_PHONE);
351
    }
352
353
    @Override
354
    public void onPermissionsGranted(int requestCode, List<String> perms) {
355
356
    }
357
358
    @Override
359
    public void onPermissionsDenied(int requestCode, List<String> perms) {
360
        if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
361
            new AppSettingsDialog.Builder(ChargingPileActivity.this).build().show();
362
        }
363
    }
364
365
    private void dismissDialog() {
366
        if (this != null && !isFinishing()) {
367
            if (loadingDialog.isShowing()) {
368
                loadingDialog.dismiss();
369
            }
370
        }
371
    }
144
372
145
373
146
    public static void actionStart(Context context,String pileId){
374
    public static void actionStart(Context context,String pileId){

+ 47 - 5
app/src/main/java/com/electric/chargingpile/activity/ChargingStatusActivity.java

51
import com.umeng.analytics.MobclickAgent;
51
import com.umeng.analytics.MobclickAgent;
52
import com.zhy.http.okhttp.OkHttpUtils;
52
import com.zhy.http.okhttp.OkHttpUtils;
53
import com.zhy.http.okhttp.callback.StringCallback;
53
import com.zhy.http.okhttp.callback.StringCallback;
54
import com.zhy.http.okhttp.request.RequestCall;
54
55
55
import java.net.URLEncoder;
56
import java.net.URLEncoder;
56
import java.text.SimpleDateFormat;
57
import java.text.SimpleDateFormat;
70
public class ChargingStatusActivity extends Activity implements View.OnClickListener {
71
public class ChargingStatusActivity extends Activity implements View.OnClickListener {
71
    private static final String TAG = "ChargingStatusActivity";
72
    private static final String TAG = "ChargingStatusActivity";
72
    private ImageView iv_charging, iv_back, iv_activity;
73
    private ImageView iv_charging, iv_back, iv_activity;
73
    private TextView tv_charging, tv_stop, tv_activity;
74
    private TextView tv_charging, tv_stop;
74
    private TextView tv_chongdianliang, tv_zhuang_num, tv_jindu, tv_dianya, tv_dianliu, tv_time, tv_cost, tv_help;
75
    private TextView tv_chongdianliang, tv_zhuang_num, tv_jindu, tv_dianya, tv_dianliu, tv_time, tv_cost, tv_help;
75
    String result, stubGroupId;
76
    String result, stubGroupId;
76
    CircleProgressBar bar;
77
    CircleProgressBar bar;
116
    private LinearLayout layoutCarCertificate;
117
    private LinearLayout layoutCarCertificate;
117
    private ImageView imgA,imgV,imgProgrees;
118
    private ImageView imgA,imgV,imgProgrees;
118
    private TextView certifiedCarOwner;
119
    private TextView certifiedCarOwner;
120
    private TextView tv_overage;
119
121
120
122
121
    @Override
123
    @Override
138
        // start timer task
140
        // start timer task
139
        setTimerTask();
141
        setTimerTask();
140
        msgStatus();
142
        msgStatus();
143
        getUserIntegral();
141
    }
144
    }
142
145
143
146
158
                    String icon = JsonUtils.getKeyResult(response, "icon");
161
                    String icon = JsonUtils.getKeyResult(response, "icon");
159
                    String url = JsonUtils.getKeyResult(response, "url");
162
                    String url = JsonUtils.getKeyResult(response, "url");
160
                    if (status.equals("1")) {
163
                    if (status.equals("1")) {
161
//                        tv_activity.setVisibility(View.VISIBLE);
162
//                        tv_activity.setText(message);
163
                        Picasso.with(MainApplication.context)
164
                        Picasso.with(MainApplication.context)
164
                                .load(icon)
165
                                .load(icon)
165
                                .into(iv_activity);
166
                                .into(iv_activity);
205
        iv_activity = (ImageView) findViewById(R.id.iv_activity);
206
        iv_activity = (ImageView) findViewById(R.id.iv_activity);
206
        iv_back.setOnClickListener(this);
207
        iv_back.setOnClickListener(this);
207
        iv_activity.setOnClickListener(this);
208
        iv_activity.setOnClickListener(this);
208
        tv_activity = (TextView) findViewById(R.id.tv_activity);
209
        tv_activity.setOnClickListener(this);
210
209
211
        tv_help = findViewById(R.id.tv_help);
210
        tv_help = findViewById(R.id.tv_help);
212
        tv_help.setOnClickListener(this);
211
        tv_help.setOnClickListener(this);
226
        tv_dianya = (TextView) findViewById(R.id.tv_dianya);
225
        tv_dianya = (TextView) findViewById(R.id.tv_dianya);
227
        tv_dianliu = (TextView) findViewById(R.id.tv_dianliu);
226
        tv_dianliu = (TextView) findViewById(R.id.tv_dianliu);
228
        tv_time = (TextView) findViewById(R.id.tv_time);
227
        tv_time = (TextView) findViewById(R.id.tv_time);
228
        tv_overage = (TextView) findViewById(R.id.tv_overage);
229
        layoutCarCertificate = findViewById(R.id.layoutCarCertificate);
229
        layoutCarCertificate = findViewById(R.id.layoutCarCertificate);
230
230
231
        imgA = findViewById(R.id.imgA);
231
        imgA = findViewById(R.id.imgA);
649
        }
649
        }
650
    }
650
    }
651
651
652
    private void getUserIntegral() {
653
        String replace = null;
654
        try {
655
            long appTime1 = System.currentTimeMillis() / 1000;
656
            long updatetime = appTime1 - MainMapActivity.cha - 3;
657
            String token = String.valueOf(updatetime);
658
            String encode_token = DES3.encode(token);
659
            replace = URLEncoder.encode(encode_token);
660
        } catch (Exception e) {
661
            e.printStackTrace();
662
        }
663
        String url = MainApplication.url + "/zhannew/basic/web/index.php/member/get-score?id=" + MainApplication.userId +
664
                "&phone=" + MainApplication.userPhone + "&password=" + URLEncoder.encode(MainApplication.userPassword) + "&token=" + replace;
665
        RequestCall call = OkHttpUtils.get().url(url).build();
666
        call.execute(new StringCallback() {
667
            @Override
668
            public void onError(Call call, Exception e) {
669
670
            }
671
672
            @Override
673
            public void onResponse(String response) {
674
//                Log.e(TAG, "onResponse:getUserIntegral= "+response );
675
                String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
676
                if (null != rtnCode && rtnCode.equals("01")) {
677
                    String rtnMsg = JsonUtils.getKeyResult(response, "rtnMsg");
678
                    String money = JsonUtils.getKeyResult(rtnMsg, "money");
679
                    if (null != money && !money.equals("")) {
680
                        tv_overage.setText(money);
681
                    }
682
                } else {
683
                    ProfileManager.getInstance().setUsername(getApplicationContext(), "");
684
                    MainApplication.userPhone = "";
685
                    Toast.makeText(getApplicationContext(), "登录已失效,请重新登录", Toast.LENGTH_SHORT).show();
686
                    startActivity(new Intent(getApplicationContext(), LoginActivity.class));
687
                }
688
            }
689
        });
690
691
    }
692
693
652
    private void chargingChangeStatus(String third_id) {
694
    private void chargingChangeStatus(String third_id) {
653
        String url = MainApplication.url + "/zhannew/basic/web/index.php/kazuma/offline";
695
        String url = MainApplication.url + "/zhannew/basic/web/index.php/kazuma/offline";
654
        OkHttpUtils.get().url(url)
696
        OkHttpUtils.get().url(url)

+ 11 - 5
app/src/main/java/com/electric/chargingpile/activity/ConfirmOrderActivity.java

59
    private LoadingDialog mDialog;
59
    private LoadingDialog mDialog;
60
    private int try_count=0;
60
    private int try_count=0;
61
    private int delayedSettlementCount=0;
61
    private int delayedSettlementCount=0;
62
    private RelativeLayout rl_number_plate;
63
    private TextView tv_num_plate;
62
64
63
    @Override
65
    @Override
64
    protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
66
    protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
172
        rl_end_info=findViewById(R.id.rl_end_info);
174
        rl_end_info=findViewById(R.id.rl_end_info);
173
175
174
        tv_gocomment = findViewById(R.id.tv_gocomment);
176
        tv_gocomment = findViewById(R.id.tv_gocomment);
177
        rl_number_plate = findViewById(R.id.rl_number_plate);
178
        tv_num_plate = findViewById(R.id.tv_num_plate);
175
179
176
        iv_back.setOnClickListener(this);
180
        iv_back.setOnClickListener(this);
177
        layoutRed.setOnClickListener(this);
181
        layoutRed.setOnClickListener(this);
193
            tv_charging_time.setText(mChargingBean.getTimeCharge());
197
            tv_charging_time.setText(mChargingBean.getTimeCharge());
194
            tv_charging_liang.setText(mChargingBean.getPower()+"度");
198
            tv_charging_liang.setText(mChargingBean.getPower()+"度");
195
199
196
           /* if (TextUtils.isEmpty(mChargingBean.getEndInfo())) {
197
                rl_end_info.setVisibility(View.GONE);
200
            String plate_number = mChargingBean.getPlate_number();
201
202
            if (plate_number == null || plate_number.equals("")){
203
                rl_number_plate.setVisibility(View.GONE);
198
            }else{
204
            }else{
199
                tv_tishi.setText(mChargingBean.getEndInfo());
200
                rl_end_info.setVisibility(View.VISIBLE);
201
            }*/
205
                rl_number_plate.setVisibility(View.VISIBLE);
206
                tv_num_plate.setText(plate_number);
207
            }
202
        }
208
        }
203
    }
209
    }
204
210

+ 3 - 3
app/src/main/java/com/electric/chargingpile/activity/MainMapActivity.java

498
                                if (key.length - 1 > 2) {
498
                                if (key.length - 1 > 2) {
499
                                    permissionTask();
499
                                    permissionTask();
500
                                } else {
500
                                } else {
501
                                    dialogup();
501
//                                    dialogup();
502
                                    permissionTask();
502
                                }
503
                                }
503
                            }
504
                            }
504
505
3430
    private void dialogup_other() {
3431
    private void dialogup_other() {
3431
        int code = Integer.parseInt(now_versionCode);
3432
        int code = Integer.parseInt(now_versionCode);
3432
        if (code - getVersionCode(getApplication()) > 0) {
3433
        if (code - getVersionCode(getApplication()) > 0) {
3434
//           if(true){
3433
            alterDialog = new AlertDialogUpdate(MainMapActivity.this);
3435
            alterDialog = new AlertDialogUpdate(MainMapActivity.this);
3434
3436
3435
            alterDialog.builder()
3437
            alterDialog.builder()
3457
        }
3459
        }
3458
    }
3460
    }
3459
    private void downLoadFile() {
3461
    private void downLoadFile() {
3460
        String url = "http://cdz.evcharge.cc/app/app.apk";
3461
3462
        showProgressWindow();
3462
        showProgressWindow();
3463
        ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
3463
        ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
3464
        OkHttpUtils.get().url("http://cdz.evcharge.cc/app/app.apk").build()
3464
        OkHttpUtils.get().url("http://cdz.evcharge.cc/app/app.apk").build()

+ 18 - 7
app/src/main/java/com/electric/chargingpile/activity/OderDetailsActivity.java

67
    private LinearLayout red_paper_bag_bottom;
67
    private LinearLayout red_paper_bag_bottom;
68
    private RelativeLayout rl_end_info;
68
    private RelativeLayout rl_end_info;
69
    private String name;
69
    private String name;
70
    private TextView tv_num_plate;
71
    private RelativeLayout rl_number_plate;
72
    private String plate_number;
70
73
71
    @Override
74
    @Override
72
    protected void onCreate(Bundle savedInstanceState) {
75
    protected void onCreate(Bundle savedInstanceState) {
89
        tv_pinglun = (TextView) findViewById(R.id.tv_pinglun);
92
        tv_pinglun = (TextView) findViewById(R.id.tv_pinglun);
90
        tv_gocomment = (TextView) findViewById(R.id.tv_gocomment);
93
        tv_gocomment = (TextView) findViewById(R.id.tv_gocomment);
91
        red_paper_bag_bottom = findViewById(R.id.red_paper_bag_bottom);
94
        red_paper_bag_bottom = findViewById(R.id.red_paper_bag_bottom);
95
96
        rl_number_plate = findViewById(R.id.rl_number_plate);
97
        tv_num_plate = findViewById(R.id.tv_num_plate);
98
92
        iv = (ImageView) findViewById(R.id.iv);
99
        iv = (ImageView) findViewById(R.id.iv);
93
100
94
        tv_gocomment.setOnClickListener(this);
101
        tv_gocomment.setOnClickListener(this);
120
127
121
        tv_tishi = (TextView) findViewById(R.id.tv_tishi);
128
        tv_tishi = (TextView) findViewById(R.id.tv_tishi);
122
        rl_end_info = (RelativeLayout) findViewById(R.id.rl_end_info);
129
        rl_end_info = (RelativeLayout) findViewById(R.id.rl_end_info);
123
//        if (ChargingStatusActivity.no == 0){
124
//            tv_tishi.setVisibility(View.GONE);
125
//        }else{
130
126
        if (end_info.equals("")) {
131
        if (end_info.equals("")) {
127
            rl_end_info.setVisibility(View.GONE);
132
            rl_end_info.setVisibility(View.GONE);
128
        } else {
133
        } else {
129
            rl_end_info.setVisibility(View.VISIBLE);
134
            rl_end_info.setVisibility(View.VISIBLE);
130
            tv_tishi.setText(end_info);
135
            tv_tishi.setText(end_info);
131
        }
136
        }
132
//            tv_tishi.setVisibility(View.VISIBLE);
133
//            tv_tishi.setText(end_info);
134
//        }
137
138
        if (plate_number == null || plate_number.equals("")){
139
            rl_number_plate.setVisibility(View.GONE);
140
        }else{
141
            rl_number_plate.setVisibility(View.VISIBLE);
142
            tv_num_plate.setText(plate_number);
143
        }
144
135
145
136
        if (EmptyUtils.isNotEmpty(activeUrl)) {
146
        if (EmptyUtils.isNotEmpty(activeUrl)) {
137
//            ToastUtil.showToast(getApplicationContext(),activeUrl,Toast.LENGTH_LONG);
138
            new Handler().postDelayed(new Runnable() {
147
            new Handler().postDelayed(new Runnable() {
139
                @Override
148
                @Override
140
                public void run() {
149
                public void run() {
165
        zhan_idc = chargingBean.getZhanID();
174
        zhan_idc = chargingBean.getZhanID();
166
        order_id = chargingBean.getOrderId();
175
        order_id = chargingBean.getOrderId();
167
        out_order_id = chargingBean.getOutOrderId();
176
        out_order_id = chargingBean.getOutOrderId();
177
        plate_number = chargingBean.getPlate_number();
178
168
//        settlement = getIntent().getStringExtra("settlement");
179
//        settlement = getIntent().getStringExtra("settlement");
169
        name = chargingBean.getZhanname();
180
        name = chargingBean.getZhanname();
170
        serviceCharge = chargingBean.getServiceMoney();
181
        serviceCharge = chargingBean.getServiceMoney();

+ 3 - 1
app/src/main/java/com/electric/chargingpile/application/MainApplication.java

52

52

53
import java.io.BufferedReader;
53
import java.io.BufferedReader;
54
import java.io.BufferedWriter;
54
import java.io.BufferedWriter;
55
import java.io.File;
56
import java.io.IOException;
55
import java.io.IOException;
57
import java.io.InputStreamReader;
56
import java.io.InputStreamReader;
58
import java.io.OutputStreamWriter;
57
import java.io.OutputStreamWriter;
187
        initImageLoader(getApplicationContext());
186
        initImageLoader(getApplicationContext());
188

187

189
        try {
188
        try {
189
            if (BuildConfig.DEBUG){
190
                OkHttpUtils.getInstance().debug("hyc",true);
191
            }
190
            OkHttpUtils.getInstance().setCertificates(getAssets().open("ca.crt"));
192
            OkHttpUtils.getInstance().setCertificates(getAssets().open("ca.crt"));
191
            OkHttpUtils.getInstance().setCertificates();
193
            OkHttpUtils.getInstance().setCertificates();
192
        } catch (IOException e) {
194
        } catch (IOException e) {

+ 1 - 0
app/src/main/java/com/electric/chargingpile/constant/ChargingConstants.java

6
    String URL = "url";
6
    String URL = "url";
7
    String FLAG = "flag";
7
    String FLAG = "flag";
8
    String ORDERID = "orderid";
8
    String ORDERID = "orderid";
9
    String PLATE_NUM = "plate_num";
9
    String TYPE = "type";
10
    String TYPE = "type";
10
}
11
}

+ 9 - 0
app/src/main/java/com/electric/chargingpile/data/ChargingBean.java

44
    private String serviceMoney;
44
    private String serviceMoney;
45
    private String totalMoney;
45
    private String totalMoney;
46
    private String redMoney;
46
    private String redMoney;
47
    private String plate_number;
48
49
    public String getPlate_number() {
50
        return plate_number;
51
    }
52
53
    public void setPlate_number(String plate_number) {
54
        this.plate_number = plate_number;
55
    }
47
56
48
    public String getOrderId() {
57
    public String getOrderId() {
49
        return orderId;
58
        return orderId;

+ 1 - 2
app/src/main/java/com/electric/chargingpile/manager/ProfileManager.java

742

742

743
    public void setLicensePlateHistory(String str) {
743
    public void setLicensePlateHistory(String str) {
744
        ArrayList<String> list = getLicensePlateHistory();
744
        ArrayList<String> list = getLicensePlateHistory();
745
        list.remove(str); //除重
745
        if (list.size() >= 6){
746
        if (list.size() >= 6){
746
            list.remove(list.size() -1 );
747
            list.remove(list.size() -1 );
747
        }
748
        }
748

749
        list.remove(str);
750
        list.add(0,str);
749
        list.add(0,str);
751
        PreferenceManager.getInstance(MainApplication.context).putString(KEY_LICENSE_PLATE_HISTORY, new Gson().toJson(list));
750
        PreferenceManager.getInstance(MainApplication.context).putString(KEY_LICENSE_PLATE_HISTORY, new Gson().toJson(list));
752
    }
751
    }

+ 1 - 0
app/src/main/java/com/electric/chargingpile/view/UpdateDialog.java

2
2
3
import android.app.Dialog;
3
import android.app.Dialog;
4
import android.content.Context;
4
import android.content.Context;
5
import android.util.Log;
5
import android.view.Display;
6
import android.view.Display;
6
import android.view.LayoutInflater;
7
import android.view.LayoutInflater;
7
import android.view.View;
8
import android.view.View;

+ 1 - 1
app/src/main/res/layout/activity_charging_pile.xml

159
    </androidx.constraintlayout.widget.ConstraintLayout>
159
    </androidx.constraintlayout.widget.ConstraintLayout>
160
160
161
    <View
161
    <View
162
        android:layout_width="1dp"
162
        android:layout_width="match_parent"
163
        android:layout_height="0dp"
163
        android:layout_height="0dp"
164
        android:layout_weight="1" />
164
        android:layout_weight="1" />
165
165

+ 34 - 24
app/src/main/res/layout/activity_charging_status.xml

231
                    app:wlv_waveColor="#3fffffff"
231
                    app:wlv_waveColor="#3fffffff"
232
                    app:wlv_wave_background_Color="#00ffffff" />
232
                    app:wlv_wave_background_Color="#00ffffff" />
233
233
234
235
                <!--<com.loonggg.circleprogressbarlibrary.view.CircleProgressBar-->
236
                <!--android:id="@+id/pb"-->
237
                <!--android:layout_width="143dp"-->
238
                <!--android:layout_height="143dp"-->
239
                <!--android:visibility="gone"-->
240
                <!--android:layout_centerInParent="true"-->
241
                <!--loonggg:bgProgressBarColor="#efefef"-->
242
                <!--loonggg:circleStrokeWidth="5dp" />-->
243
244
                <LinearLayout
234
                <LinearLayout
245
                    android:layout_width="wrap_content"
235
                    android:layout_width="wrap_content"
246
                    android:layout_height="wrap_content"
236
                    android:layout_height="wrap_content"
347
337
348
                </RelativeLayout>
338
                </RelativeLayout>
349
339
340
                <View
341
                    android:layout_width="0.5dp"
342
                    android:layout_height="match_parent"
343
                    android:background="@color/ui_6d" />
344
345
                <RelativeLayout
346
                    android:layout_width="0dp"
347
                    android:layout_height="match_parent"
348
                    android:layout_weight="1">
349
350
                    <TextView
351
                        android:layout_width="wrap_content"
352
                        android:layout_height="wrap_content"
353
                        android:layout_alignParentTop="true"
354
                        android:layout_centerHorizontal="true"
355
                        android:text="账户余额"
356
                        android:textColor="@color/ui_68"
357
                        android:textSize="12sp" />
358
359
                    <TextView
360
                        android:id="@+id/tv_overage"
361
                        android:layout_width="wrap_content"
362
                        android:layout_height="wrap_content"
363
                        android:layout_alignParentBottom="true"
364
                        android:layout_centerHorizontal="true"
365
                        android:layout_centerVertical="true"
366
                        android:text="--"
367
                        android:textColor="@color/ui_62"
368
                        android:textSize="21sp" />
369
370
                </RelativeLayout>
371
350
            </LinearLayout>
372
            </LinearLayout>
351
373
352
374
353
            <RelativeLayout
375
            <RelativeLayout
376
                android:paddingBottom="30dp"
354
                android:layout_width="match_parent"
377
                android:layout_width="match_parent"
355
                android:layout_height="match_parent">
378
                android:layout_height="match_parent">
356
                <LinearLayout
379
                <LinearLayout
385
408
386
                </LinearLayout>
409
                </LinearLayout>
387
                <ImageView
410
                <ImageView
411
                    tools:src="@drawable/ic_charging_pile"
388
                    tools:visibility="visible"
412
                    tools:visibility="visible"
389
                    android:id="@+id/iv_activity"
413
                    android:id="@+id/iv_activity"
390
                    android:layout_width="wrap_content"
414
                    android:layout_width="wrap_content"
396
                    android:visibility="gone" />
420
                    android:visibility="gone" />
397
421
398
                <TextView
422
                <TextView
399
                    tools:visibility="visible"
400
                    android:id="@+id/tv_activity"
401
                    android:layout_width="wrap_content"
402
                    android:layout_height="wrap_content"
403
                    android:layout_below="@+id/tv_stop"
404
                    android:layout_centerHorizontal="true"
405
                    android:paddingTop="20dp"
406
                    android:paddingBottom="15dp"
407
                    android:text=""
408
                    android:textColor="#ffa900"
409
                    android:textSize="14sp"
410
                    android:visibility="visible" />
411
412
                <TextView
413
                    android:layout_centerHorizontal="true"
423
                    android:layout_centerHorizontal="true"
414
                    android:textStyle="bold"
424
                    android:textStyle="bold"
415
                    android:id="@+id/tv_stop"
425
                    android:id="@+id/tv_stop"

+ 28 - 0
app/src/main/res/layout/activity_oder_details.xml

273
                android:textSize="14sp" />
273
                android:textSize="14sp" />
274
274
275
        </RelativeLayout>
275
        </RelativeLayout>
276
        <RelativeLayout
277
            tools:visibility="visible"
278
            android:visibility="gone"
279
            android:id="@+id/rl_number_plate"
280
            android:layout_width="match_parent"
281
            android:layout_height="wrap_content"
282
            android:layout_marginTop="13dp">
283
284
            <TextView
285
                android:layout_width="wrap_content"
286
                android:layout_height="wrap_content"
287
                android:layout_alignParentLeft="true"
288
                android:layout_marginLeft="15dp"
289
                android:text="充电车辆"
290
                android:textColor="@color/ui_68"
291
                android:textSize="14sp" />
292
293
            <TextView
294
                android:id="@+id/tv_num_plate"
295
                android:layout_width="wrap_content"
296
                android:layout_height="wrap_content"
297
                android:layout_alignParentRight="true"
298
                android:layout_marginRight="15dp"
299
                tools:text="--"
300
                android:textColor="@color/ui_68"
301
                android:textSize="14sp" />
302
303
        </RelativeLayout>
276
304
277
305
278
    </LinearLayout>
306
    </LinearLayout>

+ 29 - 0
app/src/main/res/layout/activity_submit_orders.xml

282
                android:textSize="14sp" />
282
                android:textSize="14sp" />
283
283
284
        </RelativeLayout>
284
        </RelativeLayout>
285
286
        <RelativeLayout
287
            tools:visibility="visible"
288
            android:visibility="gone"
289
            android:id="@+id/rl_number_plate"
290
            android:layout_width="match_parent"
291
            android:layout_height="wrap_content"
292
            android:layout_marginTop="13dp">
293
294
            <TextView
295
                android:layout_width="wrap_content"
296
                android:layout_height="wrap_content"
297
                android:layout_alignParentLeft="true"
298
                android:layout_marginLeft="15dp"
299
                android:text="充电车辆"
300
                android:textColor="@color/ui_68"
301
                android:textSize="14sp" />
302
303
            <TextView
304
                android:id="@+id/tv_num_plate"
305
                android:layout_width="wrap_content"
306
                android:layout_height="wrap_content"
307
                android:layout_alignParentRight="true"
308
                android:layout_marginRight="15dp"
309
                tools:text="--"
310
                android:textColor="@color/ui_68"
311
                android:textSize="14sp" />
312
313
        </RelativeLayout>
285
    </LinearLayout>
314
    </LinearLayout>
286
315
287
    <TextView
316
    <TextView

+ 2 - 2
app/src/main/res/layout/layout_update_dialog.xml

21
    <com.qmuiteam.qmui.widget.QMUIProgressBar
21
    <com.qmuiteam.qmui.widget.QMUIProgressBar
22
        android:id="@+id/qMUIProgressBar"
22
        android:id="@+id/qMUIProgressBar"
23
        android:layout_width="match_parent"
23
        android:layout_width="match_parent"
24
        android:layout_height="16dp"
24
        android:layout_height="12dp"
25
        android:textColor="@color/lvse"
25
        android:textColor="@color/lvse"
26
        android:textSize="16sp"
26
        android:textSize="12sp"
27
        android:layout_marginBottom="20dp"
27
        android:layout_marginBottom="20dp"
28
        android:layout_marginLeft="16dp"
28
        android:layout_marginLeft="16dp"
29
        android:layout_marginRight="16dp"
29
        android:layout_marginRight="16dp"