Loading src/java/com/android/internal/telephony/test/SimulatedCommands.java +9 −1 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,9 @@ import android.os.AsyncResult; import android.os.HandlerThread; import android.os.HandlerThread; import android.os.Looper; import android.os.Looper; import android.os.Message; import android.os.Message; import android.os.Parcel; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.Rlog; import android.telephony.Rlog; import android.telephony.SignalStrength; import android.telephony.SignalStrength; Loading Loading @@ -1697,7 +1700,12 @@ public class SimulatedCommands extends BaseCommands @Override @Override public void getCellInfoList(Message response) { public void getCellInfoList(Message response) { unimplemented(response); resultSuccess(response, SimulatedCommandsVerifier.getInstance().getCellInfoList()); } @Override public int getRilVersion() { return 11; } } @Override @Override Loading src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java +7 −0 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.telephony.test; import android.os.Handler; import android.os.Handler; import android.os.Message; import android.os.Message; import android.telephony.CellInfo; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.RadioCapability; Loading @@ -26,6 +27,8 @@ import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import java.util.List; public class SimulatedCommandsVerifier implements CommandsInterface { public class SimulatedCommandsVerifier implements CommandsInterface { private static SimulatedCommandsVerifier sInstance; private static SimulatedCommandsVerifier sInstance; Loading Loading @@ -1202,6 +1205,10 @@ public class SimulatedCommandsVerifier implements CommandsInterface { } } public List<CellInfo> getCellInfoList() { return null; } @Override @Override public void setCellInfoListRate(int rateInMillis, Message response) { public void setCellInfoListRate(int rateInMillis, Message response) { Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +48 −8 Original line number Original line Diff line number Diff line Loading @@ -22,8 +22,11 @@ import android.os.AsyncResult; import android.os.Bundle; import android.os.Bundle; import android.os.HandlerThread; import android.os.HandlerThread; import android.os.IBinder; import android.os.IBinder; import android.os.Parcel; import android.os.ServiceManager; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; import android.util.Log; Loading @@ -31,6 +34,7 @@ import android.util.SparseArray; import com.android.internal.telephony.dataconnection.DcTracker; import com.android.internal.telephony.dataconnection.DcTracker; import com.android.internal.telephony.test.SimulatedCommands; 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.IccCardApplicationStatus; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.UiccCardApplication; import com.android.internal.telephony.uicc.UiccCardApplication; Loading @@ -48,7 +52,9 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations; import java.lang.reflect.Field; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.HashMap; import java.util.List; public class ServiceStateTrackerTest { public class ServiceStateTrackerTest { private static final String TAG = "ServiceStateTrackerTest"; private static final String TAG = "ServiceStateTrackerTest"; Loading Loading @@ -78,8 +84,10 @@ public class ServiceStateTrackerTest { HashMap<String, IBinder> mServiceCache; HashMap<String, IBinder> mServiceCache; @Mock @Mock IBinder mBinder; IBinder mBinder; @Mock SimulatedCommandsVerifier mSimulatedCommandsVerifier; private SimulatedCommands simulatedCommands; private SimulatedCommands mSimulatedCommands; private ContextFixture mContextFixture; private ContextFixture mContextFixture; private ServiceStateTracker sst; private ServiceStateTracker sst; Loading @@ -94,7 +102,7 @@ public class ServiceStateTrackerTest { @Override @Override public void onLooperPrepared() { public void onLooperPrepared() { sst = new ServiceStateTracker(mPhone, simulatedCommands); sst = new ServiceStateTracker(mPhone, mSimulatedCommands); synchronized (mLock) { synchronized (mLock) { mReady = true; mReady = true; } } Loading @@ -117,7 +125,7 @@ public class ServiceStateTrackerTest { logd("ServiceStateTrackerTest +Setup!"); logd("ServiceStateTrackerTest +Setup!"); MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this); mContextFixture = new ContextFixture(); mContextFixture = new ContextFixture(); simulatedCommands = new SimulatedCommands(); mSimulatedCommands = new SimulatedCommands(); doReturn(mContextFixture.getTestDouble()).when(mPhone).getContext(); doReturn(mContextFixture.getTestDouble()).when(mPhone).getContext(); doReturn(true).when(mPhone).getUnitTestMode(); doReturn(true).when(mPhone).getUnitTestMode(); Loading Loading @@ -156,6 +164,10 @@ public class ServiceStateTrackerTest { field.setAccessible(true); field.setAccessible(true); field.set(null, mProxyController); field.set(null, mProxyController); field = SimulatedCommandsVerifier.class.getDeclaredField("sInstance"); field.setAccessible(true); field.set(null, mSimulatedCommandsVerifier); mContextFixture.putStringArrayResource( mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, new String[]{"123456"}); new String[]{"123456"}); Loading @@ -182,10 +194,10 @@ public class ServiceStateTrackerTest { public void testSetRadioPower() { public void testSetRadioPower() { waitUntilReady(); waitUntilReady(); boolean oldState = simulatedCommands.getRadioState().isOn(); boolean oldState = mSimulatedCommands.getRadioState().isOn(); sst.setRadioPower(!oldState); sst.setRadioPower(!oldState); waitForMs(100); waitForMs(100); assertTrue(oldState != simulatedCommands.getRadioState().isOn()); assertTrue(oldState != mSimulatedCommands.getRadioState().isOn()); } } @Test @Test Loading @@ -198,7 +210,7 @@ public class ServiceStateTrackerTest { sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_NETWORK_STATE_CHANGED, null)); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_NETWORK_STATE_CHANGED, null)); waitForMs(100); waitForMs(500); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); verify(mContextFixture.getTestDouble(), times(1)). verify(mContextFixture.getTestDouble(), times(1)). Loading @@ -225,7 +237,6 @@ public class ServiceStateTrackerTest { assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN)); assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN)); } } @Test @Test @SmallTest @SmallTest public void testNITZupdate() { public void testNITZupdate() { Loading @@ -237,7 +248,7 @@ public class ServiceStateTrackerTest { new AsyncResult(null, new AsyncResult(null, new Object[]{"16/01/22,23:24:44-32,00", Long.valueOf(41824)}, null))); new Object[]{"16/01/22,23:24:44-32,00", Long.valueOf(41824)}, null))); waitForMs(100); waitForMs(500); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); verify(mContextFixture.getTestDouble(), atLeast(1)). verify(mContextFixture.getTestDouble(), atLeast(1)). Loading @@ -254,6 +265,35 @@ public class ServiceStateTrackerTest { assertTrue(receivedExpectedIntent); assertTrue(receivedExpectedIntent); } } @Test @SmallTest public void testCellInfoList() { waitUntilReady(); waitForMs(100); 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> list = new ArrayList(); list.add(cellInfo); doReturn(list).when(mSimulatedCommandsVerifier).getCellInfoList(); assertEquals(sst.getAllCellInfo(), list); } private static void logd(String s) { private static void logd(String s) { Log.d(TAG, s); Log.d(TAG, s); } } Loading Loading
src/java/com/android/internal/telephony/test/SimulatedCommands.java +9 −1 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,9 @@ import android.os.AsyncResult; import android.os.HandlerThread; import android.os.HandlerThread; import android.os.Looper; import android.os.Looper; import android.os.Message; import android.os.Message; import android.os.Parcel; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.Rlog; import android.telephony.Rlog; import android.telephony.SignalStrength; import android.telephony.SignalStrength; Loading Loading @@ -1697,7 +1700,12 @@ public class SimulatedCommands extends BaseCommands @Override @Override public void getCellInfoList(Message response) { public void getCellInfoList(Message response) { unimplemented(response); resultSuccess(response, SimulatedCommandsVerifier.getInstance().getCellInfoList()); } @Override public int getRilVersion() { return 11; } } @Override @Override Loading
src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java +7 −0 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.telephony.test; import android.os.Handler; import android.os.Handler; import android.os.Message; import android.os.Message; import android.telephony.CellInfo; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.CommandsInterface; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.RadioCapability; Loading @@ -26,6 +27,8 @@ import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import java.util.List; public class SimulatedCommandsVerifier implements CommandsInterface { public class SimulatedCommandsVerifier implements CommandsInterface { private static SimulatedCommandsVerifier sInstance; private static SimulatedCommandsVerifier sInstance; Loading Loading @@ -1202,6 +1205,10 @@ public class SimulatedCommandsVerifier implements CommandsInterface { } } public List<CellInfo> getCellInfoList() { return null; } @Override @Override public void setCellInfoListRate(int rateInMillis, Message response) { public void setCellInfoListRate(int rateInMillis, Message response) { Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +48 −8 Original line number Original line Diff line number Diff line Loading @@ -22,8 +22,11 @@ import android.os.AsyncResult; import android.os.Bundle; import android.os.Bundle; import android.os.HandlerThread; import android.os.HandlerThread; import android.os.IBinder; import android.os.IBinder; import android.os.Parcel; import android.os.ServiceManager; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; import android.util.Log; Loading @@ -31,6 +34,7 @@ import android.util.SparseArray; import com.android.internal.telephony.dataconnection.DcTracker; import com.android.internal.telephony.dataconnection.DcTracker; import com.android.internal.telephony.test.SimulatedCommands; 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.IccCardApplicationStatus; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.UiccCardApplication; import com.android.internal.telephony.uicc.UiccCardApplication; Loading @@ -48,7 +52,9 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations; import java.lang.reflect.Field; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.HashMap; import java.util.List; public class ServiceStateTrackerTest { public class ServiceStateTrackerTest { private static final String TAG = "ServiceStateTrackerTest"; private static final String TAG = "ServiceStateTrackerTest"; Loading Loading @@ -78,8 +84,10 @@ public class ServiceStateTrackerTest { HashMap<String, IBinder> mServiceCache; HashMap<String, IBinder> mServiceCache; @Mock @Mock IBinder mBinder; IBinder mBinder; @Mock SimulatedCommandsVerifier mSimulatedCommandsVerifier; private SimulatedCommands simulatedCommands; private SimulatedCommands mSimulatedCommands; private ContextFixture mContextFixture; private ContextFixture mContextFixture; private ServiceStateTracker sst; private ServiceStateTracker sst; Loading @@ -94,7 +102,7 @@ public class ServiceStateTrackerTest { @Override @Override public void onLooperPrepared() { public void onLooperPrepared() { sst = new ServiceStateTracker(mPhone, simulatedCommands); sst = new ServiceStateTracker(mPhone, mSimulatedCommands); synchronized (mLock) { synchronized (mLock) { mReady = true; mReady = true; } } Loading @@ -117,7 +125,7 @@ public class ServiceStateTrackerTest { logd("ServiceStateTrackerTest +Setup!"); logd("ServiceStateTrackerTest +Setup!"); MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this); mContextFixture = new ContextFixture(); mContextFixture = new ContextFixture(); simulatedCommands = new SimulatedCommands(); mSimulatedCommands = new SimulatedCommands(); doReturn(mContextFixture.getTestDouble()).when(mPhone).getContext(); doReturn(mContextFixture.getTestDouble()).when(mPhone).getContext(); doReturn(true).when(mPhone).getUnitTestMode(); doReturn(true).when(mPhone).getUnitTestMode(); Loading Loading @@ -156,6 +164,10 @@ public class ServiceStateTrackerTest { field.setAccessible(true); field.setAccessible(true); field.set(null, mProxyController); field.set(null, mProxyController); field = SimulatedCommandsVerifier.class.getDeclaredField("sInstance"); field.setAccessible(true); field.set(null, mSimulatedCommandsVerifier); mContextFixture.putStringArrayResource( mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, new String[]{"123456"}); new String[]{"123456"}); Loading @@ -182,10 +194,10 @@ public class ServiceStateTrackerTest { public void testSetRadioPower() { public void testSetRadioPower() { waitUntilReady(); waitUntilReady(); boolean oldState = simulatedCommands.getRadioState().isOn(); boolean oldState = mSimulatedCommands.getRadioState().isOn(); sst.setRadioPower(!oldState); sst.setRadioPower(!oldState); waitForMs(100); waitForMs(100); assertTrue(oldState != simulatedCommands.getRadioState().isOn()); assertTrue(oldState != mSimulatedCommands.getRadioState().isOn()); } } @Test @Test Loading @@ -198,7 +210,7 @@ public class ServiceStateTrackerTest { sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_NETWORK_STATE_CHANGED, null)); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_NETWORK_STATE_CHANGED, null)); waitForMs(100); waitForMs(500); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); verify(mContextFixture.getTestDouble(), times(1)). verify(mContextFixture.getTestDouble(), times(1)). Loading @@ -225,7 +237,6 @@ public class ServiceStateTrackerTest { assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN)); assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN)); } } @Test @Test @SmallTest @SmallTest public void testNITZupdate() { public void testNITZupdate() { Loading @@ -237,7 +248,7 @@ public class ServiceStateTrackerTest { new AsyncResult(null, new AsyncResult(null, new Object[]{"16/01/22,23:24:44-32,00", Long.valueOf(41824)}, null))); new Object[]{"16/01/22,23:24:44-32,00", Long.valueOf(41824)}, null))); waitForMs(100); waitForMs(500); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); verify(mContextFixture.getTestDouble(), atLeast(1)). verify(mContextFixture.getTestDouble(), atLeast(1)). Loading @@ -254,6 +265,35 @@ public class ServiceStateTrackerTest { assertTrue(receivedExpectedIntent); assertTrue(receivedExpectedIntent); } } @Test @SmallTest public void testCellInfoList() { waitUntilReady(); waitForMs(100); 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> list = new ArrayList(); list.add(cellInfo); doReturn(list).when(mSimulatedCommandsVerifier).getCellInfoList(); assertEquals(sst.getAllCellInfo(), list); } private static void logd(String s) { private static void logd(String s) { Log.d(TAG, s); Log.d(TAG, s); } } Loading