Android Mediatek 禁用拨号应用的部分UI显示

简介: Android Mediatek 禁用拨号应用的部分UI显示

这个是早期客制化需求 , 当时我记得是需要拨号的同时需要禁止系统通话被拉起 , 意思就是

电话过来了, 不能显示UI的同时还在通话 , 然后我做个了自定义的APP去控制通话。

这个修改主要是在Dialer应用的几个文件中修改了一些函数的逻辑,使得在特定条件下,不再显示拨号界面或者通知。

修改的文件:

  1. vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallActivity.java
  2. vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallPresenter.java
  3. vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/StatusBarNotifier.java

文件修改说明:

1. InCallActivity.java

在这个文件中,修改了getIntent函数的逻辑。原先的逻辑是根据传入的参数来设置Intent的一些属性。现在的逻辑是,直接设置了一些固定的属性值。

2. InCallPresenter.java

在这个文件中,修改了几个函数的逻辑。原先的逻辑是在满足一定条件时,显示拨号界面。现在的逻辑是,注释掉了显示拨号界面的代码,使得在满足条件时,不再显示拨号界面。

3. StatusBarNotifier.java

在这个文件中,修改了updateInCallNotification函数的逻辑。原先的逻辑是在满足一定条件时,显示通知。现在的逻辑是,注释掉了显示通知的代码,使得在满足条件时,不再显示通知。



 

 
---
 .../java/com/android/incallui/InCallActivity.java      |  2 +-
 .../java/com/android/incallui/InCallPresenter.java     | 10 +++++-----
 .../java/com/android/incallui/StatusBarNotifier.java   |  6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)
 
diff --git a/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallActivity.java b/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallActivity.java
index 0c56bdb28be..f1932d6b836 100755
--- a/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallActivity.java
@@ -103,7 +103,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
     Intent intent = new Intent(Intent.ACTION_MAIN, null);
     intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION | Intent.FLAG_ACTIVITY_NEW_TASK);
     intent.setClass(context, InCallActivity.class);
-    InCallActivityCommon.setIntentExtras(intent, showDialpad, newOutgoingCall, isForFullScreen);
+    InCallActivityCommon.setIntentExtras(intent, false, newOutgoingCall, false);
     return intent;
   }
 
diff --git a/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallPresenter.java b/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallPresenter.java
index 013b1055280..e8ba1439a06 100755
--- a/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallPresenter.java
+++ b/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/InCallPresenter.java
@@ -1271,7 +1271,7 @@ public class InCallPresenter implements CallList.Listener {
     // present (e.g. a call was accepted by a bluetooth or wired headset), we want to
     // bring it up the UI regardless.
     if (!isShowingInCallUi() && mInCallState != InCallState.NO_CALLS) {
-      showInCall(showDialpad, false /* newOutgoingCall */);
+      //showInCall(showDialpad, false /* newOutgoingCall */);
     }
     /// M: For CR ALPS02853151. Dismiss add member screen while return to InCall.@{
     else if (AddMemberScreenController.getInstance().IsAddMemberScreenShown()) {
@@ -1571,8 +1571,8 @@ public class InCallPresenter implements CallList.Listener {
     }
 
     if (showCallUi || showAccountPicker) {
-      LogUtil.i("InCallPresenter.startOrFinishUi", "Start in call UI");
-      showInCall(false /* showDialpad */, !showAccountPicker /* newOutgoingCall */);
+      LogUtil.i("InCallPresenter.startOrFinishUi", "leon Start in call UI");
+     // showInCall(false /* showDialpad */, !showAccountPicker /* newOutgoingCall */);
     } else if (startIncomingCallSequence) {
       LogUtil.i("InCallPresenter.startOrFinishUi", "Start Full Screen in call UI");
 
@@ -1744,7 +1744,7 @@ public class InCallPresenter implements CallList.Listener {
     final Intent activityIntent =
         InCallActivity.getIntent(mContext, false, true, false /* forFullScreen */);
     activityIntent.putExtra(TouchPointManager.TOUCH_POINT, touchPoint);
-    mContext.startActivity(activityIntent);
+    //mContext.startActivity(activityIntent);
   }
 
   /**
@@ -2297,7 +2297,7 @@ public class InCallPresenter implements CallList.Listener {
               return false;
           } else {
               Log.i(this, "show InCallActivity for waiting call");
-              showInCall(false, false);
+              //showInCall(false, false);
           }
       } else {
           mStatusBarNotifier.updateNotification(mCallList);
diff --git a/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/StatusBarNotifier.java b/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/StatusBarNotifier.java
index 59ddfe2bb0f..dd1c5d5af9b 100755
--- a/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/StatusBarNotifier.java
+++ b/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/incallui/StatusBarNotifier.java
@@ -258,14 +258,14 @@ public class StatusBarNotifier
    */
   @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
   private void updateInCallNotification(CallList callList) {
-    LogUtil.d("StatusBarNotifier.updateInCallNotification", "");
+    LogUtil.d("StatusBarNotifier.updateInCallNotification", "updateInCallNotification call");
 
     final DialerCall call = getCallToShow(callList);
 
     if (call != null) {
-      showNotification(callList, call);
+     // showNotification(callList, call);
     } else {
-      cancelNotification();
+     // cancelNotification();
     }
 
     /// M: add for OP02 plugin. @{
-- 
2.29.0



相关文章
|
8月前
|
存储 Android开发
如何查看Flutter应用在Android设备上已被撤销的权限?
如何查看Flutter应用在Android设备上已被撤销的权限?
342 64
|
3月前
|
存储 消息中间件 人工智能
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
146 4
|
10月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
644 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
11月前
「Mac畅玩鸿蒙与硬件51」UI互动应用篇28 - 模拟记账应用
本篇教程将介绍如何创建一个模拟记账应用,通过账单输入、动态列表展示和实时统计功能,学习接口定义和组件间的数据交互。
374 68
「Mac畅玩鸿蒙与硬件51」UI互动应用篇28 - 模拟记账应用
|
10月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
649 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
11月前
|
人工智能 自然语言处理 API
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
UI-TARS Desktop 是一款基于视觉语言模型的 GUI 代理应用,支持通过自然语言控制电脑操作,提供跨平台支持、实时反馈和精准的鼠标键盘控制。
3037 17
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
|
10月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
324 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
12月前
|
前端开发
「Mac畅玩鸿蒙与硬件49」UI互动应用篇26 - 数字填色游戏
本篇教程将带你实现一个数字填色小游戏,通过简单的交互逻辑,学习如何使用鸿蒙开发组件创建趣味性强的应用。
297 20
「Mac畅玩鸿蒙与硬件49」UI互动应用篇26 - 数字填色游戏
|
11月前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
315 13
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
|
12月前
|
前端开发 UED
「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏
本篇教程将带你实现一个水果掉落小游戏,掌握基本的动态交互逻辑和鸿蒙组件的使用,进一步了解事件处理与状态管理。
283 14
「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏

热门文章

最新文章