From ec92a4e41838ae1954af337386a3508398602051 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期日, 27 四月 2025 13:43:22 +0800 Subject: [PATCH] 2025年04月27日13:43:20 --- app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java | 247 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 199 insertions(+), 48 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 c6d9263..3d59557 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java @@ -3,26 +3,36 @@ import android.content.Intent; import android.os.Bundle; -import android.os.SystemClock; -import android.util.Log; +import android.text.SpannableStringBuilder; +import android.text.TextPaint; +import android.text.TextUtils; +import android.text.method.LinkMovementMethod; +import android.text.style.ClickableSpan; +import android.view.View; +import android.widget.TextView; -import androidx.annotation.Nullable; +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.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; -import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.bean.HouseIdBean; -import com.hdl.photovoltaic.uni.HDLUniMP; +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 java.util.List; + +import cn.jpush.android.api.JPushInterface; + /** * App鍚姩椤碉紙鐩殑鏄负浜嗚鐢ㄦ埛鐐瑰嚮APP鍥炬爣鐨勬椂鍊欐湁涓�涓灛闂村搷搴旂殑浜や簰浣撻獙銆傦級 @@ -36,51 +46,85 @@ @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, MyPowerStationActivity.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, MyPowerStationActivity.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, HomeLoginActivity.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); + } } + + } + + @Override + public void startActivity(Intent intent) { + super.startActivity(intent); + overridePendingTransition(0, 0); } void openActivity(Intent intent) { @@ -90,14 +134,121 @@ } @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setTheme(R.style.NoAnimationTheme); - } - - @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; + //鍒濆鍖栨瀬鍏夋帹閫� + initJPush(); + } + + /** + * 鍒濆鍖栨瀬鍏塖DK + */ + private void initJPush() { + JPushInterface.setDebugMode(true); + JPushInterface.init(getBaseContext()); + } + } -- Gitblit v1.8.0