diff options
author | blong <blong@codeaurora.org> | 2016-09-21 15:54:47 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-22 01:13:42 -0700 |
commit | 8a99ff6930c5c1540f90b15b8903b72e677864a2 (patch) | |
tree | 16b1a2a616b57ceca2fb6c04ae342b1fe0560a52 | |
parent | b455173307ffe850aeeb3db67bc582ea69db1f24 (diff) | |
download | packages_apps_Contacts-8a99ff6930c5c1540f90b15b8903b72e677864a2.tar.gz packages_apps_Contacts-8a99ff6930c5c1540f90b15b8903b72e677864a2.tar.bz2 packages_apps_Contacts-8a99ff6930c5c1540f90b15b8903b72e677864a2.zip |
Fix delete call log screen force close in split mode
- When drag call log screen down in split mode, the fragment will
recreate several times and missed to set listener,so use the
static variable for it.contacts screen will have same issue,
we will set it again after activity create
Change-Id: Iff6752240e76e47e83710e715684fc84cfb7bc57
CRs-Fixed: 1069312
-rwxr-xr-x | src/com/android/contacts/activities/MultiPickContactsActivity.java | 4 | ||||
-rwxr-xr-x | src/com/android/contacts/multipicker/ContactsFragment.java | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | src/com/android/contacts/multipicker/DelCallLogFragment.java | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/contacts/activities/MultiPickContactsActivity.java b/src/com/android/contacts/activities/MultiPickContactsActivity.java index 28ac8d49d..d8ec68585 100755 --- a/src/com/android/contacts/activities/MultiPickContactsActivity.java +++ b/src/com/android/contacts/activities/MultiPickContactsActivity.java @@ -714,6 +714,10 @@ public class MultiPickContactsActivity extends Activity implements ViewPager.OnP } } + public CheckListListener createListener() { + return new CheckListListener(); + } + private void configureSearchMode() { TextView topDividerLine = (TextView) findViewById(R.id.multi_pick_top_divider); if (mSearchUiVisible) { diff --git a/src/com/android/contacts/multipicker/ContactsFragment.java b/src/com/android/contacts/multipicker/ContactsFragment.java index 4f1049b05..b77bdf703 100755 --- a/src/com/android/contacts/multipicker/ContactsFragment.java +++ b/src/com/android/contacts/multipicker/ContactsFragment.java @@ -254,6 +254,9 @@ public class ContactsFragment extends ListFragment { checkedList = new ArrayList<String>(); } } + if (mCheckListListener == null) + mCheckListListener = ((MultiPickContactsActivity) getActivity()) + .createListener(); mHeaderView = new View(mContext); AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams( AbsListView.LayoutParams.MATCH_PARENT, diff --git a/src/com/android/contacts/multipicker/DelCallLogFragment.java b/src/com/android/contacts/multipicker/DelCallLogFragment.java index d5997c81f..8abf5b8a4 100644..100755 --- a/src/com/android/contacts/multipicker/DelCallLogFragment.java +++ b/src/com/android/contacts/multipicker/DelCallLogFragment.java @@ -42,6 +42,7 @@ import android.widget.ListView; import android.widget.AbsListView; import com.android.contacts.R; +import com.android.contacts.activities.MultiPickContactsActivity; import com.android.contacts.list.OnCheckListActionListener; public class DelCallLogFragment extends ListFragment @@ -95,6 +96,9 @@ public class DelCallLogFragment extends ListFragment public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); + if (mCheckListListener == null) + mCheckListListener = ((MultiPickContactsActivity) getActivity()) + .createListener(); if (mDelCallLogAdapter == null) { mDelCallLogAdapter = new DelCallLogAdapter(mContext); mDelCallLogAdapter.setCheckListListener(mCheckListListener); |