Loading core/java/android/app/NotificationManager.java +56 −1 Original line number Diff line number Diff line Loading @@ -1424,7 +1424,62 @@ public class NotificationManager { return other.priorityCategories == priorityCategories && other.priorityCallSenders == priorityCallSenders && other.priorityMessageSenders == priorityMessageSenders && other.suppressedVisualEffects == suppressedVisualEffects; && suppressedVisualEffectsEqual(suppressedVisualEffects, other.suppressedVisualEffects); } private boolean suppressedVisualEffectsEqual(int suppressedEffects, int otherSuppressedVisualEffects) { if (suppressedEffects == otherSuppressedVisualEffects) { return true; } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_ON) != 0) { suppressedEffects |= SUPPRESSED_EFFECT_PEEK; } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != 0) { suppressedEffects |= SUPPRESSED_EFFECT_FULL_SCREEN_INTENT; suppressedEffects |= SUPPRESSED_EFFECT_LIGHTS; suppressedEffects |= SUPPRESSED_EFFECT_AMBIENT; } if ((otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_ON) != 0) { otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_PEEK; } if ((otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != 0) { otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_FULL_SCREEN_INTENT; otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_LIGHTS; otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_AMBIENT; } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_ON) != (otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_ON)) { int currSuppressedEffects = (suppressedEffects & SUPPRESSED_EFFECT_SCREEN_ON) != 0 ? otherSuppressedVisualEffects : suppressedEffects; if ((currSuppressedEffects & SUPPRESSED_EFFECT_PEEK) == 0) { return false; } } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != (otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_OFF)) { int currSuppressedEffects = (suppressedEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != 0 ? otherSuppressedVisualEffects : suppressedEffects; if ((currSuppressedEffects & SUPPRESSED_EFFECT_FULL_SCREEN_INTENT) == 0 || (currSuppressedEffects & SUPPRESSED_EFFECT_LIGHTS) == 0 || (currSuppressedEffects & SUPPRESSED_EFFECT_AMBIENT) == 0) { return false; } } int thisWithoutOldEffects = suppressedEffects & ~SUPPRESSED_EFFECT_SCREEN_ON & ~SUPPRESSED_EFFECT_SCREEN_OFF; int otherWithoutOldEffects = otherSuppressedVisualEffects & ~SUPPRESSED_EFFECT_SCREEN_ON & ~SUPPRESSED_EFFECT_SCREEN_OFF; return thisWithoutOldEffects == otherWithoutOldEffects; } @Override Loading core/java/android/service/notification/ZenModeConfig.java +1 −1 Original line number Diff line number Diff line Loading @@ -806,7 +806,7 @@ public class ZenModeConfig implements Parcelable { if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_CALLS, isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_CALLS, defaultPolicy))) { priorityCategories |= Policy.PRIORITY_CATEGORY_CALLS; messageSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders()); callSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders()); } if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS, Loading core/java/android/service/notification/ZenPolicy.java +21 −0 Original line number Diff line number Diff line Loading @@ -856,6 +856,27 @@ public final class ZenPolicy implements Parcelable { } } /** * @hide */ public boolean areValuesSet() { return getPriorityCategoryReminders() != STATE_UNSET || getPriorityCategoryEvents() != STATE_UNSET || getPriorityCategoryMessages() != STATE_UNSET || getPriorityCategoryCalls() != STATE_UNSET || getPriorityCategoryRepeatCallers() != STATE_UNSET || getPriorityCategoryAlarms() != STATE_UNSET || getPriorityCategoryMedia() != STATE_UNSET || getPriorityCategorySystem() != STATE_UNSET || getVisualEffectFullScreenIntent() != STATE_UNSET || getVisualEffectLights() != STATE_UNSET || getVisualEffectPeek() != STATE_UNSET || getVisualEffectStatusBar() != STATE_UNSET || getVisualEffectBadge() != STATE_UNSET || getVisualEffectAmbient() != STATE_UNSET || getVisualEffectNotificationList() != STATE_UNSET; } /** * @hide */ Loading packages/SettingsLib/res/layout/preference_checkable_two_target.xml 0 → 100644 +92 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2018 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- Based off preference_material_settings.xml except that ripple on only on the left side. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeightSmall" android:gravity="center_vertical" android:background="@android:color/transparent" android:clipToPadding="false"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="?android:attr/selectableItemBackground" android:gravity="start|center_vertical" android:clipToPadding="false" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> <LinearLayout android:id="@+id/checkbox_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="start|center_vertical" android:minWidth="56dp" android:orientation="horizontal" android:clipToPadding="false" android:paddingTop="4dp" android:paddingBottom="4dp"> <include layout="@layout/preference_widget_checkbox" /> </LinearLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:paddingTop="16dp" android:paddingBottom="16dp"> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceListItem" android:ellipsize="marquee" /> <TextView android:id="@android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@android:id/title" android:layout_alignStart="@android:id/title" android:textAppearance="?android:attr/textAppearanceListItemSecondary" android:textColor="?android:attr/textColorSecondary" android:maxLines="10" /> </RelativeLayout> </LinearLayout> <include layout="@layout/preference_two_target_divider" /> <!-- Preference should place its actual preference widget here. --> <LinearLayout android:id="@android:id/widget_frame" android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="64dp" android:gravity="center" android:orientation="vertical" /> </LinearLayout> No newline at end of file Loading
core/java/android/app/NotificationManager.java +56 −1 Original line number Diff line number Diff line Loading @@ -1424,7 +1424,62 @@ public class NotificationManager { return other.priorityCategories == priorityCategories && other.priorityCallSenders == priorityCallSenders && other.priorityMessageSenders == priorityMessageSenders && other.suppressedVisualEffects == suppressedVisualEffects; && suppressedVisualEffectsEqual(suppressedVisualEffects, other.suppressedVisualEffects); } private boolean suppressedVisualEffectsEqual(int suppressedEffects, int otherSuppressedVisualEffects) { if (suppressedEffects == otherSuppressedVisualEffects) { return true; } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_ON) != 0) { suppressedEffects |= SUPPRESSED_EFFECT_PEEK; } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != 0) { suppressedEffects |= SUPPRESSED_EFFECT_FULL_SCREEN_INTENT; suppressedEffects |= SUPPRESSED_EFFECT_LIGHTS; suppressedEffects |= SUPPRESSED_EFFECT_AMBIENT; } if ((otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_ON) != 0) { otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_PEEK; } if ((otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != 0) { otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_FULL_SCREEN_INTENT; otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_LIGHTS; otherSuppressedVisualEffects |= SUPPRESSED_EFFECT_AMBIENT; } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_ON) != (otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_ON)) { int currSuppressedEffects = (suppressedEffects & SUPPRESSED_EFFECT_SCREEN_ON) != 0 ? otherSuppressedVisualEffects : suppressedEffects; if ((currSuppressedEffects & SUPPRESSED_EFFECT_PEEK) == 0) { return false; } } if ((suppressedEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != (otherSuppressedVisualEffects & SUPPRESSED_EFFECT_SCREEN_OFF)) { int currSuppressedEffects = (suppressedEffects & SUPPRESSED_EFFECT_SCREEN_OFF) != 0 ? otherSuppressedVisualEffects : suppressedEffects; if ((currSuppressedEffects & SUPPRESSED_EFFECT_FULL_SCREEN_INTENT) == 0 || (currSuppressedEffects & SUPPRESSED_EFFECT_LIGHTS) == 0 || (currSuppressedEffects & SUPPRESSED_EFFECT_AMBIENT) == 0) { return false; } } int thisWithoutOldEffects = suppressedEffects & ~SUPPRESSED_EFFECT_SCREEN_ON & ~SUPPRESSED_EFFECT_SCREEN_OFF; int otherWithoutOldEffects = otherSuppressedVisualEffects & ~SUPPRESSED_EFFECT_SCREEN_ON & ~SUPPRESSED_EFFECT_SCREEN_OFF; return thisWithoutOldEffects == otherWithoutOldEffects; } @Override Loading
core/java/android/service/notification/ZenModeConfig.java +1 −1 Original line number Diff line number Diff line Loading @@ -806,7 +806,7 @@ public class ZenModeConfig implements Parcelable { if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_CALLS, isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_CALLS, defaultPolicy))) { priorityCategories |= Policy.PRIORITY_CATEGORY_CALLS; messageSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders()); callSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders()); } if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS, Loading
core/java/android/service/notification/ZenPolicy.java +21 −0 Original line number Diff line number Diff line Loading @@ -856,6 +856,27 @@ public final class ZenPolicy implements Parcelable { } } /** * @hide */ public boolean areValuesSet() { return getPriorityCategoryReminders() != STATE_UNSET || getPriorityCategoryEvents() != STATE_UNSET || getPriorityCategoryMessages() != STATE_UNSET || getPriorityCategoryCalls() != STATE_UNSET || getPriorityCategoryRepeatCallers() != STATE_UNSET || getPriorityCategoryAlarms() != STATE_UNSET || getPriorityCategoryMedia() != STATE_UNSET || getPriorityCategorySystem() != STATE_UNSET || getVisualEffectFullScreenIntent() != STATE_UNSET || getVisualEffectLights() != STATE_UNSET || getVisualEffectPeek() != STATE_UNSET || getVisualEffectStatusBar() != STATE_UNSET || getVisualEffectBadge() != STATE_UNSET || getVisualEffectAmbient() != STATE_UNSET || getVisualEffectNotificationList() != STATE_UNSET; } /** * @hide */ Loading
packages/SettingsLib/res/layout/preference_checkable_two_target.xml 0 → 100644 +92 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2018 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- Based off preference_material_settings.xml except that ripple on only on the left side. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeightSmall" android:gravity="center_vertical" android:background="@android:color/transparent" android:clipToPadding="false"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="?android:attr/selectableItemBackground" android:gravity="start|center_vertical" android:clipToPadding="false" android:paddingStart="?android:attr/listPreferredItemPaddingStart" android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> <LinearLayout android:id="@+id/checkbox_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="start|center_vertical" android:minWidth="56dp" android:orientation="horizontal" android:clipToPadding="false" android:paddingTop="4dp" android:paddingBottom="4dp"> <include layout="@layout/preference_widget_checkbox" /> </LinearLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:paddingTop="16dp" android:paddingBottom="16dp"> <TextView android:id="@android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceListItem" android:ellipsize="marquee" /> <TextView android:id="@android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@android:id/title" android:layout_alignStart="@android:id/title" android:textAppearance="?android:attr/textAppearanceListItemSecondary" android:textColor="?android:attr/textColorSecondary" android:maxLines="10" /> </RelativeLayout> </LinearLayout> <include layout="@layout/preference_two_target_divider" /> <!-- Preference should place its actual preference widget here. --> <LinearLayout android:id="@android:id/widget_frame" android:layout_width="wrap_content" android:layout_height="match_parent" android:minWidth="64dp" android:gravity="center" android:orientation="vertical" /> </LinearLayout> No newline at end of file