pre>
@ -719,6 +724,8 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
719 724
    private TextView tvNotification;
720 725
    private RelativeLayout layoutNotification;
721 726
    private boolean isShowNotification= false;
727
    private RequestCall downloadCall;
728
722 729
    @Override
723 730
    protected void onCreate(Bundle savedInstanceState) {
724 731
        super.onCreate(savedInstanceState);
@ -3427,7 +3434,13 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
3427 3434
3428 3435
    private void showProgressWindow() {
3429 3436
        updateDialog = new UpdateDialog(MainMapActivity.this);
3430
        updateDialog.builder().setMsg("").setCancelable(false).show();
3437
        updateDialog.builder().setMsg("")
3438
                .setBtnCancel(v->{
3439
                    if (downloadCall!=null){
3440
                        downloadCall.cancel();
3441
                    }
3442
                })
3443
                .setCancelable(false).show();
3431 3444
    }
3432 3445
3433 3446
    private void dialogup_other() {
@ -3439,32 +3452,25 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
3439 3452
            alterDialog.builder()
3440 3453
                    .setTitle("更新提示 " + now_versionName)
3441 3454
                    .setMsg(title.trim())
3442
                    .setPositiveButton("更新", new View.OnClickListener() {
3443
                        @Override
3444
                        public void onClick(View v) {
3445
                            showProgressWindow();
3446
                            ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
3447
                            downLoadFile();
3448
                        }
3449
                    }).setNegativeButton("退出", new View.OnClickListener() {
3450
                @Override
3451
                public void onClick(View v) {
3452
                    SharedPreferences mySharedPreferences = getSharedPreferences("showdialog",
3453
                            Activity.MODE_PRIVATE);
3454
                    SharedPreferences.Editor editor1 = mySharedPreferences.edit();
3455
                    editor1.clear();
3456
                    finish();
3457
                    ProfileManager.getInstance().setSearchAddress(getApplicationContext(), "");
3458
                    Process.killProcess(Process.myPid());
3459
                }
3460
            }).setCancelable(false).show();
3455
                    .setPositiveButton("更新", v -> {
3456
                        ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
3457
                        downLoadFile();
3458
                    }).setNegativeButton("退出", v -> {
3459
    //                    SharedPreferences mySharedPreferences = getSharedPreferences("showdialog",
3460
    //                            Activity.MODE_PRIVATE);
3461
    //                    SharedPreferences.Editor editor1 = mySharedPreferences.edit();
3462
    //                    editor1.clear();
3463
    //                    finish();
3464
    //                    ProfileManager.getInstance().setSearchAddress(getApplicationContext(), "");
3465
    //                    Process.killProcess(Process.myPid());
3466
                    }).setCancelable(false).show();
3461 3467
        }
3462 3468
    }
