IAdbManager.getPairDevices returns FingerprintAndPairDevice[].

Map is not supported in C++ backend. To compile IAdbManager in C++,
Map is translated into a list of key, value tuples.

Test: pass
Bug: 190867939
Change-Id: I1a057306161a4f8eaef33e3c40b1db9494aea3e5
This commit is contained in:
Yifan Hong
2021-07-27 13:36:30 -07:00
parent d61750990d
commit 1b586ec8dc

View File

@@ -23,6 +23,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.debug.AdbManager;
import android.debug.FingerprintAndPairDevice;
import android.debug.IAdbManager;
import android.debug.PairDevice;
import android.os.Build;
@@ -310,8 +311,12 @@ public class WirelessDebuggingFragment extends DashboardFragment
mAdbManager = IAdbManager.Stub.asInterface(ServiceManager.getService(
Context.ADB_SERVICE));
try {
Map<String, PairDevice> newList = mAdbManager.getPairedDevices();
updatePairedDevicePreferences(newList);
FingerprintAndPairDevice[] newList = mAdbManager.getPairedDevices();
Map<String, PairDevice> newMap = new HashMap<>();
for (FingerprintAndPairDevice pair : newList) {
newMap.put(pair.keyFingerprint, pair.device);
}
updatePairedDevicePreferences(newMap);
mConnectionPort = mAdbManager.getAdbWirelessPort();
if (mConnectionPort > 0) {
Log.i(TAG, "onEnabled(): connect_port=" + mConnectionPort);