public class com.android.companiondevicemanager.DeviceDiscoveryService extends android.app.Service
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.companiondevicemanager.DeviceDiscoveryService
super_class: android.app.Service
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String LOG_TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "DeviceDiscoveryService"
private static final long SCAN_TIMEOUT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20000
static com.android.companiondevicemanager.DeviceDiscoveryService sInstance;
descriptor: Lcom/android/companiondevicemanager/DeviceDiscoveryService;
flags: (0x0008) ACC_STATIC
private android.bluetooth.BluetoothAdapter mBluetoothAdapter;
descriptor: Landroid/bluetooth/BluetoothAdapter;
flags: (0x0002) ACC_PRIVATE
private android.net.wifi.WifiManager mWifiManager;
descriptor: Landroid/net/wifi/WifiManager;
flags: (0x0002) ACC_PRIVATE
private android.bluetooth.le.BluetoothLeScanner mBLEScanner;
descriptor: Landroid/bluetooth/le/BluetoothLeScanner;
flags: (0x0002) ACC_PRIVATE
private android.bluetooth.le.ScanSettings mDefaultScanSettings;
descriptor: Landroid/bluetooth/le/ScanSettings;
flags: (0x0002) ACC_PRIVATE
private java.util.List<android.companion.DeviceFilter<?>> mFilters;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Landroid/companion/DeviceFilter<*>;>;
private java.util.List<android.companion.BluetoothLeDeviceFilter> mBLEFilters;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Landroid/companion/BluetoothLeDeviceFilter;>;
private java.util.List<android.companion.BluetoothDeviceFilter> mBluetoothFilters;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Landroid/companion/BluetoothDeviceFilter;>;
private java.util.List<android.companion.WifiDeviceFilter> mWifiFilters;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Landroid/companion/WifiDeviceFilter;>;
private java.util.List<android.bluetooth.le.ScanFilter> mBLEScanFilters;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Landroid/bluetooth/le/ScanFilter;>;
android.companion.AssociationRequest mRequest;
descriptor: Landroid/companion/AssociationRequest;
flags: (0x0000)
java.util.List<com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair> mDevicesFound;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;>;
com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair mSelectedDevice;
descriptor: Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;
flags: (0x0000)
com.android.companiondevicemanager.DeviceDiscoveryService$DevicesAdapter mDevicesAdapter;
descriptor: Lcom/android/companiondevicemanager/DeviceDiscoveryService$DevicesAdapter;
flags: (0x0000)
android.companion.IFindDeviceCallback mFindCallback;
descriptor: Landroid/companion/IFindDeviceCallback;
flags: (0x0000)
android.companion.ICompanionDeviceDiscoveryServiceCallback mServiceCallback;
descriptor: Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;
flags: (0x0000)
boolean mIsScanning;
descriptor: Z
flags: (0x0000)
com.android.companiondevicemanager.DeviceChooserActivity mActivity;
descriptor: Lcom/android/companiondevicemanager/DeviceChooserActivity;
flags: (0x0000)
private final android.companion.ICompanionDeviceDiscoveryService mBinder;
descriptor: Landroid/companion/ICompanionDeviceDiscoveryService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.bluetooth.le.ScanCallback mBLEScanCallback;
descriptor: Landroid/bluetooth/le/ScanCallback;
flags: (0x0002) ACC_PRIVATE
private com.android.companiondevicemanager.DeviceDiscoveryService$BluetoothBroadcastReceiver mBluetoothBroadcastReceiver;
descriptor: Lcom/android/companiondevicemanager/DeviceDiscoveryService$BluetoothBroadcastReceiver;
flags: (0x0002) ACC_PRIVATE
private com.android.companiondevicemanager.DeviceDiscoveryService$WifiBroadcastReceiver mWifiBroadcastReceiver;
descriptor: Lcom/android/companiondevicemanager/DeviceDiscoveryService$WifiBroadcastReceiver;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.Service.<init>:()V
1: aload 0
new android.bluetooth.le.ScanSettings$Builder
dup
invokespecial android.bluetooth.le.ScanSettings$Builder.<init>:()V
invokevirtual android.bluetooth.le.ScanSettings$Builder.build:()Landroid/bluetooth/le/ScanSettings;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mDefaultScanSettings:Landroid/bluetooth/le/ScanSettings;
2: aload 0
iconst_0
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mIsScanning:Z
3: aload 0
aconst_null
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mActivity:Lcom/android/companiondevicemanager/DeviceChooserActivity;
4: aload 0
5: new com.android.companiondevicemanager.DeviceDiscoveryService$1
dup
aload 0
invokespecial com.android.companiondevicemanager.DeviceDiscoveryService$1.<init>:(Lcom/android/companiondevicemanager/DeviceDiscoveryService;)V
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBinder:Landroid/companion/ICompanionDeviceDiscoveryService;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
public android.os.IBinder onBind(android.content.Intent);
descriptor: (Landroid/content/Intent;)Landroid/os/IBinder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBinder:Landroid/companion/ICompanionDeviceDiscoveryService;
invokeinterface android.companion.ICompanionDeviceDiscoveryService.asBinder:()Landroid/os/IBinder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 1 1 intent Landroid/content/Intent;
MethodParameters:
Name Flags
intent
public void onCreate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.Service.onCreate:()V
1: aload 0
aload 0
ldc Landroid/bluetooth/BluetoothManager;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.bluetooth.BluetoothManager
invokevirtual android.bluetooth.BluetoothManager.getAdapter:()Landroid/bluetooth/BluetoothAdapter;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
2: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
invokevirtual android.bluetooth.BluetoothAdapter.getBluetoothLeScanner:()Landroid/bluetooth/le/BluetoothLeScanner;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanner:Landroid/bluetooth/le/BluetoothLeScanner;
3: aload 0
aload 0
ldc Landroid/net/wifi/WifiManager;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.net.wifi.WifiManager
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiManager:Landroid/net/wifi/WifiManager;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
5: aload 0
new com.android.companiondevicemanager.DeviceDiscoveryService$DevicesAdapter
dup
aload 0
invokespecial com.android.companiondevicemanager.DeviceDiscoveryService$DevicesAdapter.<init>:(Lcom/android/companiondevicemanager/DeviceDiscoveryService;)V
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesAdapter:Lcom/android/companiondevicemanager/DeviceDiscoveryService$DevicesAdapter;
6: aload 0
putstatic com.android.companiondevicemanager.DeviceDiscoveryService.sInstance:Lcom/android/companiondevicemanager/DeviceDiscoveryService;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
private void startDiscovery(android.companion.AssociationRequest);
descriptor: (Landroid/companion/AssociationRequest;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mRequest:Landroid/companion/AssociationRequest;
invokevirtual android.companion.AssociationRequest.equals:(Ljava/lang/Object;)Z
ifne 8
1: aload 0
aload 1
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mRequest:Landroid/companion/AssociationRequest;
2: aload 0
aload 1
invokevirtual android.companion.AssociationRequest.getDeviceFilters:()Ljava/util/List;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mFilters:Ljava/util/List;
3: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mFilters:Ljava/util/List;
ldc Landroid/companion/WifiDeviceFilter;
invokestatic com.android.internal.util.CollectionUtils.filter:(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiFilters:Ljava/util/List;
4: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mFilters:Ljava/util/List;
ldc Landroid/companion/BluetoothDeviceFilter;
invokestatic com.android.internal.util.CollectionUtils.filter:(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothFilters:Ljava/util/List;
5: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mFilters:Ljava/util/List;
ldc Landroid/companion/BluetoothLeDeviceFilter;
invokestatic com.android.internal.util.CollectionUtils.filter:(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEFilters:Ljava/util/List;
6: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEFilters:Ljava/util/List;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
android/companion/BluetoothLeDeviceFilter.getScanFilter()Landroid/bluetooth/le/ScanFilter; (5)
(Landroid/companion/BluetoothLeDeviceFilter;)Landroid/bluetooth/le/ScanFilter;
invokestatic com.android.internal.util.CollectionUtils.map:(Ljava/util/List;Ljava/util/function/Function;)Ljava/util/List;
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanFilters:Ljava/util/List;
7: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.reset:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
invokestatic com.android.internal.util.ArrayUtils.isEmpty:(Ljava/util/Collection;)Z
ifne 10
9: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.onReadyToShowUI:()V
10: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 11: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mRequest:Landroid/companion/AssociationRequest;
invokevirtual android.companion.AssociationRequest.isSingleDevice:()Z
ifeq 21
12: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothFilters:Ljava/util/List;
invokestatic com.android.internal.util.CollectionUtils.size:(Ljava/util/Collection;)I
istore 3
start local 3 13: iconst_0
istore 4
start local 4 14: goto 20
15: StackMap locals: java.lang.String int int
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothFilters:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast android.companion.BluetoothDeviceFilter
astore 5
start local 5 16: aload 5
invokevirtual android.companion.BluetoothDeviceFilter.getAddress:()Ljava/lang/String;
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 19
17: aload 5
invokevirtual android.companion.BluetoothDeviceFilter.getAddress:()Ljava/lang/String;
astore 2
18: goto 21
end local 5 19: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 3
if_icmplt 15
end local 4 end local 3 21: StackMap locals:
StackMap stack:
aload 2
ifnull 26
22: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
invokevirtual android.bluetooth.BluetoothAdapter.getBondedDevices:()Ljava/util/Set;
invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/Set;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 25
StackMap locals: com.android.companiondevicemanager.DeviceDiscoveryService android.companion.AssociationRequest java.lang.String top java.util.Iterator
StackMap stack:
23: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.bluetooth.BluetoothDevice
astore 3
start local 3 24: aload 0
aload 3
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothFilters:Ljava/util/List;
invokestatic com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair.findMatch:(Landroid/os/Parcelable;Ljava/util/List;)Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.onDeviceFound:(Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;)V
end local 3 25: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: StackMap locals: com.android.companiondevicemanager.DeviceDiscoveryService android.companion.AssociationRequest java.lang.String
StackMap stack:
aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothFilters:Ljava/util/List;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.shouldScan:(Ljava/util/List;)Z
ifeq 33
27: new android.content.IntentFilter
dup
invokespecial android.content.IntentFilter.<init>:()V
astore 3
start local 3 28: aload 3
ldc "android.bluetooth.device.action.FOUND"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
29: aload 3
ldc "android.bluetooth.device.action.DISAPPEARED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
30: aload 0
new com.android.companiondevicemanager.DeviceDiscoveryService$BluetoothBroadcastReceiver
dup
aload 0
invokespecial com.android.companiondevicemanager.DeviceDiscoveryService$BluetoothBroadcastReceiver.<init>:(Lcom/android/companiondevicemanager/DeviceDiscoveryService;)V
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$BluetoothBroadcastReceiver;
31: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$BluetoothBroadcastReceiver;
aload 3
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
pop
32: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
invokevirtual android.bluetooth.BluetoothAdapter.startDiscovery:()Z
pop
end local 3 33: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEFilters:Ljava/util/List;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.shouldScan:(Ljava/util/List;)Z
ifeq 36
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanner:Landroid/bluetooth/le/BluetoothLeScanner;
ifnull 36
34: aload 0
new com.android.companiondevicemanager.DeviceDiscoveryService$BLEScanCallback
dup
aload 0
invokespecial com.android.companiondevicemanager.DeviceDiscoveryService$BLEScanCallback.<init>:(Lcom/android/companiondevicemanager/DeviceDiscoveryService;)V
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanCallback:Landroid/bluetooth/le/ScanCallback;
35: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanner:Landroid/bluetooth/le/BluetoothLeScanner;
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanFilters:Ljava/util/List;
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDefaultScanSettings:Landroid/bluetooth/le/ScanSettings;
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanCallback:Landroid/bluetooth/le/ScanCallback;
invokevirtual android.bluetooth.le.BluetoothLeScanner.startScan:(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V
36: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiFilters:Ljava/util/List;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.shouldScan:(Ljava/util/List;)Z
ifeq 42
37: aload 0
new com.android.companiondevicemanager.DeviceDiscoveryService$WifiBroadcastReceiver
dup
aload 0
invokespecial com.android.companiondevicemanager.DeviceDiscoveryService$WifiBroadcastReceiver.<init>:(Lcom/android/companiondevicemanager/DeviceDiscoveryService;)V
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$WifiBroadcastReceiver;
38: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$WifiBroadcastReceiver;
39: new android.content.IntentFilter
dup
ldc "android.net.wifi.SCAN_RESULTS"
invokespecial android.content.IntentFilter.<init>:(Ljava/lang/String;)V
40: invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
pop
41: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiManager:Landroid/net/wifi/WifiManager;
invokevirtual android.net.wifi.WifiManager.startScan:()Z
pop
42: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mIsScanning:Z
43: invokestatic android.os.Handler.getMain:()Landroid/os/Handler;
44: invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/android/companiondevicemanager/DeviceDiscoveryService.stopScan()V (7)
(Lcom/android/companiondevicemanager/DeviceDiscoveryService;)V
aload 0
invokestatic com.android.internal.util.function.pooled.PooledLambda.obtainMessage:(Ljava/util/function/Consumer;Ljava/lang/Object;)Landroid/os/Message;
45: ldc 20000
46: invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
pop
47: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 48 1 request Landroid/companion/AssociationRequest;
11 48 2 singleMacAddressFilter Ljava/lang/String;
13 21 3 numFilters I
14 21 4 i I
16 19 5 filter Landroid/companion/BluetoothDeviceFilter;
24 25 3 dev Landroid/bluetooth/BluetoothDevice;
28 33 3 intentFilter Landroid/content/IntentFilter;
MethodParameters:
Name Flags
request
private boolean shouldScan(java.util.List<? extends android.companion.DeviceFilter>);
descriptor: (Ljava/util/List;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.android.internal.util.ArrayUtils.isEmpty:(Ljava/util/Collection;)Z
ifeq 1
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mFilters:Ljava/util/List;
invokestatic com.android.internal.util.ArrayUtils.isEmpty:(Ljava/util/Collection;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 2 1 mediumSpecificFilters Ljava/util/List<+Landroid/companion/DeviceFilter;>;
Signature: (Ljava/util/List<+Landroid/companion/DeviceFilter;>;)Z
MethodParameters:
Name Flags
mediumSpecificFilters
private void reset();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.stopScan:()V
1: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
invokeinterface java.util.List.clear:()V
2: aload 0
aconst_null
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mSelectedDevice:Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;
3: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.notifyDataSetChanged:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
public boolean onUnbind(android.content.Intent);
descriptor: (Landroid/content/Intent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.stopScan:()V
1: aload 0
aload 1
invokespecial android.app.Service.onUnbind:(Landroid/content/Intent;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 2 1 intent Landroid/content/Intent;
MethodParameters:
Name Flags
intent
private void stopScan();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mIsScanning:Z
ifne 1
return
1: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mIsScanning:Z
2: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mActivity:Lcom/android/companiondevicemanager/DeviceChooserActivity;
astore 1
start local 1 3: aload 1
ifnull 7
4: aload 1
getfield com.android.companiondevicemanager.DeviceChooserActivity.mDeviceListView:Landroid/widget/ListView;
ifnull 6
5: aload 1
getfield com.android.companiondevicemanager.DeviceChooserActivity.mDeviceListView:Landroid/widget/ListView;
aload 1
getfield com.android.companiondevicemanager.DeviceChooserActivity.mLoadingIndicator:Landroid/view/View;
invokevirtual android.widget.ListView.removeFooterView:(Landroid/view/View;)Z
pop
6: StackMap locals: com.android.companiondevicemanager.DeviceChooserActivity
StackMap stack:
aload 0
aconst_null
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mActivity:Lcom/android/companiondevicemanager/DeviceChooserActivity;
7: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;
invokevirtual android.bluetooth.BluetoothAdapter.cancelDiscovery:()Z
pop
8: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$BluetoothBroadcastReceiver;
ifnull 11
9: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$BluetoothBroadcastReceiver;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V
10: aload 0
aconst_null
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mBluetoothBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$BluetoothBroadcastReceiver;
11: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanner:Landroid/bluetooth/le/BluetoothLeScanner;
ifnull 12
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanner:Landroid/bluetooth/le/BluetoothLeScanner;
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mBLEScanCallback:Landroid/bluetooth/le/ScanCallback;
invokevirtual android.bluetooth.le.BluetoothLeScanner.stopScan:(Landroid/bluetooth/le/ScanCallback;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$WifiBroadcastReceiver;
ifnull 15
13: aload 0
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$WifiBroadcastReceiver;
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V
14: aload 0
aconst_null
putfield com.android.companiondevicemanager.DeviceDiscoveryService.mWifiBroadcastReceiver:Lcom/android/companiondevicemanager/DeviceDiscoveryService$WifiBroadcastReceiver;
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
3 16 1 activity Lcom/android/companiondevicemanager/DeviceChooserActivity;
private void onDeviceFound(com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair);
descriptor: (Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 5
4: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.onReadyToShowUI:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.notifyDataSetChanged:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 8 1 device Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;
MethodParameters:
Name Flags
device
private void notifyDataSetChanged();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic android.os.Handler.getMain:()Landroid/os/Handler;
1: invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
android/widget/ArrayAdapter.notifyDataSetChanged()V (5)
(Lcom/android/companiondevicemanager/DeviceDiscoveryService$DevicesAdapter;)V
aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesAdapter:Lcom/android/companiondevicemanager/DeviceDiscoveryService$DevicesAdapter;
2: invokestatic com.android.internal.util.function.pooled.PooledLambda.obtainMessage:(Ljava/util/function/Consumer;Ljava/lang/Object;)Landroid/os/Message;
invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
private void onReadyToShowUI();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mFindCallback:Landroid/companion/IFindDeviceCallback;
1: aload 0
iconst_0
2: new android.content.Intent
dup
aload 0
ldc Lcom/android/companiondevicemanager/DeviceChooserActivity;
invokespecial android.content.Intent.<init>:(Landroid/content/Context;Ljava/lang/Class;)V
3: ldc 1409286144
4: invokestatic android.app.PendingIntent.getActivity:(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
invokeinterface android.companion.IFindDeviceCallback.onSuccess:(Landroid/app/PendingIntent;)V
5: goto 8
StackMap locals:
StackMap stack: android.os.RemoteException
6: astore 1
start local 1 7: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
7 8 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 5 6 Class android.os.RemoteException
private void onDeviceLost(com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair);
descriptor: (Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mDevicesFound:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.notifyDataSetChanged:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 3 1 device Lcom/android/companiondevicemanager/DeviceDiscoveryService$DeviceFilterPair;
MethodParameters:
Name Flags
device
void onDeviceSelected(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mServiceCallback:Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;
1: aload 1
aload 0
invokevirtual com.android.companiondevicemanager.DeviceDiscoveryService.getUserId:()I
aload 2
2: invokeinterface android.companion.ICompanionDeviceDiscoveryServiceCallback.onDeviceSelected:(Ljava/lang/String;ILjava/lang/String;)V
3: goto 8
StackMap locals:
StackMap stack: android.os.RemoteException
4: pop
5: ldc "DeviceDiscoveryService"
new java.lang.StringBuilder
dup
ldc "Failed to record association: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " <-> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
0 9 1 callingPackage Ljava/lang/String;
0 9 2 deviceAddress Ljava/lang/String;
Exception table:
from to target type
0 3 4 Class android.os.RemoteException
MethodParameters:
Name Flags
callingPackage
deviceAddress
void onCancel();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.android.companiondevicemanager.DeviceDiscoveryService.mServiceCallback:Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;
invokeinterface android.companion.ICompanionDeviceDiscoveryServiceCallback.onDeviceSelectionCancel:()V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 1
start local 1 3: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/companiondevicemanager/DeviceDiscoveryService;
3 4 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
}
SourceFile: "DeviceDiscoveryService.java"
NestMembers:
com.android.companiondevicemanager.DeviceDiscoveryService$1 com.android.companiondevicemanager.DeviceDiscoveryService$BLEScanCallback com.android.companiondevicemanager.DeviceDiscoveryService$BluetoothBroadcastReceiver com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair com.android.companiondevicemanager.DeviceDiscoveryService$DevicesAdapter com.android.companiondevicemanager.DeviceDiscoveryService$WifiBroadcastReceiver
InnerClasses:
public final Builder = android.bluetooth.le.ScanSettings$Builder of android.bluetooth.le.ScanSettings
com.android.companiondevicemanager.DeviceDiscoveryService$1
private BLEScanCallback = com.android.companiondevicemanager.DeviceDiscoveryService$BLEScanCallback of com.android.companiondevicemanager.DeviceDiscoveryService
private BluetoothBroadcastReceiver = com.android.companiondevicemanager.DeviceDiscoveryService$BluetoothBroadcastReceiver of com.android.companiondevicemanager.DeviceDiscoveryService
DeviceFilterPair = com.android.companiondevicemanager.DeviceDiscoveryService$DeviceFilterPair of com.android.companiondevicemanager.DeviceDiscoveryService
DevicesAdapter = com.android.companiondevicemanager.DeviceDiscoveryService$DevicesAdapter of com.android.companiondevicemanager.DeviceDiscoveryService
private WifiBroadcastReceiver = com.android.companiondevicemanager.DeviceDiscoveryService$WifiBroadcastReceiver of com.android.companiondevicemanager.DeviceDiscoveryService
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles