mirror of
https://github.com/syncthing/syncthing-android.git
synced 2024-11-23 12:51:16 +00:00
Added option to show normal priority notification (fixes #366).
This commit is contained in:
parent
cb6a3fc884
commit
54820d20f4
4 changed files with 34 additions and 16 deletions
|
@ -92,7 +92,7 @@ public class SyncthingService extends Service implements
|
||||||
public static final String PREF_SYNC_ONLY_WIFI = "sync_only_wifi";
|
public static final String PREF_SYNC_ONLY_WIFI = "sync_only_wifi";
|
||||||
public static final String PREF_SYNC_ONLY_CHARGING = "sync_only_charging";
|
public static final String PREF_SYNC_ONLY_CHARGING = "sync_only_charging";
|
||||||
public static final String PREF_USE_ROOT = "use_root";
|
public static final String PREF_USE_ROOT = "use_root";
|
||||||
private static final String PREF_PERSISTENT_NOTIFICATION = "persistent_notification";
|
private static final String PREF_NOTIFICATION_TYPE = "notification_type";
|
||||||
|
|
||||||
private static final int NOTIFICATION_ACTIVE = 1;
|
private static final int NOTIFICATION_ACTIVE = 1;
|
||||||
|
|
||||||
|
@ -242,22 +242,24 @@ public class SyncthingService extends Service implements
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shows or hides the persistent notification based on running state and
|
* Shows or hides the persistent notification based on running state and
|
||||||
* {@link #PREF_PERSISTENT_NOTIFICATION}.
|
* {@link #PREF_NOTIFICATION_TYPE}.
|
||||||
*/
|
*/
|
||||||
private void updateNotification() {
|
private void updateNotification() {
|
||||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
|
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
String type = sp.getString(PREF_NOTIFICATION_TYPE, "low_priority");
|
||||||
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
||||||
if ((mCurrentState == State.ACTIVE || mCurrentState == State.STARTING) &&
|
if ((mCurrentState == State.ACTIVE || mCurrentState == State.STARTING) &&
|
||||||
sp.getBoolean(PREF_PERSISTENT_NOTIFICATION, true)) {
|
!type.equals("none")) {
|
||||||
Notification n = new NotificationCompat.Builder(this)
|
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
|
||||||
.setContentTitle(getString(R.string.syncthing_active))
|
.setContentTitle(getString(R.string.syncthing_active))
|
||||||
.setSmallIcon(R.drawable.ic_stat_notify)
|
.setSmallIcon(R.drawable.ic_stat_notify)
|
||||||
.setOngoing(true)
|
.setOngoing(true)
|
||||||
.setPriority(NotificationCompat.PRIORITY_MIN)
|
|
||||||
.setContentIntent(PendingIntent.getActivity(this, 0,
|
.setContentIntent(PendingIntent.getActivity(this, 0,
|
||||||
new Intent(this, MainActivity.class), 0))
|
new Intent(this, MainActivity.class), 0));
|
||||||
.build();
|
if (type.equals("low_priority"))
|
||||||
nm.notify(NOTIFICATION_ACTIVE, n);
|
builder.setPriority(NotificationCompat.PRIORITY_MIN);
|
||||||
|
|
||||||
|
nm.notify(NOTIFICATION_ACTIVE, builder.build());
|
||||||
} else {
|
} else {
|
||||||
nm.cancel(NOTIFICATION_ACTIVE);
|
nm.cancel(NOTIFICATION_ACTIVE);
|
||||||
}
|
}
|
||||||
|
@ -265,7 +267,7 @@ public class SyncthingService extends Service implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||||
if (key.equals(PREF_PERSISTENT_NOTIFICATION))
|
if (key.equals(PREF_NOTIFICATION_TYPE))
|
||||||
updateNotification();
|
updateNotification();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,16 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources translatable="false">
|
<resources translatable="false">
|
||||||
|
|
||||||
<string-array name="compress_values">
|
<string-array name="compress_values">
|
||||||
<item>never</item>
|
<item>never</item>
|
||||||
<item>metadata</item>
|
<item>metadata</item>
|
||||||
<item>always</item>
|
<item>always</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="notification_type_entry_values">
|
||||||
|
<item>normal</item>
|
||||||
|
<item>low_priority</item>
|
||||||
|
<item>none</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -237,9 +237,15 @@ Please report any problems you encounter via Github.</string>
|
||||||
|
|
||||||
<string name="use_root_summary">Run Syncthing as Superuser</string>
|
<string name="use_root_summary">Run Syncthing as Superuser</string>
|
||||||
|
|
||||||
<string name="persistent_notification_title">Persistent Notification</string>
|
<string name="notification_type_title">Notification</string>
|
||||||
|
|
||||||
<string name="persistent_notification_summary">Show Notification while Syncthing is running</string>
|
<string name="notification_type_summary">Choose the notification type</string>
|
||||||
|
|
||||||
|
<string-array name="notification_type_entries">
|
||||||
|
<item>Normal</item>
|
||||||
|
<item>Low Priority</item>
|
||||||
|
<item>None</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<string name="category_syncthing">Syncthing</string>
|
<string name="category_syncthing">Syncthing</string>
|
||||||
|
|
||||||
|
|
|
@ -32,11 +32,13 @@
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:enabled="false" />
|
android:enabled="false" />
|
||||||
|
|
||||||
<CheckBoxPreference
|
<ListPreference
|
||||||
android:key="persistent_notification"
|
android:key="notification_type"
|
||||||
android:title="@string/persistent_notification_title"
|
android:title="@string/notification_type_title"
|
||||||
android:summary="@string/persistent_notification_summary"
|
android:entryValues="@array/notification_type_entry_values"
|
||||||
android:defaultValue="true" />
|
android:entries="@array/notification_type_entries"
|
||||||
|
android:summary="@string/notification_type_summary"
|
||||||
|
android:defaultValue="low_priority" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue