Import updated Android SetupCompat Library 592404403

Copied from google3/third_party/java_src/android_libs/setupcompat

Test: mm

Included changes:
  - 592404403 [SetupLibrary] Create a partner config: sud_content_illus...
  - 591809780 Pass Restore Anytime lifecycle int intent extra in copyWi...
  - 588922772 Add UI logging observer to Setup compat library.
  - 588676034 [Restore Anytime] Create and send enum to indicate the li...
  - 582520278 Remove some unused suw argument extra

Bug:316079216

PiperOrigin-RevId: 592404403
Change-Id: I95a80b1c7d1ac49cc2c9a2b394878108bb43d855
diff --git a/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java b/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
index 70b28d9..26e7042 100644
--- a/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
+++ b/main/java/com/google/android/setupcompat/PartnerCustomizationLayout.java
@@ -36,6 +36,8 @@
 import com.google.android.setupcompat.internal.SetupCompatServiceInvoker;
 import com.google.android.setupcompat.internal.TemplateLayout;
 import com.google.android.setupcompat.logging.CustomEvent;
+import com.google.android.setupcompat.logging.LoggingObserver;
+import com.google.android.setupcompat.logging.LoggingObserver.SetupCompatUiEvent.LayoutInflatedEvent;
 import com.google.android.setupcompat.logging.MetricKey;
 import com.google.android.setupcompat.logging.SetupMetricsLogger;
 import com.google.android.setupcompat.partnerconfig.PartnerConfigHelper;
@@ -258,8 +260,8 @@
   }
 
   /**
-   * PartnerCustomizationLayout is a template layout for different type of GlifLayout.
-   * This method allows each type of layout to report its "GlifLayoutType".
+   * 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;
@@ -329,6 +331,18 @@
   }
 
   /**
+   * Sets a logging observer for {@link FooterBarMixin}. The logging observer is used to log
+   * impressions and clicks on the layout and footer bar buttons.
+   *
+   * @throws UnsupportedOperationException if the primary or secondary button has been set before
+   *     the logging observer is set
+   */
+  public void setLoggingObserver(LoggingObserver loggingObserver) {
+    getMixin(FooterBarMixin.class).setLoggingObserver(loggingObserver);
+    loggingObserver.log(new LayoutInflatedEvent(this));
+  }
+
+  /**
    * Invoke the method onFocusStatusChanged when onWindowFocusChangeListener receive onFocusChanged.
    */
   private void onFocusChanged(boolean hasFocus) {
@@ -339,4 +353,3 @@
                 activity, PartnerCustomizationLayout.this, hasFocus));
   }
 }
-