summaryrefslogtreecommitdiffstats
path: root/src/com/android/email/activity
diff options
context:
space:
mode:
authorJames Lemieux <jplemieux@google.com>2014-05-30 12:15:32 -0700
committerJames Lemieux <jplemieux@google.com>2014-05-30 14:49:05 -0700
commit6dce0b1819b9436cacd34d37d87499c3b9b726df (patch)
tree7724ee7ceae0232ab3a11ec10217dd9e4f40b6b1 /src/com/android/email/activity
parentf3440d33a9da544b202c05d1d5e4849674bcf5bf (diff)
downloadandroid_packages_apps_Email-6dce0b1819b9436cacd34d37d87499c3b9b726df.tar.gz
android_packages_apps_Email-6dce0b1819b9436cacd34d37d87499c3b9b726df.tar.bz2
android_packages_apps_Email-6dce0b1819b9436cacd34d37d87499c3b9b726df.zip
"No quick responses available" should display when all quick responses are deleted
b/14239989 We take advantage of ListView's feature that displays an entirely different view in place when the backing Adapter is empty. The empty view is simply a TextView displaying "No quick responses available". Change-Id: I244ffd21fc4c1557c73979d4bb7c99306b11ebb2
Diffstat (limited to 'src/com/android/email/activity')
-rw-r--r--src/com/android/email/activity/InsertQuickResponseDialog.java38
1 files changed, 24 insertions, 14 deletions
diff --git a/src/com/android/email/activity/InsertQuickResponseDialog.java b/src/com/android/email/activity/InsertQuickResponseDialog.java
index 83960c52c..2012b7042 100644
--- a/src/com/android/email/activity/InsertQuickResponseDialog.java
+++ b/src/com/android/email/activity/InsertQuickResponseDialog.java
@@ -16,10 +16,6 @@
package com.android.email.activity;
-import com.android.email.R;
-import com.android.mail.providers.Account;
-import com.android.mail.providers.UIProvider;
-
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
@@ -31,12 +27,17 @@ import android.content.DialogInterface;
import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
+import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
+import com.android.email.R;
+import com.android.mail.providers.Account;
+import com.android.mail.providers.UIProvider;
+
/**
* Dialog which lists QuickResponses for the specified account. On user selection, will call
* Callback.onQuickResponseSelected() with the selected QuickResponse text.
@@ -96,14 +97,21 @@ public class InsertQuickResponseDialog extends DialogFragment {
// Now that Callback implementation is verified, build the dialog
final Context context = getActivity();
- final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(),
+ final SimpleCursorAdapter adapter = new SimpleCursorAdapter(context,
R.layout.quick_response_item, null,
new String[] {UIProvider.QuickResponseColumns.TEXT},
new int[] {R.id.quick_response_text}, 0);
- final ListView listView = new ListView(context);
- listView.setAdapter(adapter);
+ final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ // inflate the view to show in the dialog
+ final LayoutInflater li = LayoutInflater.from(builder.getContext());
+ final View quickResponsesView = li.inflate(R.layout.quick_responses, null);
+
+ // the view contains both a ListView and its associated empty view; wire them together
+ final ListView listView = (ListView) quickResponsesView.findViewById(R.id.quick_responses);
+ listView.setEmptyView(quickResponsesView.findViewById(R.id.quick_responses_empty_view));
+ listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@@ -120,7 +128,7 @@ public class InsertQuickResponseDialog extends DialogFragment {
getLoaderManager().initLoader(0, null, new LoaderManager.LoaderCallbacks<Cursor>() {
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
- return new CursorLoader(getActivity(), account.quickResponseUri,
+ return new CursorLoader(context, account.quickResponseUri,
UIProvider.QUICK_RESPONSE_PROJECTION, null, null, null);
}
@@ -135,17 +143,19 @@ public class InsertQuickResponseDialog extends DialogFragment {
}
});
- final AlertDialog.Builder b = new AlertDialog.Builder(context);
- b.setTitle(getResources()
- .getString(R.string.message_compose_insert_quick_response_list_title))
- .setView(listView)
+ final String dialogTitle = getResources()
+ .getString(R.string.message_compose_insert_quick_response_list_title);
+
+ return builder
+ .setTitle(dialogTitle)
+ .setView(quickResponsesView)
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
- });
- return b.create();
+ })
+ .create();
}
private Callback getCallback() {