diff --git a/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceTransferClient.java b/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceTransferClient.java index 80fd4fda9f..bc4e56a92a 100644 --- a/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceTransferClient.java +++ b/device-transfer/lib/src/main/java/org/signal/devicetransfer/DeviceTransferClient.java @@ -357,8 +357,11 @@ final class DeviceTransferClient implements Handler.Callback { public void onNetworkConnected(@NonNull WifiP2pInfo info) { if (info.isGroupOwner) { handler.sendEmptyMessage(START_IP_EXCHANGE); - } else { + } else if (info.groupOwnerAddress != null) { handler.sendMessage(handler.obtainMessage(START_NETWORK_CLIENT, info.groupOwnerAddress.getHostAddress())); + } else { + Log.d(TAG, "Group owner address null, re-requesting networking information."); + handler.sendMessage(handler.obtainMessage(NETWORK_CONNECTION_CHANGED, true)); } } diff --git a/device-transfer/lib/src/main/java/org/signal/devicetransfer/WifiDirect.java b/device-transfer/lib/src/main/java/org/signal/devicetransfer/WifiDirect.java index beb5de7a7e..8834119d12 100644 --- a/device-transfer/lib/src/main/java/org/signal/devicetransfer/WifiDirect.java +++ b/device-transfer/lib/src/main/java/org/signal/devicetransfer/WifiDirect.java @@ -299,7 +299,7 @@ public final class WifiDirect { ensureInitialized(); manager.requestConnectionInfo(channel, info -> { - Log.i(TAG, "Connection information available. group_formed: " + info.groupFormed + " group_owner: " + info.isGroupOwner); + Log.i(TAG, "Connection information available. group_formed: " + info.groupFormed + " is_group_owner: " + info.isGroupOwner + " has_group_owner_address: " + (info.groupOwnerAddress != null)); WifiDirectConnectionListener listener = connectionListener; if (listener != null) { listener.onNetworkConnected(info);