diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java b/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java
index e361aeb6e..cf1edaae6 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/login/SignInReminderReceiver.java
@@ -15,7 +15,6 @@ import org.briarproject.briar.R;
import org.briarproject.briar.android.AndroidComponent;
import org.briarproject.briar.android.BriarApplication;
import org.briarproject.briar.android.navdrawer.NavDrawerActivity;
-import org.briarproject.briar.android.settings.SettingsActivity;
import javax.inject.Inject;
@@ -29,13 +28,14 @@ import static android.os.Build.VERSION.SDK_INT;
import static android.support.v4.app.NotificationCompat.PRIORITY_LOW;
import static android.support.v4.app.NotificationCompat.VISIBILITY_SECRET;
import static org.briarproject.briar.android.TestingConstants.FEATURE_FLAG_SIGN_IN_REMINDER;
-import static org.briarproject.briar.android.settings.SettingsActivity.NO_NOTIFY_SIGN_IN;
import static org.briarproject.briar.android.settings.SettingsFragment.NOTIFY_SIGN_IN;
import static org.briarproject.briar.api.android.AndroidNotificationManager.REMINDER_CHANNEL_ID;
import static org.briarproject.briar.api.android.AndroidNotificationManager.REMINDER_NOTIFICATION_ID;
public class SignInReminderReceiver extends BroadcastReceiver {
+ public static final String DISMISS_REMINDER = "dismissReminder";
+
@Inject
DatabaseConfig databaseConfig;
@@ -57,6 +57,8 @@ public class SignInReminderReceiver extends BroadcastReceiver {
showSignInNotification(ctx);
}
}
+ } else if (action.equals(DISMISS_REMINDER)) {
+ dismissReminder(ctx);
}
}
@@ -76,7 +78,7 @@ public class SignInReminderReceiver extends BroadcastReceiver {
NotificationCompat.Builder b =
new NotificationCompat.Builder(ctx, REMINDER_CHANNEL_ID);
- b.setSmallIcon(R.drawable.notification_reminder);
+ b.setSmallIcon(R.drawable.ic_signout);
b.setColor(ContextCompat.getColor(ctx, R.color.briar_primary));
b.setContentTitle(ctx.getText(R.string.reminder_notification_title));
b.setContentText(ctx.getText(R.string.reminder_notification_text));
@@ -84,12 +86,12 @@ public class SignInReminderReceiver extends BroadcastReceiver {
b.setWhen(0); // Don't show the time
b.setPriority(PRIORITY_LOW);
- // Add a 'Do not show sign-in reminder' action
+ // Add a 'Dismiss' action
String actionTitle =
- ctx.getString(R.string.reminder_notification_do_not_show_again);
- Intent i1 = new Intent(ctx, SettingsActivity.class);
- i1.setAction(NO_NOTIFY_SIGN_IN);
- PendingIntent actionIntent = PendingIntent.getActivity(ctx, 0, i1, 0);
+ ctx.getString(R.string.reminder_notification_dismiss);
+ Intent i1 = new Intent(ctx, SignInReminderReceiver.class);
+ i1.setAction(DISMISS_REMINDER);
+ PendingIntent actionIntent = PendingIntent.getBroadcast(ctx, 0, i1, 0);
b.addAction(0, actionTitle, actionIntent);
Intent i = new Intent(ctx, NavDrawerActivity.class);
@@ -99,4 +101,11 @@ public class SignInReminderReceiver extends BroadcastReceiver {
nm.notify(REMINDER_NOTIFICATION_ID, b.build());
}
+ private void dismissReminder(Context ctx) {
+ NotificationManager nm = (NotificationManager)
+ ctx.getSystemService(NOTIFICATION_SERVICE);
+ if (nm == null) return;
+ nm.cancel(REMINDER_NOTIFICATION_ID);
+ }
+
}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java
index b2d5779ca..48b4b7fa9 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsActivity.java
@@ -1,43 +1,19 @@
package org.briarproject.briar.android.settings;
-import android.app.NotificationManager;
-import android.content.Intent;
-import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.view.MenuItem;
import org.briarproject.briar.R;
-import org.briarproject.briar.android.BriarApplication;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.activity.BriarActivity;
-import static org.briarproject.briar.android.settings.SettingsFragment.NOTIFY_SIGN_IN;
-import static org.briarproject.briar.api.android.AndroidNotificationManager.REMINDER_NOTIFICATION_ID;
-
public class SettingsActivity extends BriarActivity {
- public static final String NO_NOTIFY_SIGN_IN = "noNotifySignIn";
-
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
- // Maybe turn off sign-in reminder
- Intent intent = getIntent();
- if (intent != null && NO_NOTIFY_SIGN_IN.equals(intent.getAction())) {
- // Turn it off
- BriarApplication app = (BriarApplication) getApplication();
- SharedPreferences prefs = app.getDefaultSharedPreferences();
- prefs.edit().putBoolean(NOTIFY_SIGN_IN, false).apply();
- // Remove sign-in reminder notification
- NotificationManager nm = (NotificationManager)
- getSystemService(NOTIFICATION_SERVICE);
- if (nm != null) nm.cancel(REMINDER_NOTIFICATION_ID);
- // Finish this activity again
- finish();
- }
-
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setHomeButtonEnabled(true);
diff --git a/briar-android/src/main/res/drawable/ic_signout.xml b/briar-android/src/main/res/drawable/ic_signout.xml
new file mode 100644
index 000000000..2dd789085
--- /dev/null
+++ b/briar-android/src/main/res/drawable/ic_signout.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/briar-android/src/main/res/drawable/ic_signout_black_24dp.xml b/briar-android/src/main/res/drawable/ic_signout_black_24dp.xml
deleted file mode 100644
index 05569dbdf..000000000
--- a/briar-android/src/main/res/drawable/ic_signout_black_24dp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/briar-android/src/main/res/drawable/notification_reminder.xml b/briar-android/src/main/res/drawable/notification_reminder.xml
deleted file mode 100644
index 1defd7d3d..000000000
--- a/briar-android/src/main/res/drawable/notification_reminder.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/briar-android/src/main/res/menu/navigation_drawer.xml b/briar-android/src/main/res/menu/navigation_drawer.xml
index 9c98a5187..befb4faa2 100644
--- a/briar-android/src/main/res/menu/navigation_drawer.xml
+++ b/briar-android/src/main/res/menu/navigation_drawer.xml
@@ -28,7 +28,7 @@
android:title="@string/settings_button"/>
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index 5977fa52d..df80d5bfa 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -69,9 +69,9 @@
Signed out of Briar
- Tap to sign back in or swipe to dismiss.
+ Tap to sign back in.
Briar Sign-in Reminder
- Don\'t show again
+ Dismiss
Signed into Briar
Touch to open Briar.