Skip to content

Commit 2813538

Browse files
committed
Added setting to enable/disable nsd
1 parent 6da1e32 commit 2813538

File tree

5 files changed

+27
-2
lines changed

5 files changed

+27
-2
lines changed

app/src/main/java/net/xcreen/restsms/fragments/SettingsFragment.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class SettingsFragment : Fragment() {
2424
val openBrowserCheckBox = rootView.findViewById<CheckBox>(R.id.settings_open_browser_checkbox)
2525
val disableLoggingCheckBox = rootView.findViewById<CheckBox>(R.id.settings_disable_logging_checkbox)
2626
val enableAuth = rootView.findViewById<CheckBox>(R.id.settings_enable_auth)
27+
val enableNSD = rootView.findViewById<CheckBox>(R.id.settings_enable_nsd)
2728
val saveBtn = rootView.findViewById<Button>(R.id.settings_save_btn)
2829
saveBtn.setOnClickListener { v ->
2930
var saved = false
@@ -58,6 +59,9 @@ class SettingsFragment : Fragment() {
5859
//Save Enable authentication
5960
editor.putBoolean("enable_auth", enableAuth.isChecked)
6061
editor.apply()
62+
//Save Enable NSD
63+
editor.putBoolean("enable_nsd", enableNSD.isChecked)
64+
editor.apply()
6165
if (saved) {
6266
Toast.makeText(v.context, resources.getText(R.string.setting_saved), Toast.LENGTH_SHORT).show()
6367
}
@@ -78,6 +82,10 @@ class SettingsFragment : Fragment() {
7882
if (sharedPref.getBoolean("enable_auth", false)) {
7983
enableAuth.isChecked = true
8084
}
85+
//Set current "NSD"-Option
86+
if (sharedPref.getBoolean("enable_nsd", false)) {
87+
enableNSD.isChecked = true
88+
}
8189
return rootView
8290
}
8391
}

app/src/main/java/net/xcreen/restsms/server/SMSServer.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import javax.servlet.MultipartConfigElement
1212

1313
class SMSServer {
1414
var port = 8080
15+
var startNSD = false
1516
var goodToken = ""
1617
var authEnabled = false
1718
private var jettyServer: Server? = null
@@ -75,8 +76,9 @@ class SMSServer {
7576
serverLogging!!.log("error", "NSD Service unregistration failed: $errorCode")
7677
}
7778
}
78-
nsdManager!!.registerService(nsdServiceInfo, NsdManager.PROTOCOL_DNS_SD, nsdRegistrationListener)
79-
79+
if(startNSD) {
80+
nsdManager!!.registerService(nsdServiceInfo, NsdManager.PROTOCOL_DNS_SD, nsdRegistrationListener)
81+
}
8082
//Start Jetty
8183
jettyServer!!.start()
8284
jettyServer!!.join()

app/src/main/java/net/xcreen/restsms/server/ServerService.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ class ServerService : Service() {
5858
val sharedPref = PreferenceManager.getDefaultSharedPreferences(this)
5959
val serverPort = sharedPref.getInt("server_port", 8080)
6060
appContext?.smsServer?.port = serverPort
61+
//Set NSD
62+
appContext?.smsServer?.startNSD = sharedPref.getBoolean("enable_nsd", false)
6163
//Set Auth params
6264
val goodToken = sharedPref.getString("server_token", "") ?: ""
6365
val authEnabled = sharedPref.getBoolean("enable_auth", false)

app/src/main/res/layout/fragment_settings.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,18 @@
107107
android:textColor="@color/colorWhite"
108108
app:layout_constraintStart_toStartOf="parent"
109109
app:layout_constraintTop_toBottomOf="@+id/settings_open_browser_checkbox" />
110+
111+
<CheckBox
112+
android:id="@+id/settings_enable_nsd"
113+
android:layout_width="wrap_content"
114+
android:layout_height="wrap_content"
115+
android:layout_marginStart="8dp"
116+
android:layout_marginTop="8dp"
117+
android:text="@string/setting_enable_nsd"
118+
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1"
119+
android:textColor="@color/colorWhite"
120+
app:layout_constraintStart_toStartOf="parent"
121+
app:layout_constraintTop_toBottomOf="@+id/settings_token_edittext" />
110122
</androidx.constraintlayout.widget.ConstraintLayout>
111123

112124
</FrameLayout>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
<string name="setting_open_website">Open Browser after Server-Start</string>
5151
<string name="setting_disable_logging">Disable writing/creating log-files</string>
5252
<string name="setting_enable_auth">Enable authentication</string>
53+
<string name="setting_enable_nsd">Enable Network Service Discovery</string>
5354
<string name="setting_save">Save</string>
5455
<string name="setting_invalid_port">Invalid Port!</string>
5556
<string name="setting_invalid_port_range">Port must be between 0 and 65535!</string>

0 commit comments

Comments
 (0)