Merge "Setting Find in file above the keyboard for landscape mode as well" into androidx-main
diff --git a/pdf/pdf-viewer-fragment/src/main/java/androidx/pdf/viewer/fragment/PdfViewerFragment.kt b/pdf/pdf-viewer-fragment/src/main/java/androidx/pdf/viewer/fragment/PdfViewerFragment.kt
index 7ad6aac..106ea92 100644
--- a/pdf/pdf-viewer-fragment/src/main/java/androidx/pdf/viewer/fragment/PdfViewerFragment.kt
+++ b/pdf/pdf-viewer-fragment/src/main/java/androidx/pdf/viewer/fragment/PdfViewerFragment.kt
@@ -145,10 +145,10 @@
     private var selectionHandles: PdfSelectionHandles? = null
     private var annotationButton: FloatingActionButton? = null
     private var fileData: DisplayData? = null
-
-    internal var shouldRedrawOnDocumentLoaded = false
-    internal var isAnnotationIntentResolvable = false
-    internal var documentLoaded = false
+    private var isFileRestoring: Boolean = false
+    private var shouldRedrawOnDocumentLoaded = false
+    private var isAnnotationIntentResolvable = false
+    private var documentLoaded = false
 
     /**
      * The URI of the PDF document to display defaulting to `null`.
@@ -165,13 +165,13 @@
             field = value
 
             // Check if the uri is different from the previous one or restoring the same one
-            val isRestoredFromBundle =
+            isFileRestoring =
                 arguments?.let {
                     val savedUri = BundleCompat.getParcelable(it, KEY_DOCUMENT_URI, Uri::class.java)
                     savedUri?.equals(value) ?: false
                 } ?: false
 
-            if (value != null && !isRestoredFromBundle) {
+            if (value != null && !isFileRestoring) {
                 loadFile(value)
             }
         }
@@ -485,23 +485,27 @@
      */
     private fun setContents(savedState: Bundle?) {
         savedState?.let { state ->
-            val showAnnotationButton = state.getBoolean(KEY_SHOW_ANNOTATION)
-            isAnnotationIntentResolvable =
-                showAnnotationButton && findInFileView!!.visibility != View.VISIBLE
+            if (isFileRestoring) {
+                val showAnnotationButton = state.getBoolean(KEY_SHOW_ANNOTATION)
+                isAnnotationIntentResolvable =
+                    showAnnotationButton && findInFileView!!.visibility != View.VISIBLE
+            }
         }
 
         refreshContentAndModels(pdfLoader!!)
 
         savedState?.let { state ->
-            state.containsKey(KEY_LAYOUT_REACH).let {
-                val layoutReach = state.getInt(KEY_LAYOUT_REACH)
-                layoutHandler?.setInitialPageLayoutReachWithMax(layoutReach)
-            }
+            if (isFileRestoring) {
+                state.containsKey(KEY_LAYOUT_REACH).let {
+                    val layoutReach = state.getInt(KEY_LAYOUT_REACH)
+                    layoutHandler?.setInitialPageLayoutReachWithMax(layoutReach)
+                }
 
-            // Restore page selection from saved state if it exists
-            val savedSelection =
-                BundleCompat.getParcelable(state, KEY_PAGE_SELECTION, PageSelection::class.java)
-            savedSelection?.let { pdfLoaderCallbacks?.selectionModel?.setSelection(it) }
+                // Restore page selection from saved state if it exists
+                val savedSelection =
+                    BundleCompat.getParcelable(state, KEY_PAGE_SELECTION, PageSelection::class.java)
+                savedSelection?.let { pdfLoaderCallbacks?.selectionModel?.setSelection(it) }
+            }
         }
     }