Juice では、列挙型 DetailedState によって、次の名前の新しい状態が追加されます。
/** Link has poor connectivity. */
VERIFYING_POOR_LINK
しかし、この状態は何の略ですか?
プロジェクト全体を検索したところ、次のことがわかりました。
WifiStateMachine.java のサブクラス VerifyingLinkState
class VerifyingLinkState extends State {
@Override
public void enter() {
if (DBG) log(getName() + "\n");
EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
setNetworkDetailedState(DetailedState.VERIFYING_POOR_LINK);
mWifiConfigStore.updateStatus(mLastNetworkId, DetailedState.VERIFYING_POOR_LINK);
sendNetworkStateChangeBroadcast(mLastBssid);
}
@Override
public boolean processMessage(Message message) {
switch (message.what) {
case WifiWatchdogStateMachine.POOR_LINK_DETECTED:
//stay here
break;
case WifiWatchdogStateMachine.GOOD_LINK_DETECTED:
try {
mNwService.enableIpv6(mInterfaceName);
} catch (RemoteException re) {
loge("Failed to enable IPv6: " + re);
} catch (IllegalStateException e) {
loge("Failed to enable IPv6: " + e);
}
setNetworkDetailedState(DetailedState.CONNECTED);
mWifiConfigStore.updateStatus(mLastNetworkId, DetailedState.CONNECTED);
sendNetworkStateChangeBroadcast(mLastBssid);
transitionTo(mConnectedState);
break;
default:
return NOT_HANDLED;
}
return HANDLED;
}
}
リンク状態を確認するときは、enter()
関数で DetailedState を次のように設定します。
DetailedState.VERIFYING_POOR_LINK
これにより、接続が非常に良好であるにもかかわらず、次の図のような状態メッセージが表示されてユーザーが混乱する可能性があります。
このメッセージはしばらくの間しか表示されず、すぐに「接続済み」に置き換えられますが. しかし、この国家は何を目指しているのでしょうか。関数で DetailedState を VERIFYING_POOR_LINK に設定しない場合のリスクは何ですかenter()
。