• android13(T) SystemUI 运营商显示 bug 修复


    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
  • 相关阅读:
    迎战阿里诸神,庚顿喜提智能制造全球总决赛第三名
    PyG 使用过程中出现的一些小bug。GAE 的negative_sampling中
    关于pandas dataframe数据转换为JSON格式存储在Redis后,读取数据时发生数据篡改的问题以及解决办法
    第五章:ES6高级(下)
    [Vulnhub] lazysysadmin
    grep扩展正则使用
    Springboot - 3.BeanFactory
    网络安全(黑客)自学
    一文搞懂傅里叶级数与变换
    SAP教程之 Sap S/4HANA的未来是什么?它会取代 SAP ABAP 吗?
  • 原文地址:https://blog.csdn.net/u012932409/article/details/133066043