KaiOS statusbar 更新代码逻辑

简介

状态栏在system APP,KaiOS上面的代码路径是 gaia/apps/system。

statusbar.js 代码结构

gaia\apps\system\js\statusbar.js 状态栏逻辑

statusbar.js代码结构
statusbar.js代码结构-1-变量
statusbar.js代码结构-2
statusbar.js代码结构-2-detail

StatuBar 对象

var StatusBar = {
  serviceState: function sb_updateServiceState(string) {
    this.serviceStateStr = string;    //SPN-PLMN
    this.update.label.call(this);    //提供给外部主动调用的更新状态栏接口
  },


  update: { //KaiOS原生更新状态栏的逻辑
    iconData: function sb_updateIconData() { //更新数据图标
    }, 
   
    label: async function sb_updateLabel() { //更新运营商名称
      const conns = navigator.b2g.mobileConnections;
      var conn;

      // Do not show carrier's name if there are multiple sim cards.
      if (conns && conns.length === 1) {
        conn = conns[0];
      }

      //网络名称最终是用MobileOperator的接口更新运营商信息
      var operatorInfos = MobileOperator.userFacingInfo(conn);

    },

  }, //update 更新状态栏各图标字符
}

update接口内部功能方法

跟网络数据相关的图标和运营商名称是用iconData和label

statusbar.js update接口的功能
statusbar.js update接口的功能

猜你喜欢

转载自blog.csdn.net/qq_38666896/article/details/142589521