Add per-contact notification channels.

Fixes #8119
Fixes #8121
Fixes #8122
This commit is contained in:
Greyson Parrelli
2018-08-16 09:47:43 -07:00
parent e23fd9d491
commit e9b85a10a6
20 changed files with 609 additions and 68 deletions

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v7.preference.ListPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;
import android.util.TypedValue;
@@ -16,9 +17,9 @@ import org.thoughtcrime.securesms.util.ViewUtil;
public class SignalListPreference extends ListPreference {
private TextView rightSummary;
private CharSequence summary;
private boolean dialogDisabled;
private TextView rightSummary;
private CharSequence summary;
private OnPreferenceClickListener clickListener;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public SignalListPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -65,13 +66,15 @@ public class SignalListPreference extends ListPreference {
}
}
public void disableDialog() {
dialogDisabled = true;
@Override
public void setOnPreferenceClickListener(OnPreferenceClickListener onPreferenceClickListener) {
super.setOnPreferenceClickListener(onPreferenceClickListener);
this.clickListener = onPreferenceClickListener;
}
@Override
protected void onClick() {
if (!dialogDisabled) {
if (clickListener == null || !clickListener.onPreferenceClick(this)) {
super.onClick();
}
}