From 6f90623cab3a0daa37e27609f0e66fa2ff03bafa Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Fri, 24 May 2024 13:23:03 +0200 Subject: [PATCH] hide logos for conversation list and lockscreen if app is not nextcloud Signed-off-by: Marcel Hibbe --- .../ConversationsListActivity.kt | 9 +++++++++ .../nextcloud/talk/diagnose/DiagnoseActivity.kt | 4 ++-- .../com/nextcloud/talk/lock/LockedActivity.kt | 9 +++++++++ .../com/nextcloud/talk/utils/BrandingUtils.kt | 17 +++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/nextcloud/talk/utils/BrandingUtils.kt diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index 33115b300..97bba0479 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -101,6 +101,7 @@ import com.nextcloud.talk.ui.dialog.ConversationsListBottomDialog import com.nextcloud.talk.ui.dialog.FilterConversationFragment import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.utils.ApiUtils +import com.nextcloud.talk.utils.BrandingUtils import com.nextcloud.talk.utils.CapabilitiesUtil.hasSpreedFeatureCapability import com.nextcloud.talk.utils.CapabilitiesUtil.isServerEOL import com.nextcloud.talk.utils.CapabilitiesUtil.isUnifiedSearchAvailable @@ -959,6 +960,8 @@ class ConversationsListActivity : @SuppressLint("ClickableViewAccessibility") private fun prepareViews() { + hideLogoForBrandedClients() + layoutManager = SmoothScrollLinearLayoutManager(this) binding.recyclerView.layoutManager = layoutManager binding.recyclerView.setHasFixedSize(true) @@ -1019,6 +1022,12 @@ class ConversationsListActivity : binding?.newMentionPopupBubble?.let { viewThemeUtils.material.colorMaterialButtonPrimaryFilled(it) } } + private fun hideLogoForBrandedClients() { + if (!BrandingUtils.isOriginalNextcloudClient(applicationContext)) { + binding.emptyListIcon.visibility = View.GONE + } + } + @SuppressLint("CheckResult") @Suppress("Detekt.TooGenericExceptionCaught") private fun checkToShowUnreadBubble() { diff --git a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt index c091f075e..8599146c6 100644 --- a/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/diagnose/DiagnoseActivity.kt @@ -36,6 +36,7 @@ import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.arbitrarystorage.ArbitraryStorageManager import com.nextcloud.talk.databinding.ActivityDiagnoseBinding import com.nextcloud.talk.users.UserManager +import com.nextcloud.talk.utils.BrandingUtils import com.nextcloud.talk.utils.ClosedInterfaceImpl import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.NotificationUtils @@ -115,8 +116,7 @@ class DiagnoseActivity : BaseActivity() { override fun onPrepareOptionsMenu(menu: Menu): Boolean { super.onPrepareOptionsMenu(menu) - menu.findItem(R.id.create_issue).isVisible = - applicationContext.packageName.equals(ORIGINAL_NEXTCLOUD_TALK_APPLICATION_ID) + menu.findItem(R.id.create_issue).isVisible = BrandingUtils.isOriginalNextcloudClient(applicationContext) return true } diff --git a/app/src/main/java/com/nextcloud/talk/lock/LockedActivity.kt b/app/src/main/java/com/nextcloud/talk/lock/LockedActivity.kt index 75a6af27f..5906bbd37 100644 --- a/app/src/main/java/com/nextcloud/talk/lock/LockedActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/lock/LockedActivity.kt @@ -13,6 +13,7 @@ import android.app.KeyguardManager import android.content.Context import android.os.Bundle import android.util.Log +import android.view.View import androidx.activity.result.ActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity @@ -21,6 +22,7 @@ import autodagger.AutoInjector import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.databinding.ActivityLockedBinding +import com.nextcloud.talk.utils.BrandingUtils import com.nextcloud.talk.utils.SecurityUtils import com.nextcloud.talk.utils.preferences.AppPreferences import java.util.concurrent.Executor @@ -55,6 +57,7 @@ class LockedActivity : AppCompatActivity() { override fun onResume() { super.onResume() + hideLogoForBrandedClients() binding.unlockContainer.setOnClickListener { checkIfWeAreSecure() @@ -62,6 +65,12 @@ class LockedActivity : AppCompatActivity() { checkIfWeAreSecure() } + private fun hideLogoForBrandedClients() { + if (!BrandingUtils.isOriginalNextcloudClient(applicationContext)) { + binding.appLogo.visibility = View.GONE + } + } + private fun checkIfWeAreSecure() { val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager? if (keyguardManager?.isKeyguardSecure == true && appPreferences.isScreenLocked) { diff --git a/app/src/main/java/com/nextcloud/talk/utils/BrandingUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/BrandingUtils.kt new file mode 100644 index 000000000..01d4115c7 --- /dev/null +++ b/app/src/main/java/com/nextcloud/talk/utils/BrandingUtils.kt @@ -0,0 +1,17 @@ +/* + * Nextcloud Talk - Android Client + * + * SPDX-FileCopyrightText: 2024 Marcel Hibbe + * SPDX-License-Identifier: GPL-3.0-or-later + */ +package com.nextcloud.talk.utils + +import android.content.Context + +object BrandingUtils { + private const val ORIGINAL_NEXTCLOUD_TALK_APPLICATION_ID = "com.nextcloud.talk2" + + fun isOriginalNextcloudClient(context: Context): Boolean { + return context.packageName.equals(ORIGINAL_NEXTCLOUD_TALK_APPLICATION_ID) + } +}