Fix a test in BluetoothOppLauncherActivityTest
This CL fixes a null pointer exception in BluetoothOppLauncherActivityTest#sendFileInfo_finishImmediately.
NPE happens when matching for doThrow and when showing toast message
Bug: 263754734
Tag: #refactor
Test: atest BluetoothInstrumentationTests
Change-Id: If00ce6794aac9ed88535d12aafaefa64508c4034
diff --git a/android/app/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java b/android/app/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java
index 301b39f..b5dd0f7 100644
--- a/android/app/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java
+++ b/android/app/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java
@@ -422,7 +422,8 @@
launchDevicePicker();
finish();
} catch (IllegalArgumentException exception) {
- showToast(exception.getMessage());
+ String message = exception.getMessage();
+ showToast(message != null ? message : "IllegalArgumentException");
finish();
}
}
diff --git a/android/app/tests/unit/src/com/android/bluetooth/opp/BluetoothOppLauncherActivityTest.java b/android/app/tests/unit/src/com/android/bluetooth/opp/BluetoothOppLauncherActivityTest.java
index e16e310..d9dbbb1 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/opp/BluetoothOppLauncherActivityTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/opp/BluetoothOppLauncherActivityTest.java
@@ -33,6 +33,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.spy;
@@ -187,7 +188,6 @@
assertThat(file.length()).isGreaterThan(shareContent.length());
}
- @Ignore("b/263754734")
@Test
public void sendFileInfo_finishImmediately() throws Exception {
doReturn(true).when(mMethodProxy).bluetoothAdapterIsEnabled(any());
@@ -195,7 +195,7 @@
mIntent.setAction("unsupported-action");
ActivityScenario<BluetoothOppLauncherActivity> scenario = ActivityScenario.launch(mIntent);
doThrow(new IllegalArgumentException()).when(mBluetoothOppManager).saveSendingFileInfo(
- any(), any(String.class), any(), any());
+ any(), any(String.class), anyBoolean(), anyBoolean());
scenario.onActivity(activity -> {
activity.sendFileInfo("text/plain", "content:///abc.txt", false, false);
});
@@ -208,18 +208,4 @@
Thread.sleep(2_000);
assertThat(activityScenario.getState()).isEqualTo(state);
}
-
-
- private void enableActivity(boolean enable) {
- int enabledState = enable ? COMPONENT_ENABLED_STATE_ENABLED
- : COMPONENT_ENABLED_STATE_DEFAULT;
-
- mTargetContext.getPackageManager().setApplicationEnabledSetting(
- mTargetContext.getPackageName(), enabledState, DONT_KILL_APP);
-
- ComponentName activityName = new ComponentName(mTargetContext,
- BluetoothOppLauncherActivity.class);
- mTargetContext.getPackageManager().setComponentEnabledSetting(
- activityName, enabledState, DONT_KILL_APP);
- }
}