Skip to content

Commit b5f6adf

Browse files
committed
make UI reactive
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
1 parent 555fec2 commit b5f6adf

2 files changed

Lines changed: 31 additions & 16 deletions

File tree

app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseContentComposable.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fun DiagnoseContentComposable(
6060
onTestPushClick: () -> Unit,
6161
onDismissDialog: () -> Unit,
6262
isGooglePlayServicesAvailable: Boolean,
63-
isOnline:Boolean
63+
isOnline: Boolean
6464
) {
6565
val context = LocalContext.current
6666
Column(

app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)