Merge "Make sure the last item is visible" into pi-car-dev am: 93792f6464
am: 659fdb7328

Change-Id: Id6037f8c29e9eafaf088b09e13601c9145227b7e
diff --git a/src/com/android/car/settings/system/MasterClearFragment.java b/src/com/android/car/settings/system/MasterClearFragment.java
index bba9eae..db246f4 100644
--- a/src/com/android/car/settings/system/MasterClearFragment.java
+++ b/src/com/android/car/settings/system/MasterClearFragment.java
@@ -30,6 +30,7 @@
 import androidx.annotation.XmlRes;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.car.apps.common.widget.PagedRecyclerView;
 import com.android.car.settings.R;
 import com.android.car.settings.common.ActivityResultCallback;
 import com.android.car.settings.common.SettingsFragment;
@@ -69,12 +70,16 @@
                         CHECK_LOCK_REQUEST_CODE, /* callback= */ this));
         masterClearButton.setEnabled(false);
 
-        masterClearButton.getViewTreeObserver().addOnGlobalLayoutListener(
+        getListView().getViewTreeObserver().addOnGlobalLayoutListener(
                 new ViewTreeObserver.OnGlobalLayoutListener() {
                     @Override
                     public void onGlobalLayout() {
-                        masterClearButton.setEnabled(isAtEnd());
-                        masterClearButton.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+                        PagedRecyclerView pagedRecyclerView = (PagedRecyclerView) getListView();
+                        if (pagedRecyclerView.fullyInitialized()) {
+                            masterClearButton.setEnabled(isAtEnd());
+                            masterClearButton.getViewTreeObserver().removeOnGlobalLayoutListener(
+                                    this);
+                        }
                     }
                 });
         getListView().setOnScrollChangeListener((v, scrollX, scrollY, oldScrollX, oldScrollY) -> {