Quellcode durchsuchen

桩详情页面开发完成

huyuguo vor 4 Jahren
Ursprung
Commit
b20d745808

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

2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
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="91"
6
    android:versionName="3.5.3">
5
    android:versionCode="88"
6
    android:versionName="3.5.0">
7
    <uses-permission android:name="android.permission.BLUETOOTH" />
7
    <uses-permission android:name="android.permission.BLUETOOTH" />
8
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
8
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
9
9

+ 31 - 32
app/src/main/java/com/electric/chargingpile/fragment/DetailsFragment.java

11
import android.os.Bundle;
11
import android.os.Bundle;
12
import android.os.Handler;
12
import android.os.Handler;
13
import android.os.Message;
13
import android.os.Message;
14
14
import androidx.fragment.app.Fragment;
15
import androidx.fragment.app.Fragment;
16
15
import android.text.SpannableString;
17
import android.text.SpannableString;
16
import android.text.Spanned;
18
import android.text.Spanned;
17
import android.text.style.ForegroundColorSpan;
19
import android.text.style.ForegroundColorSpan;
39
import com.electric.chargingpile.application.MainApplication;
41
import com.electric.chargingpile.application.MainApplication;
40
import com.electric.chargingpile.data.ChartData;
42
import com.electric.chargingpile.data.ChartData;
41
import com.electric.chargingpile.data.MyOtto;
43
import com.electric.chargingpile.data.MyOtto;
44
import com.electric.chargingpile.data.PileData;
42
import com.electric.chargingpile.data.RankinglistRefreshEvent;
45
import com.electric.chargingpile.data.RankinglistRefreshEvent;
43
import com.electric.chargingpile.data.Zhan;
46
import com.electric.chargingpile.data.Zhan;
44
import com.electric.chargingpile.util.CommonParams;
47
import com.electric.chargingpile.util.CommonParams;
93
import java.security.MessageDigest;
96
import java.security.MessageDigest;
94
import java.text.SimpleDateFormat;
97
import java.text.SimpleDateFormat;
95
import java.util.ArrayList;
98
import java.util.ArrayList;
99
import java.util.Calendar;
96
import java.util.Date;
100
import java.util.Date;
97
import java.util.HashMap;
101
import java.util.HashMap;
98
import java.util.List;
102
import java.util.List;
126
    private TextView tv_claimer, tv_grade;
130
    private TextView tv_claimer, tv_grade;
127
    private View view_789;
131
    private View view_789;
128
    String zhan_name, zhan_id, tid, zhan_address, supplier, total_num, fast_num, slow_num, stop_cost, charge_cost, telephone, remarks, suit_car, claimer, belong_attribute, poi_jing, poi_wei, charge_cost_way, other_cost, work_open, work_close;
132
    String zhan_name, zhan_id, tid, zhan_address, supplier, total_num, fast_num, slow_num, stop_cost, charge_cost, telephone, remarks, suit_car, claimer, belong_attribute, poi_jing, poi_wei, charge_cost_way, other_cost, work_open, work_close;
129
    private TextView tv_cost_info, tv_current_charging, tv_detail_charging_enter;
133
    private TextView current_time_slot, tv_detail_charging_enter;
134
    private LinearLayout tv_cost_info;
130
    private LinearLayout ll_no_fenshi, ll_yes_fenshi;
135
    private LinearLayout ll_no_fenshi, ll_yes_fenshi;
131
    private TextView tv_today_num;
136
    private TextView tv_today_num;
132
137
258
                        other_cost = JsonUtils.getKeyResult(info_decode, "other_cost");
263
                        other_cost = JsonUtils.getKeyResult(info_decode, "other_cost");
259
                        work_open = JsonUtils.getKeyResult(info_decode, "work_open");
264
                        work_open = JsonUtils.getKeyResult(info_decode, "work_open");
260
                        work_close = JsonUtils.getKeyResult(info_decode, "work_close");
265
                        work_close = JsonUtils.getKeyResult(info_decode, "work_close");
261
266
                        zongjia = JsonUtils.getKeyResult(info_decode, "zongjia");
262
                        String park_location = JsonUtils.getKeyResult(info_decode, "park_location");
267
                        String park_location = JsonUtils.getKeyResult(info_decode, "park_location");
263
                        String own_pay = JsonUtils.getKeyResult(info_decode, "own_pay");
268
                        String own_pay = JsonUtils.getKeyResult(info_decode, "own_pay");
264
                        if (detailsFragmentListener != null) {
269
                        if (detailsFragmentListener != null) {
293
                            } else {
298
                            } else {
294
                                ll_no_fenshi.setVisibility(View.GONE);
299
                                ll_no_fenshi.setVisibility(View.GONE);
295
                                ll_yes_fenshi.setVisibility(View.VISIBLE);
300
                                ll_yes_fenshi.setVisibility(View.VISIBLE);
296
                                SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
297
                                Date curDate = new Date(System.currentTimeMillis());
298
                                String token = formatter.format(curDate);
299
300
                                String t = String.valueOf(DateUtils.getShortStringToDate(token));
301
                                for (int i = 0; i < datas.size(); i++) {
302
                                    if (Integer.parseInt(String.valueOf(DateUtils.getShortStringToDate(datas.get(i).getString("start")))) < Integer.parseInt(t)
303
                                            && Integer.parseInt(String.valueOf(DateUtils.getShortStringToDate(datas.get(i).getString("end")))) > Integer.parseInt(t)) {
304
                                        double c = Double.parseDouble(datas.get(i).getString("charge_free"));
305
                                        BigDecimal bd = new BigDecimal(c);
306
                                        double d = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
307
                                        double d_service = Double.parseDouble(datas.get(i).getString("service_free"));
308
                                        tv_current_charging.setText(d + "元/度");
309
                                        detail_serve_cost_two.setText(d_service + "元/度");
301
302
                                Calendar calendar = Calendar.getInstance();
303
                                int hours = calendar.get(Calendar.HOUR_OF_DAY);
304
                                int minutes = calendar.get(Calendar.MINUTE);
305
                                int totalMinutes = hours * 60 + minutes;
306
307
                                for (JSONObject obj : DetailsFragment.datas) {
308
                                    PileData.FenshiInfoBean bean = JsonUtils.parseToObjectBean(obj.toString(), PileData.FenshiInfoBean.class);
309
                                    if (totalMinutes >= bean.getStartTotalMinutes() && totalMinutes <= bean.getEndTotalMinutes()) {
310
                                        current_time_slot.setText("当前时间段 " + bean.getStart() + "-" + bean.getEnd());
310
                                        break;
311
                                        break;
311
                                    }
312
                                    }
312
                                }
313
                                }
314
                                total_price.setText(zongjia);
313
                            }
315
                            }
314
                        } else {
316
                        } else {
315
                            ll_no_fenshi.setVisibility(View.VISIBLE);
317
                            ll_no_fenshi.setVisibility(View.VISIBLE);
332
                            acableNum = JsonUtils.getKeyResult(info_decode, "acableNum");
334
                            acableNum = JsonUtils.getKeyResult(info_decode, "acableNum");
333
                            dcableNum = JsonUtils.getKeyResult(info_decode, "dcableNum");
335
                            dcableNum = JsonUtils.getKeyResult(info_decode, "dcableNum");
334
                            freeStatus = "1"; // 有状态的站点
336
                            freeStatus = "1"; // 有状态的站点
335
//                            Log.e("dcableNum",dcableNum);
336
                        } else {
337
                        } else {
337
                            freeStatus = "0"; // 无状态的站点
338
                            freeStatus = "0"; // 无状态的站点
338
                        }
339
                        }
339
340
340
341
                        detail_zhan_name.setText(zhan_name);
341
                        detail_zhan_name.setText(zhan_name);
342
342
343
344
                        if (supplier.equals("")) {
343
                        if (supplier.equals("")) {
345
                            detail_supplier.setText("暂无");
344
                            detail_supplier.setText("暂无");
346
                        } else {
345
                        } else {
791
        }
790
        }
