【CTA】MTK平台过PWS认证Fail问题

由于新的定制类项目要求过PWS认证,基于Android Q,遇到了两个问题,具体如下。

1.收到第一条信息后,不将弹窗点掉,进而发送第二条信息,此时显示的是第二条信息的弹窗,然后将第二条信息点掉后发现第一条信息的弹窗没有关闭。

回复:对于该问题MTK确实是这么设计的。因为紧急警报就是希望通知到位,user不点确认,无法确定是否已被阅读,所以不会被新的遮盖然后消失。并且也没有法规明确需要新的到了直接关闭旧的。

没有强制要求改,但是也看了下代码。如有需要处理,代码修改如下。

--- vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
+++ vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
@@ -161,6 +161,11 @@ public class CMASAlertFullWindow {
                 //clearViewFlag(view);
                 dismissAndMarkRead(view, message, msgRowId);
                 ((Button) view.findViewById(R.id.dismissButton)).setOnClickListener(null);
+                // Monkey.20200623 PWS
+                if (!sShowingView.isEmpty() && CmasConfigManager.isTwProfile()) {
+                    dismissAll();
+                    return;
+                }
 
                 if (!sShowingView.isEmpty() && !CmasConfigManager.isTraProfile()
                     && !CmasConfigManager.isTwProfile()) {

2.收到同频道不同讯号(Updata Nimber)时,只会保留最新的一则消息
    这个问题 实际上发送了三个测试讯息 但是只显示了两个讯息,因为这三个讯息用的是两个信道
 (依照法规 即便同一个信道 也必须一条一条讯息的显示出来)

diff --git vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java b/alps/vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbr
index 11a1699..f18731a 100755
--- vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
@@ -444,6 +444,11 @@ public class CellBroadcastAlertService extends Service {
 
     private boolean handleUpdatedCB(CellBroadcastContentProvider provider
                                                   , CellBroadcastMessage cbm) {
+        // Monkey.20200623 PWS
+        if (CmasConfigManager.isTwProfile()) {
+              return true;
+        } 
+               // END
         Cursor c = provider.getAllCellBroadcastCursor();
         if (c != null
            && c.getCount() > 0) {

以下两个问题,因为不同实验室的要求都不太一样,所以MTK暂无patch计划。

你可能感兴趣的:(MTK随记)