am 935dc32e: am 97d15c72: Merge "Fixing overlap pane offset when shortcut card disappears." into lmp-mr1-dev

* commit '935dc32e4a9302e9c121cd0a18b00f0e565c2bef':
  Fixing overlap pane offset when shortcut card disappears.
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java
index 408d5b1..af82e40 100644
--- a/src/com/android/dialer/list/ListsFragment.java
+++ b/src/com/android/dialer/list/ListsFragment.java
@@ -90,6 +90,7 @@
     private ShortcutCardsAdapter mMergedAdapter;
     private CallLogAdapter mCallLogAdapter;
     private CallLogQueryHandler mCallLogQueryHandler;
+    private OverlappingPaneLayout mOverlappingPaneLayout;
 
     private boolean mIsPanelOpen = true;
 
@@ -302,6 +303,7 @@
         mRemoveViewContent = parentView.findViewById(R.id.remove_view_content);
 
         setupPaneLayout((OverlappingPaneLayout) parentView);
+        mOverlappingPaneLayout = (OverlappingPaneLayout) parentView;
 
         return parentView;
     }
@@ -322,6 +324,11 @@
 
         mCallLogAdapter.changeCursor(cursor);
         mMergedAdapter.notifyDataSetChanged();
+
+        // Refresh the overlapping pane to ensure that any changes in the shortcut card height
+        // are appropriately reflected in the overlap position.
+        mOverlappingPaneLayout.refresh();
+
         // Return true; took ownership of cursor
         return true;
     }
diff --git a/src/com/android/dialer/widget/OverlappingPaneLayout.java b/src/com/android/dialer/widget/OverlappingPaneLayout.java
index 8f911c2..167b849 100644
--- a/src/com/android/dialer/widget/OverlappingPaneLayout.java
+++ b/src/com/android/dialer/widget/OverlappingPaneLayout.java
@@ -717,6 +717,22 @@
         return wantTouchEvents;
     }
 
+    /**
+     * Refreshes the {@link OverlappingPaneLayout} be attempting to re-open or re-close the pane.
+     * This ensures that the overlapping pane is repositioned based on any changes to the view
+     * which is being overlapped.
+     * <p>
+     * The {@link #openPane()} and {@link #closePane()} methods do not perform any animation if the
+     * pane has already been positioned appropriately.
+     */
+    public void refresh() {
+        if (isOpen()) {
+            openPane();
+        } else {
+            closePane();
+        }
+    }
+
     private boolean closePane(View pane, int initialVelocity) {
         if (mFirstLayout || smoothSlideTo(0.f, initialVelocity)) {
             mPreservedOpenState = false;