diff --git a/app/src/full/java/org/fdroid/fdroid/localrepo/BluetoothManager.java b/app/src/full/java/org/fdroid/fdroid/localrepo/BluetoothManager.java index d6b3cb41c..310c26cab 100644 --- a/app/src/full/java/org/fdroid/fdroid/localrepo/BluetoothManager.java +++ b/app/src/full/java/org/fdroid/fdroid/localrepo/BluetoothManager.java @@ -86,6 +86,10 @@ public class BluetoothManager { localBroadcastManager.registerReceiver(bluetoothDeviceFound, new IntentFilter(BluetoothDevice.ACTION_FOUND)); bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + String name = bluetoothAdapter.getName(); + if (name != null) { + SwapService.putBluetoothNameBeforeSwap(name); + } if (!bluetoothAdapter.enable()) { sendBroadcast(STATUS_ERROR, context.getString(R.string.swap_error_cannot_start_bluetooth)); return; @@ -113,6 +117,10 @@ public class BluetoothManager { if (!SwapService.wasBluetoothEnabledBeforeSwap()) { bluetoothAdapter.disable(); } + String name = SwapService.getBluetoothNameBeforeSwap(); + if (name != null) { + bluetoothAdapter.setName(name); + } } handlerThread.quit(); handlerThread = null; diff --git a/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java b/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java index 610aa9afa..1055ffd1c 100644 --- a/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java +++ b/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java @@ -58,6 +58,7 @@ public class SwapService extends Service { private static final String KEY_BLUETOOTH_ENABLED = "bluetoothEnabled"; private static final String KEY_WIFI_ENABLED = "wifiEnabled"; private static final String KEY_BLUETOOTH_ENABLED_BEFORE_SWAP = "bluetoothEnabledBeforeSwap"; + private static final String KEY_BLUETOOTH_NAME_BEFORE_SWAP = "bluetoothNameBeforeSwap"; private static final String KEY_WIFI_ENABLED_BEFORE_SWAP = "wifiEnabledBeforeSwap"; @NonNull @@ -301,6 +302,14 @@ public class SwapService extends Service { swapPreferences.edit().putBoolean(SwapService.KEY_BLUETOOTH_ENABLED_BEFORE_SWAP, visible).apply(); } + public static String getBluetoothNameBeforeSwap() { + return swapPreferences.getString(SwapService.KEY_BLUETOOTH_NAME_BEFORE_SWAP, null); + } + + public static void putBluetoothNameBeforeSwap(String name) { + swapPreferences.edit().putString(SwapService.KEY_BLUETOOTH_NAME_BEFORE_SWAP, name).apply(); + } + public static boolean wasWifiEnabledBeforeSwap() { return swapPreferences.getBoolean(SwapService.KEY_WIFI_ENABLED_BEFORE_SWAP, false); }