Merge "BluetoothHearingAid System APIs now throw an exception if a null BluetoothDevice is passed in"

This commit is contained in:
Treehugger Robot
2020-03-26 10:07:30 +00:00
committed by Gerrit Code Review
2 changed files with 14 additions and 4 deletions

View File

@@ -379,6 +379,7 @@ public final class BluetoothHearingAid implements BluetoothProfile {
public boolean setConnectionPolicy(@NonNull BluetoothDevice device, public boolean setConnectionPolicy(@NonNull BluetoothDevice device,
@ConnectionPolicy int connectionPolicy) { @ConnectionPolicy int connectionPolicy) {
if (DBG) log("setConnectionPolicy(" + device + ", " + connectionPolicy + ")"); if (DBG) log("setConnectionPolicy(" + device + ", " + connectionPolicy + ")");
verifyDeviceNotNull(device, "setConnectionPolicy");
final IBluetoothHearingAid service = getService(); final IBluetoothHearingAid service = getService();
try { try {
if (service != null && isEnabled() if (service != null && isEnabled()
@@ -428,6 +429,7 @@ public final class BluetoothHearingAid implements BluetoothProfile {
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED) @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
public @ConnectionPolicy int getConnectionPolicy(@NonNull BluetoothDevice device) { public @ConnectionPolicy int getConnectionPolicy(@NonNull BluetoothDevice device) {
if (VDBG) log("getConnectionPolicy(" + device + ")"); if (VDBG) log("getConnectionPolicy(" + device + ")");
verifyDeviceNotNull(device, "getConnectionPolicy");
final IBluetoothHearingAid service = getService(); final IBluetoothHearingAid service = getService();
try { try {
if (service != null && isEnabled() if (service != null && isEnabled()
@@ -504,6 +506,7 @@ public final class BluetoothHearingAid implements BluetoothProfile {
if (VDBG) { if (VDBG) {
log("getHiSyncId(" + device + ")"); log("getHiSyncId(" + device + ")");
} }
verifyDeviceNotNull(device, "getConnectionPolicy");
final IBluetoothHearingAid service = getService(); final IBluetoothHearingAid service = getService();
try { try {
if (service == null) { if (service == null) {
@@ -577,6 +580,13 @@ public final class BluetoothHearingAid implements BluetoothProfile {
return false; return false;
} }
private void verifyDeviceNotNull(BluetoothDevice device, String methodName) {
if (device == null) {
Log.e(TAG, methodName + ": device param is null");
throw new IllegalArgumentException("Device cannot be null");
}
}
private boolean isValidDevice(BluetoothDevice device) { private boolean isValidDevice(BluetoothDevice device) {
if (device == null) return false; if (device == null) return false;

View File

@@ -174,7 +174,7 @@ public class HearingAidProfile implements LocalBluetoothProfile {
@Override @Override
public boolean isEnabled(BluetoothDevice device) { public boolean isEnabled(BluetoothDevice device) {
if (mService == null) { if (mService == null || device == null) {
return false; return false;
} }
return mService.getConnectionPolicy(device) > CONNECTION_POLICY_FORBIDDEN; return mService.getConnectionPolicy(device) > CONNECTION_POLICY_FORBIDDEN;
@@ -182,7 +182,7 @@ public class HearingAidProfile implements LocalBluetoothProfile {
@Override @Override
public int getConnectionPolicy(BluetoothDevice device) { public int getConnectionPolicy(BluetoothDevice device) {
if (mService == null) { if (mService == null || device == null) {
return CONNECTION_POLICY_FORBIDDEN; return CONNECTION_POLICY_FORBIDDEN;
} }
return mService.getConnectionPolicy(device); return mService.getConnectionPolicy(device);
@@ -191,7 +191,7 @@ public class HearingAidProfile implements LocalBluetoothProfile {
@Override @Override
public boolean setEnabled(BluetoothDevice device, boolean enabled) { public boolean setEnabled(BluetoothDevice device, boolean enabled) {
boolean isEnabled = false; boolean isEnabled = false;
if (mService == null) { if (mService == null || device == null) {
return false; return false;
} }
if (enabled) { if (enabled) {
@@ -213,7 +213,7 @@ public class HearingAidProfile implements LocalBluetoothProfile {
} }
public long getHiSyncId(BluetoothDevice device) { public long getHiSyncId(BluetoothDevice device) {
if (mService == null) { if (mService == null || device == null) {
return BluetoothHearingAid.HI_SYNC_ID_INVALID; return BluetoothHearingAid.HI_SYNC_ID_INVALID;
} }
return mService.getHiSyncId(device); return mService.getHiSyncId(device);