当前位置:   article > 正文

android13(T) SystemUI 运营商显示 bug 修复_android 13 systemui

android 13 systemui

aosp 本身 bug,开启状态栏显示运营商时,会有 npe 问题

frameworks/base/packages/SystemUI/src/com/android/systemui/util/CarrierConfigTracker.java

@@ -213,6 +213,10 @@ public class CarrierConfigTracker
      * @param subId the subscription id for which to query the config
      */
     public boolean getShowOperatorNameInStatusBarConfig(int subId) {
+        //add for show OperatorName
+        if (true) {
+            return true;
+        }//end
         if (mShowOperatorNameConfigs.indexOfKey(subId) >= 0) {
             return mShowOperatorNameConfigs.get(subId);
         } else {
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/OperatorNameViewController.java

@@ -93,9 +93,11 @@ public class OperatorNameViewController extends ViewController<OperatorNameView>
     private SubInfo getDefaultSubInfo() {
         int defaultSubId = SubscriptionManager.getDefaultDataSubscriptionId();
         SubscriptionInfo sI = mKeyguardUpdateMonitor.getSubscriptionInfoForSubId(defaultSubId);
+        //fix when show operator sim cardout npe 
         return new SubInfo(
-                sI.getSubscriptionId(),
-                sI.getCarrierName(),
+                sI != null ? sI.getSubscriptionId() : 0,
+                sI != null ? sI.getDisplayName() : null,//中国电信
+                // sI.getCarrierName(),//CHN-CT — 中国电信
                 mKeyguardUpdateMonitor.getSimState(defaultSubId),
                 mKeyguardUpdateMonitor.getServiceState(defaultSubId));
     }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java

@@ -614,8 +614,12 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
         int subId = SubscriptionManager.getDefaultDataSubscriptionId();
         if (mCarrierConfigTracker.getShowOperatorNameInStatusBarConfig(subId)) {
             ViewStub stub = mStatusBar.findViewById(R.id.operator_name);
+            //add for fix aosp bug open operator show crash
+            View operatorFrameView = stub.inflate();
+            OperatorNameView operatorNameView = (OperatorNameView)operatorFrameView.findViewById(R.id.operator_name);
             mOperatorNameViewController =
-                    mOperatorNameViewControllerFactory.create((OperatorNameView) stub.inflate());
+                    mOperatorNameViewControllerFactory.create(operatorNameView);//end
+                    // mOperatorNameViewControllerFactory.create((OperatorNameView) stub.inflate());//aosp bug
             mOperatorNameViewController.init();
             // This view should not be visible on lock-screen
             if (mKeyguardStateController.isShowing()) {
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/120534?site
推荐阅读
相关标签
  

闽ICP备14008679号