Android12---下拉状态栏添加网速显示(MTK平台)

问题

客户反馈下拉状态栏后没有网速显示了

分析

状态栏是在SystemUI里面的主要去看这里面的代码就行了

代码位置

        修改:     vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
        修改:     vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java

具体代码

xw-server3@xw-server3:/code2/lyz/7701_6113/mt6877_S0_V12/alps$ git diff vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
old mode 100644
new mode 100755
index 5b9ca1b2615..f1958e036eb
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/res/layout/quick_qs_status_icons.xml
@@ -84,6 +84,15 @@
             systemui:textAppearance="@style/TextAppearance.QS.Status"
             android:paddingEnd="2dp" />

+         <com.android.systemui.statusbar.phone.NetShowView
+            android:id="@+id/net_show_text"
+            android:layout_width="56dp"
+            android:layout_height="match_parent"
+            android:textColor="#ffffff"
+            android:visibility="gone"
+            android:textSize="12dip" />
+
+
     </LinearLayout>
     </FrameLayout>

xw-server3@xw-server3:/code2/lyz/7701_6113/mt6877_S0_V12/alps$ git diff vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
old mode 100644
new mode 100755
index 77906abce62..9a35357cf7e
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -45,6 +45,12 @@ import com.android.systemui.statusbar.policy.Clock;

 import java.util.List;

+//lyz add Dropdown status bar NetSpeedShow
+import com.android.systemui.Dependency;
+import com.android.systemui.plugins.DarkIconDispatcher;
+import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
+
+
 /**
  * View that contains the top-most bits of the QS panel (primarily the status bar with date, time,
  * battery, carrier info and privacy icons) and also contains the {@link QuickQSPanel}.
@@ -98,6 +104,10 @@ public class QuickStatusBarHeader extends FrameLayout {
     private boolean mHasCenterCutout;
     private boolean mConfigShowBatteryEstimate;

+       //lyz add Dropdown status bar NetSpeedShow
+       private DarkReceiver mNetSpeedShow;
+
+
     public QuickStatusBarHeader(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -134,6 +144,9 @@ public class QuickStatusBarHeader extends FrameLayout {
         // Tint for the battery icons are handled in setupHost()
         mBatteryRemainingIcon = findViewById(R.id.batteryRemainingIcon);

+               //lyz add Dropdown status bar NetSpeedShow
+               mNetSpeedShow = findViewById(R.id.net_show_text);
+
         updateResources();

         // Don't need to worry about tuner settings for this icon
@@ -159,6 +172,9 @@ public class QuickStatusBarHeader extends FrameLayout {
         // Set the correct tint for the status icons so they contrast
         iconManager.setTint(fillColor);

+               //lyz add Dropdown status bar NetSpeedShow
+               Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mNetSpeedShow);
+
         mQSExpansionPathInterpolator = qsExpansionPathInterpolator;
         updateAnimators();
     }

状态栏解析:
SystemUI状态栏形式及流程
https://blog.csdn.net/xxdw1992/article/details/121676333
Android SystemUI之启动流程(一)
https://blog.csdn.net/Bill_xiao/article/details/107225145

代码分析

下拉状态栏跟桌面状态栏并不是一个界面。下拉状态栏在quick_qs_status_icons.xml布局

桌面的是S:\lyz\7701_6113\mt6877_S0_V12\alps\vendor\mediatek\proprietary\packages\apps\SystemUI\res\layout\system_icons.xml

查询记录看桌面如何加的,模仿一下。下拉状态栏的布局控制是在QuickStatusBarHeader.java里,在这里初始化一下就可以啦

xw-server3@xw-server3:/code2/lyz/7701_6113/mt6877_S0_V12/alps/vendor/mediatek/proprietary/packages/apps/SystemUI$ grep "mNetSpeedShow" * -rn
src/com/android/systemui/qs/QuickStatusBarHeader.java:108:      private DarkReceiver mNetSpeedShow;
src/com/android/systemui/qs/QuickStatusBarHeader.java:148:              mNetSpeedShow = findViewById(R.id.net_show_text);
src/com/android/systemui/qs/QuickStatusBarHeader.java:176:              Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mNetSpeedShow);
src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java:79:    private DarkReceiver mNetSpeedShow;
src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java:126:        mNetSpeedShow = findViewById(R.id.net_show_text);
src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java:141:        Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mNetSpeedShow);
xw-server3@xw-server3:/code2/lyz/7701_6113/mt6877_S0_V12/alps/vendor/mediatek/proprietary/packages/apps/SystemUI$

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值