Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -2633,7 +2633,7 @@ public class ServiceStateTracker extends Handler { } if (hasRilDataRadioTechnologyChanged) { tm.setDataNetworkTypeForPhone(mPhone.getPhoneId(), mSS.getRilVoiceRadioTechnology()); tm.setDataNetworkTypeForPhone(mPhone.getPhoneId(), mSS.getRilDataRadioTechnology()); if (ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN == mSS.getRilDataRadioTechnology()) { Loading src/java/com/android/internal/telephony/test/SimulatedCommands.java +28 −43 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.Parcel; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import com.android.internal.telephony.BaseCommands; Loading Loading @@ -86,7 +87,10 @@ public class SimulatedCommands extends BaseCommands int mNetworkType; String mPin2Code; boolean mSsnNotifyOn = false; int mVoiceRadioTech; private int mVoiceRegState = ServiceState.RIL_REG_STATE_HOME; private int mVoiceRadioTech = ServiceState.RIL_RADIO_TECHNOLOGY_UMTS; private int mDataRegState = ServiceState.RIL_REG_STATE_HOME; private int mDataRadioTech = ServiceState.RIL_RADIO_TECHNOLOGY_UMTS; private SignalStrength mSignalStrength; private List<CellInfo> mCellInfoList; private int[] mImsRegState; Loading Loading @@ -897,6 +901,14 @@ public class SimulatedCommands extends BaseCommands resultSuccess(response, null); } public void setVoiceRadioTech(int voiceRadioTech) { mVoiceRadioTech = voiceRadioTech; } public void setVoiceRegState(int voiceRegState) { mVoiceRegState = voiceRegState; } /** * response.obj.result is an String[14] * See ril.h for details Loading @@ -908,49 +920,26 @@ public class SimulatedCommands extends BaseCommands public void getVoiceRegistrationState(Message result) { String ret[] = new String[14]; ret[0] = "5"; // registered roam ret[1] = null; ret[2] = null; ret[3] = null; ret[4] = null; ret[5] = null; ret[6] = null; ret[7] = null; ret[8] = null; ret[9] = null; ret[10] = null; ret[11] = null; ret[12] = null; ret[13] = null; ret[0] = Integer.toString(mVoiceRegState); ret[3] = Integer.toString(mVoiceRadioTech); resultSuccess(result, ret); } /** * response.obj.result is an String[4] * response.obj.result[0] is registration state 0-5 from TS 27.007 7.2 * response.obj.result[1] is LAC if registered or NULL if not * response.obj.result[2] is CID if registered or NULL if not * response.obj.result[3] indicates the available radio technology, where: * 0 == unknown * 1 == GPRS only * 2 == EDGE * 3 == UMTS * * valid LAC are 0x0000 - 0xffff * valid CID are 0x00000000 - 0xffffffff * * Please note that registration state 4 ("unknown") is treated * as "out of service" in the Android telephony system */ public void setDataRadioTech(int radioTech) { mDataRadioTech = radioTech; } public void setDataRegState(int dataRegState) { mDataRegState = dataRegState; } @Override public void getDataRegistrationState (Message result) { String ret[] = new String[4]; String ret[] = new String[11]; ret[0] = "5"; // registered roam ret[1] = null; ret[2] = null; ret[3] = "2"; ret[0] = Integer.toString(mDataRegState); ret[3] = Integer.toString(mDataRadioTech); resultSuccess(result, ret); } Loading Loading @@ -1849,10 +1838,6 @@ public class SimulatedCommands extends BaseCommands unimplemented(result); } public void setVoiceRadioTech(int voiceRadioTech) { mVoiceRadioTech = voiceRadioTech; } public void notifySmsStatus(Object result) { if (mSmsStatusRegistrant != null) { mSmsStatusRegistrant.notifyRegistrant(new AsyncResult(null, result, null)); Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony; import android.content.Context; import android.content.Intent; import android.os.AsyncResult; import android.os.Bundle; Loading @@ -26,8 +27,10 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.gsm.GsmCellLocation; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; Loading Loading @@ -95,6 +98,7 @@ public class ServiceStateTrackerTest { private SimulatedCommands mSimulatedCommands; private ContextFixture mContextFixture; private ServiceStateTracker sst; private TelephonyManager mTelephonyManager; private Object mLock = new Object(); private boolean mReady = false; Loading Loading @@ -140,6 +144,8 @@ public class ServiceStateTrackerTest { anyInt(), eq(UiccController.APP_FAM_3GPP)); doReturn(mSimRecords).when(m3GPPUiccApp).getIccRecords(); mPhone.mDcTracker = mDct; mTelephonyManager = (TelephonyManager) mContextFixture.getTestDouble(). getSystemService(Context.TELEPHONY_SERVICE); //Use reflection to mock singleton Field field = SubscriptionController.class.getDeclaredField("sInstance"); Loading Loading @@ -177,6 +183,11 @@ public class ServiceStateTrackerTest { com.android.internal.R.array.config_operatorConsideredNonRoaming, new String[]{"123456"}); mSimulatedCommands.setVoiceRegState(ServiceState.RIL_REG_STATE_HOME); mSimulatedCommands.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); mSimulatedCommands.setDataRegState(ServiceState.RIL_REG_STATE_HOME); mSimulatedCommands.setDataRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); int dds = SubscriptionManager.getDefaultDataSubscriptionId(); doReturn(dds).when(mPhone).getSubId(); Loading Loading @@ -234,6 +245,11 @@ public class ServiceStateTrackerTest { assertTrue(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)); assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN)); ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class); verify(mTelephonyManager).setDataNetworkTypeForPhone(anyInt(), intArgumentCaptor.capture()); assertEquals(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA, intArgumentCaptor.getValue().intValue()); } @Test Loading Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -2633,7 +2633,7 @@ public class ServiceStateTracker extends Handler { } if (hasRilDataRadioTechnologyChanged) { tm.setDataNetworkTypeForPhone(mPhone.getPhoneId(), mSS.getRilVoiceRadioTechnology()); tm.setDataNetworkTypeForPhone(mPhone.getPhoneId(), mSS.getRilDataRadioTechnology()); if (ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN == mSS.getRilDataRadioTechnology()) { Loading
src/java/com/android/internal/telephony/test/SimulatedCommands.java +28 −43 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.Parcel; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import com.android.internal.telephony.BaseCommands; Loading Loading @@ -86,7 +87,10 @@ public class SimulatedCommands extends BaseCommands int mNetworkType; String mPin2Code; boolean mSsnNotifyOn = false; int mVoiceRadioTech; private int mVoiceRegState = ServiceState.RIL_REG_STATE_HOME; private int mVoiceRadioTech = ServiceState.RIL_RADIO_TECHNOLOGY_UMTS; private int mDataRegState = ServiceState.RIL_REG_STATE_HOME; private int mDataRadioTech = ServiceState.RIL_RADIO_TECHNOLOGY_UMTS; private SignalStrength mSignalStrength; private List<CellInfo> mCellInfoList; private int[] mImsRegState; Loading Loading @@ -897,6 +901,14 @@ public class SimulatedCommands extends BaseCommands resultSuccess(response, null); } public void setVoiceRadioTech(int voiceRadioTech) { mVoiceRadioTech = voiceRadioTech; } public void setVoiceRegState(int voiceRegState) { mVoiceRegState = voiceRegState; } /** * response.obj.result is an String[14] * See ril.h for details Loading @@ -908,49 +920,26 @@ public class SimulatedCommands extends BaseCommands public void getVoiceRegistrationState(Message result) { String ret[] = new String[14]; ret[0] = "5"; // registered roam ret[1] = null; ret[2] = null; ret[3] = null; ret[4] = null; ret[5] = null; ret[6] = null; ret[7] = null; ret[8] = null; ret[9] = null; ret[10] = null; ret[11] = null; ret[12] = null; ret[13] = null; ret[0] = Integer.toString(mVoiceRegState); ret[3] = Integer.toString(mVoiceRadioTech); resultSuccess(result, ret); } /** * response.obj.result is an String[4] * response.obj.result[0] is registration state 0-5 from TS 27.007 7.2 * response.obj.result[1] is LAC if registered or NULL if not * response.obj.result[2] is CID if registered or NULL if not * response.obj.result[3] indicates the available radio technology, where: * 0 == unknown * 1 == GPRS only * 2 == EDGE * 3 == UMTS * * valid LAC are 0x0000 - 0xffff * valid CID are 0x00000000 - 0xffffffff * * Please note that registration state 4 ("unknown") is treated * as "out of service" in the Android telephony system */ public void setDataRadioTech(int radioTech) { mDataRadioTech = radioTech; } public void setDataRegState(int dataRegState) { mDataRegState = dataRegState; } @Override public void getDataRegistrationState (Message result) { String ret[] = new String[4]; String ret[] = new String[11]; ret[0] = "5"; // registered roam ret[1] = null; ret[2] = null; ret[3] = "2"; ret[0] = Integer.toString(mDataRegState); ret[3] = Integer.toString(mDataRadioTech); resultSuccess(result, ret); } Loading Loading @@ -1849,10 +1838,6 @@ public class SimulatedCommands extends BaseCommands unimplemented(result); } public void setVoiceRadioTech(int voiceRadioTech) { mVoiceRadioTech = voiceRadioTech; } public void notifySmsStatus(Object result) { if (mSmsStatusRegistrant != null) { mSmsStatusRegistrant.notifyRegistrant(new AsyncResult(null, result, null)); Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony; import android.content.Context; import android.content.Intent; import android.os.AsyncResult; import android.os.Bundle; Loading @@ -26,8 +27,10 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.gsm.GsmCellLocation; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; Loading Loading @@ -95,6 +98,7 @@ public class ServiceStateTrackerTest { private SimulatedCommands mSimulatedCommands; private ContextFixture mContextFixture; private ServiceStateTracker sst; private TelephonyManager mTelephonyManager; private Object mLock = new Object(); private boolean mReady = false; Loading Loading @@ -140,6 +144,8 @@ public class ServiceStateTrackerTest { anyInt(), eq(UiccController.APP_FAM_3GPP)); doReturn(mSimRecords).when(m3GPPUiccApp).getIccRecords(); mPhone.mDcTracker = mDct; mTelephonyManager = (TelephonyManager) mContextFixture.getTestDouble(). getSystemService(Context.TELEPHONY_SERVICE); //Use reflection to mock singleton Field field = SubscriptionController.class.getDeclaredField("sInstance"); Loading Loading @@ -177,6 +183,11 @@ public class ServiceStateTrackerTest { com.android.internal.R.array.config_operatorConsideredNonRoaming, new String[]{"123456"}); mSimulatedCommands.setVoiceRegState(ServiceState.RIL_REG_STATE_HOME); mSimulatedCommands.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); mSimulatedCommands.setDataRegState(ServiceState.RIL_REG_STATE_HOME); mSimulatedCommands.setDataRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); int dds = SubscriptionManager.getDefaultDataSubscriptionId(); doReturn(dds).when(mPhone).getSubId(); Loading Loading @@ -234,6 +245,11 @@ public class ServiceStateTrackerTest { assertTrue(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)); assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN)); ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class); verify(mTelephonyManager).setDataNetworkTypeForPhone(anyInt(), intArgumentCaptor.capture()); assertEquals(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA, intArgumentCaptor.getValue().intValue()); } @Test Loading