Avoid crashing when no nanoapp preploaded
Test: unit test Fix: 270556677 Change-Id: I9e139e8e35cb2c25b4900fbbdb0e6483e71579a3
This commit is contained in:
@@ -1207,7 +1207,7 @@ public class ContextHubService extends IContextHubService.Stub {
|
||||
pw.println("");
|
||||
pw.println("=================== NANOAPPS ====================");
|
||||
// Dump nanoAppHash
|
||||
mNanoAppStateManager.foreachNanoAppInstanceInfo((info) -> pw.println(info));
|
||||
mNanoAppStateManager.foreachNanoAppInstanceInfo(pw::println);
|
||||
|
||||
pw.println("");
|
||||
pw.println("=================== PRELOADED NANOAPPS ====================");
|
||||
@@ -1255,16 +1255,17 @@ public class ContextHubService extends IContextHubService.Stub {
|
||||
proto.flush();
|
||||
}
|
||||
|
||||
/**
|
||||
* Dumps preloaded nanoapps to the console
|
||||
*/
|
||||
/** Dumps preloaded nanoapps to the console */
|
||||
private void dumpPreloadedNanoapps(PrintWriter pw) {
|
||||
if (mContextHubWrapper == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
long[] preloadedNanoappIds = mContextHubWrapper.getPreloadedNanoappIds();
|
||||
for (long preloadedNanoappId: preloadedNanoappIds) {
|
||||
if (preloadedNanoappIds == null) {
|
||||
return;
|
||||
}
|
||||
for (long preloadedNanoappId : preloadedNanoappIds) {
|
||||
pw.print("ID: 0x");
|
||||
pw.println(Long.toHexString(preloadedNanoappId));
|
||||
}
|
||||
|
||||
@@ -40,6 +40,9 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -49,7 +52,8 @@ public class ContextHubServiceTest {
|
||||
private static final int CONTEXT_HUB_ID = 3;
|
||||
private static final String CONTEXT_HUB_STRING = "Context Hub Info Test";
|
||||
|
||||
private Context mContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
private final Context mContext =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
@Mock private IContextHubWrapper mMockContextHubWrapper;
|
||||
@Mock private ContextHubInfo mMockContextHubInfo;
|
||||
@Rule public final MockitoRule mockito = MockitoJUnit.rule();
|
||||
@@ -62,20 +66,29 @@ public class ContextHubServiceTest {
|
||||
when(mMockContextHubInfo.toString()).thenReturn(CONTEXT_HUB_STRING);
|
||||
when(mMockContextHubWrapper.getHubs()).thenReturn(hubInfo);
|
||||
|
||||
when(mMockContextHubWrapper.supportsLocationSettingNotifications())
|
||||
.thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsLocationSettingNotifications()).thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsWifiSettingNotifications()).thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsAirplaneModeSettingNotifications())
|
||||
.thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsMicrophoneSettingNotifications())
|
||||
.thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsAirplaneModeSettingNotifications()).thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsMicrophoneSettingNotifications()).thenReturn(true);
|
||||
when(mMockContextHubWrapper.supportsBtSettingNotifications()).thenReturn(true);
|
||||
}
|
||||
|
||||
// TODO (b/254290317): These existing tests are to setup the testing infra for the ContextHub
|
||||
// service and verify the constructor correctly registers a context hub.
|
||||
// We need to augment these tests to cover the full behavior of the
|
||||
// ContextHub service
|
||||
@Test
|
||||
public void testDump_emptyPreloadedNanoappList() {
|
||||
when(mMockContextHubWrapper.getPreloadedNanoappIds()).thenReturn(null);
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
|
||||
ContextHubService service = new ContextHubService(mContext, mMockContextHubWrapper);
|
||||
service.dump(
|
||||
new FileDescriptor(), new PrintWriter(stringWriter), /* args= */ new String[0]);
|
||||
|
||||
assertThat(stringWriter.toString()).isNotEmpty();
|
||||
}
|
||||
|
||||
// TODO (b/254290317): These existing tests are to setup the testing infra for the ContextHub
|
||||
// service and verify the constructor correctly registers a context hub.
|
||||
// We need to augment these tests to cover the full behavior of the
|
||||
// ContextHub service
|
||||
|
||||
@Test
|
||||
public void testConstructorRegistersContextHub() throws RemoteException {
|
||||
|
||||
Reference in New Issue
Block a user