summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2014-06-10 15:09:46 -0700
committerAndrew Lee <anwlee@google.com>2014-06-10 16:37:10 -0700
commit0a4327e6bfeedc23ddefb4df9f6e8041ebc87b59 (patch)
tree3fb090bcdcab68a17e4539b22241b4b28f9614c0 /src
parenta6d7bd355e37674b4982525227bc969ea3a0c738 (diff)
Update empty list assets and text.
- Add new assets for empty lists, delete old no favorites banner. - Adapt phone_no_favorites.xml into generic container shown when a list is empty. - Add helper to DialerUtils to configure empty list view with a provided image and message. - Configure empty list view in relevant fragments. - Some text styling/margin/padding to get things to spec. A minimum height is used on the message so that the icons and text will be laid out in a consistent manner. Bug: 15513399 Change-Id: I52337a4544065a991d3b8084d96b01516a458c42
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/calllog/CallLogFragment.java17
-rw-r--r--src/com/android/dialer/list/AllContactsFragment.java9
-rw-r--r--src/com/android/dialer/list/SpeedDialFragment.java7
-rw-r--r--src/com/android/dialer/util/DialerUtils.java25
4 files changed, 49 insertions, 9 deletions
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index ad86e240d..4f5c35518 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -40,6 +40,7 @@ import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
+import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
@@ -50,6 +51,7 @@ import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.contacts.common.util.ViewUtil;
import com.android.dialer.R;
import com.android.dialer.list.ListsFragment.HostInterface;
+import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.EmptyLoader;
import com.android.dialer.voicemail.VoicemailStatusHelper;
import com.android.dialer.voicemail.VoicemailStatusHelper.StatusMessage;
@@ -298,9 +300,11 @@ public class CallLogFragment extends ListFragment
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- updateEmptyMessage(mCallTypeFilter);
+ getListView().setEmptyView(view.findViewById(R.id.empty_list_view));
getListView().setItemsCanFocus(true);
maybeAddFooterView();
+
+ updateEmptyMessage(mCallTypeFilter);
}
/**
@@ -413,22 +417,23 @@ public class CallLogFragment extends ListFragment
}
private void updateEmptyMessage(int filterType) {
- final String message;
+ final int messageId;
switch (filterType) {
case Calls.MISSED_TYPE:
- message = getString(R.string.recentMissed_empty);
+ messageId = R.string.recentMissed_empty;
break;
case Calls.VOICEMAIL_TYPE:
- message = getString(R.string.recentVoicemails_empty);
+ messageId = R.string.recentVoicemails_empty;
break;
case CallLogQueryHandler.CALL_TYPE_ALL:
- message = getString(R.string.recentCalls_empty);
+ messageId = R.string.recentCalls_empty;
break;
default:
throw new IllegalArgumentException("Unexpected filter type in CallLogFragment: "
+ filterType);
}
- ((TextView) getListView().getEmptyView()).setText(message);
+ DialerUtils.configureEmptyListView(
+ getListView().getEmptyView(), R.drawable.empty_call_log, messageId, getResources());
}
public void callSelectedEntry() {
diff --git a/src/com/android/dialer/list/AllContactsFragment.java b/src/com/android/dialer/list/AllContactsFragment.java
index a796680e9..ddcb15df4 100644
--- a/src/com/android/dialer/list/AllContactsFragment.java
+++ b/src/com/android/dialer/list/AllContactsFragment.java
@@ -23,8 +23,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
-import android.widget.ListView;
-import android.widget.QuickContactBadge;
import com.android.contacts.common.list.ContactEntryListAdapter;
import com.android.contacts.common.list.ContactEntryListFragment;
@@ -32,6 +30,7 @@ import com.android.contacts.common.list.ContactListFilter;
import com.android.contacts.common.list.DefaultContactListAdapter;
import com.android.contacts.common.util.ViewUtil;
import com.android.dialer.R;
+import com.android.dialer.util.DialerUtils;
/**
* Fragments to show all contacts with phone numbers.
@@ -50,6 +49,12 @@ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryLi
@Override
public void onViewCreated(View view, android.os.Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+
+ View emptyListView = view.findViewById(R.id.empty_list_view);
+ DialerUtils.configureEmptyListView(emptyListView, R.drawable.empty_contacts,
+ R.string.listFoundAllContactsZero, getResources());
+ getListView().setEmptyView(emptyListView);
+
ViewUtil.addBottomPaddingToListViewForFab(getListView(), getResources());
}
diff --git a/src/com/android/dialer/list/SpeedDialFragment.java b/src/com/android/dialer/list/SpeedDialFragment.java
index 6e86a3e36..c21449288 100644
--- a/src/com/android/dialer/list/SpeedDialFragment.java
+++ b/src/com/android/dialer/list/SpeedDialFragment.java
@@ -23,6 +23,7 @@ import android.app.Fragment;
import android.app.LoaderManager;
import android.content.CursorLoader;
import android.content.Loader;
+import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.net.Uri;
@@ -47,6 +48,7 @@ import com.android.contacts.common.ContactTileLoaderFactory;
import com.android.contacts.common.list.ContactTileView;
import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
import com.android.dialer.R;
+import com.android.dialer.util.DialerUtils;
import java.util.ArrayList;
import java.util.HashMap;
@@ -208,7 +210,10 @@ public class SpeedDialFragment extends Fragment implements OnItemClickListener,
(ImageView) getActivity().findViewById(R.id.contact_tile_drag_shadow_overlay);
mListView.setDragShadowOverlay(dragShadowOverlay);
- mEmptyView = mParentView.findViewById(R.id.phone_no_favorites_view);
+ final Resources resources = getResources();
+ mEmptyView = mParentView.findViewById(R.id.empty_list_view);
+ DialerUtils.configureEmptyListView(
+ mEmptyView, R.drawable.empty_speed_dial, R.string.no_favorites, getResources());
mContactTileFrame = mParentView.findViewById(R.id.contact_tile_frame);
diff --git a/src/com/android/dialer/util/DialerUtils.java b/src/com/android/dialer/util/DialerUtils.java
index 584caa9a1..f1dfe20e0 100644
--- a/src/com/android/dialer/util/DialerUtils.java
+++ b/src/com/android/dialer/util/DialerUtils.java
@@ -21,8 +21,12 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
import android.net.Uri;
import android.provider.Telephony;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
import android.widget.Toast;
import com.android.contacts.common.CallUtil;
@@ -82,4 +86,25 @@ public class DialerUtils {
}
return null;
}
+
+ /**
+ * Sets the image asset and text for an empty list view (see empty_list_view.xml).
+ *
+ * @param emptyListView The empty list view.
+ * @param imageResId The resource id for the drawable to set as the image.
+ * @param strResId The resource id for the string to set as the message.
+ * @param res The resources to obtain the image and string from.
+ */
+ public static void configureEmptyListView(
+ View emptyListView, int imageResId, int strResId, Resources res) {
+ ImageView emptyListViewImage =
+ (ImageView) emptyListView.findViewById(R.id.emptyListViewImage);
+
+ emptyListViewImage.setImageDrawable(res.getDrawable(imageResId));
+ emptyListViewImage.setContentDescription(res.getString(strResId));
+
+ TextView emptyListViewMessage =
+ (TextView) emptyListView.findViewById(R.id.emptyListViewMessage);
+ emptyListViewMessage.setText(res.getString(strResId));
+ }
}