3463 3469
    private void downLoadFile() {
3464 3470
        showProgressWindow();
3465 3471
        ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
3466
        OkHttpUtils.get().url("http://cdz.evcharge.cc/app/app.apk").build()
3467
                .execute(new FileCallBack(PhotoUtils.DOWNLOADS, "cdz_install") {
3472
        downloadCall = OkHttpUtils.get().url("http://cdz.evcharge.cc/app/app.apk").build();
3473
        downloadCall.execute(new FileCallBack(PhotoUtils.DOWNLOADS, "cdz_install") {
3468 3474
                    @Override
3469 3475
                    public void inProgress(final float progress, long total) {
3470 3476

+ 158 - 10
app/src/main/java/com/electric/chargingpile/activity/UserCenterMoreActivity.java

@ -11,10 +11,17 @@ import android.content.pm.PackageInfo;
11 11
import android.content.pm.PackageManager;
12 12
import android.graphics.drawable.ColorDrawable;
13 13
import android.net.Uri;
14
import android.os.Build;
14 15
import android.os.Bundle;
15 16
import android.os.Handler;
17
import android.os.Looper;
16 18
import android.os.Message;
19
20
import androidx.annotation.NonNull;
17 21
import androidx.appcompat.app.AlertDialog;
22
import androidx.core.content.FileProvider;
23
24
import android.os.Process;
18 25
import android.text.TextUtils;
19 26
import android.util.Log;
20 27
import android.view.Display;
@ -32,6 +39,8 @@ import android.widget.TextView;
32 39
import android.widget.Toast;
33 40
34 41
import com.alibaba.fastjson.JSON;
42
import com.blankj.utilcode.util.AppUtils;
43
import com.blankj.utilcode.util.LogUtils;
35 44
import com.electric.chargingpile.R;
36 45
import com.electric.chargingpile.application.MainApplication;
37 46
import com.electric.chargingpile.manager.ProfileManager;
@ -42,43 +51,59 @@ import com.electric.chargingpile.util.ImageTools;
42 51
import com.electric.chargingpile.util.JsonUtils;
43 52
import com.electric.chargingpile.util.LoadingDialog;
44 53
import com.electric.chargingpile.util.OkHttpUtil;
54
import com.electric.chargingpile.util.PhotoUtils;
55
import com.electric.chargingpile.util.ToastUtil;
56
import com.electric.chargingpile.view.AlertDialogUpdate;
57
import com.electric.chargingpile.view.UpdateDialog;
45 58
import com.squareup.okhttp.Request;
46 59
import com.squareup.okhttp.Response;
47 60
import com.umeng.analytics.MobclickAgent;
48 61
import com.zhy.http.okhttp.OkHttpUtils;
62
import com.zhy.http.okhttp.callback.FileCallBack;
49 63
import com.zhy.http.okhttp.callback.StringCallback;
64
import com.zhy.http.okhttp.request.RequestCall;
50 65
51 66
import org.json.JSONException;
52 67
import org.json.JSONObject;
53 68
54 69
import java.io.BufferedReader;
55 70
import java.io.BufferedWriter;
71
import java.io.File;
56 72
import java.io.InputStreamReader;
57 73
import java.io.OutputStreamWriter;
58 74
import java.io.PrintWriter;
59 75
import java.net.Socket;
60 76
import java.net.URLEncoder;
61 77
import java.security.MessageDigest;
78
import java.text.NumberFormat;
62 79
63 80
import okhttp3.Call;
81
import pub.devrel.easypermissions.AfterPermissionGranted;
64 82
import pub.devrel.easypermissions.EasyPermissions;
65 83
66 84
public class UserCenterMoreActivity extends Activity implements View.OnClickListener {
67 85
    private static final String TAG = "UserCenterMoreActivity";
86
    private static final int RC_READ_EXTERNAL_PERM = 127;
68 87
    private RelativeLayout rl_recommend, rl_feedback, rl_about, rl_message, rl_update, rl_alter_password;
69 88
    private ImageView iv_back, iv_message, iv_fen;
70 89
    private String now_version, app_version;
71 90
    private TextView tv_exit;
72
    private String now_versionCode, now_versionName;
91
    private String now_versionCode, now_versionName,title;
73 92
    private android.view.animation.Animation animation;
74 93
    private ImageView point, iv_message_f;
94
    private LinearLayout logOutLayout;
95
75 96
    private Socket socket;
76 97
    private String Token = "";
77 98
    static String token = "";
78 99
    public static long cha;
79 100
    LoadingDialog dialog;
101
    Context context;
102
    private AlertDialogUpdate alterDialog;
103
    private UpdateDialog updateDialog;
80 104
    Dialog et_dialog;
81
    private Handler handler = new Handler() {
105
    private RequestCall downloadCall;
106
    private Handler handler = new Handler(Looper.getMainLooper()) {
82 107
        // 主线程通过这个方法处理消息
83 108
        @Override
84 109
        public void handleMessage(Message msg) {
@ -117,6 +142,8 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
117 142
118 143
                            now_versionCode = JsonUtils.getKeyResult(android, "versionCode");
119 144
                            now_versionName = JsonUtils.getKeyResult(android, "versionName");
145
                            title = JsonUtils.getKeyResult(jsonArray.toJSONString(), "title");
146
                            title = title.replace("\\n", "\n");
120 147
                        } catch (Exception e) {
121 148
                            e.printStackTrace();
122 149
                        }
@ -131,7 +158,7 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
131 158
                        }
132 159
//
133 160
                        if (new_versionCode - getVersionCode(getApplication()) > 0) {
134
                            dialogup();
161
                            permissionTask();
135 162
                        } else {
136 163
                            Toast.makeText(UserCenterMoreActivity.this, "当前为最新版本" + now_versionName, Toast.LENGTH_SHORT).show();
137 164
                        }
@ -160,7 +187,33 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
160 187
            }
161 188
        }
162 189
    };
163
    private LinearLayout logOutLayout;
190
    private Handler myHandler = new Handler(Looper.getMainLooper()) {
191
192
        @Override
193
        public void handleMessage(Message msg) {
194
            super.handleMessage(msg);
195
196
            switch (msg.what) {
197
198
                case 0x01:
199
200
                    Bundle data = msg.getData();
201
                    String format = data.getString("format");
202
                    String f = data.getString("progress");
203
                    String s = f.substring(0, f.indexOf("."));
204
//                    LogUtils.e(s);
205
206
                    updateDialog.updateMsg("当前已下载:" + format);
207
                    updateDialog.updateProgress(Integer.parseInt(s));
208
209
                    break;
210
211
            }
212
213
        }
214
    };
215
216
164 217
165 218
    @Override
166 219
    protected void onCreate(Bundle savedInstanceState) {
@ -169,6 +222,7 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
169 222
        BarColorUtil.initStatusBarColor(UserCenterMoreActivity.this);
170 223
        dialog = new LoadingDialog(this);
171 224
        dialog.setCanceledOnTouchOutside(false);
225
        context = this;
172 226
        initView();
173 227
    }
174 228
@ -718,12 +772,8 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
718 772
                .setPositiveButton("要,马上要", new View.OnClickListener() {
719 773
                    @Override
720 774
                    public void onClick(View v) {
721
                        Intent intent = new Intent();
722
                        intent.setAction("android.intent.action.VIEW");
723
                        intent.addCategory(Intent.CATEGORY_BROWSABLE);
724
                        Uri content_url = Uri.parse("http://cdz.evcharge.cc/app/app.apk");
725
                        intent.setData(content_url);
726
                        startActivity(Intent.createChooser(intent, "请选择浏览器"));
775
                        ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
776
                        downLoadFile();
727 777
                    }
728 778
                }).setNegativeButton("先退下", new View.OnClickListener() {
729 779
            @Override
@ -850,8 +900,106 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
850 900
            }
851 901
        });
852 902
    }
903
    private void showProgressWindow() {
904
        updateDialog = new UpdateDialog(UserCenterMoreActivity.this);
905
        updateDialog.builder().setMsg("")
906
                .setBtnCancel(v->{
907
                    if (downloadCall!=null){
908
                        downloadCall.cancel();
909
                    }
910
                })
911
                .setCancelable(false).show();
912
    }
913
914
    private void downLoadFile() {
915
        showProgressWindow();
916
        ToastUtil.showToast(getApplicationContext(), "正在下载中", Toast.LENGTH_SHORT);
917
        downloadCall = OkHttpUtils.get().url("http://cdz.evcharge.cc/app/app.apk").build();
918
        downloadCall.execute(new FileCallBack(PhotoUtils.DOWNLOADS, "cdz_install") {
919
            @Override
920
            public void inProgress(final float progress, long total) {
921
922
                NumberFormat numberFormat = NumberFormat.getInstance();
923
924
                // 设置精确到小数点后2位
853 925
926
                numberFormat.setMaximumFractionDigits(2);
927
                String format = numberFormat.format(progress * 100);
854 928
929
                Message message = new Message();
930
                message.what = 0x01;
931
932
                Bundle bundle = new Bundle();
933
                bundle.putString("format", format + "%");
934
//                        LogUtils.e("当前:" + format);
935
                if (!format.contains(".")) {
936
                    bundle.putString("progress", format + ".");
937
                } else {
938
                    bundle.putString("progress", format);
939
                }
940
941
942
                message.setData(bundle);
943
                myHandler.sendMessage(message);
944
945
946
            }
947
948
            @Override
949
            public void onError(Call call, Exception e) {
950
                LogUtils.e(e.getMessage());
951
            }
952
953
            @Override
954
            public void onResponse(File response) {
955
                String path = getDatabasePath("zhan_list").getPath();
956
                com.blankj.utilcode.util.LogUtils.e(path);
957
                AppUtils.cleanAppData(path);
958
                Log.e("hyc","**------**"+response.getAbsolutePath());
959
                Log.e("hyc","**------**"+!response.exists());
960
                if (!response.exists()){
961
                    Toast.makeText(context, "文件不存在", Toast.LENGTH_SHORT).show();
962
                    return  ;
963
                }
964
965
                Intent intent = new Intent();
966
                intent.setAction(android.content.Intent.ACTION_VIEW);
967
                Uri uri;
968
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
969
                    Uri contentUri = FileProvider.getUriForFile(context,
970
                            context.getApplicationContext().getPackageName() + ".provider",
971
                            response);
972
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
973
                    intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
974
                    intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
975
                } else {
976
                    uri = Uri.fromFile(response);
977
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
978
                    intent.setDataAndType(uri, "application/vnd.android.package-archive");
979
                }
980
                context.startActivity(intent);
981
                android.os.Process.killProcess(android.os.Process.myPid());
982
            }
983
        });
984
    }
985
986
    @AfterPermissionGranted(RC_READ_EXTERNAL_PERM)
987
    public void permissionTask() {
988
        if (isPermissionOK()) {
989
            dialogup();
990
        } else {
991
            EasyPermissions.requestPermissions(
992
                    this, "充电桩想要获取您的图片读取权限,是否允许?",
993
                    RC_READ_EXTERNAL_PERM,
994
                    Manifest.permission.WRITE_EXTERNAL_STORAGE,
995
                    Manifest.permission.READ_EXTERNAL_STORAGE);
996
        }
997
    }
998
    @Override
999
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
1000
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
1001
        EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
1002
    }
855 1003
    @Override
856 1004
    protected void onPause() {
857 1005
        super.onPause();

+ 20 - 4
app/src/main/java/com/electric/chargingpile/view/UpdateDialog.java

@ -8,7 +8,9 @@ import android.view.LayoutInflater;
8 8
import android.view.View;
9 9
import android.view.WindowManager;
10 10
import android.widget.FrameLayout;
11
import android.widget.ImageView;
11 12
import android.widget.LinearLayout;
13
import android.widget.ProgressBar;
12 14
import android.widget.TextView;
13 15
14 16
import com.electric.chargingpile.R;
@ -20,12 +22,13 @@ public class UpdateDialog {
20 22
    private android.app.Dialog dialog;
21 23
    private LinearLayout layout_bg;
22 24
    private TextView txt_msg;
25
    private ImageView imgCancel;
23 26
    private Display display;
24 27
    private boolean showTitle = false;
25 28
    private boolean showMsg = false;
26 29
    private boolean showPosBtn = false;
27 30
    private boolean showNegBtn = false;
28
    private QMUIProgressBar qmuiProgressBar;
31
    private ProgressBar qmuiProgressBar;
29 32
30 33
    public UpdateDialog(Context context) {
31 34
        this.context = context;
@ -41,12 +44,13 @@ public class UpdateDialog {
41 44
42 45
        // 获取自定义Dialog布局中的控件
43 46
        layout_bg = view.findViewById(R.id.layout_bg);
47
        imgCancel = view.findViewById(R.id.imgCancel);
44 48
45 49
        txt_msg = (TextView) view.findViewById(R.id.txt_msg);
46 50
        txt_msg.setVisibility(View.GONE);
47 51
48 52
        qmuiProgressBar = view.findViewById(R.id.qMUIProgressBar);
49
        qmuiProgressBar.setMaxValue(100);
53
        qmuiProgressBar.setMax(100);
50 54
51 55
        // 定义Dialog布局和参数
52 56
        dialog = new Dialog(context, R.style.AlertDialogStyle);
@ -54,7 +58,7 @@ public class UpdateDialog {
54 58
55 59
        // 调整dialog背景大小
56 60
        layout_bg.setLayoutParams(new FrameLayout.LayoutParams((int) (display
57
                .getWidth() * 0.85), LinearLayout.LayoutParams.WRAP_CONTENT));
61
                .getWidth() * 0.65), LinearLayout.LayoutParams.WRAP_CONTENT));
58 62
59 63
        return this;
60 64
    }
@ -73,6 +77,15 @@ public class UpdateDialog {
73 77
        dialog.setCancelable(cancel);
74 78
        return this;
75 79
    }
80
    public UpdateDialog setBtnCancel(View.OnClickListener listener) {
81
        if (imgCancel!=null){
82
            imgCancel.setOnClickListener(v -> {
83
                listener.onClick(v);
84
                dialog.dismiss();
85
            });
86
        }
87
        return this;
88
    }
76 89
77 90
78 91
    private void setLayout() {
@ -87,10 +100,13 @@ public class UpdateDialog {
87 100
    }
88 101
89 102
    public void updateMsg(String msg) {
90
        txt_msg.setText(msg);
103
91 104
    }
92 105
93 106
    public void updateProgress(int i) {
94 107
        qmuiProgressBar.setProgress(i);
108
        if (txt_msg!=null){
109
            txt_msg.setText(i+"%");
110
        }
95 111
    }
96 112
}

BIN
app/src/main/res/drawable-xxhdpi/ic_cancel_updata.png


BIN
app/src/main/res/drawable-xxhdpi/ic_no_check_square.png


BIN
app/src/main/res/drawable-xxhdpi/ic_select_check_square.png


+ 8 - 0
app/src/main/res/drawable/bg_car_owner_check.xml

@ -0,0 +1,8 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3
4
    <item android:drawable="@drawable/ic_select_check_square" android:state_checked="true"/>
5
    <item android:drawable="@drawable/ic_no_check_square"  android:state_checked="false"/>
6
    <item android:drawable="@drawable/ic_no_check_square"/>
7
8
</selector>

+ 39 - 0
app/src/main/res/drawable/progressbar_color.xml

@ -0,0 +1,39 @@
1
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
2
    android:layout_width="match_parent"
3
    android:layout_height="wrap_content">
4
5
    <!-- 背景  gradient是渐变,corners定义的是圆角 -->
6
    <item android:id="@android:id/background"
7
        android:layout_width="wrap_content">
8
        <shape>
9
            <corners android:radius="10dp" />
10
11
            <solid android:color="#ECECEC" />
12
        </shape>
13
    </item>
14
    <!-- 第二条进度条颜色 -->
15
    <item android:id="@android:id/secondaryProgress">
16
        <clip>
17
            <shape>
18
                <corners android:radius="10dp" />
19
20
                <gradient
21
                    android:angle="90.0"
22
                    android:centerColor="#aadfdf"
23
                    android:centerY="0.45"
24
                    android:endColor="#aadfdf"
25
                    android:startColor="#aadfdf" />
26
            </shape>
27
        </clip>
28
    </item>
29
    <!-- 进度条 -->
30
    <item android:id="@android:id/progress">
31
        <clip>
32
            <shape>
33
                <corners android:radius="10dp" />
34
                <solid android:color="#3EC34C" />
35
            </shape>
36
        </clip>
37
    </item>
38
39
</layer-list>

+ 30 - 3
app/src/main/res/layout/activity_car_owner_certificate.xml

@ -47,7 +47,7 @@
47 47
        android:layout_height="0dp"
48 48
        android:orientation="vertical"
49 49
        android:scrollbars="none"
50
        app:layout_constraintBottom_toTopOf="@+id/submit_btn"
50
        app:layout_constraintBottom_toTopOf="@+id/layoutAuthorize"
51 51
        app:layout_constraintTop_toBottomOf="@+id/nav_bar">
52 52
53 53
        <androidx.constraintlayout.widget.ConstraintLayout
@ -353,7 +353,7 @@
353 353
                android:layout_width="match_parent"
354 354
                android:layout_height="wrap_content"
355 355
                android:layout_marginTop="10dp"
356
                android:layout_marginBottom="30dp"
356
                android:layout_marginBottom="60dp"
357 357
                android:text="认证说明\n\n1.车型信息和行驶证主页为必填项;\n2.最多可认证三款车型;\n3.默认首款认证车型为主车型;\n4.上传行驶证详细页面,并保证所有信息清晰;\n5.首次车主认证审核通过有充电满减和折扣红包\n6.红包自发放日起有效期为一个月"
358 358
                android:textColor="#0D1120"
359 359
                android:textSize="14sp"
@ -361,7 +361,34 @@
361 361
                app:layout_constraintTop_toBottomOf="@+id/driving_license_type" />
362 362
        </androidx.constraintlayout.widget.ConstraintLayout>
363 363
    </ScrollView>
364
364
    <LinearLayout
365
        android:orientation="horizontal"
366
        android:gravity="center"
367
        android:layout_marginBottom="10dp"
368
        app:layout_constraintEnd_toEndOf="parent"
369
        app:layout_constraintStart_toStartOf="parent"
370
        android:id="@+id/layoutAuthorize"
371
        app:layout_constraintBottom_toTopOf="@+id/submit_btn"
372
        android:layout_width="0dp"
373
        android:layout_height="wrap_content">
374
        <CheckBox
375
            android:padding="5dp"
376
            android:layout_gravity="center"
377
            android:gravity="center"
378
            style="@style/SquareCheckboxTheme"
379
            android:id="@+id/checkBox"
380
            android:layout_width="wrap_content"
381
            android:layout_height="wrap_content"/>
382
        <TextView
383
            android:gravity="center"
384
            android:id="@+id/tvAuthorize"
385
            android:layout_width="wrap_content"
386
            android:layout_height="match_parent"
387
            android:text="勾选后,即您同意《个人信息处理授权书》并确认授权"
388
            android:textColor="#ff9b9b9b"
389
            android:textSize="12sp"
390
            />
391
    </LinearLayout>
365 392
    <Button
366 393
        android:id="@+id/submit_btn"
367 394
        android:layout_width="match_parent"

+ 32 - 15
app/src/main/res/layout/layout_update_dialog.xml

@ -1,34 +1,51 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
4 5
    android:id="@+id/layout_bg"
5 6
    android:layout_width="match_parent"
6
    android:layout_height="200dp"
7
    android:layout_height="wrap_content"
7 8
    android:background="@drawable/offlinearrow_but_normal"
8 9
    android:orientation="vertical">
9
10 10
    <TextView
11
        android:id="@+id/txt_msg"
11
        android:gravity="center"
12
        android:text="下载中"
13
12 14
        android:layout_width="match_parent"
13 15
        android:layout_height="wrap_content"
14 16
        android:layout_gravity="center|left"
15
        android:textColor="@color/ui_62"
16
        android:layout_marginLeft="16dp"
17
        android:layout_marginTop="16dp"
18
        android:layout_marginBottom="16dp"
17
        android:textColor="@color/color_0e0e0e"
18
        android:layout_marginTop="30dp"
19
        android:layout_marginBottom="20dp"
19 20
        android:textSize="16sp" />
20 21
21
    <com.qmuiteam.qmui.widget.QMUIProgressBar
22
    <ProgressBar
23
        style="?android:attr/progressBarStyleHorizontal"
24
        tools:progress="45"
22 25
        android:id="@+id/qMUIProgressBar"
23 26
        android:layout_width="match_parent"
24
        android:layout_height="12dp"
25
        android:textColor="@color/lvse"
27
        android:layout_height="10dp"
28
        android:progressDrawable="@drawable/progressbar_color"
26 29
        android:textSize="12sp"
27
        android:layout_marginBottom="20dp"
30
        android:layout_marginBottom="6dp"
28 31
        android:layout_marginLeft="16dp"
29 32
        android:layout_marginRight="16dp"
30
        app:qmui_background_color="@color/ui_68"
31
        app:qmui_progress_color="@color/lvse"
32
        app:qmui_type="type_rect"/>
33
33
       />
34
    <TextView
35
        android:id="@+id/txt_msg"
36
        tools:text="12"
37
        android:textColor="#3EC34C"
38
        android:textSize="14sp"
39
        android:layout_marginEnd="18dp"
40
        android:layout_gravity="end"
41
        android:layout_marginBottom="30dp"
42
        android:layout_width="wrap_content"
43
        android:layout_height="wrap_content"/>
44
    <ImageView
45
        android:id="@+id/imgCancel"
46
        android:layout_marginBottom="30dp"
47
        android:layout_gravity="center"
48
        android:src="@drawable/ic_cancel_updata"
49
        android:layout_width="wrap_content"
50
        android:layout_height="wrap_content"/>
34 51
</LinearLayout>

+ 3 - 0
app/src/main/res/values/styles.xml

@ -377,4 +377,7 @@
377 377
    <style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
378 378
        <item name="android:button">@drawable/checkbox_style</item>
379 379
    </style>
380
    <style name="SquareCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
381
        <item name="android:button">@drawable/bg_car_owner_check</item>
382
    </style>
380 383
</resources>

+ 1 - 1
autolayout/src/main/AndroidManifest.xml

@ -1,7 +1,7 @@
1 1
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 2
          package="com.zhy.autolayout">
3 3
4
    <application android:allowBackup="true"
4
    <application android:allowBackup="false"
5 5
                 android:label="@string/app_name"
6 6
        >
7 7

+ 1 - 0
zxing/src/main/AndroidManifest.xml

@ -28,6 +28,7 @@
28 28
    <supports-screens android:xlargeScreens="true"
29 29
        android:largeScreens="true"
30 30
        android:normalScreens="true"
31
        android:allowBackup="false"
31 32
        android:smallScreens="true"
32 33
        android:anyDensity="true"/>
33 34

+ 2 - 1
zxing/src/main/java/com/google/zxing/client/android/constant/UrlConstants.java

@ -5,7 +5,8 @@ public interface UrlConstants {
5 5
//    String HOST_URL = "http://59.110.68.162/zhannew/basic/web/index.php/"; //测试链接
6 6
7 7
    String USER_CHARGING_CHECK_URL = HOST_URL + "api/charge/check-user";
8
    String START_CHARGING_URL = HOST_URL + "api/charge/start";
8
//    String START_CHARGING_URL = HOST_URL + "api/charge/start";
9
    String START_CHARGING_URL = HOST_URL + "api/charge/start2";
9 10
    String CHARGING_STATUS_URL = HOST_URL + "api/charge/query";
10 11
    String STOP_CHARGING_URL = HOST_URL + "api/charge/close";//关闭充电
11 12

修改bug · 43415667a0 - Gogs: Go Git Service
浏览代码

修改bug

hy 4 年之前
父节点
当前提交
43415667a0

+ 11 - 17
app/src/main/java/com/electric/chargingpile/activity/ChargingCommentActivity.java

@ -44,13 +44,17 @@ import androidx.appcompat.app.AppCompatActivity;
44 44
import androidx.recyclerview.widget.GridLayoutManager;
45 45
import androidx.recyclerview.widget.RecyclerView;
46 46
47
import com.andview.refreshview.utils.Utils;
47 48
import com.blankj.utilcode.util.CacheUtils;
48 49
import com.blankj.utilcode.util.EmptyUtils;
49 50
import com.blankj.utilcode.util.LogUtils;
50 51
import com.bumptech.glide.Glide;
51 52
import com.bumptech.glide.load.DataSource;
52 53
import com.bumptech.glide.load.engine.GlideException;
54
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
55
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
53 56
import com.bumptech.glide.request.RequestListener;
57
import com.bumptech.glide.request.RequestOptions;
54 58
import com.bumptech.glide.request.target.Target;
55 59
import com.electric.chargingpile.R;
56 60
import com.electric.chargingpile.adapter.GridImageAdapter;
@ -213,8 +217,6 @@ public class ChargingCommentActivity extends AppCompatActivity implements View.O
213 217
            super.handleMessage(msg);
214 218
        }
215 219
    };
216
    private List<LocalMedia> mSelectionData =new ArrayList<LocalMedia>();
217
218 220
219 221
    private int mInsterType = -1; //1 插入图片 2 插入视频 -1 未插入数据
220 222
@ -254,9 +256,10 @@ public class ChargingCommentActivity extends AppCompatActivity implements View.O
254 256
        findViewById(R.id.imgUpload).setOnClickListener(this);
255 257
        findViewById(R.id.videoUpLoad).setOnClickListener(this);
256 258
        commentHint = (TextView) findViewById(R.id.commentHint);
257
        topicText = (TextView) findViewById(R.id.topicText);
258 259
        imgAd = (ImageView) findViewById(R.id.imgAd);
259 260
        commentHint.setText(Html.fromHtml("30字以上+图片或15s视频有机会被<font color='#3EC34C'>评为优质评论获得充电优惠券</font>", FROM_HTML_MODE_LEGACY));
261
        topicText = (TextView) findViewById(R.id.topicText);
262
        topicText.setText(Html.fromHtml("<font color='#6AB650'>╋</font>  话题", FROM_HTML_MODE_LEGACY));
260 263
261 264
262 265
        rl_comment = (RelativeLayout) findViewById(R.id.rl_comment);
@ -448,21 +451,12 @@ public class ChargingCommentActivity extends AppCompatActivity implements View.O
448 451
        });
