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 {