Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94b04df4 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Redesign individual conversation page

Test: atest
Fixes: 151765526
Change-Id: I98d45222104eb03449e469bcd80fd5f23c2935ca
parent 6c95bb5c
Loading
Loading
Loading
Loading
+158 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2020 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.
  -->

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/app_entities_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="@dimen/notification_importance_toggle_marginTop"
    android:orientation="vertical">

    <com.android.settings.notification.NotificationButtonRelativeLayout
        android:id="@+id/priority_group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/notification_importance_button_padding"
        android:clickable="true"
        android:focusable="true">
        <ImageView
            android:id="@+id/priority_icon"
            android:src="@drawable/ic_important_outline"
            android:background="@android:color/transparent"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"/>
        <TextView
            android:id="@+id/priority_label"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:clickable="false"
            android:focusable="false"
            android:layout_toEndOf="@id/priority_icon"
            android:layout_marginStart="@dimen/notification_importance_drawable_padding"
            android:textAppearance="@style/TextAppearance.NotificationImportanceButton.Unselected"
            android:text="@string/notification_priority_title"/>
        <TextView
            android:id="@+id/priority_summary"
            android:paddingTop="@dimen/notification_importance_button_padding"
            android:text="@string/notification_channel_summary_priority"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"
            android:ellipsize="end"
            android:maxLines="2"
            android:layout_below="@id/priority_icon"
            android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"
            android:visibility="gone" />
    </com.android.settings.notification.NotificationButtonRelativeLayout>

    <com.android.settings.notification.NotificationButtonRelativeLayout
        android:id="@+id/alert"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/notification_importance_button_padding"
        android:layout_marginTop="@dimen/notification_importance_button_separation"
        android:clickable="true"
        android:focusable="true">
        <ImageView
            android:id="@+id/alert_icon"
            android:src="@drawable/ic_notifications_alert"
            android:background="@android:color/transparent"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"/>
        <TextView
            android:id="@+id/alert_label"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:clickable="false"
            android:focusable="false"
            android:layout_toEndOf="@id/alert_icon"
            android:layout_marginStart="@dimen/notification_importance_drawable_padding"
            android:textAppearance="@style/TextAppearance.NotificationImportanceButton.Unselected"
            android:text="@string/notification_alert_title"/>
        <TextView
            android:id="@+id/alert_summary"
            android:paddingTop="@dimen/notification_importance_button_padding"
            android:text="@string/notification_channel_summary_default"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"
            android:ellipsize="end"
            android:maxLines="2"
            android:layout_below="@id/alert_icon"
            android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"
            android:visibility="gone" />
    </com.android.settings.notification.NotificationButtonRelativeLayout>

    <com.android.settings.notification.NotificationButtonRelativeLayout
        android:id="@+id/silence"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/notification_importance_button_padding"
        android:layout_marginTop="@dimen/notification_importance_button_separation"
        android:clickable="true"
        android:focusable="true">
        <ImageView
            android:id="@+id/silence_icon"
            android:src="@drawable/ic_notifications_off_24dp"
            android:background="@android:color/transparent"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"/>
        <TextView
            android:id="@+id/silence_label"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:clickable="false"
            android:focusable="false"
            android:layout_toEndOf="@id/silence_icon"
            android:layout_marginStart="@dimen/notification_importance_drawable_padding"
            android:textAppearance="@style/TextAppearance.NotificationImportanceButton.Unselected"
            android:text="@string/notification_silence_title"/>
        <TextView
            android:id="@+id/silence_summary"
            android:paddingTop="@dimen/notification_importance_button_padding"
            android:text="@string/notification_channel_summary_low"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"
            android:ellipsize="end"
            android:maxLines="2"
            android:layout_below="@id/silence_icon"
            android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"
            android:visibility="gone" />
    </com.android.settings.notification.NotificationButtonRelativeLayout>

</LinearLayout>
 No newline at end of file
+6 −0
Original line number Original line Diff line number Diff line
@@ -8415,6 +8415,12 @@
    <!-- [CHAR LIMIT=180] Notification importance description. More details from allow_interruption string - specifics of how notifications may interrupt. -->
    <!-- [CHAR LIMIT=180] Notification importance description. More details from allow_interruption string - specifics of how notifications may interrupt. -->
    <string name="allow_interruption_summary">Let the app make sound, vibrate, and/or pop notifications on screen</string>
    <string name="allow_interruption_summary">Let the app make sound, vibrate, and/or pop notifications on screen</string>
    <!-- [CHAR LIMIT=150] Notification Importance title: important conversation level -->
    <string name="notification_priority_title">Priority</string>
    <!-- [CHAR LIMIT=150] Notification Importance title: important conversation level summary -->
    <string name="notification_channel_summary_priority">Shows at top of conversation section and appears as a bubble.</string>
    <!-- Channel summaries for the app notification page -->
    <!-- Channel summaries for the app notification page -->
    <!-- [CHAR LIMIT=150] Notification Importance title: min importance level summary -->
    <!-- [CHAR LIMIT=150] Notification Importance title: min importance level summary -->