449 452
450 453
        if (MainApplication.mAdComment!=null){
454
451 455
            String icon = MainApplication.mAdComment.getIcon();
452 456
            String adUrl = MainApplication.mAdComment.getUrl();
453
            Glide.with(this).load(MainApplication.url + "/zhannew/uploadfile/" + icon).listener(new RequestListener<Drawable>() {
454
                @Override
455
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
456
                    imgAd.setVisibility(View.GONE);
457
                    return false;
458
                }
459
460
                @Override
461
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
462
                    imgAd.setVisibility(View.VISIBLE);
463
                    return false;
464
                }
465
            }).into(imgAd);
457
            Glide.with(this).load(MainApplication.url + "/zhannew/uploadfile/" + icon)
458
                    .into(imgAd);
459
            imgAd.setVisibility(View.VISIBLE);
466 460
            imgAd.setOnClickListener(v->{
467 461
                Intent adfloatIntent = new Intent(this, MyWebViewActivity.class);
468 462
                adfloatIntent.putExtra("url", adUrl);
@ -514,7 +508,7 @@ public class ChargingCommentActivity extends AppCompatActivity implements View.O
514 508
        } else if (requestCode == REQUEST_TOPIC_CODE && resultCode == SelectTopicActivity.REESULT_CODE) {
515 509
            String name = data.getStringExtra("topicBean");
516 510
            mTopicbean = mGson.fromJson(name, TopicBean.class);
517
            topicText.setText(mTopicbean.getMeg());
511
            topicText.setText(Html.fromHtml("<font color='#6AB650'>#</font>  "+mTopicbean.getMeg(), FROM_HTML_MODE_LEGACY));
518 512
        }
519 513
    }
