@@ -50,6 +50,7 @@ import com.nextcloud.talk.utils.DisplayUtils
5050import com.nextcloud.talk.utils.NotificationUtils
5151import com.nextcloud.talk.utils.PushUtils.Companion.LATEST_PUSH_REGISTRATION_AT_PUSH_PROXY
5252import com.nextcloud.talk.utils.PushUtils.Companion.LATEST_PUSH_REGISTRATION_AT_SERVER
53+ import com.nextcloud.talk.utils.UnifiedPushUtils
5354import com.nextcloud.talk.utils.UserIdUtils
5455import com.nextcloud.talk.utils.permissions.PlatformPermissionUtil
5556import com.nextcloud.talk.utils.power.PowerManagerUtils
@@ -79,6 +80,7 @@ class DiagnosisActivity : BaseActivity() {
7980 lateinit var platformPermissionUtil: PlatformPermissionUtil
8081
8182 private var isGooglePlayServicesAvailable: Boolean = false
83+ private var useEmbeddedDistrib: Boolean = false
8284
8385 private var nUnifiedPushServices = 0
8486 private var offerUnifiedPush: Boolean = false
@@ -103,10 +105,11 @@ class DiagnosisActivity : BaseActivity() {
103105
104106 val colorScheme = viewThemeUtils.getColorScheme(this )
105107 isGooglePlayServicesAvailable = ClosedInterfaceImpl ().isGooglePlayServicesAvailable
106- nUnifiedPushServices = UnifiedPush .getDistributors (this ).size
108+ nUnifiedPushServices = UnifiedPushUtils .getExternalDistributors (this ).size
107109 offerUnifiedPush = nUnifiedPushServices > 0 &&
108110 userManager.users.blockingGet().all { it.hasWebPushCapability }
109111 useUnifiedPush = appPreferences.useUnifiedPush
112+ useEmbeddedDistrib = UnifiedPushUtils .hasEmbeddedDistributor(context) && ! useUnifiedPush
110113 unifiedPushService = UnifiedPush .getAckDistributor(this ) ? : " N/A"
111114
112115 setContent {
@@ -160,7 +163,9 @@ class DiagnosisActivity : BaseActivity() {
160163 viewState = viewState,
161164 onTestPushClick = { diagnosisViewModel.fetchTestPushResult() },
162165 onDismissDialog = { diagnosisViewModel.dismissDialog() },
163- showTestPushButton = isGooglePlayServicesAvailable || useUnifiedPush,
166+ showTestPushButton = isGooglePlayServicesAvailable ||
167+ useUnifiedPush ||
168+ useEmbeddedDistrib,
164169 isOnline = isOnline
165170 )
166171 }
@@ -254,17 +259,27 @@ class DiagnosisActivity : BaseActivity() {
254259 value = Build .VERSION .SDK_INT .toString()
255260 )
256261
257- if (isGooglePlayServicesAvailable) {
258- addDiagnosisEntry(
259- key = context.resources.getString(R .string.nc_diagnosis_gplay_available_title),
260- value = context.resources.getString(R .string.nc_diagnosis_gplay_available_yes)
261- )
262- } else {
263- addDiagnosisEntry(
264- key = context.resources.getString(R .string.nc_diagnosis_gplay_available_title),
265- value = context.resources.getString(R .string.nc_diagnosis_gplay_available_no_short)
266- )
262+ when (true ) {
263+ isGooglePlayServicesAvailable -> {
264+ addDiagnosisEntry(
265+ key = context.resources.getString(R .string.nc_diagnosis_gplay_available_title),
266+ value = context.resources.getString(R .string.nc_diagnosis_gplay_available_yes)
267+ )
268+ }
269+ useEmbeddedDistrib -> {
270+ addDiagnosisEntry(
271+ key = context.resources.getString(R .string.nc_diagnosis_gplay_available_title),
272+ value = context.resources.getString(R .string.nc_diagnosis_gplay_available_yes_up)
273+ )
274+ }
275+ else -> {
276+ addDiagnosisEntry(
277+ key = context.resources.getString(R .string.nc_diagnosis_gplay_available_title),
278+ value = context.resources.getString(R .string.nc_diagnosis_gplay_available_no_short)
279+ )
280+ }
267281 }
282+
268283 addDiagnosisEntry(
269284 key = getString(R .string.nc_diagnosis_unifiedpush_available_title),
270285 value = context.resources.getQuantityString(
@@ -305,7 +320,7 @@ class DiagnosisActivity : BaseActivity() {
305320 value = getStringForBoolean(useUnifiedPush)
306321 )
307322
308- if (useUnifiedPush) {
323+ if (useUnifiedPush || useEmbeddedDistrib ) {
309324 setupAppValuesForPush()
310325 setupAppValuesForUnifiedPush()
311326 } else if (isGooglePlayServicesAvailable) {
0 commit comments