summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/safetycenter
diff options
context:
space:
mode:
authorShriya Gupta <shrigupt@google.com>2023-03-08 13:36:06 +0000
committerShriya Gupta <shrigupt@google.com>2023-03-08 18:20:04 +0000
commit989f585df64fb1d3841a459a92e51711da7f86b9 (patch)
treeef31018ed2824bddf96cbdc34fc650ecdcfe50a4 /PermissionController/src/com/android/permissioncontroller/safetycenter
parentb7fc89f121128287a2247a6af00edc2499e9b0ad (diff)
downloadPermission-989f585df64fb1d3841a459a92e51711da7f86b9.tar.gz
Standardize sessionID handling across fragments
Bug: 268309208 Test: statsd_testdrive 473 Change-Id: I4e8ad227599e7861dbd954af8837c0203989b7e0
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/safetycenter')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PrivacySubpageFragment.kt22
-rw-r--r--PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java6
-rw-r--r--PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java10
-rw-r--r--PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterSubpageFragment.kt14
5 files changed, 32 insertions, 24 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PrivacySubpageFragment.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PrivacySubpageFragment.kt
index 7befb2f7c..82166b1e5 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PrivacySubpageFragment.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/PrivacySubpageFragment.kt
@@ -24,9 +24,8 @@ import androidx.annotation.RequiresApi
import androidx.lifecycle.ViewModelProvider
import androidx.preference.Preference
import androidx.preference.PreferenceGroup
-import com.android.permissioncontroller.Constants
+import com.android.permissioncontroller.Constants.EXTRA_SESSION_ID
import com.android.permissioncontroller.R
-import com.android.permissioncontroller.permission.utils.Utils
import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVACY_SOURCES_GROUP_ID
import com.android.permissioncontroller.safetycenter.ui.SafetyBrandChipPreference.Companion.closeSubpage
import com.android.permissioncontroller.safetycenter.ui.model.PrivacyControlsViewModel
@@ -45,18 +44,16 @@ class PrivacySubpageFragment : SafetyCenterFragment() {
private lateinit var subpageGenericEntryGroup: PreferenceGroup
private lateinit var subpageDataEntryGroup: PreferenceGroup
private lateinit var privacyControlsViewModel: PrivacyControlsViewModel
- private var sessionId = Constants.INVALID_SESSION_ID
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
super.onCreatePreferences(savedInstanceState, rootKey)
setPreferencesFromResource(R.xml.privacy_subpage, rootKey)
- sessionId = Utils.getOrGenerateSessionId(requireActivity().getIntent())
subpageBrandChip = getPreferenceScreen().findPreference(BRAND_CHIP_KEY)!!
subpageIssueGroup = getPreferenceScreen().findPreference(ISSUE_GROUP_KEY)!!
subpageGenericEntryGroup = getPreferenceScreen().findPreference(GENERIC_ENTRY_GROUP_KEY)!!
subpageDataEntryGroup = getPreferenceScreen().findPreference(DATA_ENTRY_GROUP_KEY)!!
- subpageBrandChip.setupListener(requireActivity(), sessionId)
+ subpageBrandChip.setupListener(requireActivity(), safetyCenterSessionId)
val factory = PrivacyControlsViewModelFactory(requireActivity().getApplication())
privacyControlsViewModel =
@@ -71,7 +68,7 @@ class PrivacySubpageFragment : SafetyCenterFragment() {
override fun configureInteractionLogger() {
val logger = safetyCenterViewModel.interactionLogger
- logger.sessionId = sessionId
+ logger.sessionId = safetyCenterSessionId
logger.navigationSource = NavigationSource.fromIntent(requireActivity().getIntent())
logger.viewType = ViewType.SUBPAGE
logger.groupId = PRIVACY_SOURCES_GROUP_ID
@@ -90,7 +87,7 @@ class PrivacySubpageFragment : SafetyCenterFragment() {
TAG,
"$PRIVACY_SOURCES_GROUP_ID doesn't match any of the existing SafetySourcesGroup IDs"
)
- closeSubpage(requireActivity(), requireContext(), sessionId)
+ closeSubpage(requireActivity(), requireContext(), safetyCenterSessionId)
return
}
@@ -197,5 +194,16 @@ class PrivacySubpageFragment : SafetyCenterFragment() {
private const val ISSUE_GROUP_KEY: String = "subpage_issue_group"
private const val GENERIC_ENTRY_GROUP_KEY: String = "subpage_generic_entry_group"
private const val DATA_ENTRY_GROUP_KEY: String = "subpage_data_entry_group"
+
+ /** Creates an instance of PrivacySubpageFragment with the arguments set */
+ @JvmStatic
+ fun newInstance(sessionId: Long): PrivacySubpageFragment {
+ val args = Bundle()
+ args.putLong(EXTRA_SESSION_ID, sessionId)
+
+ val subpageFragment = PrivacySubpageFragment()
+ subpageFragment.setArguments(args)
+ return subpageFragment
+ }
}
}
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java
index f9ec852ca..2b92cfe19 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java
@@ -44,6 +44,7 @@ import androidx.fragment.app.Fragment;
import com.android.permissioncontroller.Constants;
import com.android.permissioncontroller.PermissionControllerStatsLog;
import com.android.permissioncontroller.R;
+import com.android.permissioncontroller.permission.utils.Utils;
import com.android.permissioncontroller.safetycenter.ui.model.PrivacyControlsViewModel.Pref;
import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
@@ -203,12 +204,13 @@ public final class SafetyCenterActivity extends CollapsingToolbarBaseActivity {
return openHomepage();
}
+ long sessionId = Utils.getOrGenerateSessionId(getIntent());
if (Objects.equals(groupId, PRIVACY_SOURCES_GROUP_ID)) {
logPrivacySourceMetric();
- return new PrivacySubpageFragment();
+ return PrivacySubpageFragment.newInstance(sessionId);
}
- return SafetyCenterSubpageFragment.newInstance(groupId);
+ return SafetyCenterSubpageFragment.newInstance(sessionId, groupId);
}
@RequiresApi(UPSIDE_DOWN_CAKE)
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java
index b59177d43..02b9a46ff 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java
@@ -44,7 +44,6 @@ import androidx.annotation.RequiresApi;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceGroup;
-import com.android.permissioncontroller.Constants;
import com.android.permissioncontroller.R;
import com.android.permissioncontroller.safetycenter.ui.model.SafetyCenterUiData;
import com.android.permissioncontroller.safetycenter.ui.model.StatusUiData;
@@ -73,7 +72,6 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
private PreferenceGroup mEntriesGroup;
private PreferenceGroup mStaticEntriesGroup;
private boolean mIsQuickSettingsFragment;
- private long mSessionId = Constants.INVALID_SESSION_ID;
public SafetyCenterDashboardFragment() {}
@@ -100,9 +98,6 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
setPreferencesFromResource(R.xml.safety_center_dashboard, rootKey);
if (getArguments() != null) {
- mSessionId =
- getArguments()
- .getLong(Constants.EXTRA_SESSION_ID, Constants.INVALID_SESSION_ID);
mIsQuickSettingsFragment =
getArguments().getBoolean(QUICK_SETTINGS_SAFETY_CENTER_FRAGMENT, false);
}
@@ -146,7 +141,7 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
@Override
public void configureInteractionLogger() {
InteractionLogger logger = getSafetyCenterViewModel().getInteractionLogger();
- logger.setSessionId(mSessionId);
+ logger.setSessionId(getSafetyCenterSessionId());
logger.setViewType(mIsQuickSettingsFragment ? ViewType.QUICK_SETTINGS : ViewType.FULL);
Intent intent = requireActivity().getIntent();
@@ -227,7 +222,8 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
if (SafetyCenterUiFlags.getShowSubpages() && group != null) {
mEntriesGroup.addPreference(
- new SafetyHomepageEntryPreference(context, group, mSessionId));
+ new SafetyHomepageEntryPreference(
+ context, group, getSafetyCenterSessionId()));
} else if (entry != null) {
addTopLevelEntry(context, entry, isFirstElement, isLastElement);
} else if (group != null) {
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt
index 358c790cd..9ff8bee1a 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt
@@ -25,6 +25,8 @@ import androidx.lifecycle.ViewModelProvider
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceScreen
import androidx.recyclerview.widget.RecyclerView
+import com.android.permissioncontroller.Constants.EXTRA_SESSION_ID
+import com.android.permissioncontroller.Constants.INVALID_SESSION_ID
import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.QUICK_SETTINGS_SAFETY_CENTER_FRAGMENT
import com.android.permissioncontroller.safetycenter.ui.ParsedSafetyCenterIntent.Companion.toSafetyCenterIntent
import com.android.permissioncontroller.safetycenter.ui.model.LiveSafetyCenterViewModelFactory
@@ -39,6 +41,7 @@ abstract class SafetyCenterFragment : PreferenceFragmentCompat() {
lateinit var safetyCenterViewModel: SafetyCenterViewModel
lateinit var sameTaskSourceIds: List<String>
lateinit var collapsableIssuesCardHelper: CollapsableIssuesCardHelper
+ var safetyCenterSessionId = INVALID_SESSION_ID
private val highlightManager = PreferenceHighlightManager(this)
override fun onCreate(savedInstanceState: Bundle?) {
@@ -72,6 +75,7 @@ abstract class SafetyCenterFragment : PreferenceFragmentCompat() {
SafetyCenterResourcesContext(requireContext())
.getStringByName("config_same_task_safety_source_ids")
.split(",")
+ safetyCenterSessionId = requireArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID)
safetyCenterViewModel =
ViewModelProvider(
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterSubpageFragment.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterSubpageFragment.kt
index 6e13b6d29..8625e1959 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterSubpageFragment.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterSubpageFragment.kt
@@ -22,9 +22,8 @@ import android.safetycenter.SafetyCenterEntryGroup
import android.util.Log
import androidx.annotation.RequiresApi
import androidx.preference.PreferenceGroup
-import com.android.permissioncontroller.Constants
+import com.android.permissioncontroller.Constants.EXTRA_SESSION_ID
import com.android.permissioncontroller.R
-import com.android.permissioncontroller.permission.utils.Utils
import com.android.permissioncontroller.safetycenter.ui.SafetyBrandChipPreference.Companion.closeSubpage
import com.android.permissioncontroller.safetycenter.ui.model.SafetyCenterUiData
import com.android.safetycenter.resources.SafetyCenterResourcesContext
@@ -40,13 +39,11 @@ class SafetyCenterSubpageFragment : SafetyCenterFragment() {
private lateinit var subpageIssueGroup: PreferenceGroup
private lateinit var subpageEntryGroup: PreferenceGroup
private lateinit var subpageFooter: FooterPreference
- private var sessionId = Constants.INVALID_SESSION_ID
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
super.onCreatePreferences(savedInstanceState, rootKey)
setPreferencesFromResource(R.xml.safety_center_subpage, rootKey)
sourceGroupId = requireArguments().getString(SOURCE_GROUP_ID_KEY)!!
- sessionId = Utils.getOrGenerateSessionId(requireActivity().getIntent())
subpageBrandChip = getPreferenceScreen().findPreference(BRAND_CHIP_KEY)!!
subpageIllustration = getPreferenceScreen().findPreference(ILLUSTRATION_KEY)!!
@@ -54,7 +51,7 @@ class SafetyCenterSubpageFragment : SafetyCenterFragment() {
subpageEntryGroup = getPreferenceScreen().findPreference(ENTRY_GROUP_KEY)!!
subpageFooter = getPreferenceScreen().findPreference(FOOTER_KEY)!!
- subpageBrandChip.setupListener(requireActivity(), sessionId)
+ subpageBrandChip.setupListener(requireActivity(), safetyCenterSessionId)
setupIllustration()
setupFooter()
@@ -63,7 +60,7 @@ class SafetyCenterSubpageFragment : SafetyCenterFragment() {
override fun configureInteractionLogger() {
val logger = safetyCenterViewModel.interactionLogger
- logger.sessionId = sessionId
+ logger.sessionId = safetyCenterSessionId
logger.navigationSource = NavigationSource.fromIntent(requireActivity().getIntent())
logger.viewType = ViewType.SUBPAGE
logger.groupId = sourceGroupId
@@ -79,7 +76,7 @@ class SafetyCenterSubpageFragment : SafetyCenterFragment() {
val entryGroup = uiData?.getMatchingGroup(sourceGroupId)
if (entryGroup == null) {
Log.w(TAG, "$sourceGroupId doesn't match any of the existing SafetySourcesGroup IDs")
- closeSubpage(requireActivity(), requireContext(), sessionId)
+ closeSubpage(requireActivity(), requireContext(), safetyCenterSessionId)
return
}
@@ -167,8 +164,9 @@ class SafetyCenterSubpageFragment : SafetyCenterFragment() {
/** Creates an instance of SafetyCenterSubpageFragment with the arguments set */
@JvmStatic
- fun newInstance(groupId: String): SafetyCenterSubpageFragment {
+ fun newInstance(sessionId: Long, groupId: String): SafetyCenterSubpageFragment {
val args = Bundle()
+ args.putLong(EXTRA_SESSION_ID, sessionId)
args.putString(SOURCE_GROUP_ID_KEY, groupId)
val subpageFragment = SafetyCenterSubpageFragment()