520 514

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

@ -37,7 +37,7 @@ public class CommentVideoDetailActivity extends AppCompatActivity {
37 37
38 38
    private DetailVideo mVideoPlayer;
39 39
    private ImageView mPlayIcon,mBackIcon;
40
    private ProgressBar mProgressBar;
40
41 41
    private Gson mGson=new Gson();
42 42
    private String pid;
43 43
    private LoadingDialog mLoadingDialog = null ;
@ -63,7 +63,6 @@ public class CommentVideoDetailActivity extends AppCompatActivity {
63 63
        mVideoPlayer = findViewById(R.id.videoPlayer);
64 64
        mBackIcon = findViewById(R.id.backIcon);
65 65
        mPlayIcon = findViewById(R.id.playIcon);
66
        mProgressBar = findViewById(R.id.progressBar);
67 66
68 67
        mBackIcon.setOnClickListener(v->{
69 68
            finish();
@ -121,7 +120,6 @@ public class CommentVideoDetailActivity extends AppCompatActivity {
121 120
        ImageDisplayUtils.dispalyImg(this, url, thumbImageView);
122 121
        mVideoPlayer.setThumbImageView(thumbImageView);
123 122
        mVideoPlayer.setLooping(true);
124
        mVideoPlayer.setGSYVideoProgressListener((progress, secProgress, currentPosition, duration) -> mProgressBar.setProgress(Math.toIntExact(progress)));
125 123
126 124
        mVideoPlayer.setUp(url, true, "");
127 125
        mVideoPlayer.startPlayLogic();

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

@ -447,6 +447,7 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
447 447
                case 2:
448 448
                    try {
449 449
                        String data = JsonUtils.getKeyResult(msg.obj.toString(), "data");
450
                        Log.e(TAG, "handleMessage: "+data );
450 451
                        if (!data.equals("")) {
451 452
                            String ad_comment = JsonUtils.getKeyResult(data, "ad_comment");
452 453
                            if (EmptyUtils.isNotEmpty(ad_comment)){

+ 8 - 1
app/src/main/java/com/electric/chargingpile/activity/SelectTopicActivity.java

@ -100,7 +100,6 @@ public class SelectTopicActivity  extends AppCompatActivity {
100 100
                        String data = JsonUtils.getKeyResult(response, "data");
101 101
                        ArrayList<TopicBean> list = mGson.fromJson(data, new TypeToken<ArrayList<TopicBean>>() {
102 102
                        }.getType());
103
                        list.clear();
104 103
                        if (list != null && list.size()>0){
105 104
                            mAdapter.setDatas(list);
106 105
                            mRecyclerView.setVisibility(View.VISIBLE);
@ -111,7 +110,15 @@ public class SelectTopicActivity  extends AppCompatActivity {
111 110
                            noDataText.setVisibility(View.VISIBLE);
112 111
                            imgNoData.setVisibility(View.VISIBLE);
113 112
                        }
113
                    }else{
114
                        mRecyclerView.setVisibility(View.GONE);
115
                        noDataText.setVisibility(View.VISIBLE);
116
                        imgNoData.setVisibility(View.VISIBLE);
114 117
                    }
118
                }else{
119
                    mRecyclerView.setVisibility(View.GONE);
120
                    noDataText.setVisibility(View.VISIBLE);
121
                    imgNoData.setVisibility(View.VISIBLE);
115 122
                }
116 123
117 124
            }

+ 10 - 2
app/src/main/java/com/electric/chargingpile/activity/SingleCommentActivity.java

@ -53,6 +53,7 @@ import com.zhy.view.flowlayout.TagFlowLayout;
53 53
import org.json.JSONArray;
54 54
import org.json.JSONException;
55 55
import org.json.JSONObject;
56
import org.w3c.dom.Text;
56 57
57 58
import java.net.URLEncoder;
58 59
import java.util.ArrayList;
@ -149,7 +150,7 @@ public class SingleCommentActivity extends Activity implements View.OnClickListe
149 150
    public void getCommentData(RankinglistRefreshEvent rankinglistRefreshEvent) {
150 151
//        String url = "http://59.110.68.162/zhannew/basic/web/index.php/tpappcomments/get-sub-comments?id="+pid;
151 152
        String url = MainApplication.url + "/zhannew/basic/web/index.php/tpappcomments/get-sub-comments?id=" + pid;
152
        Log.e("getCommentData_url=", url);
153
//        Log.e("getCommentData_url=", url);
153 154
        OkHttpUtils.get().url(url).build().execute(new StringCallback() {
154 155
            @Override
155 156
            public void onError(Call call, Exception e) {
@ -239,12 +240,19 @@ public class SingleCommentActivity extends Activity implements View.OnClickListe
239 240
        }
240 241
        //设置时间
241 242
        String addtime = JsonUtils.getKeyResult(data, "addtime");
243
        addtime= TextUtils.isEmpty(addtime)?"0":addtime;
242 244
        tv_ptime.setText(TimeStamp2Date(addtime, "yyyy-MM-dd"));
243 245
        //设置内容
244 246
        String content = JsonUtils.getKeyResult(data, "content");
247
        String  theme= JsonUtils.getKeyResult(data,"theme");
248
        if (!TextUtils.isEmpty(theme.trim())){
249
            content= "#"+theme+"#"+content;
250
        }
251
245 252
        if (content.equals("") || content.equals(" ")) {
246 253
            tv_pcontext.setVisibility(View.GONE);
247 254
        } else {
255
248 256
            tv_pcontext.setVisibility(View.VISIBLE);
249 257
            SpannableString ss = new SpannableString(content);
250 258
            Pattern pattern = Pattern.compile("#[0-9a-zA-Z,\\u4e00-\\u9fa5]+#");
@ -252,7 +260,7 @@ public class SingleCommentActivity extends Activity implements View.OnClickListe
252 260
            while (matcher.find()) {
253 261
                int start = matcher.start();
254 262
                int end = matcher.end();
255
                ss.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.topic_blue)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
263
                ss.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.topic_green)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
256 264
            }
257 265
            tv_pcontext.setText(ss);
258 266
        }

+ 12 - 16
app/src/main/java/com/electric/chargingpile/activity/ZhanCommentActivity.java

@ -22,6 +22,7 @@ import android.util.Base64;
22 22
import android.util.Log;
23 23
import android.view.LayoutInflater;
24 24
import android.view.View;
25
import android.view.ViewGroup;
25 26
import android.view.animation.AnimationUtils;
26 27
import android.view.inputmethod.InputMethodManager;
27 28
import android.widget.ImageView;
@ -36,11 +37,15 @@ import androidx.appcompat.app.AppCompatActivity;
36 37
import androidx.recyclerview.widget.GridLayoutManager;
37 38
import androidx.recyclerview.widget.RecyclerView;
38 39
40
import com.andview.refreshview.utils.Utils;
39 41
import com.blankj.utilcode.util.CacheUtils;
40 42
import com.bumptech.glide.Glide;
41 43
import com.bumptech.glide.load.DataSource;
42 44
import com.bumptech.glide.load.engine.GlideException;
45
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
46
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
43 47
import com.bumptech.glide.request.RequestListener;
48
import com.bumptech.glide.request.RequestOptions;
44 49
import com.bumptech.glide.request.target.Target;
45 50
import com.electric.chargingpile.R;
46 51
import com.electric.chargingpile.adapter.GridImageAdapter;
@ -85,6 +90,7 @@ import com.upyun.library.common.SerialUploader;
85 90
import com.upyun.library.common.UploadEngine;
86 91
import com.upyun.library.listener.UpCompleteListener;
87 92
import com.upyun.library.listener.UpProgressListener;
93
import com.zhy.autolayout.AutoLinearLayout;
88 94
import com.zhy.http.okhttp.OkHttpUtils;
89 95
import com.zhy.http.okhttp.callback.StringCallback;
90 96
import com.zhy.view.flowlayout.FlowLayout;
@ -431,25 +437,14 @@ public class ZhanCommentActivity extends AppCompatActivity implements View.OnCli
431 437
        if (MainApplication.mAdComment!=null){
432 438
            String icon = MainApplication.mAdComment.getIcon();
433 439
            String adUrl = MainApplication.mAdComment.getUrl();
434
            Glide.with(this).load(MainApplication.url + "/zhannew/uploadfile/" + icon).listener(new RequestListener<Drawable>() {
435
                @Override
436
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
437
                    imgAd.setVisibility(View.GONE);
438
                    return false;
439
                }
440
441
                @Override
442
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
443
                    imgAd.setVisibility(View.VISIBLE);
444
                    return false;
445
                }
446
            }).into(imgAd);
440
            Glide.with(this).load(MainApplication.url + "/zhannew/uploadfile/" + icon)
441
                    .into(imgAd);
442
            imgAd.setVisibility(View.VISIBLE);
447 443
            imgAd.setOnClickListener(v->{
448 444
                Intent adfloatIntent = new Intent(this, MyWebViewActivity.class);
449 445
                adfloatIntent.putExtra("url", adUrl);
450 446
                startActivity(adfloatIntent);
451 447
            });
452
453 448
        }
454 449
455 450
    }
@ -546,7 +541,8 @@ public class ZhanCommentActivity extends AppCompatActivity implements View.OnCli
546 541
        } else if (requestCode == REQUEST_TOPIC_CODE && resultCode == SelectTopicActivity.REESULT_CODE) {
547 542
            String name = data.getStringExtra("topicBean");
548 543
            mTopicbean = mGson.fromJson(name, TopicBean.class);
549
            topicText.setText(mTopicbean.getMeg());
544
            topicText.setText(Html.fromHtml("<font color='#6AB650'>#</font>  "+mTopicbean.getMeg(), FROM_HTML_MODE_LEGACY));
545
550 546
        }
551 547
552 548
    }
@ -618,7 +614,7 @@ public class ZhanCommentActivity extends AppCompatActivity implements View.OnCli
618 614
    private void getDatas() {
619 615
        zhan_id = getIntent().getStringExtra("zhan_id");
620 616
        show_txt = getIntent().getStringExtra("show_txt");
621
        et_pinglun.setHint(show_txt);
617
//        et_pinglun.setHint(show_txt);
622 618
    }
623 619
624 620
    private void addComment(ArrayList<String> fileUrlList, String thumUrl) throws Exception {

+ 10 - 0
app/src/main/java/com/electric/chargingpile/application/MainApplication.java

@ -38,6 +38,8 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
38 38
import com.nostra13.universalimageloader.core.ImageLoader;
39 39
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
40 40
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
41
import com.shuyu.gsyvideoplayer.GSYVideoManager;
42
import com.shuyu.gsyvideoplayer.model.VideoOptionModel;
41 43
import com.tencent.bugly.crashreport.CrashReport;
42 44
import com.zhy.http.okhttp.OkHttpUtils;
43 45
import com.zhy.http.okhttp.callback.StringCallback;
@ -58,6 +60,7 @@ import java.util.Map;
58 60

59 61
import cn.jpush.android.api.JPushInterface;
60 62
import okhttp3.Call;
63
import tv.danmaku.ijk.media.player.IjkMediaPlayer;
61 64

62 65

63 66
public class MainApplication extends MultiDexApplication {
@ -207,6 +210,13 @@ public class MainApplication extends MultiDexApplication {
207 210
        if (ProfileManager.getInstance().getPrivacyAgreement(this)) {
208 211
            MainApplication.initSDK();
209 212
        }
213

214
        //防止进度跳转不准确
215
        VideoOptionModel videoOptionModel =
216
               new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);
217
        ArrayList<VideoOptionModel> list =new ArrayList<VideoOptionModel>();
218
        list.add(videoOptionModel);
219
        GSYVideoManager.instance().setOptionModelList(list);
210 220
    }
211 221

212 222
    public void initJPush() {

+ 55 - 1
app/src/main/java/com/electric/chargingpile/fragment/DetailsFragment.java

@ -1405,13 +1405,17 @@ public class DetailsFragment extends Fragment implements View.OnClickListener, O
1405 1405
                                    Glide.with(MainApplication.context)
1406 1406
                                            .load(MainApplication.CDN +thumUrl)
1407 1407
                                            .into(imgVideo);
1408
                                }
1409 1408
1409
                                    imgVideo.setOnClickListener(v->{
1410
                                        CommentVideoDetailActivity.actioinStart(getContext(),jsonObject.optString("id"));
1411
                                    });
1412
                                }
1410 1413
                            }else {
1411 1414
1412 1415
                                imgVideo.setVisibility(View.GONE);
1413 1416
                                imgStart.setVisibility(View.GONE);
1414 1417
1418
1415 1419
                                if (!fileUrl.equals("")) {
1416 1420
                                    iv_commentPic.setVisibility(View.VISIBLE);
1417 1421
                                    imgLayout.setVisibility(View.VISIBLE);
@ -1440,6 +1444,56 @@ public class DetailsFragment extends Fragment implements View.OnClickListener, O
1440 1444
                                } else {
1441 1445
                                    imgThree.setVisibility(View.GONE);
1442 1446
                                }
1447
1448
1449
                                String[] fileUrlArray = null;
1450
                                if (!TextUtils.isEmpty(fileUrl) && !TextUtils.isEmpty(file2Url) &&!TextUtils.isEmpty(file3Url)){
1451
                                    fileUrlArray =new String[]{
1452
                                            MainApplication.url + "/zhannew/uploadfile/"+fileUrl,
1453
                                            MainApplication.url + "/zhannew/uploadfile/"+file2Url,
1454
                                            MainApplication.url + "/zhannew/uploadfile/"+file3Url
1455
                                    };
1456
                                }else  if (!TextUtils.isEmpty(fileUrl) && !TextUtils.isEmpty(file2Url)){
1457
                                    fileUrlArray =new String[]{
1458
                                            MainApplication.url + "/zhannew/uploadfile/"+fileUrl,
1459
                                            MainApplication.url + "/zhannew/uploadfile/"+file2Url
1460
                                    };
1461
                                }else  if (!TextUtils.isEmpty(fileUrl)){
1462
                                    fileUrlArray =new String[]{ MainApplication.url + "/zhannew/uploadfile/"+fileUrl};
1463
                                }
1464
1465
1466
                                String[] finalFileUrlArray = fileUrlArray;
1467
                                iv_commentPic.setOnClickListener(new View.OnClickListener() {
1468
                                    @Override
1469
                                    public void onClick(View v) {
1470
                                        Intent intent = new Intent(getContext(), ImagePagerActivity.class);
1471
                                        // 图片url,为了演示这里使用常量,一般从数据库中或网络中获取
1472
                                        intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_URLS, finalFileUrlArray);
1473
                                        intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_INDEX, 0);
1474
                                        startActivity(intent);
1475
                                    }
1476
                                });
1477
                                imgTwo.setOnClickListener(new View.OnClickListener() {
1478
                                    @Override
1479
                                    public void onClick(View v) {
1480
                                        Intent intent = new Intent(getContext(), ImagePagerActivity.class);
1481
                                        // 图片url,为了演示这里使用常量,一般从数据库中或网络中获取
1482
                                        intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_URLS, finalFileUrlArray);
1483
                                        intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_INDEX, 1);
1484
                                        startActivity(intent);
1485
                                    }
1486
                                });
