Added settings for notification light

This commit is contained in:
M66B
2018-09-14 13:31:00 +00:00
parent 90fdbf304d
commit d2cb26e325
5 changed files with 35 additions and 2 deletions

View File

@@ -35,6 +35,7 @@ import androidx.annotation.Nullable;
public class FragmentOptions extends FragmentEx {
private CheckBox cbCompressImap;
private CheckBox cbAvatars;
private CheckBox cbLight;
private CheckBox cbDebug;
@Override
@@ -47,6 +48,7 @@ public class FragmentOptions extends FragmentEx {
// Get controls
cbCompressImap = view.findViewById(R.id.cbCompressImap);
cbAvatars = view.findViewById(R.id.cbAvatars);
cbLight = view.findViewById(R.id.cbLight);
cbDebug = view.findViewById(R.id.cbDebug);
// Wire controls
@@ -77,6 +79,14 @@ public class FragmentOptions extends FragmentEx {
}
});
cbLight.setChecked(prefs.getBoolean("light", false));
cbLight.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("light", checked).apply();
}
});
cbDebug.setChecked(prefs.getBoolean("debug", false));
cbDebug.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
@@ -85,6 +95,8 @@ public class FragmentOptions extends FragmentEx {
}
});
cbLight.setVisibility(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O ? View.VISIBLE : View.GONE);
return view;
}
}

View File

@@ -102,6 +102,7 @@ public class FragmentSetup extends FragmentEx {
static final List<String> EXPORT_SETTINGS = Arrays.asList(
"compress",
"avatars",
"light",
"theme"
);

View File

@@ -26,6 +26,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.media.RingtoneManager;
import android.net.ConnectivityManager;
import android.net.Network;
@@ -270,6 +271,8 @@ public class ServiceSynchronize extends LifecycleService {
}
private Notification.Builder getNotificationUnseen(List<EntityMessage> messages) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// Build pending intent
Intent intent = new Intent(this, ActivityView.class);
intent.setAction("unseen");
@@ -301,7 +304,13 @@ public class ServiceSynchronize extends LifecycleService {
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setDeleteIntent(pid);
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("pro", false)) {
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O &&
prefs.getBoolean("light", true)) {
builder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS);
builder.setLights(0xff00ff00, 1000, 1000);
}
if (prefs.getBoolean("pro", false)) {
DateFormat df = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT);
StringBuilder sb = new StringBuilder();
for (EntityMessage message : messages) {