浏览代码

添加在扫描界面时,有未结算账单的提示

hy 3 年之前
父节点
当前提交
b55ee9bb79

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

21
import android.net.ConnectivityManager;
21
import android.net.ConnectivityManager;
22
import android.net.NetworkInfo;
22
import android.net.NetworkInfo;
23
import android.net.Uri;
23
import android.net.Uri;
24
import android.nfc.Tag;
25
import android.os.Build;
24
import android.os.Build;
26
import android.os.Bundle;
25
import android.os.Bundle;
27
import android.os.Environment;
26
import android.os.Environment;
130
import com.electric.chargingpile.util.Util;
129
import com.electric.chargingpile.util.Util;
131
import com.electric.chargingpile.util.ZhanDBHelper;
130
import com.electric.chargingpile.util.ZhanDBHelper;
132
import com.electric.chargingpile.view.AlertDialogCommon;
131
import com.electric.chargingpile.view.AlertDialogCommon;
133
import com.electric.chargingpile.view.AlertDialogTwo;
134
import com.electric.chargingpile.view.AlertDialogUpdate;
132
import com.electric.chargingpile.view.AlertDialogUpdate;
135
import com.electric.chargingpile.view.NotRegisterDialog;
133
import com.electric.chargingpile.view.NotRegisterDialog;
136
import com.electric.chargingpile.view.SlideAdView;
134
import com.electric.chargingpile.view.SlideAdView;
169
import java.text.NumberFormat;
167
import java.text.NumberFormat;
170
import java.util.ArrayList;
168
import java.util.ArrayList;
171
import java.util.Calendar;
169
import java.util.Calendar;
172
import java.util.Date;
173
import java.util.HashMap;
170
import java.util.HashMap;
174
import java.util.List;
171
import java.util.List;
175
import java.util.Map;
172
import java.util.Map;
183
import cn.sharesdk.wechat.moments.WechatMoments;
180
import cn.sharesdk.wechat.moments.WechatMoments;
184
import okhttp3.Call;
181
import okhttp3.Call;
185
import pub.devrel.easypermissions.AfterPermissionGranted;
182
import pub.devrel.easypermissions.AfterPermissionGranted;
186
import pub.devrel.easypermissions.AppSettingsDialog;
187
import pub.devrel.easypermissions.EasyPermissions;
183
import pub.devrel.easypermissions.EasyPermissions;
188
184
189
public class MainMapActivity extends Activity implements LocationSource, AMapLocationListener,
185
public class MainMapActivity extends Activity implements LocationSource, AMapLocationListener,
911
            }
907
            }
912
        }
908
        }
913
909
910
        showPostDelayedDialog();
911
912
//        startActivity(new Intent(getApplication(), ChargingStatusActivity.class));
913
//        startActivity(new Intent(this, SkipUserInfoActivity.class));
914
    }
915
916
    private void showPostDelayedDialog() {
914
        new Handler().postDelayed(new Runnable() {
917
        new Handler().postDelayed(new Runnable() {
915
            @Override
918
            @Override
916
            public void run() {
919
            public void run() {

+ 36 - 6
zxing/src/main/java/com/google/zxing/client/android/CaptureActivity.java

66
import com.google.zxing.client.android.constant.ChargingConstants;
66
import com.google.zxing.client.android.constant.ChargingConstants;
67
import com.google.zxing.client.android.constant.UrlConstants;
67
import com.google.zxing.client.android.constant.UrlConstants;
68
import com.google.zxing.client.android.data.OperatorPicsBean;
68
import com.google.zxing.client.android.data.OperatorPicsBean;
69
import com.google.zxing.client.android.dialog.SettleAccountsDialog;
69
import com.google.zxing.client.android.history.HistoryItem;
70
import com.google.zxing.client.android.history.HistoryItem;
70
import com.google.zxing.client.android.history.HistoryManager;
71
import com.google.zxing.client.android.history.HistoryManager;
71
import com.google.zxing.client.android.result.ResultHandler;
72
import com.google.zxing.client.android.result.ResultHandler;
159
    private CaptureActivity activity;
160
    private CaptureActivity activity;
160
    private static final int RC_TELL_PERM = 124;
161
    private static final int RC_TELL_PERM = 124;
161
    private LinearLayout llOperator;
162
    private LinearLayout llOperator;
162
163
    private int isSettleAccounts=0;
163
    ViewfinderView getViewfinderView() {
164
    ViewfinderView getViewfinderView() {
164
        return viewfinderView;
165
        return viewfinderView;
165
    }
166
    }
429
            // Install the callback and wait for surfaceCreated() to init the camera.
430
            // Install the callback and wait for surfaceCreated() to init the camera.
430
            surfaceHolder.addCallback(this);
431
            surfaceHolder.addCallback(this);
431
        }
432
        }
433
        //放在此处便于刷新数据
434
        showSettleAccountsDialog();
432
    }
435
    }
433
436
434
    private int getCurrentOrientation() {
437
    private int getCurrentOrientation() {
568
    @Override
571
    @Override
569
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
572
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
570
        if (resultCode == RESULT_OK && requestCode == HISTORY_REQUEST_CODE && historyManager != null) {
573
        if (resultCode == RESULT_OK && requestCode == HISTORY_REQUEST_CODE && historyManager != null) {
571
            int itemNumber = intent.getIntExtra(Intents.History.ITEM_NUMBER, -1);
572
            if (itemNumber >= 0) {
573
                HistoryItem historyItem = historyManager.buildHistoryItem(itemNumber);
574
                decodeOrStoreSavedBitmap(null, historyItem.getResult());
574
            if (isSettleAccounts == 0){
575
                int itemNumber = intent.getIntExtra(Intents.History.ITEM_NUMBER, -1);
576
                if (itemNumber >= 0) {
577
                    HistoryItem historyItem = historyManager.buildHistoryItem(itemNumber);
578
                    decodeOrStoreSavedBitmap(null, historyItem.getResult());
579
                }
575
            }
580
            }
576
        }
581
        }
577
    }
582
    }
1157
                }
1162
                }
1158
                break;
1163
                break;
1159
            case "305":
1164
            case "305":
1165
                //rtn Msg: 您的账号存在多笔延时结算订单,请联系客服
1160
                if (try305Count > 1) {
1166
                if (try305Count > 1) {
1161
                    break;
1167
                    break;
1162
                }
1168
                }
1255
                }
1261
                }
1256
                break;
1262
                break;
1257
            case "1800":
1263
            case "1800":
1258
                //运营商为辉时的操作
1264
                //运营商为辉时的操作
1259
                String data1800 = JsonUtils.getKeyResult(response, "data");
1265
                String data1800 = JsonUtils.getKeyResult(response, "data");
1260
                String pileId = JsonUtils.getKeyResult(data1800, "pileId");
1266
                String pileId = JsonUtils.getKeyResult(data1800, "pileId");
1261
                Intent intent1800 = new Intent();
1267
                Intent intent1800 = new Intent();
1388
            }
1394
            }
1389
        });
1395
        });
1390
    }
1396
    }
1397
1398
    private void showSettleAccountsDialog(){
1399
        if (isDestroyed() ||isFinishing()) {
1400
            return;
1401
        }
1402
        isSettleAccounts=1;
1403
        new SettleAccountsDialog(this)
1404
                .builder()
1405
                .setCancleOnClick(new View.OnClickListener() {
1406
                    @Override
1407
                    public void onClick(View v) {
1408
                        isSettleAccounts=1;
1409
                    }
1410
                })
1411
                .setCancleOnClick(new View.OnClickListener(){
1412
1413
                    @Override
1414
                    public void onClick(View v) {
1415
                        finish();
1416
                    }
1417
                })
1418
                .setCancelable(false)
1419
                .show();
1420
    }
1391
}
1421
}

+ 108 - 0
zxing/src/main/java/com/google/zxing/client/android/dialog/SettleAccountsDialog.java

1
package com.google.zxing.client.android.dialog;
2
3
import android.app.Dialog;
4
import android.content.Context;
5
import android.view.Display;
6
import android.view.LayoutInflater;
7
import android.view.View;
8
import android.view.WindowManager;
9
import android.widget.FrameLayout;
10
import android.widget.LinearLayout;
11
import android.widget.RelativeLayout;
12
import android.widget.TextView;
13
14
import com.google.zxing.client.android.R;
15
16
public class SettleAccountsDialog{
17
    private Context context;
18
    private Dialog dialog;
19
    private Display display;
20
    private TextView content;
21
    private TextView cancel;
22
    private TextView open;
23
24
    public SettleAccountsDialog(Context context) {
25
        this.context = context;
26
        WindowManager windowManager = (WindowManager) context
27
                .getSystemService(Context.WINDOW_SERVICE);
28
        display = windowManager.getDefaultDisplay();
29
    }
30
    public SettleAccountsDialog builder() {
31
        // 获取Dialog布局
32
        View view = LayoutInflater.from(context).inflate(
33
                R.layout.dialog_settle_accounts, null);
34
        LinearLayout  bgNotLogin = view.findViewById(R.id.bgSettleDialog);
35
        content = view.findViewById(R.id.content);
36
        cancel = view.findViewById(R.id.cancel);
37
        open = view.findViewById(R.id.open);
38
39
        // 定义Dialog布局和参数
40
        dialog = new Dialog(context, R.style.AlertDialogStyle);
41
        dialog.setContentView(view);
42
43
        // 调整dialog背景大小
44
        bgNotLogin.setLayoutParams(new FrameLayout.LayoutParams(
45
                dip2px(context,  268),
46
                dip2px(context, 124)
47
        ));
48
49
        return this;
50
    }
51
52
    public SettleAccountsDialog setContentText(String str){
53
        content.setText(str);
54
        return this;
55
    }
56
    public SettleAccountsDialog setCancelText(String str){
57
        cancel.setText(str);
58
        return this;
59
    }
60
    public SettleAccountsDialog setOpenText(String str){
61
        open.setText(str);
62
        return this;
63
    }
64
65
    public SettleAccountsDialog setCancelable(boolean cancel) {
66
        dialog.setCancelable(cancel);
67
        dialog.setCanceledOnTouchOutside(cancel);
68
        return this;
69
    }
70
71
    public  SettleAccountsDialog setOpenOnClick(final View.OnClickListener listener){
72
        if (open!=null){
73
            open.setOnClickListener(new View.OnClickListener() {
74
                @Override
75
                public void onClick(View v) {
76
                    listener.onClick(v);
77
                    dialog.dismiss();
78
                }
79
            });
80
        }
81
        return this;
82
    }
83
84
    public  SettleAccountsDialog setCancleOnClick(final View.OnClickListener listener){
85
        if (cancel!=null){
86
            cancel.setOnClickListener(new View.OnClickListener() {
87
                @Override
88
                public void onClick(View v) {
89
                    listener.onClick(v);
90
                    dialog.dismiss();
91
                }
92
            });
93
        }
94
95
        return this;
96
    }
97
98
    public void show() {
99
        dialog.show();
100
    }
101
    /**
102
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
103
     */
104
    public static int dip2px(Context context, float dpValue) {
105
        final float scale = context.getResources().getDisplayMetrics().density;
106
        return (int) (dpValue * scale + 0.5f);
107
    }
108
}

