Add NotificationActivity

Replaces NotificationFragment when opening notification
pull/281/head
Alex Baker 9 years ago
parent 5958663658
commit 9211b049e0

@ -310,7 +310,15 @@
android:theme="@style/Tasks.Dialog"
android:taskAffinity=""
android:excludeFromRecents="true"
android:launchMode="singleTask"/>
android:launchMode="singleTask" />
<activity
android:name=".reminders.NotificationActivity"
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:noHistory="true"
android:taskAffinity=""
android:theme="@style/Tasks.Dialog" />
<!-- tags -->
<receiver android:name="com.todoroo.astrid.tags.TagCustomFilterCriteriaExposer">

@ -1,89 +0,0 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.reminders;
import android.app.Dialog;
import android.content.Intent;
import android.view.View;
import android.widget.TextView;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.activity.TaskListFragment;
import org.tasks.Broadcaster;
import org.tasks.R;
import org.tasks.reminders.SnoozeActivity;
import javax.inject.Inject;
/**
* This activity is launched when a user opens up a notification from the
* tray. It launches the appropriate activity based on the passed in parameters.
*
* @author timsu
*
*/
public class NotificationFragment extends TaskListFragment {
public static final String TOKEN_ID = "id"; //$NON-NLS-1$
@Inject Broadcaster broadcaster;
@Override
protected void initializeData() {
displayNotificationPopup();
super.initializeData();
}
private void displayNotificationPopup() {
final String title = extras.getString(Notifications.EXTRAS_TITLE);
final long taskId = extras.getLong(TOKEN_ID);
final AstridActivity activity = (AstridActivity) getActivity();
new Dialog(activity, R.style.ReminderDialog) {{
setContentView(R.layout.astrid_reminder_view_portrait);
findViewById(R.id.speech_bubble_container).setVisibility(View.GONE);
// set up listeners
findViewById(R.id.dismiss).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
dismiss();
}
});
findViewById(R.id.reminder_snooze).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
dismiss();
activity.startActivity(new Intent(activity, SnoozeActivity.class) {{
putExtra(SnoozeActivity.EXTRA_TASK_ID, taskId);
}});
}
});
findViewById(R.id.reminder_complete).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
broadcaster.completeTask(taskId);
dismiss();
}
});
findViewById(R.id.reminder_edit).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
activity.onTaskListItemClicked(taskId);
}
});
((TextView) findViewById(R.id.reminder_title)).setText(activity.getString(R.string.rmd_NoA_dlg_title) + " " + title);
setOwnerActivity(activity);
}}.show();
}
}

