diff --git a/res/layout/history.xml b/res/layout/history.xml index 71fea37a3..157f56a08 100644 --- a/res/layout/history.xml +++ b/res/layout/history.xml @@ -6,6 +6,7 @@ android:orientation="vertical" > + android:layout_width="70dp" + android:layout_height="match_parent"> - - - - - - - - + android:padding="15dp"/> + + + android:layout_height="match_parent" + android:gravity="center"> @@ -52,40 +53,25 @@ android:id="@+id/mask" android:src="@drawable/avatar_mask" android:contentDescription="@string/content_description_contact_picture" - android:layout_width="40dp" - android:layout_height="40dp" + android:layout_width="35dp" + android:layout_height="35dp" android:adjustViewBounds="true" android:layout_alignParentLeft="true" android:layout_marginLeft="5dp"/> - - - + android:padding="5dp" /> + + diff --git a/src/org/linphone/HistoryDetailFragment.java b/src/org/linphone/HistoryDetailFragment.java index afc7e606e..2e93a1fcb 100644 --- a/src/org/linphone/HistoryDetailFragment.java +++ b/src/org/linphone/HistoryDetailFragment.java @@ -66,7 +66,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { chat = (ImageView) view.findViewById(R.id.chat); chat.setOnClickListener(this); if (getResources().getBoolean(R.bool.disable_chat)) - view.findViewById(R.id.chatRow).setVisibility(View.GONE); + view.findViewById(R.id.chat).setVisibility(View.GONE); addToContacts = (ImageView) view.findViewById(R.id.add_contact); addToContacts.setOnClickListener(this); diff --git a/src/org/linphone/HistoryFragment.java b/src/org/linphone/HistoryFragment.java index 0604b9cb0..f1e717360 100644 --- a/src/org/linphone/HistoryFragment.java +++ b/src/org/linphone/HistoryFragment.java @@ -60,8 +60,8 @@ 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, delete; - private RelativeLayout allCallsSelected, missedCallsSelected; + private ImageView missedCalls, allCalls, edit, selectAll, deselectAll, delete, cancel; + private RelativeLayout allCallsSelected, missedCallsSelected, editList, topBar; private boolean onlyDisplayMissedCalls, isEditMode; private List mLogs; @@ -79,7 +79,12 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem delete = (ImageView) view.findViewById(R.id.delete); delete.setOnClickListener(this); - delete.setVisibility(View.INVISIBLE); + + editList = (RelativeLayout) view.findViewById(R.id.edit_list); + topBar = (RelativeLayout) view.findViewById(R.id.top_bar); + + cancel = (ImageView) view.findViewById(R.id.cancel); + cancel.setOnClickListener(this); allCalls = (ImageView) view.findViewById(R.id.all_calls); allCalls.setOnClickListener(this); @@ -193,7 +198,17 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem return; } + if (id == R.id.cancel) { + quitEditMode(); + return; + } + if (id == R.id.delete) { + if(historyList.getCheckedItemCount() == 0) { + quitEditMode(); + return; + } + final Dialog dialog = LinphoneActivity.instance().displayDialog(getString(R.string.delete_text)); Button delete = (Button) dialog.findViewById(R.id.delete); Button cancel = (Button) dialog.findViewById(R.id.cancel); @@ -218,13 +233,6 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem return; } - if (id == R.id.edit) { - edit.setVisibility(View.GONE); - selectAll.setVisibility(View.VISIBLE); - delete.setVisibility(View.VISIBLE); - isEditMode = true; - } - if (id == R.id.all_calls) { allCalls.setEnabled(false); allCallsSelected.setVisibility(View.VISIBLE); @@ -241,6 +249,12 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem onlyDisplayMissedCalls = true; } + if (id == R.id.edit) { + topBar.setVisibility(View.GONE); + editList.setVisibility(View.VISIBLE); + isEditMode = true; + } + if (!hideHistoryListAndDisplayMessageIfEmpty()) { historyList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE); historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext())); @@ -335,10 +349,9 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem public void quitEditMode(){ isEditMode = false; - selectAll.setVisibility(View.GONE); - deselectAll.setVisibility(View.GONE); - delete.setVisibility(View.GONE); - edit.setVisibility(View.VISIBLE); + editList.setVisibility(View.GONE); + topBar.setVisibility(View.VISIBLE); + refresh(); if (!hideHistoryListAndDisplayMessageIfEmpty()){ historyList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE); @@ -483,7 +496,7 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnItem historyList.setItemChecked(position, b); } }); - holder.detail.setVisibility(View.GONE); + holder.detail.setVisibility(View.INVISIBLE); if(historyList.isItemChecked(position)) { holder.select.setChecked(true); } else {