Przeglądaj źródła

完成未登录用户提示框的弹出逻辑及展示

hy 3 lat temu
rodzic
commit
32504077ae

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

@ -132,6 +132,7 @@ import com.electric.chargingpile.util.ZhanDBHelper;
132 132
import com.electric.chargingpile.view.AlertDialogCommon;
133 133
import com.electric.chargingpile.view.AlertDialogTwo;
134 134
import com.electric.chargingpile.view.AlertDialogUpdate;
135
import com.electric.chargingpile.view.NotRegisterDialog;
135 136
import com.electric.chargingpile.view.SlideAdView;
136 137
import com.electric.chargingpile.view.UpdateDialog;
137 138
import com.google.gson.Gson;
@ -916,22 +917,24 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
916 917
                if (login_meg.equals("")) {
917 918
                    login_meg = "我知道你关注我很久了,快来注册登录吧,登录后可以在特来电、聚电科技充电桩扫码充电";
918 919
                }
919
                if (MainApplication.count == 2 || MainApplication.count == 24 || MainApplication.count == 44 || MainApplication.count == 64 || MainApplication.count == 84 || MainApplication.count == 104) {
920
                int maxCount = ProfileManager.getInstance().getMaxCount(getApplicationContext());
921
922
                if (MainApplication.count >= maxCount ) {
920 923
                    if (MainApplication.isIgnore == true) {
921
                        new com.electric.chargingpile.view.AlertDialog(MainMapActivity.this).builder()
922
                                .setMsg(login_meg)
923
                                .setPositiveButton("去登录", new View.OnClickListener() {
924
                                    @Override
925
                                    public void onClick(View v) {
926
                                        Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
927
                                        startActivity(intent);
928
                                    }
929
                                }).setNegativeButton("忽略", new View.OnClickListener() {
930
                            @Override
931
                            public void onClick(View v) {
932
                                MainApplication.isIgnore = false;
933
                            }
934
                        }).show();
924
925
                        new NotRegisterDialog(MainMapActivity.this)
926
                                .builder()
927
                                .setGoIntentImg(R.drawable.ic_go_login)
928
                                .setlogoDialogImg(R.drawable.bg_not_login_dialog)
929
                                .setContent("我知道你关注我很久了快来注册登录吧\n登录后可以在部分充电桩扫码充电认证车主还有充电优惠")
930
                                .setGoRegister(v->{
931
                                    Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
932
                                    startActivity(intent);
933
                                })
934
                                .setCancle(v->{
935
                                    ProfileManager.getInstance().setMaxCount(getApplicationContext(),15);
936
                                    MainApplication.isIgnore = false;
937
                                }).show();
935 938
                        MobclickAgent.onEvent(context, "0041");
936 939
                    }
937 940
                }
@ -2101,6 +2104,7 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
2101 2104
    }
2102 2105
2103 2106
    private void getCommentNum(final String zhan_id) {
2107
2104 2108
        new Thread(new Runnable() {
2105 2109
            @Override
2106 2110
            public void run() {

+ 2 - 1
app/src/main/java/com/electric/chargingpile/activity/ZhanCommentActivity.java

@ -749,12 +749,13 @@ public class ZhanCommentActivity extends Activity implements View.OnClickListene
749 749
                        Log.e("comment", response);
750 750
                        String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
751 751
                        String rtnMsg = JsonUtils.getKeyResult(response, "rtnMsg");
752
                        dialog.cancel();
752 753
                        if (rtnCode.equals("01")) {
753 754
                            final String data = JsonUtils.getKeyResult(response, "data");
754 755
                            String plusScore = JsonUtils.getKeyResult(response, "plusScore");
755 756
756 757
                            submitPF(data);
757
                            dialog.cancel();
758
758 759
                            if (!plusScore.equals("")) {
759 760
                                tv_point.setText(plusScore);
760 761
                                rl_point.setVisibility(View.VISIBLE);

+ 11 - 7
app/src/main/java/com/electric/chargingpile/application/MainApplication.java

@ -71,13 +71,13 @@ public class MainApplication extends MultiDexApplication {
71 71
    public static String firstPoint = "";
72 72
    public static Boolean firstSsyd;
73 73
    public static String password = "";
74
    //    public static String url = "http://59.110.68.162";// 充电桩测试环境
75
//    public static String pic_url = "http://59.110.68.162/zhannew/uploadfile/";
76
    public static String url = "http://cdz.evcharge.cc";// 充电桩正式环境
77
    public static String pic_url = "http://cdz.evcharge.cc/zhannew/uploadfile/";
74
        public static String url = "http://59.110.68.162";// 充电桩测试环境
75
    public static String pic_url = "http://59.110.68.162/zhannew/uploadfile/";
76
//    public static String url = "http://cdz.evcharge.cc";// 充电桩正式环境
77
//    public static String pic_url = "http://cdz.evcharge.cc/zhannew/uploadfile/";
78 78

79
    //    public static String urlNew = "http://123.56.67.7:83/api/0300";// 一电测试环境
80
    public static String urlNew = "https://api.touchev.com:83/api/0300";// 一电正式环境
79
        public static String urlNew = "http://123.56.67.7:83/api/0300";// 一电测试环境
80
//    public static String urlNew = "https://api.touchev.com:83/api/0300";// 一电正式环境
81 81

82 82

83 83
    //	public static String url = "https://cdz.d1ev.com";
@ -227,11 +227,15 @@ public class MainApplication extends MultiDexApplication {
227 227
    private void loginRemind() {
228 228
        round = ProfileManager.getInstance().getRound(getApplicationContext());
229 229
        count = ProfileManager.getInstance().getCount(getApplicationContext());
230
        int maxCount = ProfileManager.getInstance().getMaxCount(getApplicationContext());
230 231
        if (!MainApplication.isLogin()) {
231 232
            int i = count + 1;
232 233
            Log.e("i***-", i + "");
233
            ProfileManager.getInstance().setCount(getApplicationContext(), i);
234 234
            count = i;
235
            i = i >= maxCount ? 0: i;
236
            ProfileManager.getInstance().setCount(getApplicationContext(), i);
237
        }else{
238
            ProfileManager.getInstance().setCount(getApplicationContext(), 0);
235 239
        }
236 240
    }
237 241


+ 11 - 0
app/src/main/java/com/electric/chargingpile/manager/ProfileManager.java

@ -73,6 +73,7 @@ public class ProfileManager {
73 73
    private static final String KEY_MAKE_SURE_NETWORK_FOR_VIDEO = "key_make_sure_network_for_video";
74 74
    private static final String KEY_DEVICE_ID = "key_device_id";
75 75
    private static final String KEY_PUSH_ID = "key_push_id";
76
    private static final String KEY_MAX_COUNT = "key_max_count";
76 77

77 78
    private static ProfileManager instance;
78 79
    private String deviceId;
@ -680,4 +681,14 @@ public class ProfileManager {
680 681
    public String getPushID(Context context) {
681 682
        return PreferenceManager.getInstance(context).getString(KEY_PUSH_ID, "");
682 683
    }
684

685
    public void setMaxCount(Context context, int id) {
686
        PreferenceManager.getInstance(context).putInt(KEY_MAX_COUNT, id);
687
    }
688

689
    public int getMaxCount(Context context) {
690
        return PreferenceManager.getInstance(context).getInt(KEY_MAX_COUNT, 4);
691
    }
692

693

683 694
}

+ 116 - 0
app/src/main/java/com/electric/chargingpile/view/NotRegisterDialog.java

@ -0,0 +1,116 @@
1
package com.electric.chargingpile.view;
2
3
import android.app.Dialog;
4
import android.content.Context;
5
import android.view.Display;
6
import android.view.LayoutInflater;
7
import android.view.View;
8
import android.view.ViewGroup;
9
import android.view.WindowManager;
10
import android.widget.FrameLayout;
11
import android.widget.ImageView;
12
import android.widget.RelativeLayout;
13
import android.widget.TextView;
14
15
import androidx.annotation.DrawableRes;
16
17
import com.electric.chargingpile.R;
18
import com.electric.chargingpile.util.DensityUtil;
19
import com.lidroid.xutils.db.annotation.Id;
20
21
public class NotRegisterDialog  {
22
    private Context context;
23
    private Dialog dialog;
24
    private Display display;
25
26
    private ImageView goIntent,neglect,close,logoDialog;
27
    private TextView content;
28
29
30
    public NotRegisterDialog(Context context) {
31
        this.context = context;
32
        WindowManager windowManager = (WindowManager) context
33
                .getSystemService(Context.WINDOW_SERVICE);
34
        display = windowManager.getDefaultDisplay();
35
    }
36
37
    public NotRegisterDialog builder() {
38
        // 获取Dialog布局
39
        View view = LayoutInflater.from(context).inflate(
40
                R.layout.dialog_not_login, null);
41
42
        // 获取自定义Dialog布局中的控件
43
        RelativeLayout  bgNotLogin = (RelativeLayout) view.findViewById(R.id.bgNotLogin);
44
        goIntent = view.findViewById(R.id.goIntent);
45
        neglect = view.findViewById(R.id.neglect);
46
        close   = view.findViewById(R.id.close);
47
        content = view.findViewById(R.id.content);
48
         logoDialog   = view.findViewById(R.id.logoDialog);
49
50
51
        // 定义Dialog布局和参数
52
        dialog = new Dialog(context, R.style.AlertDialogStyle);
53
        dialog.setContentView(view);
54
55
        // 调整dialog背景大小
56
        bgNotLogin.setLayoutParams(new FrameLayout.LayoutParams(
57
                DensityUtil.dip2px(context,  268),
58
                DensityUtil.dip2px(context, 296)
59
        ));
60
61
        return this;
62
    }
63
64
    public NotRegisterDialog setContent(String str){
65
        content.setText(str);
66
        return this;
67
    }
68
69
    public NotRegisterDialog setGoIntentImg(@DrawableRes int str){
70
        goIntent.setImageResource(str);
71
        return this;
72
    }
73
    public NotRegisterDialog setlogoDialogImg(@DrawableRes int str){
74
        logoDialog.setImageResource(str);
75
        return this;
76
    }
77
78
79
80
    public NotRegisterDialog setCancelable(boolean cancel) {
81
        dialog.setCancelable(cancel);
82
        dialog.setCanceledOnTouchOutside(cancel);
83
        return this;
84
    }
85
86
    public  NotRegisterDialog setGoRegister(View.OnClickListener listener){
87
        if (goIntent!=null){
88
            goIntent.setOnClickListener(view ->{
89
                listener.onClick(view);
90
                dialog.dismiss();
91
            });
92
        }
93
        return this;
94
    }
95
96
    public  NotRegisterDialog setCancle(View.OnClickListener listener){
97
        if (neglect!=null){
98
            neglect.setOnClickListener(view ->{
99
                listener.onClick(view);
100
                dialog.dismiss();
101
            });
102
        }
103
104
        return this;
105
    }
106
    public void show() {
107
        close.setOnClickListener(new View.OnClickListener() {
108
            @Override
109
            public void onClick(View view) {
110
                dialog.dismiss();
111
            }
112
        });
113
        dialog.show();
114
    }
115
116
}

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


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


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


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


+ 5 - 0
app/src/main/res/drawable/bg_white_fillet30.xml

@ -0,0 +1,5 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<shape xmlns:android="http://schemas.android.com/apk/res/android">
3
    <solid android:color="@color/white"/>
4
    <corners android:radius="30dp"/>
5
</shape>

+ 72 - 0
app/src/main/res/layout/dialog_not_login.xml

@ -0,0 +1,72 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:layout_width="match_parent"
4
    xmlns:tools="http://schemas.android.com/tools"
5
    xmlns:app="http://schemas.android.com/apk/res-auto"
6
    tools:background="#f1f1"
7
    android:id="@+id/bgNotLogin"
8
    android:layout_height="match_parent">
9
10
    <androidx.constraintlayout.widget.ConstraintLayout
11
        android:layout_centerInParent="true"
12
        android:layout_width="268dp"
13
        android:background="@drawable/bg_white_fillet30"
14
        android:layout_height="296dp">
15
        <ImageView
16
            android:id="@+id/close"
17
            android:padding="5dp"
18
            android:src="@drawable/ic_black_bold"
19
            android:layout_marginTop="10dp"
20
            android:layout_marginEnd="20dp"
21
            app:layout_constraintEnd_toEndOf="parent"
22
            app:layout_constraintTop_toTopOf="parent"
23
            android:layout_width="wrap_content"
24
            android:layout_height="wrap_content"/>
25
        <ImageView
26
            android:id="@+id/logoDialog"
27
            android:layout_marginTop="15dp"
28
            app:layout_constraintTop_toTopOf="parent"
29
            app:layout_constraintEnd_toEndOf="parent"
30
            app:layout_constraintStart_toStartOf="parent"
31
            tools:src="@drawable/bg_not_login_dialog"
32
            android:layout_width="wrap_content"
33
            android:layout_height="wrap_content"/>
34
35
        <TextView
36
            android:lineSpacingMultiplier="1.2"
37
            android:layout_marginEnd="16dp"
38
            android:layout_marginStart="16dp"
39
            android:lineSpacingExtra="2dp"
40
            android:layout_marginTop="15dp"
41
            android:id="@+id/content"
42
            android:layout_width="match_parent"
43
            android:layout_height="wrap_content"
44
            tools:text="我知道你关注我很久了快来注册登录吧\n登录后可以在部分充电桩扫码充电认证车主还有充电优惠"
45
            android:textColor="#ff0e0e0e"
46
            android:textSize="14sp"
47
            app:layout_constraintEnd_toEndOf="parent"
48
            app:layout_constraintStart_toStartOf="parent"
49
            app:layout_constraintTop_toBottomOf="@id/logoDialog" />
50
51
        <ImageView
52
            app:layout_constraintBottom_toBottomOf="parent"
53
            android:id="@+id/neglect"
54
            app:layout_constraintStart_toStartOf="parent"
55
            app:layout_constraintTop_toBottomOf="@id/content"
56
            android:src="@drawable/ic_neglect"
57
            app:layout_constraintEnd_toStartOf="@id/goIntent"
58
            android:layout_width="wrap_content"
59
            android:layout_height="wrap_content"/>
60
61
        <ImageView
62
            app:layout_constraintBottom_toBottomOf="parent"
63
            app:layout_constraintEnd_toEndOf="parent"
64
            app:layout_constraintStart_toEndOf="@+id/neglect"
65
            android:id="@+id/goIntent"
66
            app:layout_constraintTop_toBottomOf="@id/content"
67
            tools:src="@drawable/ic_go_login"
68
            android:layout_width="wrap_content"
69
            android:layout_height="wrap_content"/>
70
    </androidx.constraintlayout.widget.ConstraintLayout>
71
72
</RelativeLayout>