From 9067c12a0c0a20aed7110ada3c98ae59f96ba78b Mon Sep 17 00:00:00 2001 From: Margaux Clerc Date: Mon, 7 Sep 2015 17:16:13 +0200 Subject: [PATCH] Fix edit mode in history --- res/drawable/edit_list_button.xml | 7 ++ res/drawable/edit_list_disabled.xml | 5 + res/drawable/list_selector.xml | 2 +- res/layout/history.xml | 2 +- res/values/custom.xml | 4 +- res/values/strings.xml | 2 +- res/values/styles.xml | 6 +- src/org/linphone/HistoryFragment.java | 153 ++++++++++++-------------- 8 files changed, 89 insertions(+), 92 deletions(-) create mode 100644 res/drawable/edit_list_button.xml create mode 100644 res/drawable/edit_list_disabled.xml diff --git a/res/drawable/edit_list_button.xml b/res/drawable/edit_list_button.xml new file mode 100644 index 000000000..d53758283 --- /dev/null +++ b/res/drawable/edit_list_button.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/res/drawable/edit_list_disabled.xml b/res/drawable/edit_list_disabled.xml new file mode 100644 index 000000000..a665571c8 --- /dev/null +++ b/res/drawable/edit_list_disabled.xml @@ -0,0 +1,5 @@ + + diff --git a/res/drawable/list_selector.xml b/res/drawable/list_selector.xml index f17421a43..a24232d1d 100644 --- a/res/drawable/list_selector.xml +++ b/res/drawable/list_selector.xml @@ -2,7 +2,7 @@ + android:drawable="@color/colorH" /> \ No newline at end of file diff --git a/res/layout/history.xml b/res/layout/history.xml index eecff4a44..71fea37a3 100644 --- a/res/layout/history.xml +++ b/res/layout/history.xml @@ -106,7 +106,7 @@ - d MMM - yyyy/MM/dd - HH:mm + EEE, d MMM + yyyy/MM/dd - HH:mm - HH:mm d MMM dd/MM HH:mm diff --git a/res/values/strings.xml b/res/values/strings.xml index ceb7e898d..474352934 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -10,7 +10,7 @@ Domain Provisioning url Email - Are you sure you want to delete all your selection ? + Are you sure you want to delete your selection ? Delete Cancel diff --git a/res/values/styles.xml b/res/values/styles.xml index 617c5c187..687d5b5e8 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -58,7 +58,7 @@ diff --git a/src/org/linphone/HistoryFragment.java b/src/org/linphone/HistoryFragment.java index bc86a3bf2..a419d4c63 100644 --- a/src/org/linphone/HistoryFragment.java +++ b/src/org/linphone/HistoryFragment.java @@ -33,10 +33,7 @@ import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.app.Fragment; -import android.view.ContextMenu; -import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; -import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; @@ -45,7 +42,6 @@ import android.view.animation.Animation.AnimationListener; import android.view.animation.AnimationUtils; import android.widget.AbsListView; import android.widget.AdapterView; -import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.Button; @@ -64,7 +60,7 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem private ListView historyList; private LayoutInflater mInflater; private TextView noCallHistory, noMissedCallHistory; - private ImageView missedCalls, allCalls, edit, selectAll, deselectAll, deleteAll; + private ImageView missedCalls, allCalls, edit, selectAll, deselectAll, delete; private RelativeLayout allCallsSelected, missedCallsSelected; private boolean onlyDisplayMissedCalls, isEditMode; private List mLogs; @@ -80,11 +76,10 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem historyList = (ListView) view.findViewById(R.id.historyList); historyList.setOnItemClickListener(this); - registerForContextMenu(historyList); - deleteAll = (ImageView) view.findViewById(R.id.delete); - deleteAll.setOnClickListener(this); - deleteAll.setVisibility(View.INVISIBLE); + delete = (ImageView) view.findViewById(R.id.delete); + delete.setOnClickListener(this); + delete.setVisibility(View.INVISIBLE); allCalls = (ImageView) view.findViewById(R.id.all_calls); allCalls.setOnClickListener(this); @@ -117,6 +112,23 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); } + private void selectAllList(boolean isSelectAll){ + int size = historyList.getAdapter().getCount(); + for(int i=0; i missedCalls = new ArrayList(); @@ -164,76 +176,21 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem } } - @Override - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { - super.onCreateContextMenu(menu, v, menuInfo); - menu.add(0, v.getId(), 0, getString(R.string.delete)); - } - - @Override - public boolean onContextItemSelected(MenuItem item) { - AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); - LinphoneCallLog log = mLogs.get(info.position); - LinphoneManager.getLc().removeCallLog(log); - mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); - if (!hideHistoryListAndDisplayMessageIfEmpty()) { - historyList.setAdapter(new CallHistoryAdapter(getActivity())); - } - return true; - } - @Override public void onClick(View v) { int id = v.getId(); - if (id == R.id.edit) { - edit.setVisibility(View.GONE); - selectAll.setVisibility(View.VISIBLE); - deleteAll.setVisibility(View.VISIBLE); - isEditMode = true; - } - if (id == R.id.all_calls) { - allCalls.setEnabled(false); - allCallsSelected.setVisibility(View.VISIBLE); - missedCallsSelected.setVisibility(View.INVISIBLE); - missedCalls.setEnabled(true); - onlyDisplayMissedCalls = false; - - mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); - } - if (id == R.id.missed_calls) { - allCalls.setEnabled(true); - allCallsSelected.setVisibility(View.INVISIBLE); - missedCallsSelected.setVisibility(View.VISIBLE); - missedCalls.setEnabled(false); - onlyDisplayMissedCalls = true; - } - - if (!hideHistoryListAndDisplayMessageIfEmpty() && !isEditMode) { - historyList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE); - historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext())); - } - - if(isEditMode){ - deselectAll.setVisibility(View.GONE); - selectAll.setVisibility(View.VISIBLE); - } - if (id == R.id.select_all) { deselectAll.setVisibility(View.VISIBLE); selectAll.setVisibility(View.GONE); - int size = historyList.getAdapter().getCount(); - for(int i=0; i