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

Commit 4247a5c1 authored by Dan Sandler's avatar Dan Sandler
Browse files

Notification inspector.

When longpressing a notification, instead of popping up a
menu we now replace the notification's view with an
inspector showing the app name and icon inline, along with a
proper app info button.

Bug: 15892646
Change-Id: I905e2fd5c9ea5cbbaccabd633f4b8257227a10bc
parent 48e28ad0
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2014 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
  -->

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/notification_guts_bg_color" />
    <corners android:radius="@dimen/notification_material_rounded_rect_radius" />
</shape>
+106 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright 2014, 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.
-->

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/notification_guts_bg"
    android:id="@+id/notification_guts"
    android:visibility="gone"
    android:clickable="true"
    android:gravity="top|start"
    >
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@android:dimen/notification_large_icon_height"
            android:orientation="horizontal"
            >

        <ImageView android:id="@android:id/icon"
               android:layout_width="@android:dimen/notification_large_icon_width"
               android:layout_height="@android:dimen/notification_large_icon_height"
               android:layout_weight="0"
               android:padding="8dp"
               android:scaleType="centerInside"
               />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="start|center_vertical"
            android:orientation="vertical"
            android:paddingStart="8dp"
            android:paddingEnd="8dp"
            android:layout_weight="1"
            >
            <TextView
                    android:id="@+id/pkgname"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|start"
                    android:layout_weight="1"
                    android:textAppearance="@*android:style/TextAppearance.StatusBar.Material.EventContent.Title"
                    android:textColor="@color/notification_guts_title_color"
                    />
            <DateTimeView
                    android:id="@+id/timestamp"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0"
                    android:layout_gravity="center_vertical|start"
                    android:textAppearance="@*android:style/TextAppearance.StatusBar.Material.EventContent.Time"
                    android:textColor="@color/notification_guts_text_color"
                    />
            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/debug_info"
                    android:layout_weight="0"
                    android:textAppearance="@*android:style/TextAppearance.StatusBar.Material.EventContent.Time"
                    android:layout_gravity="bottom|start"
                    android:visibility="gone"
                    android:textColor="@color/notification_guts_text_color"
                    />
        </LinearLayout>

        <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="8dp"
                android:layout_weight="0"
                android:orientation="horizontal"
                android:showDividers="beginning|middle"
                android:divider="@*android:drawable/list_divider_holo_dark"
                android:dividerPadding="8dp"
                >
            <Button style="@android:style/Widget.Material.Light.Button.Borderless.Small"
                    android:id="@+id/notification_inspect_item"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="start|center_vertical"
                    android:drawablePadding="8dp"
                    android:paddingStart="8dp"
                    android:textColor="@color/notification_guts_btn_color"
                    android:textSize="14dp"
                    android:singleLine="true"
                    android:ellipsize="end"
                    android:text="@string/status_bar_notification_inspect_item_title"
                    />
        </LinearLayout>
    </LinearLayout>
</FrameLayout>
+22 −11
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright 2014, 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.
-->

<com.android.systemui.statusbar.ExpandableNotificationRow
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
@@ -35,17 +52,11 @@
        android:paddingStart="8dp"
        />

    <TextView
        android:id="@+id/debug_info"
        android:visibility="invisible"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:fontFamily="sans-serif-condensed"
        android:textSize="9dp"
        android:textStyle="bold"
        android:textColor="#00A040"
        android:padding="2dp"
    <include
        layout="@layout/notification_guts"
        android:id="@+id/notification_guts"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

    <com.android.systemui.statusbar.NotificationScrimView
+0 −22
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/* apps/common/assets/default/default/skins/StatusBar.xml
**
** Copyright 2012, 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.
*/
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/notification_inspect_item" android:title="@string/status_bar_notification_inspect_item_title" />
</menu>
+6 −0
Original line number Diff line number Diff line
@@ -94,4 +94,10 @@
    <color name="current_user_border_color">@color/system_accent_color</color>

    <color name="segmented_button_text_inactive">#99afbdc4</color><!-- 60% -->

    <!-- The "inside" of a notification, reached via longpress -->
    <color name="notification_guts_bg_color">#ff424242</color><!-- grey 800 -->
    <color name="notification_guts_title_color">#FFFFFFFF</color>
    <color name="notification_guts_text_color">#99FFFFFF</color>
    <color name="notification_guts_btn_color">#FFFFFFFF</color>
</resources>
Loading