summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorblong <blong@codeaurora.org>2016-09-21 15:54:47 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-22 01:13:42 -0700
commit8a99ff6930c5c1540f90b15b8903b72e677864a2 (patch)
tree16b1a2a616b57ceca2fb6c04ae342b1fe0560a52
parentb455173307ffe850aeeb3db67bc582ea69db1f24 (diff)
downloadpackages_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-xsrc/com/android/contacts/activities/MultiPickContactsActivity.java4
-rwxr-xr-xsrc/com/android/contacts/multipicker/ContactsFragment.java3
-rwxr-xr-x[-rw-r--r--]src/com/android/contacts/multipicker/DelCallLogFragment.java4
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);