From 5ec0ed0d99456b87f82c69f8843fd727464e4794 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 2 Jul 2015 08:50:11 -0500 Subject: [PATCH] Dialog cleanup --- .../andlib/utility/DialogUtilities.java | 36 +------ .../astrid/gtasks/GtasksListFragment.java | 2 - .../activities/ClearAllDataActivity.java | 5 +- .../activities/ClearGtaskDataActivity.java | 6 +- .../DeleteAllCalendarEventsActivity.java | 5 +- .../activities/DeleteCompletedActivity.java | 5 +- .../DeleteCompletedEventsActivity.java | 5 +- .../activities/PurgeDeletedActivity.java | 5 +- .../java/org/tasks/dialogs/DialogBuilder.java | 16 ++-- .../org/tasks/ui/ProgressDialogAsyncTask.java | 2 - .../res/layout/astrid_missed_call_view.xml | 94 ------------------- src/main/res/layout/missed_call_activity.xml | 90 +++++++++++++++++- 12 files changed, 115 insertions(+), 156 deletions(-) delete mode 100644 src/main/res/layout/astrid_missed_call_view.xml diff --git a/src/main/java/com/todoroo/andlib/utility/DialogUtilities.java b/src/main/java/com/todoroo/andlib/utility/DialogUtilities.java index ca91e28bf..31cd73ee3 100644 --- a/src/main/java/com/todoroo/andlib/utility/DialogUtilities.java +++ b/src/main/java/com/todoroo/andlib/utility/DialogUtilities.java @@ -8,58 +8,28 @@ package com.todoroo.andlib.utility; import android.app.Activity; import android.app.Dialog; -import android.app.ProgressDialog; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.tasks.R; -@Deprecated public class DialogUtilities { private static final Logger log = LoggerFactory.getLogger(DialogUtilities.class); - /** - * Displays a progress dialog. Must be run on the UI thread - */ - public static ProgressDialog progressDialog(Activity context, String text) { - ProgressDialog dialog = new ProgressDialog(context, R.style.TasksDialog); - dialog.setIndeterminate(true); - dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); - dialog.setMessage(text); - dialog.show(); - dialog.setOwnerActivity(context); - return dialog; - } - /** * Dismiss a dialog off the UI thread */ + @Deprecated public static void dismissDialog(Activity activity, final Dialog dialog) { if(dialog == null) { return; } - tryOnUiThread(activity, new Runnable() { - @Override - public void run() { - try { - dialog.dismiss(); - } catch (Exception e) { - // could have killed activity - log.error(e.getMessage(), e); - } - } - }); - } - - private static void tryOnUiThread(Activity activity, final Runnable runnable) { activity.runOnUiThread(new Runnable() { @Override public void run() { try { - runnable.run(); - } catch (Exception e) { - // probably window was closed + dialog.dismiss(); + } catch(Exception e) { log.error(e.getMessage(), e); } } diff --git a/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java b/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java index 643945838..5f121bd34 100644 --- a/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java +++ b/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java @@ -107,10 +107,8 @@ public class GtasksListFragment extends SubtasksListFragment { } private void clearCompletedTasks() { - final ProgressDialog pd = dialogBuilder.newProgressDialog(R.string.gtasks_GTA_clearing); final TodorooCursor tasks = taskService.fetchFiltered(filter.getSqlQuery(), null, Task.ID, Task.COMPLETION_DATE); - pd.show(); new AsyncTask() { diff --git a/src/main/java/org/tasks/activities/ClearAllDataActivity.java b/src/main/java/org/tasks/activities/ClearAllDataActivity.java index a096bd42d..c04b3ba2a 100644 --- a/src/main/java/org/tasks/activities/ClearAllDataActivity.java +++ b/src/main/java/org/tasks/activities/ClearAllDataActivity.java @@ -31,9 +31,10 @@ public class ClearAllDataActivity extends InjectingAppCompatActivity { System.exit(0); } }) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(android.R.string.cancel, null) + .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onDismiss(DialogInterface dialog) { finish(); } }) diff --git a/src/main/java/org/tasks/activities/ClearGtaskDataActivity.java b/src/main/java/org/tasks/activities/ClearGtaskDataActivity.java index 36c6d0634..da5bafce0 100644 --- a/src/main/java/org/tasks/activities/ClearGtaskDataActivity.java +++ b/src/main/java/org/tasks/activities/ClearGtaskDataActivity.java @@ -26,12 +26,12 @@ public class ClearGtaskDataActivity extends InjectingAppCompatActivity { public void onClick(DialogInterface dialog, int which) { gtasksSyncV2Provider.signOut(); setResult(RESULT_OK); - finish(); } }) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(android.R.string.cancel, null) + .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onDismiss(DialogInterface dialog) { finish(); } }) diff --git a/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java b/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java index c5b0fa621..5e48730ce 100644 --- a/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java +++ b/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java @@ -63,9 +63,10 @@ public class DeleteAllCalendarEventsActivity extends InjectingAppCompatActivity }.execute(); } }) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(android.R.string.cancel, null) + .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onDismiss(DialogInterface dialog) { finish(); } }) diff --git a/src/main/java/org/tasks/activities/DeleteCompletedActivity.java b/src/main/java/org/tasks/activities/DeleteCompletedActivity.java index 9450ce2ca..0784f3975 100644 --- a/src/main/java/org/tasks/activities/DeleteCompletedActivity.java +++ b/src/main/java/org/tasks/activities/DeleteCompletedActivity.java @@ -59,9 +59,10 @@ public class DeleteCompletedActivity extends InjectingAppCompatActivity { }.execute(); } }) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(android.R.string.cancel, null) + .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onDismiss(DialogInterface dialog) { finish(); } }) diff --git a/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java b/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java index 64c74dd14..b259ca353 100644 --- a/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java +++ b/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java @@ -67,9 +67,10 @@ public class DeleteCompletedEventsActivity extends InjectingAppCompatActivity { }.execute(); } }) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(android.R.string.cancel, null) + .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onDismiss(DialogInterface dialog) { finish(); } }) diff --git a/src/main/java/org/tasks/activities/PurgeDeletedActivity.java b/src/main/java/org/tasks/activities/PurgeDeletedActivity.java index 3fb90c078..6313b568d 100644 --- a/src/main/java/org/tasks/activities/PurgeDeletedActivity.java +++ b/src/main/java/org/tasks/activities/PurgeDeletedActivity.java @@ -62,9 +62,10 @@ public class PurgeDeletedActivity extends InjectingAppCompatActivity { }.execute(); } }) - .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(android.R.string.cancel, null) + .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onDismiss(DialogInterface dialog) { finish(); } }) diff --git a/src/main/java/org/tasks/dialogs/DialogBuilder.java b/src/main/java/org/tasks/dialogs/DialogBuilder.java index 18a45c204..95925bdbb 100644 --- a/src/main/java/org/tasks/dialogs/DialogBuilder.java +++ b/src/main/java/org/tasks/dialogs/DialogBuilder.java @@ -2,9 +2,11 @@ package org.tasks.dialogs; import android.app.Activity; import android.app.ProgressDialog; +import android.graphics.drawable.ColorDrawable; import android.support.v7.app.AlertDialog; -import org.tasks.R; +import com.todoroo.andlib.utility.AndroidUtilities; + import org.tasks.preferences.ActivityPreferences; import javax.inject.Inject; @@ -23,16 +25,16 @@ public class DialogBuilder { return new AlertDialog.Builder(activity, activityPreferences.getDialogTheme()); } - public AlertDialog.Builder newMessageDialog(String message) { - return newDialog().setMessage(message); - } - public AlertDialog.Builder newMessageDialog(int message, Object... formatArgs) { - return newMessageDialog(activity.getString(message, formatArgs)); + return newDialog().setMessage(activity.getString(message, formatArgs)); } public ProgressDialog newProgressDialog() { - return new ProgressDialog(activity, activityPreferences.getDialogTheme()); + ProgressDialog progressDialog = new ProgressDialog(activity, activityPreferences.getDialogTheme()); + if (AndroidUtilities.preLollipop()) { + progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.R.color.transparent)); + } + return progressDialog; } public ProgressDialog newProgressDialog(int messageId) { diff --git a/src/main/java/org/tasks/ui/ProgressDialogAsyncTask.java b/src/main/java/org/tasks/ui/ProgressDialogAsyncTask.java index 95ef4bd69..cf3452087 100644 --- a/src/main/java/org/tasks/ui/ProgressDialogAsyncTask.java +++ b/src/main/java/org/tasks/ui/ProgressDialogAsyncTask.java @@ -32,8 +32,6 @@ public abstract class ProgressDialogAsyncTask extends AsyncTask - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/res/layout/missed_call_activity.xml b/src/main/res/layout/missed_call_activity.xml index d26ef6fa7..3146a06cc 100644 --- a/src/main/res/layout/missed_call_activity.xml +++ b/src/main/res/layout/missed_call_activity.xml @@ -5,10 +5,90 @@ ** See the file "LICENSE" for the full license governing this code. --> - - + android:layout_height="wrap_content" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + +