From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java | 254 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 214 insertions(+), 40 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 ff89ce8..b3373b7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -3,21 +3,38 @@
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;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
+import com.hdl.photovoltaic.ui.me.WebActivity;
+import com.hdl.photovoltaic.uni.HDLUniMP;
+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,54 +49,84 @@
@Override
public void onBindView(Bundle savedInstanceState) {
-
- setNotificationBarBackgroundColor(CustomColor.white);
- setStatusBarTextColor();
-
- //鍒濆鍖栨湇鍔″櫒鍩熷悕锛堢敤鎴锋敞鍐屾墍鍦ㄦ湇鍔″櫒鍩熷悕鍦板潃锛�
- AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
- //鍒ゆ柇AccessToken鏄惁null
- if (!TextUtils.isEmpty(HDLLinkPMUser.getInstance().getAccessToken())) {
-// showLoading();
- HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
+ setStatusBarTranslucent();
+ 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 onSuccess(List<HouseIdBean> obj) {
-// hideLoading();
- HdlResidenceLogic.getInstance().setHouseIdList(obj);
-
- Intent intent = new Intent();
- if (UserConfigManage.getInstance().isBAccount()) {
- //瀹夎鍟嗚烦杞晫闈�
- intent.setClass(StartActivity.this, BPowerStationActivity.class);
- } else {
- //C绔敤鎴疯烦杞晫闈�
- intent.setClass(StartActivity.this, CPowerStationActivity.class);
-
- }
- openActivity(intent);
+ public void Cancel() {
+ confirmationCancelDialog.dismiss();
+ SharedPreUtils.putBoolean(key, false);
+ finish();
}
-
+ });
+ confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
@Override
- public void onFailure(HDLException e) {
-// hideLoading();
+ public void Confirm() {
+ confirmationCancelDialog.dismiss();
+ initSdk();
+ SharedPreUtils.putBoolean(key, true);
Intent intent = new Intent();
- if (UserConfigManage.getInstance().isBAccount()) {
- //瀹夎鍟嗚烦杞晫闈�
- intent.setClass(StartActivity.this, BPowerStationActivity.class);
- } else {
- //C绔敤鎴疯烦杞晫闈�
- intent.setClass(StartActivity.this, CPowerStationActivity.class);
- }
+ intent.setClass(StartActivity.this, LoginActivity.class);
openActivity(intent);
}
});
-
} else {
- Intent intent = new Intent();
- intent.setClass(this, LoginActivity.class);
- openActivity(intent);
- }
+ initSdk();
+ if (!UserConfigManage.getInstance().isNoNetworkFlag()) {
+ //鍒濆鍖栨湇鍔″櫒鍩熷悕锛堢敤鎴锋敞鍐屾墍鍦ㄦ湇鍔″櫒鍩熷悕鍦板潃锛�
+ 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);
+ }
+ } else {
+ //鏃犵綉妯″紡-璺冲埌灏忕▼搴忚澶囧垪琛ㄧ晫闈�
+ String path = HDLUniMP.UNI_EVENT_OPEN_NONETWORKDEVICELIST + "?mac=" + UserConfigManage.getInstance().getNoNetworkDeviceMac() + "&password=" + UserConfigManage.getInstance().getNoNetworkPassword() + "&autoVerify=true";
+ HdlUniLogic.getInstance().openUniMP(path, null);
+ }
+ }
}
@@ -94,12 +141,139 @@
startActivity(intent);
finish();
}
+
@Override
protected void onDestroy() {
super.onDestroy();
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