public static String parse(final int error) {
		return switch (error) {
			case GATT_INVALID_HANDLE -> "GATT INVALID HANDLE";
			case GATT_READ_NOT_PERMIT -> "GATT READ NOT PERMIT";
			case GATT_WRITE_NOT_PERMIT -> "GATT WRITE NOT PERMIT";
			case GATT_INVALID_PDU -> "GATT INVALID PDU";
			case GATT_INSUF_AUTHENTICATION -> "GATT INSUF AUTHENTICATION";
			case GATT_REQ_NOT_SUPPORTED -> "GATT REQ NOT SUPPORTED";
			case GATT_INVALID_OFFSET -> "GATT INVALID OFFSET";
			case GATT_INSUF_AUTHORIZATION -> "GATT INSUF AUTHORIZATION";
			case GATT_PREPARE_Q_FULL -> "GATT PREPARE Q FULL";
			case GATT_NOT_FOUND -> "GATT NOT FOUND";
			case GATT_NOT_LONG -> "GATT NOT LONG";
			case GATT_INSUF_KEY_SIZE -> "GATT INSUF KEY SIZE";
			case GATT_INVALID_ATTR_LEN -> "GATT INVALID ATTR LEN";
			case GATT_ERR_UNLIKELY -> "GATT ERR UNLIKELY";
			case GATT_INSUF_ENCRYPTION -> "GATT INSUF ENCRYPTION";
			case GATT_UNSUPPORT_GRP_TYPE -> "GATT UNSUPPORT GRP TYPE";
			case GATT_INSUF_RESOURCE -> "GATT INSUF RESOURCE";
			case GATT_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED -> "GATT PAIRING WITH UNIT KEY NOT SUPPORTED";
			case GATT_CONN_LMP_TIMEOUT -> "GATT CONN LMP TIMEOUT";
			case GATT_CONTROLLER_BUSY -> "GATT CONTROLLER BUSY";
			case GATT_UNACCEPT_CONN_INTERVAL -> "GATT UNACCEPT CONN INTERVAL";
			case GATT_ILLEGAL_PARAMETER -> "GATT ILLEGAL PARAMETER";
			case GATT_NO_RESOURCES -> "GATT NO RESOURCES";
			case GATT_INTERNAL_ERROR -> "GATT INTERNAL ERROR";
			case GATT_WRONG_STATE -> "GATT WRONG STATE";
			case GATT_DB_FULL -> "GATT DB FULL";
			case GATT_BUSY -> "GATT BUSY";
			case GATT_ERROR -> "GATT ERROR";
			case GATT_CMD_STARTED -> "GATT CMD STARTED";
			case GATT_PENDING -> "GATT PENDING";
			case GATT_AUTH_FAIL -> "GATT AUTH FAIL";
			case GATT_MORE -> "GATT MORE";
			case GATT_INVALID_CFG -> "GATT INVALID CFG";
			case GATT_SERVICE_STARTED -> "GATT SERVICE STARTED";
			case GATT_ENCRYPTED_NO_MITM -> "GATT ENCRYPTED NO MITM";
			case GATT_NOT_ENCRYPTED -> "GATT NOT ENCRYPTED";
			case GATT_CONGESTED -> "GATT CONGESTED";
			case GATT_TIMEOUT -> "GATT TIMEOUT";
			case GATT_CCCD_CFG_ERROR -> "GATT CCCD CFG ERROR";
			case GATT_PROCEDURE_IN_PROGRESS -> "GATT PROCEDURE IN PROGRESS";
			case GATT_VALUE_OUT_OF_RANGE -> "GATT VALUE OUT OF RANGE";
			case TOO_MANY_OPEN_CONNECTIONS -> "TOO MANY OPEN CONNECTIONS";
			default -> "UNKNOWN (" + error + ")";
		};
	}
Converts the Bluetooth communication status given by other BluetoothGattCallbacks to error
name. It also parses the DFU errors.

@param error the status number.
@return The error name as stated in the links in {@link GattError} documentation.
ble/src/main/java/no/nordicsemi/android/ble/error/GattError.java