@@ -148,8 +148,9 @@ class SettingsActivity :
148148 override fun onCreate (savedInstanceState : Bundle ? ) {
149149 super .onCreate(savedInstanceState)
150150 NextcloudTalkApplication .sharedApplication!! .componentApplication.inject(this )
151- networkMonitor.isOnlineLiveData.observe(this ){ online ->
151+ networkMonitor.isOnlineLiveData.observe(this ) { online ->
152152 isOnline.value = online
153+ handleNetworkChange(isOnline.value)
153154 }
154155
155156 binding = ActivitySettingsBinding .inflate(layoutInflater)
@@ -161,9 +162,9 @@ class SettingsActivity :
161162
162163 getCurrentUser()
163164 handleIntent(intent)
164- networkMonitor.isOnlineLiveData.observe( this ){ isOnline ->
165- setupLicenceSetting(isOnline)
166- }
165+
166+ setupLicenceSetting(isOnline.value )
167+
167168 binding.settingsScreenLockSummary.text = String .format(
168169 Locale .getDefault(),
169170 resources!! .getString(R .string.nc_settings_screen_lock_desc),
@@ -175,14 +176,21 @@ class SettingsActivity :
175176 setupPrivacyUrl(isOnline.value)
176177 setupSourceCodeUrl(isOnline.value)
177178
178-
179179 binding.settingsVersionSummary.text = String .format(" v" + BuildConfig .VERSION_NAME )
180180
181181 setupPhoneBookIntegration(isOnline.value)
182182
183183 setupClientCertView()
184184 }
185185
186+ private fun handleNetworkChange (isOnline : Boolean ) {
187+ setupLicenceSetting(isOnline)
188+ setupPrivacyUrl(isOnline)
189+ setupSourceCodeUrl(isOnline)
190+ setupPhoneBookIntegration(isOnline)
191+ setupCheckables(isOnline)
192+ }
193+
186194 private fun handleIntent (intent : Intent ) {
187195 val extras: Bundle ? = intent.extras
188196 openedByNotificationWarning = extras?.getBoolean(KEY_SCROLL_TO_NOTIFICATION_CATEGORY ) ? : false
@@ -254,7 +262,7 @@ class SettingsActivity :
254262 }
255263 }
256264
257- private fun loadCapabilitiesAndUpdateSettings (isOnline : Boolean ) {
265+ private fun loadCapabilitiesAndUpdateSettings (isOnline : Boolean ) {
258266 val capabilitiesWork = OneTimeWorkRequest .Builder (CapabilitiesWorker ::class .java).build()
259267 WorkManager .getInstance(context).enqueue(capabilitiesWork)
260268
@@ -284,11 +292,12 @@ class SettingsActivity :
284292 credentials = ApiUtils .getCredentials(currentUser!! .username, currentUser!! .token)
285293 }
286294
287- private fun setupPhoneBookIntegration (isOnline : Boolean ) {
295+ private fun setupPhoneBookIntegration (isOnline : Boolean ) {
288296 if (CapabilitiesUtil .hasSpreedFeatureCapability(
289297 currentUser?.capabilities?.spreedCapability!! ,
290298 SpreedFeatures .PHONEBOOK_SEARCH
291- ) && isOnline
299+ ) &&
300+ isOnline
292301 ) {
293302 binding.settingsPhoneBookIntegration.visibility = View .VISIBLE
294303 } else {
@@ -511,8 +520,9 @@ class SettingsActivity :
511520 }
512521 }
513522
514- private fun setupSourceCodeUrl (isOnline : Boolean ) {
523+ private fun setupSourceCodeUrl (isOnline : Boolean ) {
515524 if (! TextUtils .isEmpty(resources!! .getString(R .string.nc_source_code_url)) && isOnline) {
525+ binding.settingsSourceCode.visibility = View .VISIBLE
516526 binding.settingsSourceCode.setOnClickListener {
517527 startActivity(
518528 Intent (
@@ -533,8 +543,9 @@ class SettingsActivity :
533543 }
534544 }
535545
536- private fun setupPrivacyUrl (isOnline : Boolean ) {
546+ private fun setupPrivacyUrl (isOnline : Boolean ) {
537547 if (! TextUtils .isEmpty(resources!! .getString(R .string.nc_privacy_url)) && isOnline) {
548+ binding.settingsPrivacy.visibility = View .VISIBLE
538549 binding.settingsPrivacy.setOnClickListener {
539550 startActivity(
540551 Intent (
@@ -548,8 +559,9 @@ class SettingsActivity :
548559 }
549560 }
550561
551- private fun setupLicenceSetting (isOnline : Boolean ) {
562+ private fun setupLicenceSetting (isOnline : Boolean ) {
552563 if (! TextUtils .isEmpty(resources!! .getString(R .string.nc_gpl3_url)) && isOnline) {
564+ binding.settingsLicence.visibility = View .VISIBLE
553565 binding.settingsLicence.setOnClickListener {
554566 startActivity(
555567 Intent (
@@ -941,7 +953,7 @@ class SettingsActivity :
941953 }
942954 }
943955
944- private fun setupCheckables (isOnline : Boolean ) {
956+ private fun setupCheckables (isOnline : Boolean ) {
945957 binding.settingsShowNotificationWarningSwitch.isChecked =
946958 appPreferences.showRegularNotificationWarning
947959
@@ -958,8 +970,10 @@ class SettingsActivity :
958970 binding.settingsShowNotificationWarning.visibility = View .GONE
959971 }
960972
961- if (CapabilitiesUtil .isReadStatusAvailable(currentUser?.capabilities?.spreedCapability)
962- && isOnline) {
973+ if (CapabilitiesUtil .isReadStatusAvailable(currentUser?.capabilities?.spreedCapability) &&
974+ isOnline
975+ ) {
976+ binding.settingsReadPrivacy.visibility = View .VISIBLE
963977 binding.settingsReadPrivacySwitch.isChecked = ! CapabilitiesUtil .isReadStatusPrivate(currentUser!! )
964978 } else {
965979 binding.settingsReadPrivacy.visibility = View .GONE
@@ -1029,12 +1043,13 @@ class SettingsActivity :
10291043 }
10301044 }
10311045
1032- private fun setupTypingStatusSetting (isOnline : Boolean ) {
1046+ private fun setupTypingStatusSetting (isOnline : Boolean ) {
10331047 if (currentUser!! .externalSignalingServer?.externalSignalingServer?.isNotEmpty() == true ) {
10341048 binding.settingsTypingStatusOnlyWithHpb.visibility = View .GONE
10351049 Log .i(TAG , " Typing Status Available: ${CapabilitiesUtil .isTypingStatusAvailable(currentUser!! )} " )
10361050
10371051 if (CapabilitiesUtil .isTypingStatusAvailable(currentUser!! ) && isOnline) {
1052+ binding.settingsTypingStatus.visibility = View .VISIBLE
10381053 binding.settingsTypingStatusSwitch.isChecked = ! CapabilitiesUtil .isTypingStatusPrivate(currentUser!! )
10391054 } else {
10401055 binding.settingsTypingStatus.visibility = View .GONE
0 commit comments