mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-17 12:38:27 +00:00
Add support for notification priority preference
Fixes #6315 // FREEBIE
This commit is contained in:
parent
2dceef50b7
commit
25c7459464
@ -291,4 +291,16 @@
|
||||
<item>30</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_notification_priority_entries">
|
||||
<item>@string/arrays__default</item>
|
||||
<item>@string/arrays__high</item>
|
||||
<item>@string/arrays__max</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_notification_priority_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
@ -1080,6 +1080,10 @@
|
||||
<string name="arrays__large">Large</string>
|
||||
<string name="arrays__extra_large">Extra large</string>
|
||||
|
||||
<string name="arrays__default">Default</string>
|
||||
<string name="arrays__high">High</string>
|
||||
<string name="arrays__max">Max</string>
|
||||
|
||||
<!-- plurals.xml -->
|
||||
<plurals name="hours_ago">
|
||||
<item quantity="one">%d hour</item>
|
||||
@ -1205,7 +1209,8 @@
|
||||
<string name="preferences_chats__display_invitation_prompts_for_contacts_without_signal">Display invitation prompts for contacts without Signal</string>
|
||||
<string name="preferences_chats__message_text_size">Message font size</string>
|
||||
<string name="preferences_events__contact_joined_signal">Contact joined Signal</string>
|
||||
|
||||
<string name="preferences_notifications__priority">Priority</string>
|
||||
|
||||
<!-- **************************************** -->
|
||||
<!-- menus -->
|
||||
<!-- **************************************** -->
|
||||
|
@ -59,6 +59,14 @@
|
||||
android:defaultValue="all"
|
||||
android:entries="@array/pref_notification_privacy_entries"
|
||||
android:entryValues="@array/pref_notification_privacy_values"/>
|
||||
|
||||
<org.thoughtcrime.securesms.preferences.SignalListPreference
|
||||
android:key="pref_notification_priority"
|
||||
android:title="@string/preferences_notifications__priority"
|
||||
android:dependency="pref_key_enable_notifications"
|
||||
android:defaultValue="1"
|
||||
android:entries="@array/pref_notification_priority_entries"
|
||||
android:entryValues="@array/pref_notification_priority_values"/>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:layout="@layout/preference_divider"/>
|
||||
|
@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.ConversationListActivity;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.preferences.NotificationPrivacyPreference;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
|
||||
import java.util.LinkedList;
|
||||
@ -29,7 +30,7 @@ public class MultipleRecipientNotificationBuilder extends AbstractNotificationBu
|
||||
setContentTitle(context.getString(R.string.app_name));
|
||||
setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, ConversationListActivity.class), 0));
|
||||
setCategory(NotificationCompat.CATEGORY_MESSAGE);
|
||||
setPriority(NotificationCompat.PRIORITY_HIGH);
|
||||
setPriority(TextSecurePreferences.getNotificationPriority(context));
|
||||
setGroupSummary(true);
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.preferences.NotificationPrivacyPreference;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.Recipients;
|
||||
import org.thoughtcrime.securesms.util.BitmapUtil;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
|
||||
import java.util.LinkedList;
|
||||
@ -51,7 +52,7 @@ public class SingleRecipientNotificationBuilder extends AbstractNotificationBuil
|
||||
|
||||
setSmallIcon(R.drawable.icon_notification);
|
||||
setColor(context.getResources().getColor(R.color.textsecure_primary));
|
||||
setPriority(NotificationCompat.PRIORITY_HIGH);
|
||||
setPriority(TextSecurePreferences.getNotificationPriority(context));
|
||||
setCategory(NotificationCompat.CATEGORY_MESSAGE);
|
||||
}
|
||||
|
||||
|
@ -39,11 +39,14 @@ public class NotificationsPreferenceFragment extends ListSummaryPreferenceFragme
|
||||
.setOnPreferenceChangeListener(new ListSummaryListener());
|
||||
this.findPreference(TextSecurePreferences.NOTIFICATION_PRIVACY_PREF)
|
||||
.setOnPreferenceChangeListener(new NotificationPrivacyListener());
|
||||
this.findPreference(TextSecurePreferences.NOTIFICATION_PRIORITY_PREF)
|
||||
.setOnPreferenceChangeListener(new ListSummaryListener());
|
||||
|
||||
initializeListSummary((ListPreference) findPreference(TextSecurePreferences.LED_COLOR_PREF));
|
||||
initializeListSummary((ListPreference) findPreference(TextSecurePreferences.LED_BLINK_PREF));
|
||||
initializeListSummary((ListPreference) findPreference(TextSecurePreferences.REPEAT_ALERTS_PREF));
|
||||
initializeListSummary((ListPreference) findPreference(TextSecurePreferences.NOTIFICATION_PRIVACY_PREF));
|
||||
initializeListSummary((ListPreference) findPreference(TextSecurePreferences.NOTIFICATION_PRIORITY_PREF));
|
||||
initializeRingtoneSummary((RingtonePreference) findPreference(TextSecurePreferences.RINGTONE_PREF));
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import android.preference.PreferenceManager;
|
||||
import android.provider.Settings;
|
||||
import android.support.annotation.ArrayRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.util.Log;
|
||||
|
||||
import com.h6ah4i.android.compat.content.SharedPreferenceCompat;
|
||||
@ -97,6 +98,7 @@ public class TextSecurePreferences {
|
||||
|
||||
public static final String REPEAT_ALERTS_PREF = "pref_repeat_alerts";
|
||||
public static final String NOTIFICATION_PRIVACY_PREF = "pref_notification_privacy";
|
||||
public static final String NOTIFICATION_PRIORITY_PREF = "pref_notification_priority";
|
||||
public static final String NEW_CONTACTS_NOTIFICATIONS = "pref_enable_new_contacts_notifications";
|
||||
public static final String WEBRTC_CALLING_PREF = "pref_webrtc_calling";
|
||||
|
||||
@ -109,6 +111,10 @@ public class TextSecurePreferences {
|
||||
public static final String DIRECT_CAPTURE_CAMERA_ID = "pref_direct_capture_camera_id";
|
||||
private static final String ALWAYS_RELAY_CALLS_PREF = "pref_turn_only";
|
||||
|
||||
public static int getNotificationPriority(Context context) {
|
||||
return Integer.valueOf(getStringPreference(context, NOTIFICATION_PRIORITY_PREF, String.valueOf(NotificationCompat.PRIORITY_HIGH)));
|
||||
}
|
||||
|
||||
public static int getMessageBodyTextSize(Context context) {
|
||||
return Integer.valueOf(getStringPreference(context, MESSAGE_BODY_TEXT_SIZE_PREF, "16"));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user