Merge "Fix description when erase esim" into main
diff --git a/res/layout/main_clear_confirm.xml b/res/layout/main_clear_confirm.xml
index 6027d18..d482132 100644
--- a/res/layout/main_clear_confirm.xml
+++ b/res/layout/main_clear_confirm.xml
@@ -19,21 +19,5 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:id="@+id/setup_wizard_layout"
     android:icon="@drawable/ic_delete_accent"
-    app:sucHeaderText="@string/main_clear_confirm_title">
-
-    <LinearLayout
-        style="@style/SudContentFrame"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical">
-
-        <TextView
-            android:id="@+id/sud_layout_subtitle"
-            style="@style/TextAppearance.PreferenceTitle.SettingsLib"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/main_clear_final_desc"/>
-    </LinearLayout>
-</com.google.android.setupdesign.GlifLayout>
+    app:sucHeaderText="@string/main_clear_confirm_title" />
diff --git a/src/com/android/settings/MainClearConfirm.java b/src/com/android/settings/MainClearConfirm.java
index a5fbebf..c9887e8 100644
--- a/src/com/android/settings/MainClearConfirm.java
+++ b/src/com/android/settings/MainClearConfirm.java
@@ -19,8 +19,6 @@
 
 import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
-import android.app.ActionBar;
-import android.app.Activity;
 import android.app.ProgressDialog;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.FactoryResetProtectionPolicy;
@@ -28,7 +26,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
-import android.graphics.Color;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.SystemProperties;
@@ -36,12 +33,10 @@
 import android.os.UserManager;
 import android.service.oemlock.OemLockManager;
 import android.service.persistentdata.PersistentDataBlockManager;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
-import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -62,7 +57,7 @@
  * has defined one, followed by a final strongly-worded "THIS WILL ERASE EVERYTHING
  * ON THE PHONE" prompt.  If at any time the phone is allowed to go to sleep, is
  * locked, et cetera, then the confirmation sequence is abandoned.
- *
+ * <p>
  * This is the confirmation screen.
  */
 public class MainClearConfirm extends InstrumentedFragment {
@@ -70,9 +65,11 @@
 
     private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
 
-    @VisibleForTesting View mContentView;
+    @VisibleForTesting
+    GlifLayout mContentView;
     private boolean mEraseSdCard;
-    @VisibleForTesting boolean mEraseEsims;
+    @VisibleForTesting
+    boolean mEraseEsims;
 
     /**
      * The user has gone through the multiple confirmation, so now we go ahead
@@ -215,9 +212,7 @@
      * Configure the UI for the final confirmation interaction
      */
     private void establishFinalConfirmationState() {
-        final GlifLayout layout = mContentView.findViewById(R.id.setup_wizard_layout);
-
-        final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
+        final FooterBarMixin mixin = mContentView.getMixin(FooterBarMixin.class);
         mixin.setPrimaryButton(
                 new FooterButton.Builder(getActivity())
                         .setText(R.string.main_clear_button_text)
@@ -228,21 +223,6 @@
         );
     }
 
-    private void setUpActionBarAndTitle() {
-        final Activity activity = getActivity();
-        if (activity == null) {
-            Log.e(TAG, "No activity attached, skipping setUpActionBarAndTitle");
-            return;
-        }
-        final ActionBar actionBar = activity.getActionBar();
-        if (actionBar == null) {
-            Log.e(TAG, "No actionbar, skipping setUpActionBarAndTitle");
-            return;
-        }
-        actionBar.hide();
-        activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
-    }
-
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
@@ -258,32 +238,26 @@
                     .show();
             return new View(getActivity());
         }
-        mContentView = inflater.inflate(R.layout.main_clear_confirm, null);
-        setUpActionBarAndTitle();
+        mContentView = (GlifLayout) inflater.inflate(R.layout.main_clear_confirm, null);
         establishFinalConfirmationState();
-        setAccessibilityTitle();
         setSubtitle();
+        setAccessibilityTitle();
         return mContentView;
     }
 
     private void setAccessibilityTitle() {
         CharSequence currentTitle = getActivity().getTitle();
-        TextView confirmationMessage = mContentView.findViewById(R.id.sud_layout_description);
+        CharSequence confirmationMessage = mContentView.getDescriptionText();
         if (confirmationMessage != null) {
-            String accessibleText = new StringBuilder(currentTitle).append(",").append(
-                    confirmationMessage.getText()).toString();
+            String accessibleText = currentTitle + "," + confirmationMessage;
             getActivity().setTitle(Utils.createAccessibleSequence(currentTitle, accessibleText));
         }
     }
 
     @VisibleForTesting
     void setSubtitle() {
-        if (mEraseEsims) {
-            TextView confirmationMessage = mContentView.findViewById(R.id.sud_layout_description);
-            if (confirmationMessage != null) {
-                confirmationMessage.setText(R.string.main_clear_final_desc_esim);
-                }
-        }
+        mContentView.setDescriptionText(
+                mEraseEsims ? R.string.main_clear_final_desc_esim : R.string.main_clear_final_desc);
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/MainClearConfirmTest.java b/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
index f7711c8..a102fda 100644
--- a/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
+++ b/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
@@ -31,10 +31,11 @@
 import android.security.Flags;
 import android.service.persistentdata.PersistentDataBlockManager;
 import android.view.LayoutInflater;
-import android.widget.TextView;
 
 import androidx.fragment.app.FragmentActivity;
 
+import com.google.android.setupdesign.GlifLayout;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -85,12 +86,12 @@
         MainClearConfirm mainClearConfirm = new MainClearConfirm();
         mainClearConfirm.mEraseEsims = true;
         mainClearConfirm.mContentView =
-                LayoutInflater.from(mActivity).inflate(R.layout.main_clear_confirm, null);
+                (GlifLayout) LayoutInflater.from(mActivity)
+                        .inflate(R.layout.main_clear_confirm, null);
 
         mainClearConfirm.setSubtitle();
 
-        assertThat(((TextView) mainClearConfirm.mContentView
-                .findViewById(R.id.sud_layout_description)).getText())
+        assertThat(mainClearConfirm.mContentView.getDescriptionText())
                 .isEqualTo(mActivity.getString(R.string.main_clear_final_desc_esim));
     }
 
@@ -99,12 +100,12 @@
         MainClearConfirm mainClearConfirm = new MainClearConfirm();
         mainClearConfirm.mEraseEsims = false;
         mainClearConfirm.mContentView =
-                LayoutInflater.from(mActivity).inflate(R.layout.main_clear_confirm, null);
+                (GlifLayout) LayoutInflater.from(mActivity)
+                        .inflate(R.layout.main_clear_confirm, null);
 
         mainClearConfirm.setSubtitle();
 
-        assertThat(((TextView) mainClearConfirm.mContentView
-                .findViewById(R.id.sud_layout_description)).getText())
+        assertThat(mainClearConfirm.mContentView.getDescriptionText())
                 .isEqualTo(mActivity.getString(R.string.main_clear_final_desc));
     }