Loading src/java/com/android/internal/telephony/test/SimulatedCommands.java +48 −6 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.gsm.SuppServiceNotification; import java.util.ArrayList; import java.util.List; public class SimulatedCommands extends BaseCommands implements CommandsInterface, SimulatedRadioControl { Loading Loading @@ -85,6 +86,9 @@ public class SimulatedCommands extends BaseCommands String mPin2Code; boolean mSsnNotifyOn = false; int mVoiceRadioTech; private SignalStrength mSignalStrength; private List<CellInfo> mCellInfoList; private int[] mImsRegState; int mPausedResponseCount; ArrayList<Message> mPausedResponses = new ArrayList<Message>(); Loading Loading @@ -797,10 +801,15 @@ public class SimulatedCommands extends BaseCommands @Override public void getMute (Message result) {unimplemented(result);} public void setSignalStrength(SignalStrength signalStrength) { mSignalStrength = signalStrength; } @Override public void getSignalStrength (Message result) { SignalStrength ss = new SignalStrength( if (mSignalStrength == null) { mSignalStrength = new SignalStrength( 20, // gsmSignalStrength 0, // gsmBitErrorRate -1, // cdmaDbm Loading @@ -816,8 +825,9 @@ public class SimulatedCommands extends BaseCommands SignalStrength.INVALID, // tdScdmaRscp true // gsmFlag ); } resultSuccess(result, ss); resultSuccess(result, mSignalStrength); } /** Loading Loading @@ -1699,9 +1709,33 @@ public class SimulatedCommands extends BaseCommands resultSuccess(response, ret); } public void setCellInfoList(List<CellInfo> list) { mCellInfoList = list; } @Override public void getCellInfoList(Message response) { resultSuccess(response, SimulatedCommandsVerifier.getInstance().getCellInfoList()); if (mCellInfoList == null) { Parcel p = Parcel.obtain(); p.writeInt(1); p.writeInt(1); p.writeInt(2); p.writeLong(1453510289108L); p.writeInt(310); p.writeInt(260); p.writeInt(123); p.writeInt(456); p.writeInt(99); p.writeInt(3); p.setDataPosition(0); CellInfoGsm cellInfo = CellInfoGsm.CREATOR.createFromParcel(p); ArrayList<CellInfo> mCellInfoList = new ArrayList(); mCellInfoList.add(cellInfo); } resultSuccess(response, mCellInfoList); } @Override Loading @@ -1723,9 +1757,17 @@ public class SimulatedCommands extends BaseCommands public void setDataProfile(DataProfile[] dps, Message result) { } public void setImsRegistrationState(int[] regState) { mImsRegState = regState; } @Override public void getImsRegistrationState(Message response) { unimplemented(response); if (mImsRegState == null) { mImsRegState = new int[]{1}; } resultSuccess(response, mImsRegState); } @Override Loading src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java +0 −7 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.internal.telephony.test; import android.os.Handler; import android.os.Message; import android.telephony.CellInfo; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.RadioCapability; Loading @@ -27,8 +26,6 @@ import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import java.util.List; public class SimulatedCommandsVerifier implements CommandsInterface { private static SimulatedCommandsVerifier sInstance; Loading Loading @@ -1205,10 +1202,6 @@ public class SimulatedCommandsVerifier implements CommandsInterface { } public List<CellInfo> getCellInfoList() { return null; } @Override public void setCellInfoListRate(int rateInMillis, Message response) { Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +56 −13 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; Loading @@ -34,7 +35,6 @@ import android.util.SparseArray; import com.android.internal.telephony.dataconnection.DcTracker; import com.android.internal.telephony.test.SimulatedCommands; import com.android.internal.telephony.test.SimulatedCommandsVerifier; import com.android.internal.telephony.uicc.IccCardApplicationStatus; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.UiccCardApplication; Loading @@ -42,7 +42,14 @@ import com.android.internal.telephony.uicc.UiccController; import static com.android.internal.telephony.TelephonyTestUtils.waitForMs; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import org.junit.After; import org.junit.Before; Loading @@ -54,7 +61,6 @@ import org.mockito.MockitoAnnotations; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class ServiceStateTrackerTest { private static final String TAG = "ServiceStateTrackerTest"; Loading Loading @@ -84,8 +90,6 @@ public class ServiceStateTrackerTest { HashMap<String, IBinder> mServiceCache; @Mock IBinder mBinder; @Mock SimulatedCommandsVerifier mSimulatedCommandsVerifier; private SimulatedCommands mSimulatedCommands; private ContextFixture mContextFixture; Loading Loading @@ -164,10 +168,6 @@ public class ServiceStateTrackerTest { field.setAccessible(true); field.set(null, mProxyController); field = SimulatedCommandsVerifier.class.getDeclaredField("sInstance"); field.setAccessible(true); field.set(null, mSimulatedCommandsVerifier); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, new String[]{"123456"}); Loading Loading @@ -263,8 +263,6 @@ public class ServiceStateTrackerTest { @Test @SmallTest public void testCellInfoList() { waitForMs(100); Parcel p = Parcel.obtain(); p.writeInt(1); p.writeInt(1); Loading @@ -282,12 +280,57 @@ public class ServiceStateTrackerTest { ArrayList<CellInfo> list = new ArrayList(); list.add(cellInfo); doReturn(list).when(mSimulatedCommandsVerifier).getCellInfoList(); mSimulatedCommands.setCellInfoList(list); assertEquals(sst.getAllCellInfo(), list); } @Test @SmallTest public void testImsRegState() { // Simulate IMS registered mSimulatedCommands.setImsRegistrationState(new int[]{1}); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_IMS_STATE_CHANGED, null)); waitForMs(200); assertTrue(sst.isImsRegistered()); // Simulate IMS unregistered mSimulatedCommands.setImsRegistrationState(new int[]{0}); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_IMS_STATE_CHANGED, null)); waitForMs(200); assertFalse(sst.isImsRegistered()); } @Test @SmallTest public void testSignalStrength() { SignalStrength ss = new SignalStrength( 30, // gsmSignalStrength 0, // gsmBitErrorRate -1, // cdmaDbm -1, // cdmaEcio -1, // evdoDbm -1, // evdoEcio -1, // evdoSnr 99, // lteSignalStrength SignalStrength.INVALID, // lteRsrp SignalStrength.INVALID, // lteRsrq SignalStrength.INVALID, // lteRssnr SignalStrength.INVALID, // lteCqi SignalStrength.INVALID, // tdScdmaRscp true // gsmFlag ); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_SIGNAL_STRENGTH_UPDATE, new AsyncResult(null, ss, null))); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); } private static void logd(String s) { Log.d(TAG, s); } Loading Loading
src/java/com/android/internal/telephony/test/SimulatedCommands.java +48 −6 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.gsm.SuppServiceNotification; import java.util.ArrayList; import java.util.List; public class SimulatedCommands extends BaseCommands implements CommandsInterface, SimulatedRadioControl { Loading Loading @@ -85,6 +86,9 @@ public class SimulatedCommands extends BaseCommands String mPin2Code; boolean mSsnNotifyOn = false; int mVoiceRadioTech; private SignalStrength mSignalStrength; private List<CellInfo> mCellInfoList; private int[] mImsRegState; int mPausedResponseCount; ArrayList<Message> mPausedResponses = new ArrayList<Message>(); Loading Loading @@ -797,10 +801,15 @@ public class SimulatedCommands extends BaseCommands @Override public void getMute (Message result) {unimplemented(result);} public void setSignalStrength(SignalStrength signalStrength) { mSignalStrength = signalStrength; } @Override public void getSignalStrength (Message result) { SignalStrength ss = new SignalStrength( if (mSignalStrength == null) { mSignalStrength = new SignalStrength( 20, // gsmSignalStrength 0, // gsmBitErrorRate -1, // cdmaDbm Loading @@ -816,8 +825,9 @@ public class SimulatedCommands extends BaseCommands SignalStrength.INVALID, // tdScdmaRscp true // gsmFlag ); } resultSuccess(result, ss); resultSuccess(result, mSignalStrength); } /** Loading Loading @@ -1699,9 +1709,33 @@ public class SimulatedCommands extends BaseCommands resultSuccess(response, ret); } public void setCellInfoList(List<CellInfo> list) { mCellInfoList = list; } @Override public void getCellInfoList(Message response) { resultSuccess(response, SimulatedCommandsVerifier.getInstance().getCellInfoList()); if (mCellInfoList == null) { Parcel p = Parcel.obtain(); p.writeInt(1); p.writeInt(1); p.writeInt(2); p.writeLong(1453510289108L); p.writeInt(310); p.writeInt(260); p.writeInt(123); p.writeInt(456); p.writeInt(99); p.writeInt(3); p.setDataPosition(0); CellInfoGsm cellInfo = CellInfoGsm.CREATOR.createFromParcel(p); ArrayList<CellInfo> mCellInfoList = new ArrayList(); mCellInfoList.add(cellInfo); } resultSuccess(response, mCellInfoList); } @Override Loading @@ -1723,9 +1757,17 @@ public class SimulatedCommands extends BaseCommands public void setDataProfile(DataProfile[] dps, Message result) { } public void setImsRegistrationState(int[] regState) { mImsRegState = regState; } @Override public void getImsRegistrationState(Message response) { unimplemented(response); if (mImsRegState == null) { mImsRegState = new int[]{1}; } resultSuccess(response, mImsRegState); } @Override Loading
src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java +0 −7 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.internal.telephony.test; import android.os.Handler; import android.os.Message; import android.telephony.CellInfo; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.RadioCapability; Loading @@ -27,8 +26,6 @@ import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import java.util.List; public class SimulatedCommandsVerifier implements CommandsInterface { private static SimulatedCommandsVerifier sInstance; Loading Loading @@ -1205,10 +1202,6 @@ public class SimulatedCommandsVerifier implements CommandsInterface { } public List<CellInfo> getCellInfoList() { return null; } @Override public void setCellInfoListRate(int rateInMillis, Message response) { Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +56 −13 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; Loading @@ -34,7 +35,6 @@ import android.util.SparseArray; import com.android.internal.telephony.dataconnection.DcTracker; import com.android.internal.telephony.test.SimulatedCommands; import com.android.internal.telephony.test.SimulatedCommandsVerifier; import com.android.internal.telephony.uicc.IccCardApplicationStatus; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.UiccCardApplication; Loading @@ -42,7 +42,14 @@ import com.android.internal.telephony.uicc.UiccController; import static com.android.internal.telephony.TelephonyTestUtils.waitForMs; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import org.junit.After; import org.junit.Before; Loading @@ -54,7 +61,6 @@ import org.mockito.MockitoAnnotations; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class ServiceStateTrackerTest { private static final String TAG = "ServiceStateTrackerTest"; Loading Loading @@ -84,8 +90,6 @@ public class ServiceStateTrackerTest { HashMap<String, IBinder> mServiceCache; @Mock IBinder mBinder; @Mock SimulatedCommandsVerifier mSimulatedCommandsVerifier; private SimulatedCommands mSimulatedCommands; private ContextFixture mContextFixture; Loading Loading @@ -164,10 +168,6 @@ public class ServiceStateTrackerTest { field.setAccessible(true); field.set(null, mProxyController); field = SimulatedCommandsVerifier.class.getDeclaredField("sInstance"); field.setAccessible(true); field.set(null, mSimulatedCommandsVerifier); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, new String[]{"123456"}); Loading Loading @@ -263,8 +263,6 @@ public class ServiceStateTrackerTest { @Test @SmallTest public void testCellInfoList() { waitForMs(100); Parcel p = Parcel.obtain(); p.writeInt(1); p.writeInt(1); Loading @@ -282,12 +280,57 @@ public class ServiceStateTrackerTest { ArrayList<CellInfo> list = new ArrayList(); list.add(cellInfo); doReturn(list).when(mSimulatedCommandsVerifier).getCellInfoList(); mSimulatedCommands.setCellInfoList(list); assertEquals(sst.getAllCellInfo(), list); } @Test @SmallTest public void testImsRegState() { // Simulate IMS registered mSimulatedCommands.setImsRegistrationState(new int[]{1}); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_IMS_STATE_CHANGED, null)); waitForMs(200); assertTrue(sst.isImsRegistered()); // Simulate IMS unregistered mSimulatedCommands.setImsRegistrationState(new int[]{0}); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_IMS_STATE_CHANGED, null)); waitForMs(200); assertFalse(sst.isImsRegistered()); } @Test @SmallTest public void testSignalStrength() { SignalStrength ss = new SignalStrength( 30, // gsmSignalStrength 0, // gsmBitErrorRate -1, // cdmaDbm -1, // cdmaEcio -1, // evdoDbm -1, // evdoEcio -1, // evdoSnr 99, // lteSignalStrength SignalStrength.INVALID, // lteRsrp SignalStrength.INVALID, // lteRsrq SignalStrength.INVALID, // lteRssnr SignalStrength.INVALID, // lteCqi SignalStrength.INVALID, // tdScdmaRscp true // gsmFlag ); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_SIGNAL_STRENGTH_UPDATE, new AsyncResult(null, ss, null))); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); } private static void logd(String s) { Log.d(TAG, s); } Loading