+51 −67
Original line number Original line Diff line number Diff line
@@ -26,19 +26,11 @@
        settings:allowDividerBelow="true"/>
        settings:allowDividerBelow="true"/>


    <!-- important conversation -->
    <!-- important conversation -->
    <com.android.settingslib.RestrictedSwitchPreference
    <com.android.settings.notification.app.ConversationPriorityPreference
        android:key="important"
        android:key="priority"
        android:title="@string/notification_conversation_important"
        android:title="@string/notification_conversation_important"
        android:icon="@drawable/ic_important_outline"
        settings:allowDividerAbove="true"
        settings:restrictedSwitchSummary="@string/enabled_by_admin"
        settings:allowDividerBelow="true"/>
        settings:allowDividerAbove="true"/>

    <!-- silence -->
    <com.android.settingslib.RestrictedSwitchPreference
        android:key="alerting"
        android:icon="@drawable/ic_notification_alert"
        android:title="@string/notification_alert_title"
        android:summary="@string/notification_channel_summary_default"/>


    <!-- bubbles -->
    <!-- bubbles -->
    <com.android.settingslib.RestrictedSwitchPreference
    <com.android.settingslib.RestrictedSwitchPreference
@@ -48,12 +40,38 @@
        android:icon="@drawable/ic_create_bubble"
        android:icon="@drawable/ic_create_bubble"
        settings:restrictedSwitchSummary="@string/enabled_by_admin" />
        settings:restrictedSwitchSummary="@string/enabled_by_admin" />


    <!-- demote -->
    <Preference
        android:key="demote"
        android:icon="@drawable/ic_demote_conversation"
        android:title="@string/demote_conversation_title"
        android:summary="@string/demote_conversation_summary"
        settings:allowDividerAbove="true"/>

    <com.android.settings.notification.app.NotificationFooterPreference
        android:key="block_desc"
        settings:allowDividerAbove="false"/>

    <PreferenceCategory
        android:key="channel_advanced"
        android:order="50"
        settings:initialExpandedChildrenCount="0">

        <!-- peeking -->
        <!-- peeking -->
        <com.android.settingslib.RestrictedSwitchPreference
        <com.android.settingslib.RestrictedSwitchPreference
            android:key="high_importance"
            android:key="high_importance"
            android:title="@string/notification_importance_high_title"
            android:title="@string/notification_importance_high_title"
            android:summary="@string/notification_channel_summary_high"/>
            android:summary="@string/notification_channel_summary_high"/>


        <!-- ringtone -->
        <com.android.settings.notification.app.NotificationSoundPreference
            android:key="ringtone"
            android:title="@string/notification_channel_sound_title"
            android:dialogTitle="@string/notification_channel_sound_title"
            android:icon="@drawable/ic_media_stream"
            android:showSilent="true"
            android:showDefault="true"/>

        <!-- Visibility Override -->
        <!-- Visibility Override -->
        <com.android.settings.RestrictedListPreference
        <com.android.settings.RestrictedListPreference
            android:key="visibility_override"
            android:key="visibility_override"
@@ -79,40 +97,6 @@
            android:icon="@drawable/ic_volume_ringer_vibrate"
            android:icon="@drawable/ic_volume_ringer_vibrate"
            android:title="@string/notification_vibrate_title"
            android:title="@string/notification_vibrate_title"
            settings:useAdditionalSummary="true" />
            settings:useAdditionalSummary="true" />

    </PreferenceCategory>
    <!-- ringtone -->
    <com.android.settings.notification.app.NotificationSoundPreference
        android:key="ringtone"
        android:title="@string/notification_channel_sound_title"
        android:dialogTitle="@string/notification_channel_sound_title"
        android:icon="@drawable/ic_media_stream"
        android:showSilent="true"
        android:showDefault="true"/>

    <!-- demote -->
    <Preference
        android:key="demote"
        android:icon="@drawable/ic_demote_conversation"
        android:title="@string/demote_conversation_title"
        android:summary="@string/demote_conversation_summary"
        settings:allowDividerAbove="true"/>

    <Preference
        android:key="add_to_home"
        android:title="@string/notification_conversation_add_to_home"
        android:icon="@drawable/ic_add_to_home"
        settings:allowDividerAbove="true"/>

    <Preference
        android:key="app_link"
        android:title="@string/app_settings_link"
        settings:allowDividerAbove="true"/>

    <com.android.settings.notification.app.NotificationFooterPreference
        android:key="desc" />

    <com.android.settings.notification.app.NotificationFooterPreference
        android:key="block_desc"
        settings:allowDividerAbove="false"/>


</PreferenceScreen>
</PreferenceScreen>
+1 −1
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ public class BubblePreferenceController extends NotificationPreferenceController
            if (isDefaultChannel()) {
            if (isDefaultChannel()) {
                return true;
                return true;
            } else {
            } else {
                return mAppRow != null && mAppRow.allowBubbles;
                return mAppRow != null;
            }
            }
        }
        }
        return true;
        return true;
+1 −8
Original line number Original line Diff line number Diff line
@@ -18,15 +18,8 @@ package com.android.settings.notification.app;


import android.app.settings.SettingsEnums;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.util.Log;


import androidx.preference.Preference;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;

import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend;
@@ -60,7 +53,7 @@ public class ConversationListSettings extends DashboardFragment {
    @Override
    @Override
    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
        mControllers = new ArrayList<>();
        mControllers = new ArrayList<>();
        mControllers.add(new ImportantConversationsPreferenceController(context, mBackend));
        mControllers.add(new PriorityConversationsPreferenceController(context, mBackend));
        mControllers.add(new AllConversationsPreferenceController(context, mBackend));
        mControllers.add(new AllConversationsPreferenceController(context, mBackend));
        return new ArrayList<>(mControllers);
        return new ArrayList<>(mControllers);
    }
    }
Loading