diff --git a/src/foss/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java b/src/foss/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java index 3aa3584cd..e21a1527e 100644 --- a/src/foss/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java +++ b/src/foss/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java @@ -10,6 +10,5 @@ import androidx.annotation.Nullable; public class FcmReceiveService { public static void register(Context context) {} public static void waitForRegisterFinished() {} - public static void deleteToken() {} @Nullable public static String getToken() { return null; } } diff --git a/src/gplay/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java b/src/gplay/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java index b8e6bbbf0..c14416160 100644 --- a/src/gplay/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java +++ b/src/gplay/java/org/thoughtcrime/securesms/notifications/FcmReceiveService.java @@ -92,23 +92,6 @@ public class FcmReceiveService extends FirebaseMessagingService { return prefixedToken; } - public static void deleteToken() { - if (prefixedToken == null) { - Log.i(TAG, "FCM not registered yet, no token to delete"); - return; - } - - Util.runOnAnyBackgroundThread(() -> { - try { - Tasks.await(FirebaseMessaging.getInstance().deleteToken()); - prefixedToken = null; - Log.i(TAG, "FCM token deleted for " + BuildConfig.APPLICATION_ID); - } catch (Exception e) { - Log.e(TAG, "cannot delete FCM token for " + BuildConfig.APPLICATION_ID + ": " + e); - } - }); - } - @Override public void onMessageReceived(@NonNull RemoteMessage remoteMessage) { Log.i(TAG, "FCM push notification received"); diff --git a/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 91f032332..632db8b69 100644 --- a/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -228,12 +228,8 @@ public class ApplicationContext extends MultiDexApplication { fetchWorkRequest); AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); - if (BuildConfig.USE_PLAY_SERVICES) { - if (Prefs.isPushEnabled(this)) { - FcmReceiveService.register(this); - } else { - Log.i(TAG, "FCM disabled in user settings"); - } + if (Prefs.isPushEnabled(this)) { + FcmReceiveService.register(this); } else { Log.i(TAG, "FCM disabled at build time"); } diff --git a/src/main/java/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java b/src/main/java/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java index 782fecbd8..a4af08bea 100644 --- a/src/main/java/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/preferences/NotificationsPreferenceFragment.java @@ -73,27 +73,6 @@ public class NotificationsPreferenceFragment extends ListSummaryPreferenceFragme initializeRingtoneSummary(findPreference(Prefs.RINGTONE_PREF)); - CheckBoxPreference usePushService = this.findPreference("pref_push_enabled"); - usePushService.setChecked(Prefs.isPushEnabled(getContext())); - usePushService.setEnabled(BuildConfig.USE_PLAY_SERVICES); - usePushService.setOnPreferenceChangeListener((preference, newValue) -> { - final boolean enabled = (Boolean) newValue; - if (!enabled) { - new AlertDialog.Builder(getContext()) - .setMessage(R.string.pref_push_ask_disable) - .setPositiveButton(R.string.ok, (dialogInterface, i) -> { - ((CheckBoxPreference)preference).setChecked(false); - }) - .setNegativeButton(R.string.cancel, null) - .setNeutralButton(R.string.learn_more, (dialogInterface, i) -> { - DcHelper.openHelp(getActivity(), "#instant-delivery"); - }) - .show(); - return false; - } - return true; - }); - ignoreBattery = this.findPreference("pref_ignore_battery_optimizations"); ignoreBattery.setVisible(needsIgnoreBatteryOptimizations()); ignoreBattery.setOnPreferenceChangeListener((preference, newValue) -> { @@ -137,18 +116,6 @@ public class NotificationsPreferenceFragment extends ListSummaryPreferenceFragme notificationsEnabled.setChecked(!dcContext.isMuted()); } - @Override - public void onPause() { - super.onPause(); - - // we delay applying token changes to avoid changes and races if the user is just playing around - if (Prefs.isPushEnabled(getContext()) && FcmReceiveService.getToken() == null) { - FcmReceiveService.register(getContext()); - } else if(!Prefs.isPushEnabled(getContext()) && FcmReceiveService.getToken() != null) { - FcmReceiveService.deleteToken(); - } - } - @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); diff --git a/src/main/java/org/thoughtcrime/securesms/util/Prefs.java b/src/main/java/org/thoughtcrime/securesms/util/Prefs.java index f3031ae07..22dcae480 100644 --- a/src/main/java/org/thoughtcrime/securesms/util/Prefs.java +++ b/src/main/java/org/thoughtcrime/securesms/util/Prefs.java @@ -168,7 +168,7 @@ public class Prefs { } public static boolean isPushEnabled(Context context) { - return BuildConfig.USE_PLAY_SERVICES && getBooleanPreference(context, "pref_push_enabled", true); + return BuildConfig.USE_PLAY_SERVICES; } public static boolean isHardCompressionEnabled(Context context) { diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 5b2fdca3c..b5270ea2f 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -1146,11 +1146,14 @@ Instant Delivery + Use Push Service + Reliable Push Notifications for Chatmail-Servers + Disable using Push Service?\n\nThis may result in delayed notifications. Use Background Connection - Requires ignored battery optimizations, use if Push Service is unavailable + Requires ignored battery optimizations, use if notifications don\'t arrive on time Force Background Connection Causes a permanent notification diff --git a/src/main/res/xml/preferences_notifications.xml b/src/main/res/xml/preferences_notifications.xml index af0009f93..db7b293a8 100644 --- a/src/main/res/xml/preferences_notifications.xml +++ b/src/main/res/xml/preferences_notifications.xml @@ -50,12 +50,6 @@ android:defaultValue="true" /> - -