diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2015-03-16 02:46:01 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-03-16 02:46:01 -0700 |
commit | aafc7280e82fed4ac85c4d76fc8bde01a8d4dd16 (patch) | |
tree | d56b30c54a0c90141dfe1f8c15860b7e8bfecf68 | |
parent | 4df6769ff26b55b79b7be0ddd7aa684bf2ec9797 (diff) | |
parent | cb11520577f0c1e9c6e765e54488bf64684f36be (diff) | |
download | android_packages_apps_Dialer-aafc7280e82fed4ac85c4d76fc8bde01a8d4dd16.tar.gz android_packages_apps_Dialer-aafc7280e82fed4ac85c4d76fc8bde01a8d4dd16.tar.bz2 android_packages_apps_Dialer-aafc7280e82fed4ac85c4d76fc8bde01a8d4dd16.zip |
Merge "Fixing overlap pane offset when shortcut card disappears."
-rw-r--r-- | src/com/android/dialer/list/ListsFragment.java | 7 | ||||
-rw-r--r-- | src/com/android/dialer/widget/OverlappingPaneLayout.java | 16 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java index 024e3d914..734c0b9ed 100644 --- a/src/com/android/dialer/list/ListsFragment.java +++ b/src/com/android/dialer/list/ListsFragment.java @@ -90,6 +90,7 @@ public class ListsFragment extends AnalyticsFragment implements CallLogQueryHand private ShortcutCardsAdapter mMergedAdapter; private CallLogAdapter mCallLogAdapter; private CallLogQueryHandler mCallLogQueryHandler; + private OverlappingPaneLayout mOverlappingPaneLayout; private boolean mIsPanelOpen = true; @@ -303,6 +304,7 @@ public class ListsFragment extends AnalyticsFragment implements CallLogQueryHand mRemoveViewContent = parentView.findViewById(R.id.remove_view_content); setupPaneLayout((OverlappingPaneLayout) parentView); + mOverlappingPaneLayout = (OverlappingPaneLayout) parentView; return parentView; } @@ -323,6 +325,11 @@ public class ListsFragment extends AnalyticsFragment implements CallLogQueryHand 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 8f911c2da..167b849f2 100644 --- a/src/com/android/dialer/widget/OverlappingPaneLayout.java +++ b/src/com/android/dialer/widget/OverlappingPaneLayout.java @@ -717,6 +717,22 @@ public class OverlappingPaneLayout extends ViewGroup { 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; |