mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 01:51:47 +00:00
Add a setting to enable/disable UDP broadcast
This commit is contained in:
parent
020382931c
commit
0d658e6fb6
@ -547,4 +547,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<string name="plugin_stats">Plugin stats</string>
|
||||
|
||||
<string name="enable_udp_broadcast">Enable backwards-compatible device discovery</string>
|
||||
|
||||
</resources>
|
||||
|
@ -24,6 +24,7 @@ import org.kde.kdeconnect.Helpers.TrustedNetworkHelper;
|
||||
import org.kde.kdeconnect.KdeConnect;
|
||||
import org.kde.kdeconnect.NetworkPacket;
|
||||
import org.kde.kdeconnect.UserInterface.CustomDevicesActivity;
|
||||
import org.kde.kdeconnect.UserInterface.SettingsFragment;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@ -331,6 +332,12 @@ public class LanLinkProvider extends BaseLinkProvider {
|
||||
}
|
||||
|
||||
private void broadcastUdpIdentityPacket() {
|
||||
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
if (!preferences.getBoolean(SettingsFragment.KEY_UDP_BROADCAST_ENABLED, true)) {
|
||||
Log.i("LanLinkProvider", "UDP broadcast is disabled in settings. Skipping.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (System.currentTimeMillis() < lastBroadcast + delayBetweenBroadcasts) {
|
||||
Log.i("LanLinkProvider", "broadcastUdpPacket: relax cowboy");
|
||||
return;
|
||||
|
@ -37,6 +37,9 @@ import org.kde.kdeconnect_tp.R;
|
||||
|
||||
public class SettingsFragment extends PreferenceFragmentCompat {
|
||||
|
||||
public static final String KEY_UDP_BROADCAST_ENABLED = "udp_broadcast_enabled";
|
||||
public static final String KEY_APP_THEME = "theme_pref";
|
||||
|
||||
private EditTextPreference renameDevice;
|
||||
|
||||
@NonNull
|
||||
@ -90,7 +93,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||
|
||||
// Theme Selector
|
||||
ListPreference themeSelector = new ListPreference(context);
|
||||
themeSelector.setKey("theme_pref");
|
||||
themeSelector.setKey(KEY_APP_THEME);
|
||||
themeSelector.setTitle(R.string.theme_dialog_title);
|
||||
themeSelector.setDialogTitle(R.string.theme_dialog_title);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
@ -168,6 +171,13 @@ public class SettingsFragment extends PreferenceFragmentCompat {
|
||||
return true;
|
||||
});
|
||||
|
||||
// UDP broadcast toggle
|
||||
final TwoStatePreference udpBroadcastDiscovery = new SwitchPreference(context);
|
||||
udpBroadcastDiscovery.setPersistent(false);
|
||||
udpBroadcastDiscovery.setDefaultValue(true);
|
||||
udpBroadcastDiscovery.setKey(KEY_UDP_BROADCAST_ENABLED);
|
||||
udpBroadcastDiscovery.setTitle(R.string.enable_udp_broadcast);
|
||||
screen.addPreference(udpBroadcastDiscovery);
|
||||
|
||||
// More settings text
|
||||
Preference moreSettingsText = new Preference(context);
|
||||
|
Loading…
x
Reference in New Issue
Block a user