1487
                                imgThree.setOnClickListener(new View.OnClickListener() {
1488
                                    @Override
1489
                                    public void onClick(View v) {
1490
                                        Intent intent = new Intent(getContext(), ImagePagerActivity.class);
1491
                                        // 图片url,为了演示这里使用常量,一般从数据库中或网络中获取
1492
                                        intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_URLS, finalFileUrlArray);
1493
                                        intent.putExtra(ImagePagerActivity.EXTRA_IMAGE_INDEX, 2);
1494
                                        startActivity(intent);
1495
                                    }
1496
                                });
1443 1497
                            }
1444 1498
                            //父级评分
1445 1499
                            String grade = jsonObject.optString("star_level");

+ 2 - 11
app/src/main/java/com/electric/chargingpile/fragment/NewMyMessageFragment.java

@ -87,7 +87,7 @@ public class NewMyMessageFragment extends Fragment {
87 87
    }
88 88
89 89
    private void sp() {
90
        SharedPreferences sharedPreferences = getActivity().getSharedPreferences("userInfo",
90
        SharedPreferences sharedPreferences = MainApplication.context.getSharedPreferences("userInfo",
91 91
                Activity.MODE_PRIVATE);
92 92
        password = sharedPreferences.getString("password", "");
93 93
        username = sharedPreferences.getString("yonghuming", "");
@ -135,17 +135,8 @@ public class NewMyMessageFragment extends Fragment {
135 135
                                for (int j = 0; j < jsonArray.length(); j++) {
136 136
                                    JSONObject jsonObject4 = (JSONObject) jsonArray
137 137
                                            .opt(j);
138
                                    String is_play = TextUtils.isEmpty( jsonObject4.getString("is_play"))?"": jsonObject4.getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
139
                                    String type = TextUtils.isEmpty(jsonObject4.getString("type"))?"":jsonObject4.getString("type"); //23 视频,24 图片
140
                                    if (type.equals("23")){
141
                                        if (is_play.equals("1")){
142
                                            datas.add(jsonObject4);
143
                                        }
144
                                    }else{
145
                                        datas.add(jsonObject4);
146
                                    }
138
                                    datas.add(jsonObject4);
147 139
                                }
148
                                Log.d("comments_size", datas.size() + "");
149 140
                                if (datas.size() == 0) {
150 141
                                    web_content.setVisibility(View.GONE);
151 142
                                    ll_tishi.setVisibility(View.VISIBLE);

+ 20 - 18
app/src/main/java/com/electric/chargingpile/video/DetailVideo.java

@ -3,10 +3,13 @@ package com.electric.chargingpile.video;
3 3
import android.content.Context;
4 4
import android.util.AttributeSet;
5 5
import android.view.MotionEvent;
6
import android.widget.ImageView;
6 7
7 8
import com.electric.chargingpile.R;
8 9
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
9 10
11
import moe.codeest.enviews.ENPlayView;
12
10 13
public class DetailVideo extends StandardGSYVideoPlayer {
11 14
12 15
@ -30,6 +33,7 @@ public class DetailVideo extends StandardGSYVideoPlayer {
30 33
    }
31 34
32 35
36
33 37
    @Override
34 38
    protected void touchSurfaceMoveFullLogic(float absDeltaX, float absDeltaY) {
35 39
        super.touchSurfaceMoveFullLogic(absDeltaX, absDeltaY);
@ -60,27 +64,26 @@ public class DetailVideo extends StandardGSYVideoPlayer {
60 64
    protected void changeUiToPreparingShow() {
61 65
        super.changeUiToPreparingShow();
62 66
        setViewShowState(mTopContainer, INVISIBLE);
63
        setViewShowState(mBottomContainer, INVISIBLE);
64 67
        setViewShowState(mLoadingProgressBar, INVISIBLE);
65
        setViewShowState(mStartButton, INVISIBLE);
68
66 69
    }
67 70
68 71
    @Override
69 72
    protected void changeUiToPlayingBufferingShow() {
70 73
        super.changeUiToPlayingBufferingShow();
71 74
        setViewShowState(mTopContainer, INVISIBLE);
72
        setViewShowState(mBottomContainer, INVISIBLE);
75
73 76
        setViewShowState(mLoadingProgressBar, INVISIBLE);
74
        setViewShowState(mStartButton, INVISIBLE);
77
75 78
    }
76 79
77 80
    @Override
78 81
    protected void changeUiToPlayingShow() {
79 82
        super.changeUiToPlayingShow();
80 83
        setViewShowState(mTopContainer, INVISIBLE);
81
        setViewShowState(mBottomContainer, INVISIBLE);
84
82 85
        setViewShowState(mLoadingProgressBar, INVISIBLE);
83
        setViewShowState(mStartButton, INVISIBLE);
86
84 87
85 88
    }
86 89
@ -88,53 +91,52 @@ public class DetailVideo extends StandardGSYVideoPlayer {
88 91
    protected void changeUiToCompleteShow() {
89 92
        super.changeUiToCompleteShow();
90 93
        setViewShowState(mTopContainer, INVISIBLE);
91
        setViewShowState(mBottomContainer, INVISIBLE);
94
92 95
        setViewShowState(mLoadingProgressBar, INVISIBLE);
93
        setViewShowState(mStartButton, INVISIBLE);
96
94 97
    }
95 98
96 99
    @Override
97 100
    protected void changeUiToPauseShow() {
98 101
        super.changeUiToPauseShow();
99 102
        setViewShowState(mTopContainer, INVISIBLE);
100
        setViewShowState(mBottomContainer, INVISIBLE);
103
101 104
        setViewShowState(mLoadingProgressBar, INVISIBLE);
102
        setViewShowState(mStartButton, INVISIBLE);
105
103 106
    }
104 107
105 108
    @Override
106 109
    protected void changeUiToNormal() {
107 110
        super.changeUiToNormal();
108 111
        setViewShowState(mTopContainer, INVISIBLE);
109
        setViewShowState(mBottomContainer, INVISIBLE);
112
110 113
        setViewShowState(mLoadingProgressBar, INVISIBLE);
111
        setViewShowState(mStartButton, INVISIBLE);
114
112 115
    }
113 116
114 117
    @Override
115 118
    public void startAfterPrepared() {
116 119
        super.startAfterPrepared();
117 120
        setViewShowState(mTopContainer, INVISIBLE);
118
        setViewShowState(mBottomContainer, INVISIBLE);
121
119 122
        setViewShowState(mLoadingProgressBar, INVISIBLE);
120
        setViewShowState(mStartButton, INVISIBLE);
123
121 124
    }
122 125
123 126
    @Override
124 127
    protected void changeUiToPlayingBufferingClear() {
125 128
        super.changeUiToPlayingBufferingClear();
126 129
        setViewShowState(mTopContainer, INVISIBLE);
127
        setViewShowState(mBottomContainer, INVISIBLE);
130
128 131
        setViewShowState(mLoadingProgressBar, INVISIBLE);
129
        setViewShowState(mStartButton, INVISIBLE);
132
130 133
    }
131 134
132 135
    @Override
133 136
    protected void changeTextureViewShowType() {
134 137
        super.changeTextureViewShowType();
135 138
        setViewShowState(mTopContainer, INVISIBLE);
136
        setViewShowState(mBottomContainer, INVISIBLE);
137 139
        setViewShowState(mLoadingProgressBar, INVISIBLE);
138
        setViewShowState(mStartButton, INVISIBLE);
140
139 141
    }
140 142
}

+ 3 - 1
app/src/main/res/layout/activity_charging_comment.xml

@ -183,7 +183,7 @@
183 183
                android:paddingTop="12dp"
184 184
                android:paddingBottom="12dp"
185 185
                android:background="@color/white"
186
                android:hint="对本次充电感受如何?跟其他车友分享一下吧~"
186
                android:hint="有什么想吐槽的吗?来跟其他车友分享一下吧~"
187 187
                android:textColorHint="@color/ui_68"
188 188
                android:textColor="@color/ui_62"
189 189
                android:textSize="13sp"
@ -249,6 +249,8 @@
249 249
                />
250 250
251 251
            <ImageView
252
                android:layout_marginEnd="12dp"
253
                android:layout_marginStart="12dp"
252 254
                android:visibility="gone"
253 255
                android:id="@+id/imgAd"
254 256
                android:layout_marginTop="30dp"

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

@ -1542,7 +1542,7 @@
1542 1542
                android:layout_height="34dp"
1543 1543
                android:gravity="center"
1544 1544
                tools:text="您有一笔订,点击查看详情..."
1545
                android:textColor="@color/huimain"
1545
                android:textColor="#FA1C1C"
1546 1546
                android:textSize="13sp" />
1547 1547
1548 1548
            <ImageView

+ 1 - 13
app/src/main/res/layout/activity_video_detail.xml

@ -24,19 +24,7 @@
24 24
        app:layout_constraintEnd_toEndOf="@+id/videoPlayer"
25 25
        app:layout_constraintStart_toStartOf="@+id/videoPlayer"
26 26
        app:layout_constraintTop_toTopOf="@+id/videoPlayer" />
27
    <!-- 自定义进度条 -->
28
    <ProgressBar
29
        app:layout_constraintEnd_toEndOf="parent"
30
        app:layout_constraintStart_toStartOf="parent"
31
        android:layout_marginBottom="10dp"
32
        app:layout_constraintBottom_toBottomOf="parent"
33
        android:id="@+id/progressBar"
34
        style="@android:style/Widget.ProgressBar.Horizontal"
35
        android:layout_width="match_parent"
36
        android:layout_height="1dp"
37
        android:max="100"
38
        android:progressDrawable="@drawable/video_player_progressbar"
39
        tools:progress="50" />
27
40 28
    <ImageView
41 29
        android:layout_marginTop="25dp"
42 30
        app:layout_constraintTop_toTopOf="parent"

+ 3 - 1
app/src/main/res/layout/activity_zhan_comment.xml

@ -189,7 +189,7 @@
189 189
                android:layout_marginBottom="7dp"
190 190
                android:background="@color/white"
191 191
                android:gravity="left|top"
192
                android:hint="您的充电体验、站点吐槽、充电趣事,来和其他车友分享吧~"
192
                android:hint="有什么想吐槽的吗?来跟其他车友分享一下吧~"
193 193
                android:paddingLeft="15dp"
194 194
                android:paddingTop="12dp"
195 195
                android:paddingRight="15dp"
@ -258,6 +258,8 @@
258 258
                />
259 259
260 260
            <ImageView
261
                android:layout_marginEnd="12dp"
262
                android:layout_marginStart="12dp"
261 263
                android:visibility="gone"
262 264
                android:id="@+id/imgAd"
263 265
                android:layout_marginTop="30dp"

+ 91 - 8
app/src/main/res/layout/layout_video_detail.xml

@ -14,10 +14,90 @@
14 14
    </FrameLayout>
15 15
16 16
17
    <RelativeLayout
18
        android:id="@+id/thumb"
19
        android:layout_width="match_parent"
20
        android:layout_height="match_parent"
21
        android:layout_alignParentStart="true"
22
        android:layout_alignParentLeft="true"
23
        android:layout_alignParentTop="true"
24
        android:layout_alignParentEnd="true"
25
        android:layout_alignParentRight="true"
26
        android:layout_alignParentBottom="true"
27
        android:background="#000000"
28
        android:scaleType="fitCenter" />
17 29
30
    <LinearLayout
31
        android:id="@+id/layout_bottom"
32
        android:layout_width="match_parent"
33
        android:layout_height="40dp"
34
        android:layout_alignParentBottom="true"
35
        android:background="#99000000"
36
        android:gravity="center_vertical"
37
        android:orientation="horizontal"
38
        android:visibility="invisible"
39
        tools:visibility="visible">
40
        <ImageView
41
            tools:src="@drawable/video_click_pause_selector"
42
            android:layout_marginStart="10dp"
43
            android:id="@+id/start"
44
            android:layout_width="30dp"
45
            android:layout_height="30dp"
46
            android:layout_centerHorizontal="true"
47
            android:layout_centerVertical="true"
48
            android:layout_gravity="center_vertical" />
18 49
19
    <moe.codeest.enviews.ENDownloadView
50
        <TextView
51
            android:id="@+id/current"
52
            android:layout_width="wrap_content"
53
            android:layout_height="wrap_content"
54
            android:layout_marginLeft="16dp"
55
            android:text="00:00"
56
            android:textColor="#ffffff" />
20 57
58
        <SeekBar
59
            android:id="@+id/progress"
60
            android:layout_width="0dp"
61
            android:layout_height="wrap_content"
62
            android:layout_gravity="center_vertical"
63
            android:layout_weight="1.0"
64
            android:background="@null"
65
            android:max="100"
66
            android:maxHeight="4dp"
67
            android:minHeight="4dp"
68
            android:paddingTop="8dp"
69
            android:paddingBottom="8dp"
70
            android:progressDrawable="@drawable/video_seek_progress"
71
            android:thumb="@drawable/video_seek_thumb" />
72
73
        <TextView
74
            android:id="@+id/total"
75
            android:layout_width="wrap_content"
76
            android:layout_height="wrap_content"
77
            android:layout_marginRight="16dp"
78
            android:text="00:00"
79
            android:textColor="#ffffff" />
80
    </LinearLayout>
81
82
    <ProgressBar
83
        android:id="@+id/bottom_progressbar"
84
        style="?android:attr/progressBarStyleHorizontal"
85
        android:layout_width="match_parent"
86
        android:layout_height="1.5dp"
87
        android:layout_alignParentBottom="true"
88
        android:max="100"
89
        android:progressDrawable="@drawable/video_progress"
90
        tools:visibility="visible" />
91
92
    <ImageView
93
        android:id="@+id/back_tiny"
94
        android:layout_width="24dp"
95
        android:layout_height="24dp"
96
        android:layout_marginLeft="6dp"
97
        android:layout_marginTop="6dp"
98
        android:visibility="gone" />
99
100
    <moe.codeest.enviews.ENDownloadView
21 101
        android:id="@+id/loading"
22 102
        android:layout_width="28dp"
23 103
        android:layout_height="28dp"
@ -25,14 +105,17 @@
25 105
        android:layout_centerVertical="true"
26 106
        android:visibility="invisible" />
27 107
28
    <moe.codeest.enviews.ENPlayView
29
        android:id="@+id/start"
30
        android:layout_width="60dp"
31
        android:layout_height="60dp"
32
        android:layout_centerHorizontal="true"
33
        android:layout_centerVertical="true"
34
        android:layout_gravity="center_vertical" />
35 108
36 109
110
    <ImageView
111
        android:id="@+id/small_close"
112
        android:layout_width="30dp"
113
        android:layout_height="30dp"
114
        android:paddingLeft="10dp"
115
        android:paddingTop="10dp"
116
        android:scaleType="centerInside"
117
        android:src="@drawable/video_small_close"
118
        android:visibility="gone" />
119
37 120
38 121
</RelativeLayout>