經檢視10月23日早上推出下載的最新版 Galaxy Note20 Ultra 5G firmware(港版,N9860ZSU1ATJ6,10月20日),已解決所有已知將 HK 視為 isChineseIso()
的問題。
不過一如所料,三星始終沒有正面回應,承認或否認有關問題(即使旗艦機款已就同屬 9 月的 security patch level 收到第 3 次更新)。
Part 2 及 Part 3 所列的isChineseIso()
已被改回只包括 cn 而不包括 hk 及 mo。因此香港的 firmware 在香港網絡運作不會再被特別處理,除非是 Part 3 所述 Wifi-only 平板的情況,更新到 10月20日 的 firmware 後不會再自動查詢或連接 qq.com 及 baidu.com 等。
WifiConnectivityMonitor
及 NetworkMonitor
private boolean isChineseIso(String countryIso) { return "cn".equalsIgnoreCase(countryIso); }
而 Part 3 提及的 checkCountryCodeFromScanResults()
亦已改為只對 CN 的 Accsss Point 作特別處理。
int winnerCount = 0; if (countryCodeMap.containsKey("CN")) { cnCount = countryCodeMap.get("CN").intValue(); } String pollWinner = ""; String stat = ""; for (String c : countryCodeMap.keySet()) { stat = (stat + c + ": " + countryCodeMap.get(c)) + " "; if (countryCodeMap.get(c).intValue() > winnerCount || (countryCodeMap.get(c).intValue() >= winnerCount && "CN".equals(c))) { pollWinner = c; winnerCount = countryCodeMap.get(c).intValue(); } } String currentTime = "" + (System.currentTimeMillis() / 1000); try { currentTime = new SimpleDateFormat("MM-dd HH:mm:ss.SSS", Locale.US).format(new Date()); } catch (RuntimeException e) { } ... if (winnerCount >= 5) { if ("CN".equals(pollWinner)) { mLastChinaConfirmedTime = System.currentTimeMillis(); } if ("CN".equals(this.mCountryCodeFromScanResult) && !"CN".equals(pollWinner)) { long remainingTime = 86400000 - (System.currentTimeMillis() - mLastChinaConfirmedTime); if (remainingTime < 0) { sb.append(" | Updated [CN 24 hours expired] - CN -> " + pollWinner); mCountryCodeFromScanResult = pollWinner; Settings.Global.putString(this.mContext.getContentResolver(), "wifi_wcm_country_code_from_scan_result", mCountryCodeFromScanResult); } else { sb.append(" | Country Code changed but not updated - CN -X-> " + pollWinner + " , maintain CN for next " + (remainingTime / 1000) + " seconds"); } } else if (!pollWinner.equals(this.mCountryCodeFromScanResult)) { sb.append(" | Updated - " + this.mCountryCodeFromScanResult + "->" + pollWinner); mCountryCodeFromScanResult = pollWinner; Settings.Global.putString(mContext.getContentResolver(), "wifi_wcm_country_code_from_scan_result", mCountryCodeFromScanResult); } }
但注意若附近有較多來自大陸的 access point 的話,用 WiFi-only 的 Galaxy Tab 仍有可能受 Part 3 所指的問題影響。
在〈三星新版 firmware 已解決將 HK 視為 isChineseIso() 的問題〉中有 2 則留言
感謝headuck CHing keep住跟進呢件事,但由始至終Samsung都冇正面或者積極地回應,而係用冷處理嘅方式,令我有啲失望。點都好,有修正返起碼好過咩都唔做,亦都希望其他手機廠商唔好犯同樣嘅錯誤。
這事的重點在於三星背後有沒有刻意的取向,但不能因她冰冷的態度就斷然判斷,畢竟那可能真的是她自以為恰當的錯誤處理手法,源自於她內部的官僚或不認錯的文件。但要問的是: 這類程式碼有其需要性嗎???
如果用戶沒有指定DNS,那按系統默認設定,讓手機自動從當地電訊商取得DNS就可以了。若然因用戶設定了自己的DNS,以致進入大陸時上不了網,這也是用戶自己問題,三星不用理會。未知有沒有其他真實需要讓她引入這類程式碼?!