Show message if contact has no data to show.
Fixes bc_triaged bug http://b/issue?id=2170901
Dr.NO approval from Tim Sullivan
Change-Id: I362ca992c3a97792fbc2d76fc3bcf4178bfefcd5
diff --git a/res/layout-finger/contact_card_layout.xml b/res/layout-finger/contact_card_layout.xml
index 19ef744..6e70561 100644
--- a/res/layout-finger/contact_card_layout.xml
+++ b/res/layout-finger/contact_card_layout.xml
@@ -25,17 +25,29 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
- <FrameLayout android:id="@android:id/tabcontent"
+ <ListView android:id="@+id/contact_data"
android:layout_width="fill_parent"
- android:layout_height="0dip"
- android:layout_weight="1">
-
- <View
+ android:layout_height="fill_parent"
+ android:background="@drawable/title_bar_shadow"
+ />
+
+ <ScrollView android:id="@android:id/empty"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:fillViewport="true"
+ >
+ <TextView android:id="@+id/emptyText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="@drawable/title_bar_shadow"
+ android:text="@string/no_contact_details"
+ android:textSize="20sp"
+ android:textColor="?android:attr/textColorSecondary"
+ android:paddingLeft="10dip"
+ android:paddingRight="10dip"
+ android:paddingTop="10dip"
+ android:lineSpacingMultiplier="0.92"
/>
- </FrameLayout>
+ </ScrollView>
</LinearLayout>
diff --git a/src/com/android/contacts/ViewContactActivity.java b/src/com/android/contacts/ViewContactActivity.java
index e6dd623..06296cc 100644
--- a/src/com/android/contacts/ViewContactActivity.java
+++ b/src/com/android/contacts/ViewContactActivity.java
@@ -82,6 +82,7 @@
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ListView;
+import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
@@ -168,7 +169,6 @@
finish();
}
- private FrameLayout mTabContentLayout;
private ListView mListView;
private boolean mShowSmsLinksForAllPhones;
@@ -200,13 +200,11 @@
mHandler = new NotifyingAsyncQueryHandler(this, this);
- mListView = new ListView(this);
+ mListView = (ListView) findViewById(R.id.contact_data);
mListView.setOnCreateContextMenuListener(this);
mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
mListView.setOnItemClickListener(this);
-
- mTabContentLayout = (FrameLayout) findViewById(android.R.id.tabcontent);
- mTabContentLayout.addView(mListView);
+ mListView.setEmptyView((ScrollView) findViewById(android.R.id.empty));
mResolver = getContentResolver();
@@ -273,13 +271,13 @@
.setPositiveButton(android.R.string.ok, this)
.setCancelable(false)
.create();
- case DIALOG_CONFIRM_READONLY_HIDE: {
+ case DIALOG_CONFIRM_READONLY_HIDE: {
return new AlertDialog.Builder(this)
.setTitle(R.string.deleteConfirmation_title)
.setIcon(android.R.drawable.ic_dialog_alert)
.setMessage(R.string.readOnlyContactWarning)
.setPositiveButton(android.R.string.ok, this)
- .create();
+ .create();
}
}
@@ -509,15 +507,15 @@
}
case R.id.menu_delete: {
// Get confirmation
- if (mReadOnlySourcesCnt > 0 & mWritableSourcesCnt > 0) {
+ if (mReadOnlySourcesCnt > 0 & mWritableSourcesCnt > 0) {
showDialog(DIALOG_CONFIRM_READONLY_DELETE);
- } else if (mReadOnlySourcesCnt > 0 && mWritableSourcesCnt == 0) {
+ } else if (mReadOnlySourcesCnt > 0 && mWritableSourcesCnt == 0) {
showDialog(DIALOG_CONFIRM_READONLY_HIDE);
- } else if (mReadOnlySourcesCnt == 0 && mWritableSourcesCnt > 1) {
- showDialog(DIALOG_CONFIRM_MULTIPLE_DELETE);
- } else {
- showDialog(DIALOG_CONFIRM_DELETE);
- }
+ } else if (mReadOnlySourcesCnt == 0 && mWritableSourcesCnt > 1) {
+ showDialog(DIALOG_CONFIRM_MULTIPLE_DELETE);
+ } else {
+ showDialog(DIALOG_CONFIRM_DELETE);
+ }
return true;
}
case R.id.menu_join: {
@@ -714,15 +712,15 @@
}
case KeyEvent.KEYCODE_DEL: {
- if (mReadOnlySourcesCnt > 0 & mWritableSourcesCnt > 0) {
+ if (mReadOnlySourcesCnt > 0 & mWritableSourcesCnt > 0) {
showDialog(DIALOG_CONFIRM_READONLY_DELETE);
- } else if (mReadOnlySourcesCnt > 0 && mWritableSourcesCnt == 0) {
+ } else if (mReadOnlySourcesCnt > 0 && mWritableSourcesCnt == 0) {
showDialog(DIALOG_CONFIRM_READONLY_HIDE);
- } else if (mReadOnlySourcesCnt == 0 && mWritableSourcesCnt > 1) {
- showDialog(DIALOG_CONFIRM_MULTIPLE_DELETE);
- } else {
- showDialog(DIALOG_CONFIRM_DELETE);
- }
+ } else if (mReadOnlySourcesCnt == 0 && mWritableSourcesCnt > 1) {
+ showDialog(DIALOG_CONFIRM_MULTIPLE_DELETE);
+ } else {
+ showDialog(DIALOG_CONFIRM_DELETE);
+ }
return true;
}
}
@@ -792,8 +790,8 @@
mReadOnlySourcesCnt += 1;
} else {
mWritableSourcesCnt += 1;
- mWritableRawContactIds.add(rawContactId);
- }
+ mWritableRawContactIds.add(rawContactId);
+ }
for (NamedContentValues subValue : entity.getSubValues()) {