diff options
author | James Lemieux <jplemieux@google.com> | 2014-05-30 12:15:32 -0700 |
---|---|---|
committer | James Lemieux <jplemieux@google.com> | 2014-05-30 14:49:05 -0700 |
commit | 6dce0b1819b9436cacd34d37d87499c3b9b726df (patch) | |
tree | 7724ee7ceae0232ab3a11ec10217dd9e4f40b6b1 /src/com/android/email/activity | |
parent | f3440d33a9da544b202c05d1d5e4849674bcf5bf (diff) | |
download | android_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.java | 38 |
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() { |