summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/contactsfragment/ContactsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/contactsfragment/ContactsFragment.java')
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsFragment.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index ae2bd746a..794a5b91c 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -158,6 +158,11 @@ public class ContactsFragment extends Fragment
contactsPrefs.registerChangeListener(this);
header = getArguments().getInt(EXTRA_HEADER);
hasPhoneNumbers = getArguments().getBoolean(EXTRA_HAS_PHONE_NUMBERS);
+ if (savedInstanceState == null) {
+ // The onHiddenChanged callback does not get called the first time the fragment is
+ // attached, so call it ourselves here.
+ onHiddenChanged(false);
+ }
}
@Override
@@ -354,6 +359,16 @@ public class ContactsFragment extends Fragment
}
}
+ @Override
+ public void onHiddenChanged(boolean hidden) {
+ super.onHiddenChanged(hidden);
+ OnContactsFragmentHiddenChangedListener listener =
+ FragmentUtils.getParent(this, OnContactsFragmentHiddenChangedListener.class);
+ if (listener != null) {
+ listener.onContactsFragmentHiddenChanged(hidden);
+ }
+ }
+
private void loadContacts() {
getLoaderManager().initLoader(0, null, this);
recyclerView.setVisibility(View.VISIBLE);
@@ -371,4 +386,9 @@ public class ContactsFragment extends Fragment
/** Called when a contact is selected in {@link ContactsFragment}. */
void onContactSelected(ImageView photo, Uri contactUri, long contactId);
}
+
+ /** Listener for contacts fragment hidden state */
+ public interface OnContactsFragmentHiddenChangedListener {
+ void onContactsFragmentHiddenChanged(boolean hidden);
+ }
}