private int beginDmDataConnectivity() throws IOException { int result = mConnMgr.startUsingNetworkFeature( ConnectivityManager.TYPE_MOBILE, MTKPhone.FEATURE_ENABLE_DM); Log.i(TAG.Connection, "[dm-conn]->startUsingNetworkFeature: result=" + result); if (result == MTKPhone.APN_ALREADY_ACTIVE) { Log.i(TAG.Connection, "[dm-conn]->APN_ALREADY_ACTIVE"); ScreenLock.releaseWakeLock(mContext); ScreenLock.acquirePartialWakelock(mContext); ensureRouteToHost(); } else if (result == MTKPhone.APN_REQUEST_STARTED) { Log.i(TAG.Connection, "[dm-conn]->APN_REQUEST_STARTED, waiting for intent."); ScreenLock.releaseWakeLock(mContext); ScreenLock.acquirePartialWakelock(mContext); // mContext.registerReceiver(mConnectivityReceiver, new // IntentFilter( // ConnectivityManager.CONNECTIVITY_ACTION)); // mTelephonyManager=(TelephonyManager) // mContext.getSystemService(Service.TELEPHONY_SERVICE); } else if (result == MTKPhone.APN_REQUEST_FAILED) { Log.e(TAG.Connection, "[dm-conn]->APN_REQUEST_FAILED"); } else { throw new IOException("[dm-conn]:Cannot establish DM data connectivity"); } return result; }
private int beginDmDataConnectivityGemini(int simId) throws IOException { int result = MTKConnectivity.startUsingNetworkFeatureGemini( mConnMgr, ConnectivityManager.TYPE_MOBILE, MTKPhone.FEATURE_ENABLE_DM, simId); Log.i( TAG.Connection, "startDmDataConnectivityGemini: simId = " + simId + "\t result=" + result); if (result == MTKPhone.APN_ALREADY_ACTIVE) { Log.w(TAG.Connection, "The data connection is already exist, go ahead"); ScreenLock.releaseWakeLock(mContext); ScreenLock.acquirePartialWakelock(mContext); ensureRouteToHost(); } else if (result == MTKPhone.APN_REQUEST_STARTED) { Log.w( TAG.Connection, "The new data connection is started register and waiting for the intent"); ScreenLock.releaseWakeLock(mContext); ScreenLock.acquirePartialWakelock(mContext); // mContext.registerReceiver(mConnectivityReceiver, new // IntentFilter( // ConnectivityManager.CONNECTIVITY_ACTION)); // mContext.registerReceiver(mConnectivityReceiver, new // IntentFilter(DmConst.intentAction.NET_DETECT_TIMEOUT)); // mTelephonyManager=(TelephonyManager) // mContext.getSystemService(Service.TELEPHONY_SERVICE); } else if (result == MTKPhone.APN_REQUEST_FAILED) { Log.e(TAG.Connection, "startUsingnetworkfeature failed"); } else { throw new IOException("Cannot establish Dm Data connectivity"); } return result; }
public void stopDmDataConnectivity() { Assert.assertFalse( "stopDmDataConnectivity MUST NOT be called in direct internet conn.", Options.UseDirectInternet); Log.v(TAG.Connection, "stopDmDataConnectivity"); try { simId = DmCommomFun.getSimRegisterID(mContext); if (simId == -1) { Log.e(TAG.Connection, "Get Register SIM ID error in stop data connection"); return; } if (MTKOptions.MTK_GEMINI_SUPPORT == true) { // begin for connectity gemini endDmConnectivityGemini(simId); } else { endDmDataConnectivity(); } ScreenLock.releaseWakeLock(mContext); ScreenLock.enableKeyguard(mContext); } finally { Log.v(TAG.Connection, "stopUsingNetworkFeature end"); } }