From 18d84a7349a89e212a7b01b3a65a496c10b66dfd Mon Sep 17 00:00:00 2001 From: SubbuLomada Date: Mon, 6 Oct 2025 22:01:11 +0530 Subject: [PATCH 1/2] Added the fix for the android bluetooth name --- src/device-managers/AndroidDeviceManager.ts | 53 ++++++++++++--------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/src/device-managers/AndroidDeviceManager.ts b/src/device-managers/AndroidDeviceManager.ts index 09d55cb17..229cb0a8f 100644 --- a/src/device-managers/AndroidDeviceManager.ts +++ b/src/device-managers/AndroidDeviceManager.ts @@ -657,25 +657,17 @@ export default class AndroidDeviceManager implements IDeviceManager { } return sdkRoot; } - private getDeviceName = async ( - adbInstance: any, - udid: string, - isRealDevice: boolean, - ): Promise => { - const props = isRealDevice - ? ['ro.vendor.oplus.market.name', 'ro.display.series', 'ro.product.name'] - : ['ro.kernel.qemu.avd_name', 'ro.boot.qemu.avd_name']; - - let deviceName; - - for (const prop of props) { - deviceName = await this.getDeviceProperty(adbInstance, udid, prop); - if (deviceName && deviceName.trim() !== '') { - break; - } - } - if (!deviceName || (deviceName && deviceName.trim() === '')) { - // If the device name is null or empty, try to get it from the Bluetooth manager. + private getDeviceName = async ( + adbInstance: any, + udid: string, + isRealDevice: boolean, + ): Promise => { + const props = isRealDevice + ? ['ro.vendor.oplus.market.name', 'ro.display.series', 'ro.product.name'] + : ['ro.kernel.qemu.avd_name', 'ro.boot.qemu.avd_name']; + + let deviceName; + deviceName = await ( await adbInstance ).adbExec([ @@ -690,8 +682,23 @@ export default class AndroidDeviceManager implements IDeviceManager { '|', 'cut', '-c9-', + '|', + 'head', + '-n', + '1', ]); - } - return deviceName; - }; -} + + + if (!deviceName || (deviceName && deviceName.trim() === '')) { + // If the device name is null or empty, try to get it from the product name. + for (const prop of props) { + deviceName = await this.getDeviceProperty(adbInstance, udid, prop); + if (deviceName && deviceName.trim() !== '') { + break; + } + } + } + + return deviceName; + }; + } From 5565dbd7ea5dd809d4818be7cdacdda1aa90fdc7 Mon Sep 17 00:00:00 2001 From: SubbuLomada Date: Mon, 6 Oct 2025 22:14:05 +0530 Subject: [PATCH 2/2] Added the fix for the android bluetooth name --- src/device-managers/AndroidDeviceManager.ts | 83 ++++++++++----------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/src/device-managers/AndroidDeviceManager.ts b/src/device-managers/AndroidDeviceManager.ts index 229cb0a8f..6decfec5f 100644 --- a/src/device-managers/AndroidDeviceManager.ts +++ b/src/device-managers/AndroidDeviceManager.ts @@ -657,48 +657,47 @@ export default class AndroidDeviceManager implements IDeviceManager { } return sdkRoot; } - private getDeviceName = async ( - adbInstance: any, - udid: string, - isRealDevice: boolean, - ): Promise => { - const props = isRealDevice - ? ['ro.vendor.oplus.market.name', 'ro.display.series', 'ro.product.name'] - : ['ro.kernel.qemu.avd_name', 'ro.boot.qemu.avd_name']; - - let deviceName; - - deviceName = await ( - await adbInstance - ).adbExec([ - '-s', - udid, - 'shell', - 'dumpsys', - 'bluetooth_manager', - '|', - 'grep', - 'name:', - '|', - 'cut', - '-c9-', - '|', - 'head', - '-n', - '1', - ]); - - - if (!deviceName || (deviceName && deviceName.trim() === '')) { - // If the device name is null or empty, try to get it from the product name. - for (const prop of props) { - deviceName = await this.getDeviceProperty(adbInstance, udid, prop); - if (deviceName && deviceName.trim() !== '') { - break; - } + private getDeviceName = async ( + adbInstance: any, + udid: string, + isRealDevice: boolean, + ): Promise => { + const props = isRealDevice + ? ['ro.vendor.oplus.market.name', 'ro.display.series', 'ro.product.name'] + : ['ro.kernel.qemu.avd_name', 'ro.boot.qemu.avd_name']; + + let deviceName; + + deviceName = await ( + await adbInstance + ).adbExec([ + '-s', + udid, + 'shell', + 'dumpsys', + 'bluetooth_manager', + '|', + 'grep', + 'name:', + '|', + 'cut', + '-c9-', + '|', + 'head', + '-n', + '1', + ]); + + if (!deviceName || (deviceName && deviceName.trim() === '')) { + // If the device name is null or empty, try to get it from the product name. + for (const prop of props) { + deviceName = await this.getDeviceProperty(adbInstance, udid, prop); + if (deviceName && deviceName.trim() !== '') { + break; } } + } - return deviceName; - }; - } + return deviceName; + }; +}