private int mapDisconnectStatusToReason(final int status) {
		return switch (status) {
			case GattError.GATT_CONN_TERMINATE_LOCAL_HOST ->
					ConnectionObserver.REASON_TERMINATE_LOCAL_HOST;
			case GattError.GATT_CONN_TERMINATE_PEER_USER ->
					ConnectionObserver.REASON_TERMINATE_PEER_USER;
			// When a remote device disconnects, some phones return the TIMEOUT error, while other
			// just SUCCESS. Anyway, in both cases the device has not been disconnected by the
			// user, so the reason should be the TIMEOUT.
			case GattError.GATT_CONN_TIMEOUT, GattError.GATT_SUCCESS ->
					ConnectionObserver.REASON_TIMEOUT;
			default -> ConnectionObserver.REASON_UNKNOWN;
		};
	}
Callback indicating the connection parameters were updated. Works on Android 8+.

@param gatt     GATT client involved.
@param interval Connection interval used on this connection, 1.25ms unit.
                Valid range is from 6 (7.5ms) to 3200 (4000ms).
@param latency  Slave latency for the connection in number of connection events.
                Valid range is from 0 to 499.
@param timeout  Supervision timeout for this connection, in 10ms unit.
                Valid range is from 10 (0.1s) to 3200 (32s)
@param status   {@link BluetoothGatt#GATT_SUCCESS} if the connection has been updated
                successfully.
ble/src/main/java/no/nordicsemi/android/ble/BleManagerHandler.java