简介
状态栏在system APP,KaiOS上面的代码路径是 gaia/apps/system。
statusbar.js 代码结构
gaia\apps\system\js\statusbar.js 状态栏逻辑


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
