diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
index c31b5ccd58..e1334888d8 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
@@ -37,6 +37,7 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
+import android.widget.ImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -56,6 +57,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private CheckBox cbNotifyActionFlag;
private CheckBox cbNotifyActionSeen;
private Button btnManage;
+ private ImageButton ibManage;
private SwitchCompat swLight;
private Button btnSound;
@@ -83,6 +85,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
cbNotifyActionFlag = view.findViewById(R.id.cbNotifyActionFlag);
cbNotifyActionSeen = view.findViewById(R.id.cbNotifyActionSeen);
btnManage = view.findViewById(R.id.btnManage);
+ ibManage = view.findViewById(R.id.ibManage);
swLight = view.findViewById(R.id.swLight);
btnSound = view.findViewById(R.id.btnSound);
@@ -92,6 +95,7 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
// Wire controls
+ PackageManager pm = getContext().getPackageManager();
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swNotifyGroup.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@@ -144,7 +148,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
});
final Intent manage = getIntentNotifications(getContext());
- PackageManager pm = getContext().getPackageManager();
btnManage.setVisibility(manage.resolveActivity(pm) == null ? View.GONE : View.VISIBLE);
btnManage.setOnClickListener(new View.OnClickListener() {
@Override
@@ -153,6 +156,17 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
}
});
+ final Intent channel = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
+ .putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName())
+ .putExtra(Settings.EXTRA_CHANNEL_ID, "notification");
+ ibManage.setVisibility(channel.resolveActivity(pm) == null ? View.GONE : View.VISIBLE);
+ ibManage.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ startActivity(channel);
+ }
+ });
+
swLight.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
diff --git a/app/src/main/res/drawable/baseline_launch_24.xml b/app/src/main/res/drawable/baseline_launch_24.xml
new file mode 100644
index 0000000000..7dfe555f6e
--- /dev/null
+++ b/app/src/main/res/drawable/baseline_launch_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout/fragment_options_notifications.xml b/app/src/main/res/layout/fragment_options_notifications.xml
index 637b256c74..e457ae7082 100644
--- a/app/src/main/res/layout/fragment_options_notifications.xml
+++ b/app/src/main/res/layout/fragment_options_notifications.xml
@@ -148,14 +148,22 @@
android:id="@+id/tvManageHint"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginEnd="48dp"
android:text="@string/title_advanced_notify_manage_hint"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textStyle="italic"
- app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/ibManage"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btnManage" />
+
+