summaryrefslogtreecommitdiff
path: root/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java')
-rw-r--r--main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java32
1 files changed, 27 insertions, 5 deletions
diff --git a/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java b/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
index 37cc358..21928c8 100644
--- a/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
+++ b/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
@@ -76,6 +76,8 @@ public class PartnerCustomizationLayout extends TemplateLayout {
private Activity activity;
+ private PersistableBundle layoutTypeBundle;
+
@CanIgnoreReturnValue
public PartnerCustomizationLayout(Context context) {
this(context, 0, 0);
@@ -92,10 +94,6 @@ public class PartnerCustomizationLayout extends TemplateLayout {
init(null, R.attr.sucLayoutTheme);
}
- @VisibleForTesting
- final ViewTreeObserver.OnWindowFocusChangeListener windowFocusChangeListener =
- this::onFocusChanged;
-
@CanIgnoreReturnValue
public PartnerCustomizationLayout(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -109,6 +107,10 @@ public class PartnerCustomizationLayout extends TemplateLayout {
init(attrs, defStyleAttr);
}
+ @VisibleForTesting
+ final ViewTreeObserver.OnWindowFocusChangeListener windowFocusChangeListener =
+ this::onFocusChanged;
+
private void init(AttributeSet attrs, int defStyleAttr) {
if (isInEditMode()) {
return;
@@ -242,9 +244,15 @@ public class PartnerCustomizationLayout extends TemplateLayout {
? secondaryButton.getMetrics("SecondaryFooterButton")
: PersistableBundle.EMPTY;
+ PersistableBundle layoutTypeMetrics =
+ (layoutTypeBundle != null) ? layoutTypeBundle : PersistableBundle.EMPTY;
+
PersistableBundle persistableBundle =
PersistableBundles.mergeBundles(
- footerBarMixin.getLoggingMetrics(), primaryButtonMetrics, secondaryButtonMetrics);
+ footerBarMixin.getLoggingMetrics(),
+ primaryButtonMetrics,
+ secondaryButtonMetrics,
+ layoutTypeMetrics);
SetupMetricsLogger.logCustomEvent(
getContext(),
@@ -256,6 +264,20 @@ public class PartnerCustomizationLayout extends TemplateLayout {
}
}
+ /**
+ * PartnerCustomizationLayout is a template layout for different type of GlifLayout.
+ * This method allows each type of layout to report its "GlifLayoutType".
+ */
+ public void setLayoutTypeMetrics(PersistableBundle bundle) {
+ this.layoutTypeBundle = bundle;
+ }
+
+ /** Returns a {@link PersistableBundle} contains key "GlifLayoutType". */
+ @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
+ public PersistableBundle getLayoutTypeMetrics() {
+ return this.layoutTypeBundle;
+ }
+
public static Activity lookupActivityFromContext(Context context) {
if (context instanceof Activity) {
return (Activity) context;