@ -30,6 +30,8 @@ import org.tasks.injection.InjectingBroadcastReceiver;
import org.tasks.intents.TaskIntents;
import org.tasks.notifications.NotificationManager;
import org.tasks.preferences.Preferences;
import org.tasks.reminders.NotificationActivity;
import org.tasks.reminders.NotificationDialog;
import javax.inject.Inject;
@ -130,30 +132,18 @@ public class Notifications extends InjectingBroadcastReceiver {
String text = context.getString(R.string.app_name);
PendingIntent intent = preferences.useNotificationActions()
? TaskIntents.getEditTaskPendingIntent(context, null, task.getId())
: createNotificationIntent(id, taskTitle);
PendingIntent intent = createNotificationIntent(id, taskTitle);
broadcaster.requestNotification((int) id, intent, type, taskTitle, text, ringTimes);
return true;
}
private PendingIntent createNotificationIntent(final long id, final String taskTitle) {
final FilterWithCustomIntent itemFilter = new FilterWithCustomIntent(context.getString(R.string.rmd_NoA_filter),
context.getString(R.string.rmd_NoA_filter),
new QueryTemplate().where(TaskCriteria.byId(id)),
null);
Bundle customExtras = new Bundle();
customExtras.putLong(NotificationFragment.TOKEN_ID, id);
customExtras.putString(EXTRAS_TITLE, taskTitle);
itemFilter.customExtras = customExtras;
itemFilter.customTaskList = new ComponentName(context, NotificationFragment.class);
Intent intent = new Intent(context, TaskListActivity.class) {{
setAction("NOTIFY" + id); //$NON-NLS-1$
putExtra(TaskListFragment.TOKEN_FILTER, itemFilter);
putExtra(NotificationFragment.TOKEN_ID, id);
putExtra(EXTRAS_TITLE, taskTitle);
Intent intent = new Intent(context, NotificationActivity.class) {{
setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
setAction("NOTIFY" + id); //$NON-NLS-1$
putExtra(NotificationActivity.EXTRA_TASK_ID, id);
putExtra(NotificationActivity.EXTRA_TITLE, taskTitle);
}};
return PendingIntent.getActivity(context, (int) id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}

@ -23,6 +23,7 @@ import org.tasks.injection.InjectingBroadcastReceiver;
import org.tasks.notifications.NotificationManager;
import org.tasks.preferences.Preferences;
import org.tasks.receivers.CompleteTaskReceiver;
import org.tasks.reminders.NotificationActivity;
import org.tasks.reminders.SnoozeActivity;
import java.util.concurrent.ExecutorService;
@ -56,7 +57,7 @@ public class ShowNotificationReceiver extends InjectingBroadcastReceiver {
showNotification(
context,
intent.getIntExtra(Notifications.EXTRAS_NOTIF_ID, 0),
intent.getLongExtra(NotificationFragment.TOKEN_ID, 0L),
intent.getLongExtra(NotificationActivity.EXTRA_TASK_ID, 0L),
intent.<PendingIntent>getParcelableExtra(Notifications.EXTRAS_CUSTOM_INTENT),
intent.getIntExtra(Notifications.EXTRAS_TYPE, 0),
intent.getStringExtra(Notifications.EXTRAS_TITLE),
@ -136,7 +137,6 @@ public class ShowNotificationReceiver extends InjectingBroadcastReceiver {
}
Notification notification = builder.build();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
if (preferences.getBoolean(R.string.p_rmd_persistent, true)) {
notification.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_SHOW_LIGHTS;
notification.ledOffMS = 5000;

@ -5,7 +5,6 @@ import android.content.Context;
import android.content.Intent;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.reminders.NotificationFragment;
import com.todoroo.astrid.reminders.Notifications;
import com.todoroo.astrid.reminders.ReminderService;
import com.todoroo.astrid.utility.Constants;
@ -13,6 +12,7 @@ import com.todoroo.astrid.utility.Constants;
import org.tasks.injection.ForApplication;
import org.tasks.receivers.CompleteTaskReceiver;
import org.tasks.receivers.FirstLaunchReceiver;
import org.tasks.reminders.NotificationActivity;
import javax.inject.Inject;
import javax.inject.Singleton;
@ -48,7 +48,7 @@ public class Broadcaster {
final String title, final String text, final int ringTimes) {
sendOrderedBroadcast(new Intent(BROADCAST_IN_APP_NOTIFY) {{
putExtra(Notifications.EXTRAS_NOTIF_ID, (int) taskId);
putExtra(NotificationFragment.TOKEN_ID, taskId);
putExtra(NotificationActivity.EXTRA_TASK_ID, taskId);
putExtra(Notifications.EXTRAS_CUSTOM_INTENT, intent);
putExtra(Notifications.EXTRAS_TYPE, type);
putExtra(Notifications.EXTRAS_TITLE, title);

@ -37,6 +37,7 @@ import org.tasks.preferences.AppearancePreferences;
import org.tasks.preferences.BackupPreferences;
import org.tasks.preferences.BasicPreferences;
import org.tasks.preferences.MiscellaneousPreferences;
import org.tasks.reminders.NotificationActivity;
import org.tasks.reminders.SnoozeActivity;
import org.tasks.voice.VoiceCommandActivity;
@ -82,7 +83,8 @@ import dagger.Provides;
ReminderPreferences.class,
AppearancePreferences.class,
BackupPreferences.class,
LocationPickerActivity.class
LocationPickerActivity.class,
NotificationActivity.class
})
public class ActivityModule {

@ -4,13 +4,15 @@ import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import org.tasks.dialogs.LocationPickerDialog;
import org.tasks.reminders.NotificationDialog;
import dagger.Module;
import dagger.Provides;
@Module(addsTo = TasksModule.class,
injects = {
LocationPickerDialog.class
LocationPickerDialog.class,
NotificationDialog.class
},
library = true)
public class DialogFragmentModule {

@ -8,7 +8,6 @@ import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.activity.TaskEditFragment;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.gtasks.GtasksListFragment;
import com.todoroo.astrid.reminders.NotificationFragment;
import com.todoroo.astrid.subtasks.SubtasksListFragment;
import com.todoroo.astrid.subtasks.SubtasksTagListFragment;
import com.todoroo.astrid.ui.QuickAddBar;
@ -24,7 +23,6 @@ import dagger.Provides;
injects = {
TaskListFragment.class,
GtasksListFragment.class,
NotificationFragment.class,
SubtasksListFragment.class,
SubtasksTagListFragment.class,
TagViewFragment.class,

@ -48,24 +48,23 @@ public class TaskIntents {
return intent;
}
public static PendingIntent getEditTaskPendingIntent(Context context, final Filter filter, final long taskId) {
public static TaskStackBuilder getEditTaskStack(Context context, final Filter filter, final long taskId) {
TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(context);
boolean twoPaneLayout = context.getResources().getBoolean(R.bool.two_pane_layout);
if (twoPaneLayout) {
Intent intent = new Intent(context, TaskListActivity.class) {{
taskStackBuilder.addNextIntent(new Intent(context, TaskListActivity.class) {{
putExtra(TaskListActivity.OPEN_TASK, taskId);
if (filter != null && filter instanceof FilterWithCustomIntent) {
Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras;
putExtras(customExtras);
}
}};
return PendingIntent.getActivity(context, (int) taskId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}});
} else {
TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(context);
taskStackBuilder.addParentStack(TaskEditActivity.class);
taskStackBuilder.addNextIntent(new Intent(context, TaskEditActivity.class) {{
putExtra(TaskEditFragment.TOKEN_ID, taskId);
}});
return taskStackBuilder.getPendingIntent((int) taskId, PendingIntent.FLAG_UPDATE_CURRENT);
}
return taskStackBuilder;
}
}

@ -0,0 +1,39 @@
package org.tasks.reminders;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import org.tasks.injection.InjectingFragmentActivity;
public class NotificationActivity extends InjectingFragmentActivity implements DialogInterface.OnDismissListener {
private static final String FRAG_TAG_NOTIFICATION_FRAGMENT = "frag_tag_notification_fragment";
public static final String EXTRA_TITLE = "extra_title";
public static final String EXTRA_TASK_ID = "extra_task_id";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager supportFragmentManager = getSupportFragmentManager();
NotificationDialog fragment = (NotificationDialog) supportFragmentManager.findFragmentByTag(FRAG_TAG_NOTIFICATION_FRAGMENT);
if (fragment == null) {
Intent intent = getIntent();
fragment = new NotificationDialog();
fragment.setTitle(intent.getStringExtra(EXTRA_TITLE));
fragment.setTaskId(intent.getLongExtra(EXTRA_TASK_ID, 0L));
fragment.show(supportFragmentManager, FRAG_TAG_NOTIFICATION_FRAGMENT);
}
fragment.setOnDismissListener(this);
}
@Override
public void onDismiss(DialogInterface dialog) {
finish();
}
}

@ -0,0 +1,95 @@
package org.tasks.reminders;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.widget.ArrayAdapter;
import org.tasks.Broadcaster;
import org.tasks.R;
import org.tasks.injection.InjectingDialogFragment;
import org.tasks.intents.TaskIntents;
import org.tasks.notifications.NotificationManager;
import javax.inject.Inject;
import static java.util.Arrays.asList;
public class NotificationDialog extends InjectingDialogFragment {
@Inject NotificationManager notificationManager;
@Inject Broadcaster broadcaster;
private long taskId;
private String title;
private DialogInterface.OnDismissListener onDismissListener;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, asList(
getString(R.string.TAd_actionEditTask),
getString(R.string.rmd_NoA_snooze),
getString(R.string.rmd_NoA_done)
));
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.Tasks_Dialog);
builder.setTitle(title);
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
TaskIntents
.getEditTaskStack(getActivity(), null, taskId)
.startActivities();
notificationManager.cancel(taskId);
dismiss();
break;
case 1:
dismiss();
startActivity(new Intent(getActivity(), SnoozeActivity.class) {{
setFlags(FLAG_ACTIVITY_NEW_TASK);
putExtra(SnoozeActivity.EXTRA_TASK_ID, taskId);
}});
break;
case 2:
broadcaster.completeTask(taskId);
dismiss();
break;
}
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (onDismissListener != null) {
onDismissListener.onDismiss(dialog);
}
}
});
return builder.show();
}
public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
this.onDismissListener = onDismissListener;
}
@Override
public void onDismiss(DialogInterface dialog) {
if (onDismissListener != null) {
onDismissListener.onDismiss(dialog);
}
}
public void setTitle(String title) {
this.title = title;
}
public void setTaskId(long taskId) {
this.taskId = taskId;
}
}

@ -1,85 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/reminder_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dip"
android:layout_marginRight="5dip"
android:layout_marginBottom="20dip"
android:layout_marginLeft="5dip">
<TextView
android:id="@+id/reminder_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="@android:color/white"
android:layout_weight="1"/>
<ImageView
android:id="@+id/dismiss"
android:layout_width="25dip"
android:layout_height="25dip"
android:scaleType="fitCenter"
android:src="@drawable/ic_menu_close"/>
</LinearLayout>
<include layout="@layout/astrid_speech_bubble"/>
<CheckBox
android:id="@+id/reminders_should_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginBottom="10dip"
android:text="@string/TLA_quickadd_confirm_hide_helpers"
android:visibility="gone"/>
<Button
android:id="@+id/reminder_edit"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginBottom="10dip"
android:textColor="@android:color/white"
android:textSize="20sp"
android:text="@string/TAd_actionEditTask"
android:background="#707070"/>
<Button
android:id="@+id/reminder_snooze"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginBottom="10dip"
android:textColor="@android:color/white"
android:textSize="20sp"
android:text="@string/rmd_NoA_snooze"
android:background="#707070"/>
<Button
android:id="@+id/reminder_complete"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginBottom="10dip"
android:textColor="@android:color/white"
android:textSize="20sp"
android:text="@string/rmd_NoA_done"
android:background="?attr/asThemeTextColor"/>
</LinearLayout>

@ -207,7 +207,6 @@
<string name="rmd_NoA_filter">تذكير!</string>
<string name="rmd_NoA_done">اكمل</string>
<string name="rmd_NoA_snooze">غفوة</string>
<string name="rmd_NoA_dlg_title">منبه:</string>
<string name="rmd_EPr_quiet_hours_start_title">ابتداء ساعات الهدوء</string>
<string name="rmd_EPr_quiet_hours_end_title">إنتهاء ساعات الهدوء</string>
<string name="rmd_EPr_rmd_time_title">منبه افتراضي</string>

@ -323,7 +323,6 @@
<string name="rmd_NoA_filter">Напомняне!</string>
<string name="rmd_NoA_done">Завършен</string>
<string name="rmd_NoA_snooze">Отложи</string>
<string name="rmd_NoA_dlg_title">Напомняне:</string>
<string name="rmd_EPr_quiet_hours_start_title">Тихи часове начало</string>
<string name="rmd_EPr_quiet_hours_end_title">Тихи часове край</string>
<string name="rmd_EPr_rmd_time_title">Напомняне по подразбиране</string>

@ -306,7 +306,6 @@
<string name="rmd_NoA_filter">Připomínka!</string>
<string name="rmd_NoA_done">Dokončeno!</string>
<string name="rmd_NoA_snooze">Později...</string>
<string name="rmd_NoA_dlg_title">Připomenutí:</string>
<string name="rmd_EPr_quiet_hours_start_title">Nerušit od</string>
<string name="rmd_EPr_quiet_hours_end_title">Nerušit do</string>
<string name="rmd_EPr_rmd_time_title">Výchozí upomínka</string>

@ -316,7 +316,6 @@
<string name="rmd_NoA_filter">Erinnerung!</string>
<string name="rmd_NoA_done">Abgeschlossen</string>
<string name="rmd_NoA_snooze">Schlummern</string>
<string name="rmd_NoA_dlg_title">Erinnerung:</string>
<string name="rmd_EPr_quiet_hours_start_title">Stille Stunden beginnen.</string>
<string name="rmd_EPr_quiet_hours_end_title">Ruhezeiten enden</string>
<string name="rmd_EPr_rmd_time_title">Standard-Erinnerung</string>

@ -310,7 +310,6 @@
<string name="rmd_NoA_filter">Υπενθύμιση!</string>
<string name="rmd_NoA_done">Ολοκληρωμένο</string>
<string name="rmd_NoA_snooze">Αναβολή</string>
<string name="rmd_NoA_dlg_title">Υπενθύμιση:</string>
<string name="rmd_EPr_quiet_hours_start_title">Ξεκίνησε η ώρα ησυχίας </string>
<string name="rmd_EPr_quiet_hours_end_title">Τέλος ώρας κοινής ησυχίας</string>
<string name="rmd_EPr_rmd_time_title">Προκαθορισμένη υπενθύμιση</string>

@ -310,7 +310,6 @@
<string name="rmd_NoA_filter">¡Aviso!</string>
<string name="rmd_NoA_done">¡Terminada!</string>
<string name="rmd_NoA_snooze">Posponer</string>
<string name="rmd_NoA_dlg_title">Recordatorio:</string>
<string name="rmd_EPr_quiet_hours_start_title">El horario en silencio empieza</string>
<string name="rmd_EPr_quiet_hours_end_title">El horario en silencio termina</string>
<string name="rmd_EPr_rmd_time_title">Aviso por defecto</string>

@ -315,7 +315,6 @@
<string name="rmd_NoA_filter">Rappel !</string>
<string name="rmd_NoA_done">Déjà fait !</string>
<string name="rmd_NoA_snooze">Rappeler ultérieurement...</string>
<string name="rmd_NoA_dlg_title">Rappel :</string>
<string name="rmd_EPr_quiet_hours_start_title">Début des heures de repos</string>
<string name="rmd_EPr_quiet_hours_end_title">Fin des heures de repos</string>
<string name="rmd_EPr_rmd_time_title">Rappel par défaut</string>

@ -285,7 +285,6 @@ Se visualizzi questo errore più volte, ti consigliamo di cancellare tutti i dat
<string name="rmd_NoA_filter">Promemoria!</string>
<string name="rmd_NoA_done">Completata</string>
<string name="rmd_NoA_snooze">Rimanda...</string>
<string name="rmd_NoA_dlg_title">Promemoria:</string>
<string name="rmd_EPr_quiet_hours_start_title">Ora inizio silenzio</string>
<string name="rmd_EPr_quiet_hours_end_title">Ora fine silenzio</string>
<string name="rmd_EPr_rmd_time_title">Promemoria predefiniti</string>

@ -312,7 +312,6 @@
<string name="rmd_NoA_filter">תזכורת!</string>
<string name="rmd_NoA_done">בוצעה</string>
<string name="rmd_NoA_snooze">השתק</string>
<string name="rmd_NoA_dlg_title">תזכורת:</string>
<string name="rmd_EPr_quiet_hours_start_title">תחילת שעות השקט</string>
<string name="rmd_EPr_quiet_hours_end_title">סיום שעות השקט</string>
<string name="rmd_EPr_rmd_time_title">תזכורת ברירת מחדל</string>

@ -321,7 +321,6 @@
<string name="rmd_NoA_filter">お知らせ</string>
<string name="rmd_NoA_done">既に完了しています!</string>
<string name="rmd_NoA_snooze">スヌーズ</string>
<string name="rmd_NoA_dlg_title">お知らせ.</string>
<string name="rmd_EPr_quiet_hours_start_title">消音時間の始まり</string>
<string name="rmd_EPr_quiet_hours_end_title">消音時間の終わり</string>
<string name="rmd_EPr_rmd_time_title">標準リマインダー</string>

@ -326,7 +326,6 @@ Tasks의 백업에서 당신의 일정을 복구하시기 바랍니다.
<string name="rmd_NoA_filter">알림!</string>
<string name="rmd_NoA_done">완료</string>
<string name="rmd_NoA_snooze">알림 잠시 미루기</string>
<string name="rmd_NoA_dlg_title">알림:</string>
<string name="rmd_EPr_quiet_hours_start_title">알림 꺼짐 시작 시간</string>
<string name="rmd_EPr_quiet_hours_end_title">알림 꺼짐 종료 시간</string>
<string name="rmd_EPr_rmd_time_title">기본 알림 설정</string>

@ -312,7 +312,6 @@
<string name="rmd_NoA_filter">Herinnering!</string>
<string name="rmd_NoA_done">Reeds voltooid!</string>
<string name="rmd_NoA_snooze">Sluimeren...</string>
<string name="rmd_NoA_dlg_title">Herinnering:</string>
<string name="rmd_EPr_quiet_hours_start_title">Rustperiode begint</string>
<string name="rmd_EPr_quiet_hours_end_title">Rustperiode eindigt</string>
<string name="rmd_EPr_rmd_time_title">Standaard herinnering</string>

@ -314,7 +314,6 @@ i odzyskanie zadań z kopi zapasowej (Settings-&gt;Sync and backup-&gt;Backup-&g
<string name="rmd_NoA_filter">Przypomnienie!</string>
<string name="rmd_NoA_done">Już wykonano!</string>
<string name="rmd_NoA_snooze">Wstrzymaj...</string>
<string name="rmd_NoA_dlg_title">Przypomnienie:</string>
<string name="rmd_EPr_quiet_hours_start_title">Początek czasu wyciszenia</string>
<string name="rmd_EPr_quiet_hours_end_title">Koniec czasu wyciszenia</string>
<string name="rmd_EPr_rmd_time_title">Domyślne przypomnienie</string>

@ -311,7 +311,6 @@
<string name="rmd_NoA_filter">Lembrete!</string>
<string name="rmd_NoA_done">Concluída</string>
<string name="rmd_NoA_snooze">Adiar</string>
<string name="rmd_NoA_dlg_title">Lembrete:</string>
<string name="rmd_EPr_quiet_hours_start_title">Começam as horas calmas</string>
<string name="rmd_EPr_quiet_hours_end_title">Fim das horas calmas</string>
<string name="rmd_EPr_rmd_time_title">Lembrete padrão</string>

@ -322,7 +322,6 @@ das tarefas através de um backup em Definições-&gt;Sincronização e backup-&
</string-array>
<string name="rmd_NoA_filter">Lembrete!</string>
<string name="rmd_NoA_done">Terminada</string>
<string name="rmd_NoA_dlg_title">Lembrete:</string>
<string name="rmd_EPr_quiet_hours_start_title">Início da hora de silêncio</string>
<string name="rmd_EPr_quiet_hours_end_title">Fim das horas de silêncio</string>
<string name="rmd_EPr_rmd_time_title">Lembrete predefinido</string>

@ -322,7 +322,6 @@
<string name="rmd_NoA_filter">Напоминание!</string>
<string name="rmd_NoA_done">Уже готово!</string>
<string name="rmd_NoA_snooze">Повтор</string>
<string name="rmd_NoA_dlg_title">Напоминания:</string>
<string name="rmd_EPr_quiet_hours_start_title">Начало тихих часов</string>
<string name="rmd_EPr_quiet_hours_end_title">Конец тихих часов</string>
<string name="rmd_EPr_rmd_time_title">Напоминание по умолчанию</string>

@ -320,7 +320,6 @@
<string name="rmd_NoA_filter">Pripomienka!</string>
<string name="rmd_NoA_done">Dokončené</string>
<string name="rmd_NoA_snooze">Odložiť</string>
<string name="rmd_NoA_dlg_title">Pripomienka:</string>
<string name="rmd_EPr_quiet_hours_start_title">Tiché hodiny začali</string>
<string name="rmd_EPr_quiet_hours_end_title">Tiché hodiny skončili</string>
<string name="rmd_EPr_rmd_time_title">Predvolená pripomienka</string>

@ -315,7 +315,6 @@
<string name="rmd_NoA_filter">Opomnik!</string>
<string name="rmd_NoA_done">Končano</string>
<string name="rmd_NoA_snooze">Dremež</string>
<string name="rmd_NoA_dlg_title">Opomnik:</string>
<string name="rmd_EPr_quiet_hours_start_title">Tihe ure se začnejo ob</string>
<string name="rmd_EPr_quiet_hours_end_title">Tihe ure se končajo ob</string>
<string name="rmd_EPr_rmd_time_title">Privzeti opomnik ob</string>

@ -308,7 +308,6 @@ och återställer dina aktuella uppgifter från en backup
<string name="rmd_NoA_filter">Påminnelse!</string>
<string name="rmd_NoA_done">Redan klar!</string>
<string name="rmd_NoA_snooze">Vänta...</string>
<string name="rmd_NoA_dlg_title">Påminnelse:</string>
<string name="rmd_EPr_quiet_hours_start_title">Tyst period börjar</string>
<string name="rmd_EPr_quiet_hours_end_title">Tyst period slutar</string>
<string name="rmd_EPr_rmd_time_title">Standardpåminnelse</string>

@ -287,7 +287,6 @@
<string name="rmd_NoA_filter">Hatırlatıcı!</string>
<string name="rmd_NoA_done">Tamamlandı</string>
<string name="rmd_NoA_snooze">Ertele</string>
<string name="rmd_NoA_dlg_title">Hatırlatıcı:</string>
<string name="rmd_EPr_quiet_hours_start_title">Sessiz saatlerin başlangıcı</string>
<string name="rmd_EPr_quiet_hours_end_title">Sessiz saatlerin sonu</string>
<string name="rmd_EPr_rmd_time_title">Öntanımlı Hatırlatma</string>

@ -318,7 +318,6 @@
<string name="rmd_NoA_filter">Нагадування!</string>
<string name="rmd_NoA_done">Виконано!</string>
<string name="rmd_NoA_snooze">Відкласти</string>
<string name="rmd_NoA_dlg_title">Нагадування:</string>
<string name="rmd_EPr_quiet_hours_start_title">Тихі години стартують</string>
<string name="rmd_EPr_quiet_hours_end_title">Тихі години закінчуються</string>
<string name="rmd_EPr_rmd_time_title">Нагадування по замовчуванню</string>

@ -265,7 +265,6 @@
<string name="rmd_NoA_filter">提醒!</string>
<string name="rmd_NoA_done">已完成!</string>
<string name="rmd_NoA_snooze">晚点提醒...</string>
<string name="rmd_NoA_dlg_title">提醒:</string>
<string name="rmd_EPr_quiet_hours_start_title">静音开始时间</string>
<string name="rmd_EPr_quiet_hours_end_title">静音时间结束</string>
<string name="rmd_EPr_rmd_time_title">默认提示</string>

@ -299,7 +299,6 @@
<string name="rmd_NoA_filter">提醒!</string>
<string name="rmd_NoA_done">已完成!</string>
<string name="rmd_NoA_snooze">晚點提醒...</string>
<string name="rmd_NoA_dlg_title">提醒:</string>
<string name="rmd_EPr_quiet_hours_start_title">無聲開始時間</string>
<string name="rmd_EPr_quiet_hours_end_title">無聲結束時間</string>
<string name="rmd_EPr_rmd_time_title">默認提示</string>

@ -31,9 +31,6 @@
<!-- Reminder: Snooze button (remind again later) -->
<string name="rmd_NoA_snooze">Snooze</string>
<!-- Prefix for reminder dialog title -->
<string name="rmd_NoA_dlg_title">Reminder:</string>
<!-- ============================================= reminder preferences == -->
<!-- Reminder Preference: Quiet Hours Start Title -->

Loading…
Cancel
Save