summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2014-12-30 11:03:00 -0800
committerNatiq Ahmed <mnatiq@codeaurora.org>2015-03-13 15:00:40 +0530
commitcb11520577f0c1e9c6e765e54488bf64684f36be (patch)
treed56b30c54a0c90141dfe1f8c15860b7e8bfecf68
parente59aaea70a08f1fecb3d86d794b0bf65e1846046 (diff)
downloadandroid_packages_apps_Dialer-cb11520577f0c1e9c6e765e54488bf64684f36be.tar.gz
android_packages_apps_Dialer-cb11520577f0c1e9c6e765e54488bf64684f36be.tar.bz2
android_packages_apps_Dialer-cb11520577f0c1e9c6e765e54488bf64684f36be.zip
Fixing overlap pane offset when shortcut card disappears.
When the shortcut card was hidden due to the call log being cleared, the offset for the overlapping pane needed to be recalculated based on the new height of the top portion of the dialtacts activity. Bug: 18849546 Change-Id: Ib5953a2a537e9a7520d4f022e43fa974f67eb410
-rw-r--r--src/com/android/dialer/list/ListsFragment.java7
-rw-r--r--src/com/android/dialer/widget/OverlappingPaneLayout.java16
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;