Fix padding around PBA branding, with or without it.

Test: manual
Bug: 240545050
Change-Id: I6b586009dd0e7302878d6e8858f92539072e0853
diff --git a/PermissionController/res/values-v33/dimens.xml b/PermissionController/res/values-v33/dimens.xml
index 2ab9c32..5aea1d7 100644
--- a/PermissionController/res/values-v33/dimens.xml
+++ b/PermissionController/res/values-v33/dimens.xml
@@ -27,4 +27,5 @@
     <dimen name="safety_center_group_header_expanded_padding_bottom">8dp</dimen>
     <dimen name="safety_center_group_header_collapsed_padding_top">20dp</dimen>
     <dimen name="safety_center_group_header_collapsed_padding_bottom">20dp</dimen>
+    <dimen name="safety_center_card_margin_bottom">24dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/PermissionController/res/values-v33/styles.xml b/PermissionController/res/values-v33/styles.xml
index d9790a4..70d9660 100644
--- a/PermissionController/res/values-v33/styles.xml
+++ b/PermissionController/res/values-v33/styles.xml
@@ -142,7 +142,7 @@
         <item name="android:paddingStart">24dp</item>
         <item name="android:paddingEnd">24dp</item>
         <item name="android:paddingTop">24dp</item>
-        <item name="android:paddingBottom">24dp</item>
+        <item name="android:paddingBottom">@dimen/safety_center_card_margin_bottom</item>
         <item name="android:layout_marginStart">16dp</item>
         <item name="android:layout_marginEnd">16dp</item>
         <item name="android:layout_marginTop">8dp</item>
@@ -268,9 +268,9 @@
         <item name="app:layout_constraintTop_toBottomOf">@id/rescan_button</item>
         <item name="app:layout_constraintStart_toStartOf">parent</item>
         <item name="app:layout_constraintEnd_toEndOf">parent</item>
-        <item name="android:layout_marginTop">20dp</item>
-        <item name="android:layout_marginBottom">0dp</item>
         <item name="android:layout_gravity">center</item>
+        <item name="android:paddingTop">20dp</item>
+        <item name="android:paddingBottom">20dp</item>
     </style>
     <!-- END SAFETY STATUS CARD -->
 
@@ -329,13 +329,14 @@
     </style>
 
     <style name="SafetyCenterIssueSafetyProtectionSection">
-        <item name="android:paddingTop">20dp</item>
         <item name="android:gravity">center</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_width">0dp</item>
         <item name="app:layout_constraintTop_toBottomOf">@id/issue_card_action_button_list</item>
         <item name="app:layout_constraintStart_toStartOf">parent</item>
         <item name="app:layout_constraintEnd_toEndOf">parent</item>
+        <item name="android:paddingTop">20dp</item>
+        <item name="android:paddingBottom">20dp</item>
     </style>
 
     <style name="SafetyCenterIssueCardResolvedImage" parent="android:Widget.DeviceDefault">
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/IssueCardPreference.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/IssueCardPreference.java
index 13902be..62fb8ca 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/IssueCardPreference.java
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/IssueCardPreference.java
@@ -144,11 +144,33 @@
             }
         }
 
+        configureSafetyProtectionView(holder);
+
         mSafetyCenterViewModel
                 .getInteractionLogger()
                 .recordForIssue(Action.SAFETY_ISSUE_VIEWED, mIssue);
     }
 
+    private void configureSafetyProtectionView(PreferenceViewHolder holder) {
+        View safetyProtectionSectionView =
+                holder.findViewById(R.id.issue_card_protected_by_android);
+        if (safetyProtectionSectionView.getVisibility() == View.GONE) {
+            holder.itemView.setPaddingRelative(
+                    holder.itemView.getPaddingStart(),
+                    holder.itemView.getPaddingTop(),
+                    holder.itemView.getPaddingEnd(),
+                    /* bottom = */ getContext()
+                            .getResources()
+                            .getDimensionPixelSize(R.dimen.safety_center_card_margin_bottom));
+        } else {
+            holder.itemView.setPaddingRelative(
+                    holder.itemView.getPaddingStart(),
+                    holder.itemView.getPaddingTop(),
+                    holder.itemView.getPaddingEnd(),
+                    /* bottom = */ 0);
+        }
+    }
+
     public int getSeverityLevel() {
         return mIssue.getSeverityLevel();
     }
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyStatusPreference.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyStatusPreference.java
index 93d2fda..f49d0a9 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyStatusPreference.java
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyStatusPreference.java
@@ -40,6 +40,7 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.permissioncontroller.R;
+import com.android.permissioncontroller.permission.utils.KotlinUtils;
 import com.android.permissioncontroller.safetycenter.ui.model.SafetyCenterViewModel;
 
 import com.google.android.material.button.MaterialButton;
@@ -105,10 +106,6 @@
                                         mStatus.getTitle(),
                                         mStatus.getSummary()));
 
-        // Hide the Safety Protection branding if there are any issue cards
-        View safetyProtectionSectionView = holder.findViewById(R.id.safety_protection_section_view);
-        safetyProtectionSectionView.setVisibility(mHasIssues ? View.GONE : View.VISIBLE);
-
         rescanButton.setOnClickListener(
                 unused -> {
                     SafetyCenterViewModel viewModel = requireViewModel();
@@ -117,6 +114,31 @@
                 });
 
         updateStatusIcon(statusImage, rescanButton);
+
+        configureSafetyProtectionView(holder, context);
+    }
+
+    private void configureSafetyProtectionView(PreferenceViewHolder holder, Context context) {
+        View safetyProtectionSectionView = holder.findViewById(R.id.safety_protection_section_view);
+        if (KotlinUtils.INSTANCE.shouldShowSafetyProtectionResources(context)) {
+            // Hide the Safety Protection branding if there are any issue cards
+            safetyProtectionSectionView.setVisibility(mHasIssues ? View.GONE : View.VISIBLE);
+        }
+        if (safetyProtectionSectionView.getVisibility() == View.GONE) {
+            holder.itemView.setPaddingRelative(
+                    holder.itemView.getPaddingStart(),
+                    holder.itemView.getPaddingTop(),
+                    holder.itemView.getPaddingEnd(),
+                    /* bottom = */ getContext()
+                            .getResources()
+                            .getDimensionPixelSize(R.dimen.safety_center_card_margin_bottom));
+        } else {
+            holder.itemView.setPaddingRelative(
+                    holder.itemView.getPaddingStart(),
+                    holder.itemView.getPaddingTop(),
+                    holder.itemView.getPaddingEnd(),
+                    /* bottom = */ 0);
+        }
     }
 
     private void updateStatusIcon(ImageView statusImage, View rescanButton) {