问题描述:
[原因]R10套件新增模块,getRemoteDevice获取远程蓝牙设备时,蓝牙MAC为空
[对策]实际蓝牙MAC非空;测试时绕过处理
1.release/ebsw_skg/skg/frameworks/base/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java#addMediaDevice
case TYPE_BLE_HEADSET:
// 如果地址为空,不往下执行
// if (route.getAddress() == null || TextUtils.isEmpty(route.getAddress())) {
// 规避 GTS 测试空地址蓝牙时 crush 问题导致 fail
if (SystemProperties.getBoolean("persist.skg.isinstall.gts.test", false)) {
Log.w(TAG, "InfoMediaManager.java(528) GTS testing is currently underway, do not perform follow-up operations. address(): " + route.getAddress());
} else {
final BluetoothDevice device =
BluetoothAdapter.getDefaultAdapter().getRemoteDevice(route.getAddress());
final CachedBluetoothDevice cachedDevice =
mBluetoothManager.getCachedDeviceManager().findDevice(device);
if (cachedDevice != null) {
mediaDevice = new BluetoothMediaDevice(mContext, cachedDevice, mRouterManager,
route, mPackageName);
}
}
break;
2.release/ebsw_skg/skg/frameworks/base/services/core/java/com/android/server/pm/InstallPackageHelper.java#handlePackagePostInstall
// Setting the parameter to true when installing this application means that GTS testing is in progress
if (packageName != null && "com.google.android.gts.media.router".equals(packageName)) {
Slog.d(TAG, "GTS testing is in progress, setting the parameter to true: --- " + packageName);
SystemProperties.set("persist.skg.isinstall.gts.test", "true");
}
3.release/ebsw_skg/skg/frameworks/base/services/core/java/com/android/server/pm/PackageRemovedInfo.java#sendPackageRemovedBroadcastInternal
// Setting the parameter to false when uninstalling this application means that GTS testing has ended
if (mRemovedPackage != null && "com.google.android.gts.media.router".equals(mRemovedPackage)) {
SystemProperties.set("persist.skg.isinstall.gts.test", "false");
}