Fix some issues with notif blocking in settings
- Fix cast cast exception - Make sure unblocking a notification channel also actually unblocks it Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification" Fixes: 177968301 Fixes: 177907827 Change-Id: Ibad56e102e167bcf004fbd0f9873cc29834a30c1
This commit is contained in:
@@ -25,10 +25,9 @@
|
|||||||
android:order="1"
|
android:order="1"
|
||||||
android:layout="@layout/settings_entity_header" />
|
android:layout="@layout/settings_entity_header" />
|
||||||
|
|
||||||
<com.android.settingslib.widget.LayoutPreference
|
<com.android.settings.widget.SettingsMainSwitchPreference
|
||||||
android:key="block"
|
android:key="block"
|
||||||
android:order="2"
|
android:order="2" />
|
||||||
android:layout="@layout/styled_switch_bar" />
|
|
||||||
|
|
||||||
<!-- Importance toggle -->
|
<!-- Importance toggle -->
|
||||||
<com.android.settingslib.RestrictedSwitchPreference
|
<com.android.settingslib.RestrictedSwitchPreference
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.notification.app;
|
package com.android.settings.notification.app;
|
||||||
|
|
||||||
|
import static android.app.NotificationManager.IMPORTANCE_LOW;
|
||||||
import static android.app.NotificationManager.IMPORTANCE_NONE;
|
import static android.app.NotificationManager.IMPORTANCE_NONE;
|
||||||
import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
|
import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ public class BlockPreferenceController extends NotificationPreferenceController
|
|||||||
? IMPORTANCE_NONE
|
? IMPORTANCE_NONE
|
||||||
: isDefaultChannel()
|
: isDefaultChannel()
|
||||||
? IMPORTANCE_UNSPECIFIED
|
? IMPORTANCE_UNSPECIFIED
|
||||||
: mChannel.getOriginalImportance();
|
: Math.max(mChannel.getOriginalImportance(), IMPORTANCE_LOW);
|
||||||
mChannel.setImportance(importance);
|
mChannel.setImportance(importance);
|
||||||
saveChannel();
|
saveChannel();
|
||||||
}
|
}
|
||||||
|
@@ -339,7 +339,9 @@ public class ChannelListPreferenceController extends NotificationPreferenceContr
|
|||||||
channelPref.setOnPreferenceChangeListener(
|
channelPref.setOnPreferenceChangeListener(
|
||||||
(preference, o) -> {
|
(preference, o) -> {
|
||||||
boolean value = (Boolean) o;
|
boolean value = (Boolean) o;
|
||||||
int importance = value ? channel.getOriginalImportance() : IMPORTANCE_NONE;
|
int importance = value
|
||||||
|
? Math.max(channel.getOriginalImportance(), IMPORTANCE_LOW)
|
||||||
|
: IMPORTANCE_NONE;
|
||||||
channel.setImportance(importance);
|
channel.setImportance(importance);
|
||||||
channel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
|
channel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
|
||||||
PrimarySwitchPreference channelPref1 = (PrimarySwitchPreference) preference;
|
PrimarySwitchPreference channelPref1 = (PrimarySwitchPreference) preference;
|
||||||
|
Reference in New Issue
Block a user