L版本電信運營商默認關閉“移動數據連

L版本電信運營商默認關閉“移動數據連接”

frameworks/opt/telephony/src/java/com/mediatek/internal/telephony/dataconnection/DataSubSelector.java

— a/device/xx/xxx/ProjectConfig.mk
+++ b/device/xx/xxx/ProjectConfig.mk
@@ -257,7 +257,7 @@ MTK_DAL_SUPPORT = no
MTK_DATADIALOG_APP = no
MTK_DATA_TRANSFER_APP = yes
MTK_DEDICATEDAPN_SUPPORT = no
-MTK_DEFAULT_DATA_OFF = no
+MTK_DEFAULT_DATA_OFF = yes
MTK_DEINTERLACE_SUPPORT = no
MTK_DENA_MINIROSANGUO_APP = no
MTK_DENA_MOBAGE_APP = no
diff –git a/frameworks/opt/telephony/src/java/com/mediatek/internal/telephony/dataconnection/DataSubSelector.java b/
index 0827bd7..4338ac7 100755
— a/frameworks/opt/telephony/src/java/com/mediatek/internal/telephony/dataconnection/DataSubSelector.java
+++ b/frameworks/opt/telephony/src/java/com/mediatek/internal/telephony/dataconnection/DataSubSelector.java
@@ -726,7 +726,14 @@ public class DataSubSelector {
long subId = SubscriptionManager.getSubIdUsingPhoneId(phoneId);
int slotId = SubscriptionManager.getSlotId(subId);
log(“C1: Single SIM + New SIM: subId = ” + subId + “,slotId =” + slotId);
+ //jimbo add start for default data off
+ if(SystemProperties.get(“ro.mtk_default_data_off”).equals(“1”)){
+ setDataEnable(false);
+ }else
+ //jimbo add end
+ {
setDataEnable(true);
+ }
} else {
if (defaultIccid == null || “”.equals(defaultIccid)) {
//It happened from two SIMs without default SIM -> remove one SIM.
@@ -774,8 +781,15 @@ public class DataSubSelector {
if ((newSimStatus & 1) != 0) {
log(“C4: Multi SIM + All New SIM: sim 1 is new sim,” +
” set default data to sim 1 and enable data for OP09”);
- setDefaultData(PhoneConstants.SIM_ID_1);
+ setDefaultData(PhoneConstants.SIM_ID_1);
+ //jimbo add start for default data off
+ if(SystemProperties.get(“ro.mtk_default_data_off”).equals(“1”)){
+ setDataEnable(false);
+ }else
+ //jimbo add end
+ {
setDataEnable(true);
+ }
} else {
log(“C4: Multi SIM + All New SIM: sim 1 is not new sim,” +
” set default data to SIM1, keep data swtich”);
(END)

參考:MTK文檔- [FAQ13795]如何修改默認數據連接(Android L)
L上控制默認數據連接開關的位置在DataSubSelector.java中
(alps\frameworks\opt\telephony\src\java\com\mediatek\internal\telephony\dataconnection)
對於OM(Open Market),OP01,OP02(某些版本也會包含OP09),會有不同的smart switch機制
對於OM版本來說,smart switch機制實現主要在subSelectorForOm方法中
這裏面列舉了C0~C8九種不同的SIM卡狀態下sim switch的選擇,具體可參考註釋
舉例來說,對於開機是兩張新卡的情況下,要默認開啓數據連接的話,將如下的setDataEnable(false)改爲setDataEnable(true);

if (isAllNewSim) {
// Case 4: Multi SIM + All New SIM:
// 1. Default Data: Unset
// 2. Data Enable: OFF
// 3. 34G: Sub1
log(“C4: Multi SIM + All New SIM: Set 34G to sub1”);
if (setCapability(PhoneConstants.SIM_ID_1)) {
setDefaultData(SubscriptionManager.INVALID_PHONE_ID);
}
->setDataEnable(false);
} else {
PS:
setCapability()是設定3,4G能力在哪張卡上
setDefaultData()是設定數據連接在哪張卡上

發佈了37 篇原創文章 · 獲贊 22 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章