+ 6 - 0
zxing/src/main/res/drawable/bg_3ec34c_radius20.xml

1
<?xml version="1.0" encoding="utf-8"?>
2
<shape xmlns:android="http://schemas.android.com/apk/res/android">
3
4
    <solid android:color="#3EC34C"/>
5
    <corners android:radius="16dp"/>
6
</shape>

+ 6 - 0
zxing/src/main/res/drawable/bg_ececec_radius20.xml

1
<?xml version="1.0" encoding="utf-8"?>
2
<shape xmlns:android="http://schemas.android.com/apk/res/android">
3
4
    <solid android:color="#ECECEC"/>
5
    <corners android:radius="16dp"/>
6
</shape>

+ 6 - 0
zxing/src/main/res/drawable/bg_while_radius16.xml

1
<?xml version="1.0" encoding="utf-8"?>
2
<shape xmlns:android="http://schemas.android.com/apk/res/android">
3
4
    <solid android:color="#FFFFFF"/>
5
    <corners android:radius="16dp"/>
6
</shape>

+ 1 - 0
zxing/src/main/res/layout/capture.xml

310
        android:visibility="gone"/>
310
        android:visibility="gone"/>
311
311
312
    <RelativeLayout
312
    <RelativeLayout
313
        tools:visibility="visible"
313
        android:id="@+id/rl_costWay"
314
        android:id="@+id/rl_costWay"
314
        android:layout_width="240dp"
315
        android:layout_width="240dp"
315
        android:layout_height="32dp"
316
        android:layout_height="32dp"

+ 60 - 0
zxing/src/main/res/layout/dialog_settle_accounts.xml

1
<?xml version="1.0" encoding="utf-8"?>
2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:tools="http://schemas.android.com/tools"
4
    xmlns:app="http://schemas.android.com/apk/res-auto"
5
    android:orientation="vertical"
6
    tools:background="#f1f1"
7
    android:id="@+id/bgSettleDialog"
8
    android:layout_width="match_parent"
9
    android:layout_height="match_parent">
10
11
    <RelativeLayout
12
        android:id="@+id/bg_"
13
        android:background="@drawable/bg_while_radius16"
14
        android:layout_gravity="center"
15
        android:layout_width="268dp"
16
        android:layout_height="124dp">
17
        <TextView
18
            android:id="@+id/content"
19
            android:layout_alignParentStart="true"
20
            android:layout_alignParentEnd="true"
21
            android:layout_alignParentTop="true"
22
            android:layout_marginStart="15dp"
23
            android:layout_marginEnd="15sp"
24
            android:layout_marginTop="16dp"
25
            android:layout_width="wrap_content"
26
            android:layout_height="wrap_content"
27
            android:text="您有一笔未结算的订单,请先结算后
28
开启其他订单"
29
            android:textColor="#ff0e0e0e"
30
            android:textSize="14sp"
31
            />
32
       <LinearLayout
33
           android:layout_marginBottom="16dp"
34
           android:layout_alignParentBottom="true"
35
           android:gravity="center"
36
           android:layout_width="match_parent"
37
           android:layout_height="wrap_content">
38
           <TextView
39
               android:textColor="#000000"
40
               android:layout_marginEnd="16dp"
41
               android:id="@+id/cancel"
42
               android:layout_width="110dp"
43
               android:layout_height="40dp"
44
               android:background="@drawable/bg_ececec_radius20"
45
               android:gravity="center"
46
               android:text="取消"
47
               android:textSize="17sp" />
48
           <TextView
49
               android:textColor="#FFFFFF"
50
               android:id="@+id/open"
51
               android:layout_width="110dp"
52
               android:layout_height="40dp"
53
               android:background="@drawable/bg_3ec34c_radius20"
54
               android:gravity="center"
55
               android:text="去结算"
56
               android:textSize="17sp" />
57
       </LinearLayout>
58
    </RelativeLayout>
59
60
</LinearLayout>