From ddfa3c479d237feed4e22ba405672ad206d1b157 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 17 Mar 2015 14:45:00 -0500 Subject: [PATCH] Move old task dialogs into activities --- src/main/AndroidManifest.xml | 20 ++ .../astrid/core/OldTaskPreferences.java | 283 +----------------- .../activities/ClearAllDataActivity.java | 44 +++ .../DeleteAllCalendarEventsActivity.java | 88 ++++++ .../activities/DeleteCompletedActivity.java | 89 ++++++ .../DeleteCompletedEventsActivity.java | 90 ++++++ .../activities/PurgeDeletedActivity.java | 87 ++++++ .../org/tasks/injection/ActivityModule.java | 12 +- src/main/res/xml/preferences_oldtasks.xml | 58 ++-- 9 files changed, 470 insertions(+), 301 deletions(-) create mode 100644 src/main/java/org/tasks/activities/ClearAllDataActivity.java create mode 100644 src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java create mode 100644 src/main/java/org/tasks/activities/DeleteCompletedActivity.java create mode 100644 src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java create mode 100644 src/main/java/org/tasks/activities/PurgeDeletedActivity.java diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 64e2c4553..8d364bb4b 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -388,6 +388,26 @@ android:name="com.todoroo.astrid.core.OldTaskPreferences" android:theme="@android:style/Theme"/> + + + + + + + + + + - * - */ -public class OldTaskPreferences extends TodorooPreferenceActivity { - - @Inject TaskDeleter taskDeleter; - @Inject TaskService taskService; - @Inject MetadataDao metadataDao; - @Inject Database database; - @Inject GCalHelper gcalHelper; - @Inject Preferences preferences; - - ProgressDialog pd; - - @Override - public int getPreferenceResource() { - return R.xml.preferences_oldtasks; - } +public class OldTaskPreferences extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - PreferenceScreen screen = getPreferenceScreen(); - - // Extended prefs - Preference preference = screen.findPreference(getString(R.string.EPr_manage_delete_completed)); - preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference p) { - showDeleteCompletedDialog(); - return true; - } - }); - - preference = screen.findPreference(getString(R.string.EPr_manage_purge_deleted)); - preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference p) { - showPurgeDeletedDialog(); - return true; - } - }); - - preference = screen.findPreference(getString(R.string.EPr_manage_delete_completed_gcal)); - preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference p) { - showDeleteCompletedEventsDialog(); - return true; - } - }); - - preference = screen.findPreference(getString(R.string.EPr_manage_delete_all_gcal)); - preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference p) { - showDeleteAllEventsDialog(); - return true; - } - }); - - preference= screen.findPreference(getString(R.string.EPr_manage_clear_all)); - preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference p) { - showClearDataDialog(); - return true; - } - }); - } - - private void showClearDataDialog() { - DialogUtilities.okCancelDialog( - this, - getResources().getString(R.string.EPr_manage_clear_all_message), - new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - deleteDatabase(database.getName()); - preferences.reset(); - - System.exit(0); - } - }, - null); - } - - /* (non-Javadoc) - * @see android.app.Activity#onPause() - */ - @Override - protected void onPause() { - DialogUtilities.dismissDialog(this, pd); - - super.onPause(); + addPreferencesFromResource(R.xml.preferences_oldtasks); } - - /** Show the dialog to delete completed tasks */ - private void showDeleteCompletedDialog() { - DialogUtilities.okCancelDialog( - this, - getResources().getString( - R.string.EPr_manage_delete_completed_message), - new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { - @Override - public void run() { - TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( - Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); - try { - int length = cursor.getCount(); - for(int i = 0; i < length; i++) { - cursor.moveToNext(); - Task task = new Task(cursor); - gcalHelper.deleteTaskEvent(task); - } - } finally { - cursor.close(); - } - Task template = new Task(); - template.setDeletionDate( - DateUtilities.now()); - int result = taskService.update( - Task.COMPLETION_DATE.gt(0), template); - showResult( - R.string.EPr_manage_delete_completed_status, - result); - } - }); - } - }, null); - } - - /** Show the dialog to purge deleted tasks */ - private void showPurgeDeletedDialog() { - DialogUtilities.okCancelDialog( - this, - getResources().getString( - R.string.EPr_manage_purge_deleted_message), - new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { - @Override - public void run() { - TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.TITLE, Task.CALENDAR_URI).where( - Criterion.and(Task.DELETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); - try { - int length = cursor.getCount(); - for(int i = 0; i < length; i++) { - cursor.moveToNext(); - Task task = new Task(cursor); - gcalHelper.deleteTaskEvent(task); - } - } finally { - cursor.close(); - } - int result = taskDeleter.purgeDeletedTasks(); - metadataDao.removeDanglingMetadata(); - showResult(R.string.EPr_manage_purge_deleted_status, result); - } - }); - } - }, null); - } - - /** Show the dialog to delete completed events */ - private void showDeleteCompletedEventsDialog() { - DialogUtilities.okCancelDialog( - this, - getResources().getString( - R.string.EPr_manage_delete_completed_gcal_message), - new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { - @Override - public void run() { - int deletedEventCount = 0; - TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( - Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); - try { - int length = cursor.getCount(); - for(int i = 0; i < length; i++) { - cursor.moveToNext(); - Task task = new Task(cursor); - if (gcalHelper.deleteTaskEvent(task)) { - deletedEventCount++; - } - } - } finally { - cursor.close(); - } - // mass update the CALENDAR_URI here, - // since the GCalHelper doesnt save it due to performance-reasons - Task template = new Task(); - template.setCalendarUri(""); //$NON-NLS-1$ - taskService.update( - Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()), - template); - showResult(R.string.EPr_manage_delete_completed_gcal_status, deletedEventCount); - } - }); - } - }, null); - } - - /** Show the dialog to delete all events */ - private void showDeleteAllEventsDialog() { - DialogUtilities.okCancelDialog( - this, - getResources().getString( - R.string.EPr_manage_delete_all_gcal_message), - new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { - @Override - public void run() { - int deletedEventCount = 0; - TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( - Task.CALENDAR_URI.isNotNull())); - try { - int length = cursor.getCount(); - for(int i = 0; i < length; i++) { - cursor.moveToNext(); - Task task = new Task(cursor); - if (gcalHelper.deleteTaskEvent(task)) { - deletedEventCount++; - } - } - } finally { - cursor.close(); - } - // mass update the CALENDAR_URI here, - // since the GCalHelper doesnt save it due to performance-reasons - Task template = new Task(); - template.setCalendarUri(""); //$NON-NLS-1$ - taskService.update( - Task.CALENDAR_URI.isNotNull(), - template); - showResult(R.string.EPr_manage_delete_all_gcal_status, deletedEventCount); - } - }); - } - }, null); - } - - protected void showResult(int resourceText, int result) { - DialogUtilities.okDialog(this, getString(resourceText, result), null); - } - - @Override - public void updatePreferences(Preference preference, Object value) { - // :) - } - } diff --git a/src/main/java/org/tasks/activities/ClearAllDataActivity.java b/src/main/java/org/tasks/activities/ClearAllDataActivity.java new file mode 100644 index 000000000..0292bd1bf --- /dev/null +++ b/src/main/java/org/tasks/activities/ClearAllDataActivity.java @@ -0,0 +1,44 @@ +package org.tasks.activities; + +import android.content.DialogInterface; +import android.os.Bundle; + +import com.todoroo.andlib.utility.DialogUtilities; +import com.todoroo.astrid.dao.Database; + +import org.tasks.R; +import org.tasks.injection.InjectingActivity; +import org.tasks.preferences.Preferences; + +import javax.inject.Inject; + +public class ClearAllDataActivity extends InjectingActivity { + + @Inject Database database; + @Inject Preferences preferences; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + DialogUtilities.okCancelDialog( + this, + getResources().getString(R.string.EPr_manage_clear_all_message), + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + deleteDatabase(database.getName()); + + preferences.reset(); + + System.exit(0); + } + }, + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } +} diff --git a/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java b/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java new file mode 100644 index 000000000..23aec491a --- /dev/null +++ b/src/main/java/org/tasks/activities/DeleteAllCalendarEventsActivity.java @@ -0,0 +1,88 @@ +package org.tasks.activities; + +import android.app.ProgressDialog; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.todoroo.andlib.data.TodorooCursor; +import com.todoroo.andlib.sql.Query; +import com.todoroo.andlib.utility.DialogUtilities; +import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.gcal.GCalHelper; +import com.todoroo.astrid.service.TaskService; + +import org.tasks.R; +import org.tasks.injection.InjectingActivity; + +import javax.inject.Inject; + +public class DeleteAllCalendarEventsActivity extends InjectingActivity { + + @Inject TaskService taskService; + @Inject GCalHelper gcalHelper; + + private ProgressDialog pd; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + DialogUtilities.okCancelDialog( + this, + getResources().getString( + R.string.EPr_manage_delete_all_gcal_message), + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + pd = DialogUtilities.runWithProgressDialog(DeleteAllCalendarEventsActivity.this, new Runnable() { + @Override + public void run() { + int deletedEventCount = 0; + TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( + Task.CALENDAR_URI.isNotNull())); + try { + int length = cursor.getCount(); + for (int i = 0; i < length; i++) { + cursor.moveToNext(); + Task task = new Task(cursor); + if (gcalHelper.deleteTaskEvent(task)) { + deletedEventCount++; + } + } + } finally { + cursor.close(); + } + // mass update the CALENDAR_URI here, + // since the GCalHelper doesnt save it due to performance-reasons + Task template = new Task(); + template.setCalendarUri(""); //$NON-NLS-1$ + taskService.update( + Task.CALENDAR_URI.isNotNull(), + template); + showResult(R.string.EPr_manage_delete_all_gcal_status, deletedEventCount); + } + }); + } + }, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } + + @Override + protected void onPause() { + DialogUtilities.dismissDialog(this, pd); + + super.onPause(); + } + + private void showResult(int resourceText, int result) { + DialogUtilities.okDialog(this, getString(resourceText, result), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } +} diff --git a/src/main/java/org/tasks/activities/DeleteCompletedActivity.java b/src/main/java/org/tasks/activities/DeleteCompletedActivity.java new file mode 100644 index 000000000..cbb5178b6 --- /dev/null +++ b/src/main/java/org/tasks/activities/DeleteCompletedActivity.java @@ -0,0 +1,89 @@ +package org.tasks.activities; + +import android.app.ProgressDialog; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.todoroo.andlib.data.TodorooCursor; +import com.todoroo.andlib.sql.Criterion; +import com.todoroo.andlib.sql.Query; +import com.todoroo.andlib.utility.DateUtilities; +import com.todoroo.andlib.utility.DialogUtilities; +import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.gcal.GCalHelper; +import com.todoroo.astrid.service.TaskService; + +import org.tasks.R; +import org.tasks.injection.InjectingActivity; + +import javax.inject.Inject; + +public class DeleteCompletedActivity extends InjectingActivity { + + @Inject TaskService taskService; + @Inject GCalHelper gcalHelper; + + private ProgressDialog pd; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + DialogUtilities.okCancelDialog( + this, + getResources().getString( + R.string.EPr_manage_delete_completed_message), + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + pd = DialogUtilities.runWithProgressDialog(DeleteCompletedActivity.this, new Runnable() { + @Override + public void run() { + TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( + Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); + try { + int length = cursor.getCount(); + for (int i = 0; i < length; i++) { + cursor.moveToNext(); + Task task = new Task(cursor); + gcalHelper.deleteTaskEvent(task); + } + } finally { + cursor.close(); + } + Task template = new Task(); + template.setDeletionDate( + DateUtilities.now()); + int result = taskService.update( + Task.COMPLETION_DATE.gt(0), template); + showResult( + R.string.EPr_manage_delete_completed_status, + result); + } + }); + } + }, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + + } + + @Override + protected void onPause() { + DialogUtilities.dismissDialog(this, pd); + + super.onPause(); + } + + protected void showResult(int resourceText, int result) { + DialogUtilities.okDialog(this, getString(resourceText, result), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } +} diff --git a/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java b/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java new file mode 100644 index 000000000..fbd29befb --- /dev/null +++ b/src/main/java/org/tasks/activities/DeleteCompletedEventsActivity.java @@ -0,0 +1,90 @@ +package org.tasks.activities; + +import android.app.ProgressDialog; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.todoroo.andlib.data.TodorooCursor; +import com.todoroo.andlib.sql.Criterion; +import com.todoroo.andlib.sql.Query; +import com.todoroo.andlib.utility.DialogUtilities; +import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.gcal.GCalHelper; +import com.todoroo.astrid.service.TaskService; + +import org.tasks.R; +import org.tasks.injection.InjectingActivity; + +import javax.inject.Inject; + +public class DeleteCompletedEventsActivity extends InjectingActivity { + + @Inject TaskService taskService; + @Inject GCalHelper gcalHelper; + + private ProgressDialog pd; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + DialogUtilities.okCancelDialog( + this, + getResources().getString( + R.string.EPr_manage_delete_completed_gcal_message), + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + pd = DialogUtilities.runWithProgressDialog(DeleteCompletedEventsActivity.this, new Runnable() { + @Override + public void run() { + int deletedEventCount = 0; + TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( + Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); + try { + int length = cursor.getCount(); + for (int i = 0; i < length; i++) { + cursor.moveToNext(); + Task task = new Task(cursor); + if (gcalHelper.deleteTaskEvent(task)) { + deletedEventCount++; + } + } + } finally { + cursor.close(); + } + // mass update the CALENDAR_URI here, + // since the GCalHelper doesnt save it due to performance-reasons + Task template = new Task(); + template.setCalendarUri(""); //$NON-NLS-1$ + taskService.update( + Criterion.and(Task.COMPLETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()), + template); + showResult(R.string.EPr_manage_delete_completed_gcal_status, deletedEventCount); + } + }); + } + }, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } + + @Override + protected void onPause() { + DialogUtilities.dismissDialog(this, pd); + + super.onPause(); + } + + private void showResult(int resourceText, int result) { + DialogUtilities.okDialog(this, getString(resourceText, result), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } +} diff --git a/src/main/java/org/tasks/activities/PurgeDeletedActivity.java b/src/main/java/org/tasks/activities/PurgeDeletedActivity.java new file mode 100644 index 000000000..00de38e75 --- /dev/null +++ b/src/main/java/org/tasks/activities/PurgeDeletedActivity.java @@ -0,0 +1,87 @@ +package org.tasks.activities; + +import android.app.ProgressDialog; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.todoroo.andlib.data.TodorooCursor; +import com.todoroo.andlib.sql.Criterion; +import com.todoroo.andlib.sql.Query; +import com.todoroo.andlib.utility.DialogUtilities; +import com.todoroo.astrid.dao.MetadataDao; +import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.gcal.GCalHelper; +import com.todoroo.astrid.service.TaskDeleter; +import com.todoroo.astrid.service.TaskService; + +import org.tasks.R; +import org.tasks.injection.InjectingActivity; + +import javax.inject.Inject; + +public class PurgeDeletedActivity extends InjectingActivity { + + @Inject TaskService taskService; + @Inject TaskDeleter taskDeleter; + @Inject GCalHelper gcalHelper; + @Inject MetadataDao metadataDao; + + private ProgressDialog pd; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + DialogUtilities.okCancelDialog( + this, + getResources().getString( + R.string.EPr_manage_purge_deleted_message), + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + pd = DialogUtilities.runWithProgressDialog(PurgeDeletedActivity.this, new Runnable() { + @Override + public void run() { + TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.TITLE, Task.CALENDAR_URI).where( + Criterion.and(Task.DELETION_DATE.gt(0), Task.CALENDAR_URI.isNotNull()))); + try { + int length = cursor.getCount(); + for (int i = 0; i < length; i++) { + cursor.moveToNext(); + Task task = new Task(cursor); + gcalHelper.deleteTaskEvent(task); + } + } finally { + cursor.close(); + } + int result = taskDeleter.purgeDeletedTasks(); + metadataDao.removeDanglingMetadata(); + showResult(R.string.EPr_manage_purge_deleted_status, result); + } + }); + } + }, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + + } + + @Override + protected void onPause() { + DialogUtilities.dismissDialog(this, pd); + + super.onPause(); + } + + protected void showResult(int resourceText, int result) { + DialogUtilities.okDialog(this, getString(resourceText, result), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + finish(); + } + }); + } +} diff --git a/src/main/java/org/tasks/injection/ActivityModule.java b/src/main/java/org/tasks/injection/ActivityModule.java index 3c29a4482..f8267e149 100644 --- a/src/main/java/org/tasks/injection/ActivityModule.java +++ b/src/main/java/org/tasks/injection/ActivityModule.java @@ -24,8 +24,13 @@ import com.todoroo.astrid.tags.DeleteTagActivity; import com.todoroo.astrid.tags.RenameTagActivity; import com.todoroo.astrid.widget.WidgetConfigActivity; +import org.tasks.activities.ClearAllDataActivity; +import org.tasks.activities.DeleteAllCalendarEventsActivity; +import org.tasks.activities.DeleteCompletedActivity; +import org.tasks.activities.DeleteCompletedEventsActivity; import org.tasks.activities.ExportTaskActivity; import org.tasks.activities.ImportTaskActivity; +import org.tasks.activities.PurgeDeletedActivity; import org.tasks.preferences.MiscellaneousPreferences; import org.tasks.reminders.SnoozeActivity; import org.tasks.voice.VoiceCommandActivity; @@ -62,7 +67,12 @@ import dagger.Provides; SnoozeActivity.class, MiscellaneousPreferences.class, ImportTaskActivity.class, - ExportTaskActivity.class + ExportTaskActivity.class, + ClearAllDataActivity.class, + PurgeDeletedActivity.class, + DeleteCompletedActivity.class, + DeleteCompletedEventsActivity.class, + DeleteAllCalendarEventsActivity.class }) public class ActivityModule { diff --git a/src/main/res/xml/preferences_oldtasks.xml b/src/main/res/xml/preferences_oldtasks.xml index 1c6847b8e..4665dad2a 100644 --- a/src/main/res/xml/preferences_oldtasks.xml +++ b/src/main/res/xml/preferences_oldtasks.xml @@ -1,33 +1,51 @@ - - - - + - + android:key="@string/EPr_manage_delete_completed" + android:summary="@string/EPr_manage_delete_completed_summary" + android:title="@string/EPr_manage_delete_completed"> + + + + android:key="@string/EPr_manage_purge_deleted" + android:summary="@string/EPr_manage_purge_deleted_summary" + android:title="@string/EPr_manage_purge_deleted"> + + - + android:key="@string/EPr_manage_delete_completed_gcal" + android:title="@string/EPr_manage_delete_completed_gcal"> + + + - + android:key="@string/EPr_manage_delete_all_gcal" + android:title="@string/EPr_manage_delete_all_gcal"> + + + + android:key="@string/EPr_manage_clear_all" + android:title="@string/EPr_manage_clear_all"> + +