792
    };
791
    };
793
    private ImageView parking_icon;
792
    private ImageView parking_icon;
793
    private String zongjia;
794
794
795
    @Override
795
    @Override
796
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
796
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
855
855
856
    private TextView detail_address, detail_grade, detail_picnum, detail_zhan_distance,
856
    private TextView detail_address, detail_grade, detail_picnum, detail_zhan_distance,
857
            window_tv_fast_total_num, window_tv_fast_free_label, window_tv_fast_free_num, window_tv_slow_total_num, window_tv_slow_free_label, window_tv_slow_free_num,
857
            window_tv_fast_total_num, window_tv_fast_free_label, window_tv_fast_free_num, window_tv_slow_total_num, window_tv_slow_free_label, window_tv_slow_free_num,
858
            detail_supplier, detail_cost, detail_serve_cost, detail_serve_cost_two,
858
            detail_supplier, detail_cost, detail_serve_cost, total_price,
859
            details_claimer;
859
            details_claimer;
860
    private AlignTextView detail_charge_cost;
860
    private AlignTextView detail_charge_cost;
861
    private AlignTextView detail_park_cost;
861
    private AlignTextView detail_park_cost;
878
        ll_no_fenshi = (LinearLayout) v.findViewById(R.id.ll_no_fenshi);
878
        ll_no_fenshi = (LinearLayout) v.findViewById(R.id.ll_no_fenshi);
879
        ll_yes_fenshi = (LinearLayout) v.findViewById(R.id.ll_yes_fenshi);
879
        ll_yes_fenshi = (LinearLayout) v.findViewById(R.id.ll_yes_fenshi);
880
880
881
        tv_cost_info = (TextView) v.findViewById(R.id.tv_cost_info);
882
        if (tv_cost_info != null) {
883
            tv_cost_info.setOnClickListener(this);
884
        }
885
        tv_current_charging = (TextView) v.findViewById(R.id.tv_current_charging);
881
        tv_cost_info = v.findViewById(R.id.tv_cost_info);
882
        tv_cost_info.setOnClickListener(this);
883
884
        current_time_slot = (TextView) v.findViewById(R.id.current_time_slot);
886
        iv_level_img = (ImageView) v.findViewById(R.id.iv_level_img);
885
        iv_level_img = (ImageView) v.findViewById(R.id.iv_level_img);
887
        detail_view = v.findViewById(R.id.detail_view);
886
        detail_view = v.findViewById(R.id.detail_view);
888
        detail_claimer_remark = (LinearLayout) v.findViewById(R.id.detail_claimer_remark);
887
        detail_claimer_remark = (LinearLayout) v.findViewById(R.id.detail_claimer_remark);
911
        detail_cost = (TextView) v.findViewById(R.id.detail_cost);
910
        detail_cost = (TextView) v.findViewById(R.id.detail_cost);
912
        detail_charge_cost = (AlignTextView) v.findViewById(R.id.detail_charge_cost);
911
        detail_charge_cost = (AlignTextView) v.findViewById(R.id.detail_charge_cost);
913
        detail_serve_cost = (TextView) v.findViewById(R.id.detail_serve_cost);
912
        detail_serve_cost = (TextView) v.findViewById(R.id.detail_serve_cost);
914
        detail_serve_cost_two = (TextView) v.findViewById(R.id.detail_serve_cost_two);
913
        total_price = (TextView) v.findViewById(R.id.total_price);
915
        detail_park_cost = (AlignTextView) v.findViewById(R.id.detail_park_cost);
914
        detail_park_cost = (AlignTextView) v.findViewById(R.id.detail_park_cost);
916
        detail_time = (AlignTextView) v.findViewById(R.id.detail_time);
915
        detail_time = (AlignTextView) v.findViewById(R.id.detail_time);
917
        detail_list_num = (TextView) v.findViewById(R.id.detail_list_num);
916
        detail_list_num = (TextView) v.findViewById(R.id.detail_list_num);
985
                if ("1".equals(freeStatus)) { // 有状态的站点
984
                if ("1".equals(freeStatus)) { // 有状态的站点
986
                    if ("0".equals(acableNum) && "0".equals(dcableNum)) { // 无空闲桩
985
                    if ("0".equals(acableNum) && "0".equals(dcableNum)) { // 无空闲桩
987
                        ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_THIRD);
986
                        ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_THIRD);
988
                        reportParkingDialogFragment.show(getFragmentManager(),"没有充电车位");
987
                        reportParkingDialogFragment.show(getFragmentManager(), "没有充电车位");
989
                        MobclickAgent.onEvent(getContext(), "1127");
988
                        MobclickAgent.onEvent(getContext(), "1127");
990
                    } else {
989
                    } else {
991
                        if (MainApplication.center == null) {
990
                        if (MainApplication.center == null) {
994
                            double distance = AMapUtils.calculateLineDistance(MainApplication.center, latLng);
993
                            double distance = AMapUtils.calculateLineDistance(MainApplication.center, latLng);
995
                            if (distance > 100) {
994
                            if (distance > 100) {
996
                                ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_FIRST);
995
                                ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_FIRST);
997
                                reportParkingDialogFragment.show(getFragmentManager(),"超过100米,无法上报充电车位");
996
                                reportParkingDialogFragment.show(getFragmentManager(), "超过100米,无法上报充电车位");
998
                            } else {
997
                            } else {
999
                                ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_SECOND);
998
                                ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_SECOND);
1000
                                reportParkingDialogFragment.setOnReportParkingDialogFragmentListener(new ReportParkingDialogFragment.OnReportParkingDialogFragmentListener() {
999
                                reportParkingDialogFragment.setOnReportParkingDialogFragmentListener(new ReportParkingDialogFragment.OnReportParkingDialogFragmentListener() {
1003
                                        addVacancy();
1002
                                        addVacancy();
1004
                                    }
1003
                                    }
1005
                                });
1004
                                });
1006
                                reportParkingDialogFragment.show(getFragmentManager(),"上报车位");
1005
                                reportParkingDialogFragment.show(getFragmentManager(), "上报车位");
1007
                            }
1006
                            }
1008
                            MobclickAgent.onEvent(getContext(), "1126");
1007
                            MobclickAgent.onEvent(getContext(), "1126");
1009
                        }
1008
                        }
1015
                        double distance = AMapUtils.calculateLineDistance(MainApplication.center, latLng);
1014
                        double distance = AMapUtils.calculateLineDistance(MainApplication.center, latLng);
1016
                        if (distance > 100) {
1015
                        if (distance > 100) {
1017
                            ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_FIRST);
1016
                            ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_FIRST);
1018
                            reportParkingDialogFragment.show(getFragmentManager(),"超过100米,无法上报充电车位");
1017
                            reportParkingDialogFragment.show(getFragmentManager(), "超过100米,无法上报充电车位");
1019
                        } else {
1018
                        } else {
1020
                            ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_SECOND);
1019
                            ReportParkingDialogFragment reportParkingDialogFragment = ReportParkingDialogFragment.newInstance(ReportParkingDialogFragment.TYPE_SECOND);
1021
                            reportParkingDialogFragment.setOnReportParkingDialogFragmentListener(new ReportParkingDialogFragment.OnReportParkingDialogFragmentListener() {
1020
                            reportParkingDialogFragment.setOnReportParkingDialogFragmentListener(new ReportParkingDialogFragment.OnReportParkingDialogFragmentListener() {
1024
                                    addVacancy();
1023
                                    addVacancy();
1025
                                }
1024
                                }
1026
                            });
1025
                            });
1027
                            reportParkingDialogFragment.show(getFragmentManager(),"上报车位");
1026
                            reportParkingDialogFragment.show(getFragmentManager(), "上报车位");
1028
                        }
1027
                        }
1029
                        MobclickAgent.onEvent(getContext(), "1126");
