summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/calllog/CallLogFragment.java
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2017-09-25 17:06:53 -0700
committerEric Erfanian <erfanian@google.com>2017-09-26 08:39:56 -0700
commitd033dead22b83cdf61a53d48c99653c28cb8db61 (patch)
treebde9ee3eb2b8b789a8de4bce793b47424857933c /java/com/android/dialer/app/calllog/CallLogFragment.java
parent66f4ea01f37641def4b82a55e3e751014663525e (diff)
Fix onVisible/onNotVisible called on CallLogFragment without being attahced after rotation
mCurrentPage is set onResume before the fragment is attached. In this CL, mCurrentPage is still used for page change, but for resume and pause, it is detected directly in CallLogFragment using getUserVisibleHint() Bug: 65161134 Test: manual - change call volume after rotation, check ToS FAB not visible after rotation. CallLogFragment is not testable. PiperOrigin-RevId: 169984576 Change-Id: I870cbe3b83e38ac2cb505193309ab4f8e75a859f
Diffstat (limited to 'java/com/android/dialer/app/calllog/CallLogFragment.java')
-rw-r--r--java/com/android/dialer/app/calllog/CallLogFragment.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index 8ed924d76..a82afa5fe 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -411,11 +411,18 @@ public class CallLogFragment extends Fragment
mAdapter.onResume();
rescheduleDisplayUpdate();
+ // onResume() may also be called as a "side" page on the ViewPager, which is not visible.
+ if (getUserVisibleHint()) {
+ onVisible();
+ }
}
@Override
public void onPause() {
LogUtil.enterBlock("CallLogFragment.onPause");
+ if (getUserVisibleHint()) {
+ onNotVisible();
+ }
cancelDisplayUpdate();
mAdapter.onPause();
super.onPause();
@@ -594,7 +601,7 @@ public class CallLogFragment extends Fragment
@CallSuper
public void onVisible() {
LogUtil.enterBlock("CallLogFragment.onPageSelected");
- if (getActivity() != null) {
+ if (getActivity() != null && getActivity() instanceof HostInterface) {
((HostInterface) getActivity())
.enableFloatingButton(mModalAlertManager == null || mModalAlertManager.isEmpty());
}