From 2f5411b86c59706d31f6ec7de629d8f860725e46 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 26 十一月 2025 19:56:56 +0800
Subject: [PATCH] 2025年11月26日19:56:45 集成谷歌推送

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java |  121 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 109 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
index 02fdfd7..57fb1c4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
@@ -1,12 +1,23 @@
 package com.hdl.photovoltaic.ui.me;
 
 
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Color;
+import android.os.Build;
 import android.os.Bundle;
 import android.view.View;
 
+import androidx.annotation.RequiresApi;
+import androidx.core.app.NotificationCompat;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.user.bean.NewVersionBean;
 import com.hdl.photovoltaic.R;
@@ -18,9 +29,16 @@
 import com.hdl.photovoltaic.other.HdlAppUpdateLogic;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.ui.BPowerStationActivity;
+import com.hdl.photovoltaic.ui.CPowerStationActivity;
+import com.hdl.photovoltaic.ui.StartActivity;
+import com.hdl.photovoltaic.utils.BadgeUtils;
+import com.hdl.photovoltaic.widget.FlashingBoxDialog;
 import com.hdl.photovoltaic.widget.apkwgtupload.ApkDownLoadService;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 import com.hdl.photovoltaic.widget.UpdateConfirmationCancelDialog;
+
+import java.util.Map;
 
 /**
  * 鍏充簬鐣岄潰锛坅pp鏇存柊锛�
@@ -42,8 +60,8 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-        setNotificationBarBackgroundColor(CustomColor.white);
-        setStatusBarTextColor();
+        setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -61,7 +79,7 @@
                 if (newVersionBean != null) {
                     //todo 鍙戠幇鏂扮増鏈�,鏀瑰彉UI鏍峰紡
                     viewBinding.asRegardsRlRightContentTv.setText(R.string.app_discover_new_version);
-                    viewBinding.asRegardsRlRightContentTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
+                    viewBinding.asRegardsRlRightContentTv.setTextColor(getResources().getColor(R.color.text_FFACACAC, null));
                 }
             }
 
@@ -70,16 +88,20 @@
 
             }
         });
-        //todo 绛夋帴鍙�
-        String content = "https://developer.hdlcontrol.com/AppDownload/HDLDebugerDownload.html";
-        Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "1", Color.BLACK, Color.WHITE);
+        //姝e紡鐜
+        String content = "https://developer.hdlcontrol.com/AppDownload/HDLPhotovoltaicDownload.html";
+        if (!AppConfigManage.getOnlineServer()) {
+            //娴嬭瘯鐜
+            content = "https://developer.hdlcontrol.com/AppDownload/HDLPhotovoltaicDebugDownload.html";
+        }
+        Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "0", getColor(R.color.text_00000000), Color.WHITE);
         viewBinding.asRegardsQrCodeIv.setImageBitmap(bitmap);
 
     }
 
 
     private void initEvent() {
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
+        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 finish();
@@ -113,14 +135,30 @@
 
             }
         });
+        viewBinding.contactUsRl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(_mActivity, ContactUsActivity.class);
+                startActivity(intent);
+//                String json = "{\"expandData\":{\"expantContent\":\"{\\\"createTime\\\":1763705189605,\\\"homeName\\\":\\\"鏅鸿兘妯″紡娴嬭瘯\\\",\\\"isRead\\\":false,\\\"msgId\\\":1991742202645020673,\\\"type\\\":\\\"EVENT\\\",\\\"homeId\\\":1990254883420880898,\\\"status\\\":\\\"UNTREATED\\\"}\",\"homeId\":1990254883420880898,\"messageType\":\"Alarm\"},\"aps\":{\"badge\":2,\"alert\":{\"title\":\"event\",\"body\":\"Battery voltage low\"}}}";
+////                Gson gson = new Gson();
+////                Type type = new TypeToken<Map<String, String>>() {
+////                }.getType();
+////                Map<String, String> map = gson.fromJson(json, type);
+//                Map<String, String> map = JSONObject.parseObject(json, new TypeReference<Map<String, String>>() {
+//                });
+//                showCustomNotification("妯℃嫙鏍囬", "妯℃嫙鏁版嵁", map);
+////                HdlPushLogic.getInstance().pushDataProcessing("", "", json);
+            }
+        });
 
     }
 
     private void initView() {
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.me_regard);
-        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null));
-        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE);
-        viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+        viewBinding.toolbarTopRl.topBarView.setBackgroundColor(getColor(R.color.text_00000000));
+        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.me_regard);
+        viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
         String versionsStr = _mActivity.getResources().getString(R.string.app_version_number) + " " + AppConfigManage.getVersionName();
         viewBinding.asRegardsIconVersionsTv.setText(versionsStr);
 
@@ -134,7 +172,9 @@
             @Override
             public void run() {
                 if (mNewVersionBean == null) {
-                    HdlThreadLogic.toast(_mActivity, R.string.app_new_version);
+                    FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(_mActivity, 1500);
+                    flashingBoxDialog.setContent(getString(R.string.app_new_version));
+                    flashingBoxDialog.show();
                     return;
                 }
                 String app_version = getString(R.string.app_version) + ":" + mNewVersionBean.getVersion();
@@ -169,4 +209,61 @@
             }
         }, this, ShowErrorMode.YES);
     }
+
+    private void showCustomNotification(String title, String message, Map<String, String> data) {
+        NotificationManager notificationManager =
+                (NotificationManager) _mActivity.getSystemService(Context.NOTIFICATION_SERVICE);
+
+        // 鍒涘缓閫氱煡娓犻亾锛圓ndroid 8.0+锛�
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            createNotificationChannel(notificationManager);
+        }
+
+        NotificationCompat.Builder builder = new NotificationCompat.Builder(_mActivity, "fcm_channel")
+                .setSmallIcon(R.drawable.desktop_logo)
+                .setContentTitle(title)
+                .setContentText(message)
+                .setAutoCancel(true)
+                .setNumber(5)
+                .setWhen(System.currentTimeMillis());
+
+
+        // 璁剧疆鐐瑰嚮鎰忓浘
+        Intent intent = createNotificationIntent(data);
+        PendingIntent pendingIntent = PendingIntent.getActivity(
+                _mActivity, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+        builder.setContentIntent(pendingIntent);
+
+        // 鏄剧ず閫氱煡
+        notificationManager.notify((int) System.currentTimeMillis(), builder.build());
+    }
+
+    private Intent createNotificationIntent(Map<String, String> data) {
+        Intent intent = new Intent(_mActivity, StartActivity.class);
+        intent.putExtra("from_fcm", true);
+        intent.putExtra("pushData", JSON.toJSON(data).toString());
+//        if (data != null) {
+//            for (Map.Entry<String, String> entry : data.entrySet()) {
+//                intent.putExtra(entry.getKey(), entry.getValue());
+//            }
+//        }
+
+//        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
+        return intent;
+    }
+
+    @RequiresApi(api = Build.VERSION_CODES.O)
+    private void createNotificationChannel(NotificationManager notificationManager) {
+        NotificationChannel channel = new NotificationChannel(
+                "fcm_channel",
+                "FCM 娑堟伅",
+                NotificationManager.IMPORTANCE_HIGH
+        );
+        channel.setDescription("Firebase Cloud Messaging 閫氱煡");
+        // 鍚敤瑙掓爣
+        channel.setShowBadge(true);
+        notificationManager.createNotificationChannel(channel);
+        BadgeUtils.setBadgeCount(_mActivity, 7);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0