1028
                        MobclickAgent.onEvent(getContext(), "1126");
1030
                    }
1029
                    }
1622
     */
1621
     */
1623
1622
1624
    private void addVacancy() {
1623
    private void addVacancy() {
1625
        if (!MainApplication.isLogin()){
1624
        if (!MainApplication.isLogin()) {
1626
            startActivity(new Intent(getActivity().getApplicationContext(), LoginActivity.class));
1625
            startActivity(new Intent(getActivity().getApplicationContext(), LoginActivity.class));
1627
            ToastUtil.showToast(getActivity().getApplicationContext(), "请先登录", Toast.LENGTH_SHORT);
1626
            ToastUtil.showToast(getActivity().getApplicationContext(), "请先登录", Toast.LENGTH_SHORT);
1628
            return;
1627
            return;

BIN
app/src/main/res/drawable-hdpi/right_cursor.png


BIN
app/src/main/res/drawable-mdpi/right_cursor.png


BIN
app/src/main/res/drawable-xhdpi/right_cursor.png


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


BIN
app/src/main/res/drawable-xxxhdpi/right_cursor.png


+ 48 - 57
app/src/main/res/layout/fragmen_details_new.xml

249
                            android:layout_gravity="center_vertical"
249
                            android:layout_gravity="center_vertical"
250
                            android:paddingRight="10dp"
250
                            android:paddingRight="10dp"
251
                            android:src="@drawable/slow_icon" />
251
                            android:src="@drawable/slow_icon" />
252
252
                        <TextView
253
                        <TextView
253
                            android:id="@+id/window_tv_slow_free_label"
254
                            android:id="@+id/window_tv_slow_free_label"
254
                            android:layout_width="wrap_content"
255
                            android:layout_width="wrap_content"
434
435
435
                </LinearLayout>
436
                </LinearLayout>
436
437
438
                <!-- 分时电价显示 -->
437
                <LinearLayout
439
                <LinearLayout
438
                    android:id="@+id/ll_yes_fenshi"
440
                    android:id="@+id/ll_yes_fenshi"
439
                    android:layout_width="match_parent"
441
                    android:layout_width="match_parent"
440
                    android:layout_height="wrap_content"
442
                    android:layout_height="wrap_content"
441
                    android:orientation="vertical"
442
                    android:visibility="gone">
443
444
                    <RelativeLayout
445
                        android:layout_width="match_parent"
446
                        android:layout_height="match_parent">
443
                    android:orientation="horizontal"
444
                    android:visibility="gone"
445
                    tools:visibility="visible">
447
446
448
                        <TextView
449
                            android:layout_width="wrap_content"
450
                            android:layout_height="wrap_content"
451
                            android:layout_alignParentLeft="true"
452
                            android:text="支付信息"
453
                            android:textColor="@color/ui_65"
454
                            android:textSize="14sp" />
447
                    <LinearLayout
448
                        android:layout_width="0dp"
449
                        android:layout_height="wrap_content"
450
                        android:layout_weight="3"
451
                        tools:background="#00ff00"
452
                        android:orientation="vertical">
455
453
456
                        <TextView
457
                            android:id="@+id/tv_cost_info"
454
                        <LinearLayout
458
                            android:layout_width="wrap_content"
455
                            android:layout_width="wrap_content"
459
                            android:layout_height="wrap_content"
456
                            android:layout_height="wrap_content"
460
                            android:layout_alignParentRight="true"
461
                            android:gravity="right"
462
                            android:text="电价详情"
463
                            android:textColor="@color/lvse"
464
                            android:textSize="14sp" />
465
466
                    </RelativeLayout>
457
                            android:orientation="horizontal">
467
458
468
                    <RelativeLayout
469
                        android:layout_width="match_parent"
470
                        android:layout_height="match_parent"
471
                        android:layout_marginTop="10dp">
459
                            <TextView
460
                                android:id="@+id/total_price"
461
                                android:layout_width="wrap_content"
462
                                android:layout_height="wrap_content"
463
                                android:textColor="#FA6400"
464
                                android:textSize="20sp"
465
                                android:textStyle="bold"
466
                                tools:text="1.1406" />
472
467
473
                        <TextView
474
                            android:layout_width="wrap_content"
475
                            android:layout_height="wrap_content"
476
                            android:layout_alignParentLeft="true"
477
                            android:text="当前电价"
478
                            android:textColor="@color/ui_65"
479
                            android:textSize="14sp" />
468
                            <TextView
469
                                android:layout_width="wrap_content"
470
                                android:layout_height="wrap_content"
471
                                android:text="元/度"
472
                                android:textColor="#FA6400"
473
                                android:textSize="12sp" />
474
                        </LinearLayout>
480
475
481
                        <TextView
476
                        <TextView
482
                            android:id="@+id/tv_current_charging"
477
                            android:id="@+id/current_time_slot"
483
                            android:layout_width="wrap_content"
478
                            android:layout_width="wrap_content"
484
                            android:layout_height="wrap_content"
479
                            android:layout_height="wrap_content"
485
                            android:layout_alignParentRight="true"
486
                            android:text="0.8元/度"
487
                            android:textColor="@color/ui_65"
488
                            android:textSize="14sp" />
480
                            android:paddingTop="2dp"
481
                            android:textColor="@color/color_888888"
482
                            android:textSize="12sp"
483
                            tools:text="当前时段 09:00-12:00" />
489
484
490
                    </RelativeLayout>
485
                    </LinearLayout>
491
486
492
                    <RelativeLayout
493
                        android:layout_width="match_parent"
487
                    <LinearLayout
488
                        android:id="@+id/tv_cost_info"
489
                        android:layout_width="0dp"
494
                        android:layout_height="match_parent"
490
                        android:layout_height="match_parent"
495
                        android:layout_marginTop="10dp">
491
                        android:layout_weight="2"
492
                        tools:background="#ff0000"
493
                        android:gravity="center_vertical|right">
496
494
497
                        <TextView
495
                        <TextView
498
                            android:layout_width="wrap_content"
496
                            android:layout_width="wrap_content"
499
                            android:layout_height="wrap_content"
497
                            android:layout_height="wrap_content"
500
                            android:layout_alignParentLeft="true"
501
                            android:text="服务费用"
502
                            android:textColor="@color/ui_65"
498
                            android:paddingRight="2dp"
499
                            android:text="电价详情"
500
                            android:textColor="@color/color_222222"
503
                            android:textSize="14sp" />
501
                            android:textSize="14sp" />
504
505
                        <TextView
506
                            android:id="@+id/detail_serve_cost_two"
502
                        <ImageView
507
                            android:layout_width="wrap_content"
503
                            android:layout_width="wrap_content"
508
                            android:layout_height="wrap_content"
504
                            android:layout_height="wrap_content"
509
                            android:layout_alignParentRight="true"
510
                            android:text=""
511
                            android:textColor="@color/ui_65"
512
                            android:textSize="14sp" />
513
514
                    </RelativeLayout>
515
505
                            android:src="@drawable/right_cursor" />
506
                    </LinearLayout>
516
                </LinearLayout>
507
                </LinearLayout>
517
508
518
                <RelativeLayout
509
                <RelativeLayout
847
        android:layout_marginBottom="15dp"
838
        android:layout_marginBottom="15dp"
848
        android:src="@drawable/detail_report_parking"
839
        android:src="@drawable/detail_report_parking"
849
        android:visibility="gone"
840
        android:visibility="gone"
850
        tools:visibility="visible"
851
        app:layout_constraintBottom_toBottomOf="parent"
841
        app:layout_constraintBottom_toBottomOf="parent"
852
        app:layout_constraintRight_toRightOf="parent" />
842
        app:layout_constraintRight_toRightOf="parent"
843
        tools:visibility="visible" />
853
844
854
</androidx.constraintlayout.widget.ConstraintLayout>
845
</androidx.constraintlayout.widget.ConstraintLayout>