From b9cc7390e8e8ce64c41c26fb369c98ce669d660c Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 15:02:30 +0800
Subject: [PATCH] Merge branch '1.2.0'

---
 app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java |  248 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 212 insertions(+), 36 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
index 94a43ce..b6ef66e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -3,11 +3,19 @@
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.text.SpannableStringBuilder;
+import android.text.TextPaint;
 import android.text.TextUtils;
-import android.util.Log;
+import android.text.method.LinkMovementMethod;
+import android.text.style.ClickableSpan;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
 
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.config.AppConfigManage;
@@ -15,8 +23,16 @@
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
+import com.hdl.photovoltaic.ui.me.WebActivity;
+import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.SharedPreUtils;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
+import com.umeng.commonsdk.UMConfigure;
 
 import java.util.List;
+
+import cn.jpush.android.api.JPushInterface;
 
 
 /**
@@ -32,43 +48,77 @@
     @Override
     public void onBindView(Bundle savedInstanceState) {
         setStatusBarTranslucent();
-        //鍒濆鍖栨湇鍔″櫒鍩熷悕锛堢敤鎴锋敞鍐屾墍鍦ㄦ湇鍔″櫒鍩熷悕鍦板潃锛�
-        AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
-        //鍒ゆ柇AccessToken鏄惁null
-        if (!TextUtils.isEmpty(HDLLinkPMUser.getInstance().getAccessToken())) {
-            if (UserConfigManage.getInstance().isBAccount()) {
-                //瀹夎鍟嗚烦杞晫闈�
-                Intent intent = new Intent();
-                intent.setClass(StartActivity.this, BPowerStationActivity.class);
-                openActivity(intent);
-            } else {
-                //C绔敤鎴疯烦杞晫闈�
-//                showLoading();
-                HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
-                    @Override
-                    public void onSuccess(List<HouseIdBean> obj) {
-//                        hideLoading();
-                        HdlResidenceLogic.getInstance().setHouseIdList(obj);
-                        Intent intent = new Intent();
-                        intent.setClass(StartActivity.this, CPowerStationActivity.class);
-                        openActivity(intent);
-                    }
-
-                    @Override
-                    public void onFailure(HDLException e) {
-//                        hideLoading();
-                        Intent intent = new Intent();
-                        intent.setClass(StartActivity.this, CPowerStationActivity.class);
-                        openActivity(intent);
-                    }
-                });
-            }
+        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
+        //鍙戝竷瀹℃牳灏忕背搴旂敤甯傚満瑕佹眰APP绗竴娆″惎鍔ㄦ彁鍓嶆彁绀恒�婄敤鎴峰崗璁�嬪拰銆婇殣绉佹斂绛栥�嬫墠鍏佽涓婄嚎
+        final String key = "is_login";
+        HDLUniMPSDKManager.isExistsActivity=false;
+        boolean isLogin = SharedPreUtils.getBoolean(key);
+        if (!isLogin) {
+            ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(this);
+            confirmationCancelDialog.setTitle(getString(R.string.user_agreement_and_privacy_agreement));
+            confirmationCancelDialog.setContent(getString(R.string.thank_you_for_using));
+            confirmationCancelDialog.setConfirmation(getString(R.string.agree));
+            confirmationCancelDialog.setCancel(getString(R.string.loading_on_agree));
+            confirmationCancelDialog.show();
+            setStringDifferentColors(confirmationCancelDialog.getContentTextView());
+            confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+                @Override
+                public void Cancel() {
+                    confirmationCancelDialog.dismiss();
+                    SharedPreUtils.putBoolean(key, false);
+                    finish();
+                }
+            });
+            confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+                @Override
+                public void Confirm() {
+                    confirmationCancelDialog.dismiss();
+                    initSdk();
+                    SharedPreUtils.putBoolean(key, true);
+                    Intent intent = new Intent();
+                    intent.setClass(StartActivity.this, LoginActivity.class);
+                    openActivity(intent);
+                }
+            });
         } else {
-            Intent intent = new Intent();
-            intent.setClass(this, LoginActivity.class);
-            openActivity(intent);
-        }
+            initSdk();
+            //鍒濆鍖栨湇鍔″櫒鍩熷悕锛堢敤鎴锋敞鍐屾墍鍦ㄦ湇鍔″櫒鍩熷悕鍦板潃锛�
+            AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
+            //鍒ゆ柇AccessToken鏄惁null
+            if (!TextUtils.isEmpty(HDLLinkPMUser.getInstance().getAccessToken())) {
+                if (UserConfigManage.getInstance().isBAccount()) {
+                    //瀹夎鍟嗚烦杞晫闈�
+                    Intent intent = new Intent();
+                    intent.setClass(StartActivity.this, BPowerStationActivity.class);
+                    openActivity(intent);
+                } else {
+                    //C绔敤鎴疯烦杞晫闈�
+//                showLoading();
+                    HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
+                        @Override
+                        public void onSuccess(List<HouseIdBean> obj) {
+//                        hideLoading();
+                            HdlResidenceLogic.getInstance().setHouseIdList(obj);
+                            Intent intent = new Intent();
+                            intent.setClass(StartActivity.this, CPowerStationActivity.class);
+                            openActivity(intent);
+                        }
 
+                        @Override
+                        public void onFailure(HDLException e) {
+//                        hideLoading();
+                            Intent intent = new Intent();
+                            intent.setClass(StartActivity.this, CPowerStationActivity.class);
+                            openActivity(intent);
+                        }
+                    });
+                }
+            } else {
+                Intent intent = new Intent();
+                intent.setClass(StartActivity.this, LoginActivity.class);
+                openActivity(intent);
+            }
+        }
 
     }
 
@@ -90,5 +140,131 @@
         overridePendingTransition(0, 0);
     }
 
+    /**
+     * 璁剧疆涓�涓插瓧绗﹀绉嶉鑹蹭互鍙婄偣鍑讳簨浠�
+     *
+     * @param textView 褰撳墠缁勪欢
+     */
+    private void setStringDifferentColors(TextView textView) {
+        try {
+
+
+            if (textView == null) {
+                return;
+            }
+
+            String s = textView.getText().toString();
+            if (!s.contains("銆�")) {
+                return;
+            }
+
+            int startIndex1 = s.indexOf("銆�");
+            int endIndex1 = s.indexOf("銆�") + 1;
+
+
+            int startIndex2 = s.lastIndexOf("銆�");
+            int endIndex2 = s.lastIndexOf("銆�") + 1;
+            if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.en)) {
+                s = s.replace("銆�", "").replace("銆�", "");
+                endIndex1 -= 1;
+                startIndex2 -= 2;//绉婚櫎"銆�"鍜�"銆�"鎬婚暱搴﹀彂鐢熷彉鍖栵紝绱㈠紩涔熸敼鍙�;
+                endIndex2 -= 4;//绉婚櫎"銆�"鍜�"銆�"鎬婚暱搴﹀彂鐢熷彉鍖栵紝绱㈠紩涔熸敼鍙�;
+            }
+            SpannableStringBuilder spannable = new SpannableStringBuilder(s);
+            //璁剧疆鏂囧瓧鐨勫墠鏅壊
+            if (textView.getTag() != null && textView.getTag().toString().equals("click")) {
+                spannable.setSpan(new ClickableSpan() {
+                    @Override
+                    public void onClick(@NonNull View widget) {
+                        //todo 闇�瑕佽烦杞埌鏈嶅姟鍗忚鐣岄潰
+                        Intent intent = new Intent();
+                        intent.putExtra("type", WebActivity.ServiceAgreement);
+                        intent.setClass(_mActivity, WebActivity.class);
+                        startActivity(intent);
+                    }
+
+                    @Override
+                    public void updateDrawState(@NonNull TextPaint ds) {
+                        super.updateDrawState(ds);
+                        //璁剧疆瀛椾綋棰滆壊
+                        ds.setColor(getResources().getColor(R.color.text_38C494, null));
+                        // 鍘绘帀涓嬪垝绾�
+                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
+                    }
+
+
+                }, startIndex1, endIndex1, 0);
+//                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex1, endIndex1, 0);
+
+                spannable.setSpan(new ClickableSpan() {
+                    @Override
+                    public void onClick(@NonNull View widget) {
+                        //todo 闇�瑕佽烦杞埌闅愮鐣岄潰
+                        Intent intent = new Intent();
+                        intent.putExtra("type", WebActivity.PrivacyAgreement);
+                        intent.setClass(_mActivity, WebActivity.class);
+                        startActivity(intent);
+                    }
+
+                    @Override
+                    public void updateDrawState(@NonNull TextPaint ds) {
+                        super.updateDrawState(ds);
+                        //璁剧疆瀛椾綋棰滆壊
+                        ds.setColor(getResources().getColor(R.color.text_38C494, null));
+                        // 鍘绘帀涓嬪垝绾�
+                        ds.setUnderlineText(!UserConfigManage.getInstance().isZh());
+                    }
+
+
+                }, startIndex2, endIndex2, 0);
+//                spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0);
+
+
+            }
+            textView.setText(spannable);
+            //涓�旈亣鍒扮偣鍑诲悗瀛椾綋鏄剧ず楂樹寒锛屽彇娑堥珮浜�
+            textView.setHighlightColor(getResources().getColor(R.color.text_FFACACAC, null));
+            //鏈�鍚庤缃彲鐐瑰嚮锛屽繀椤诲疄鐜帮紝鍚﹀垯鍙兘鏄剧ず鏍峰紡锛屾棤娉曞疄鐜扮偣鍑绘晥鏋�
+            textView.setMovementMethod(LinkMovementMethod.getInstance());
+        } catch (Exception ignored) {
+        }
+
+    }
+
+    /**
+     * 鍒濆鍖栦笁鏂圭浉鍏砈DK
+     * 灏忕背骞冲彴涓婄嚎锛岄渶瑕佸厛鍚屾剰鍚庯紝鍦ㄥ垵濮嬪寲鏋佸厜SDK,鍚﹀垯骞冲彴瀹℃牳涓嶈閫氳繃
+     */
+    private void initSdk() {
+        if (HDLApp.getInstance().isStartInitThirdSDK) {
+            return;
+        }
+        HDLApp.getInstance().isStartInitThirdSDK = true;
+        //鍒濆鍖栧弸鐩烻DK
+        initUMengSDK();
+        //鍒濆鍖栨瀬鍏夋帹閫�
+        initJPush();
+
+    }
+
+    /**
+     * 鍒濆鍖栨瀬鍏塖DK
+     */
+    private void initJPush() {
+        JPushInterface.setDebugMode(true);
+        JPushInterface.init(getBaseContext());
+    }
+    /**
+     * 鍒濆鍖栧弸鐩烻DK锛屾姄闂��鏃ュ織
+     * 闆嗘垚鏁欑▼鍦板潃锛歨ttps://developer.umeng.com/docs/119267/detail/118588
+     */
+    private void initUMengSDK() {
+        UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar");
+        //appkey鍜宑hannl蹇呴』淇濇寔鍜岄鍒濆鍖栦竴鑷达紒锛侊紒
+        //deviceType锛氳澶囩被鍨嬶紝UMConfigure.DEVICE_TYPE_PHONE涓烘墜鏈恒�乁MConfigure.DEVICE_TYPE_BOX涓虹洅瀛�
+        //pushSecret锛歅ush鎺ㄩ�佷笟鍔$殑secret
+        UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, "");
+        UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug()
+    }
 
 }

--
Gitblit v1.8.0