From 7d783b6e427e67ee6f7da47df6c21834c1e53c8a Mon Sep 17 00:00:00 2001 From: Sayed Owais Ali Date: Thu, 7 Sep 2023 12:59:57 +0530 Subject: [PATCH] TP-40390 | Alfred masking issue (#7782) --- .../com/naviapp/home/fragment/HomeFragment.kt | 3 +-- .../com/navi/analytics/alfred/utils/Utils.kt | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/naviapp/home/fragment/HomeFragment.kt b/app/src/main/java/com/naviapp/home/fragment/HomeFragment.kt index c1857e9146..7483479efd 100644 --- a/app/src/main/java/com/naviapp/home/fragment/HomeFragment.kt +++ b/app/src/main/java/com/naviapp/home/fragment/HomeFragment.kt @@ -30,8 +30,6 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView import com.google.android.datatransport.runtime.scheduling.persistence.EventStoreModule_PackageNameFactory.packageName import com.google.android.play.core.install.model.AppUpdateType import com.google.gson.JsonParser @@ -660,6 +658,7 @@ class HomeFragment : PaymentBaseFragment(), WidgetCallback, PlayStoreActionListe ?.contains(Constants.SENSITIVE_VIEW) == true if (isSensitive) { + activity?.window?.decorView?.rootView?.tag = Constants.SENSITIVE_VIEW composeView.tag = Constants.SENSITIVE_VIEW } composeView.setProperties( diff --git a/navi-analytics/src/main/java/com/navi/analytics/alfred/utils/Utils.kt b/navi-analytics/src/main/java/com/navi/analytics/alfred/utils/Utils.kt index 8c7f06c3e5..c93edeac28 100644 --- a/navi-analytics/src/main/java/com/navi/analytics/alfred/utils/Utils.kt +++ b/navi-analytics/src/main/java/com/navi/analytics/alfred/utils/Utils.kt @@ -56,19 +56,27 @@ suspend fun captureScreen( return null } if (canvas != null && bmp != null) { - if (isMaskingEnabled(screenName)) { + if (isMaskingEnabled(screenName) || (v.tag == SENSITIVE_VIEW_TAG)) { val maskedViewsList = findViewWithTagRecursive(v, SENSITIVE_VIEW_TAG, mutableListOf()) withContext(Dispatchers.Main) { try { if (maskedViewsList.isEmpty()) { v.draw(canvas) } else { + val alphaList = mutableListOf>() + for (maskedView in maskedViewsList) { - val savedAlpha = maskedView.alpha + alphaList.add(Pair(maskedView, maskedView.alpha)) maskedView.alpha = 0.0f - v.draw(canvas) - maskedView.alpha = savedAlpha } + + v.draw(canvas) + + for (alphaView in alphaList) { + val view = alphaView.first + view.alpha = alphaView.second + } + alphaList.clear() } } catch (e: Exception) { e.log()