Notification text color changes to match the background. Cleaned up notification related code.
This commit is contained in:
parent
66d1d6285f
commit
357ef1df69
15 changed files with 86 additions and 380 deletions
BIN
app/src/main/res/drawable-hdpi/ic_close_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-hdpi/ic_close_black_24dp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 244 B |
BIN
app/src/main/res/drawable-mdpi/ic_close_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-mdpi/ic_close_black_24dp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 195 B |
BIN
app/src/main/res/drawable-xhdpi/ic_close_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_close_black_24dp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 314 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_close_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/ic_close_black_24dp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 383 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_close_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-xxxhdpi/ic_close_black_24dp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 513 B |
|
|
@ -63,7 +63,7 @@
|
|||
android:gravity="bottom"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification.Title"
|
||||
android:textColor="@color/default_notification_content_color"
|
||||
android:textColor="@color/notification_content_color"
|
||||
tools:ignore="NestedWeights" />
|
||||
|
||||
<TextView
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification"
|
||||
android:textColor="@color/default_notification_secondary_content_color" />
|
||||
android:textColor="@color/notification_secondary_content_color" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
@ -103,7 +103,6 @@
|
|||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_previous_white_36dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
|
@ -119,7 +118,6 @@
|
|||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_play_arrow_white_36dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
|
@ -135,7 +133,6 @@
|
|||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_next_white_36dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
@ -41,7 +41,6 @@
|
|||
android:layout_marginTop="2dp"
|
||||
android:background="@drawable/notification_selector"
|
||||
android:src="@drawable/ic_close_white_24dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
|
|
@ -68,7 +67,7 @@
|
|||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification.Title"
|
||||
android:textColor="@color/default_notification_content_color" />
|
||||
android:textColor="@color/notification_content_color" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
|
|
@ -81,7 +80,7 @@
|
|||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification"
|
||||
android:textColor="@color/default_notification_secondary_content_color" />
|
||||
android:textColor="@color/notification_secondary_content_color" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text2"
|
||||
|
|
@ -93,7 +92,7 @@
|
|||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification"
|
||||
android:textColor="@color/default_notification_secondary_content_color" />
|
||||
android:textColor="@color/notification_secondary_content_color" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
@ -122,7 +121,6 @@
|
|||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_previous_white_36dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
|
@ -138,7 +136,6 @@
|
|||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_play_arrow_white_36dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
|
@ -154,7 +151,6 @@
|
|||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_next_white_36dp"
|
||||
android:tint="@color/default_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
<?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
|
||||
-->
|
||||
|
||||
<!-- Layout to be used with only max 3 actions. It has a much larger picture at the left side-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="128dp"
|
||||
android:background="@color/default_colored_notification_color">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="@dimen/notification_big_image_size"
|
||||
android:layout_height="@dimen/notification_big_image_size"
|
||||
android:scaleType="centerCrop"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_quit"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:src="@drawable/ic_close_white_24dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/text_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="64dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_toEndOf="@id/icon"
|
||||
android:layout_toLeftOf="@id/action_quit"
|
||||
android:layout_toRightOf="@id/icon"
|
||||
android:layout_toStartOf="@id/action_quit"
|
||||
android:minHeight="@dimen/notification_large_icon_height"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification.Title"
|
||||
android:textColor="@color/default_colored_notification_content_color" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="-1dp"
|
||||
android:layout_marginTop="-1dp"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification"
|
||||
android:textColor="@color/default_colored_notification_secondary_content_color" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification"
|
||||
android:textColor="@color/default_colored_notification_secondary_content_color" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/media_actions"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:layout_below="@+id/text_container"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_toEndOf="@id/icon"
|
||||
android:layout_toRightOf="@id/icon"
|
||||
android:layoutDirection="ltr"
|
||||
android:orientation="horizontal"
|
||||
tools:ignore="UnusedAttribute">
|
||||
<!-- media buttons will be added here -->
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_prev"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_previous_white_36dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_play_pause"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_play_arrow_white_36dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_next"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_next_white_36dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
<?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
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:internal="http://schemas.android.com/apk/prv/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="64dp"
|
||||
android:background="@color/default_colored_notification_color"
|
||||
android:orientation="horizontal"
|
||||
internal:layout_maxHeight="64dp"
|
||||
internal:layout_minHeight="64dp"
|
||||
tools:ignore="DisableBaselineAlignment">
|
||||
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:internal="http://schemas.android.com/apk/prv/res/android"
|
||||
android:id="@+id/icon_group"
|
||||
android:layout_width="@dimen/notification_large_icon_width"
|
||||
android:layout_height="@dimen/notification_large_icon_height"
|
||||
android:layout_weight="0">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:scaleType="centerInside"
|
||||
tools:ignore="ContentDescription" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="fill_vertical"
|
||||
android:layout_weight="1"
|
||||
android:minHeight="@dimen/notification_large_icon_height"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:gravity="bottom"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification.Title"
|
||||
android:textColor="@color/default_colored_notification_content_color"
|
||||
tools:ignore="NestedWeights" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_weight="1"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Theme.MaterialMusic.Notification"
|
||||
android:textColor="@color/default_colored_notification_secondary_content_color" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/media_actions"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginRight="6dp"
|
||||
android:layoutDirection="ltr"
|
||||
android:orientation="horizontal"
|
||||
tools:ignore="UnusedAttribute">
|
||||
<!-- media buttons will be added here -->
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_prev"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_previous_white_36dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_play_pause"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_play_arrow_white_36dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/action_next"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/colored_notification_selector"
|
||||
android:gravity="center"
|
||||
android:padding="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_skip_next_white_36dp"
|
||||
android:tint="@color/default_colored_notification_content_color"
|
||||
tools:ignore="ContentDescription" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="default_notification_content_color">#de000000</color>
|
||||
<color name="default_notification_secondary_content_color">#aa000000</color>
|
||||
|
||||
<color name="default_colored_notification_color">@color/grey_800</color>
|
||||
<color name="default_colored_notification_content_color">#deFFFFFF</color>
|
||||
<color name="default_colored_notification_secondary_content_color">#aaFFFFFF</color>
|
||||
|
||||
<!--must be solid colors so the ripple will not be semi transparent. Note: the color have no effect on the ripple-->
|
||||
<!--<color name="button_selected">#FFFFFFFF</color>-->
|
||||
<!--<color name="button_selected_dark">#FFFFFFFF</color>-->
|
||||
</resources>
|
||||
|
|
@ -22,11 +22,6 @@
|
|||
<item name="android:transitionName">@string/transition_fab</item>
|
||||
</style>
|
||||
|
||||
<style name="NotificationButton" parent="NotificationButtonParent">
|
||||
<item name="android:background">@drawable/notification_selector</item>
|
||||
<item name="android:tint">@color/default_notification_content_color</item>
|
||||
</style>
|
||||
|
||||
<style name="MusicProgressSlider" parent="MusicProgressSliderParent">
|
||||
<item name="android:elevation">2dp</item>
|
||||
<item name="android:padding">0dp</item>
|
||||
|
|
|
|||
|
|
@ -25,11 +25,10 @@
|
|||
<color name="sliding_tabs_deactivated">#99FFFFFF</color>
|
||||
|
||||
<!--notification-->
|
||||
<color name="default_notification_content_color">#deFFFFFF</color>
|
||||
<color name="default_notification_secondary_content_color">#aaFFFFFF</color>
|
||||
<color name="notification_content_color">#deFFFFFF</color>
|
||||
<color name="notification_secondary_content_color">#aaFFFFFF</color>
|
||||
|
||||
<color name="default_colored_notification_color">@android:color/transparent</color>
|
||||
<color name="default_colored_notification_content_color">#deFFFFFF</color>
|
||||
<color name="default_colored_notification_secondary_content_color">#aaFFFFFF</color>
|
||||
<color name="notification_dark_text_content_color">#de000000</color>
|
||||
<color name="notification_dark_text_secondary_content_color">#aa000000</color>
|
||||
|
||||
</resources>
|
||||
|
|
@ -31,10 +31,6 @@
|
|||
|
||||
<style name="PlayPauseFab" parent="PlayPauseFabParent" />
|
||||
|
||||
<style name="NotificationButton" parent="NotificationButtonParent">
|
||||
<item name="android:background">?android:attr/selectableItemBackground</item>
|
||||
</style>
|
||||
|
||||
<style name="MusicProgressSlider" parent="MusicProgressSliderParent">
|
||||
<item name="android:thumbOffset">0dp</item>
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -73,15 +73,6 @@
|
|||
<item name="android:layout_height">wrap_content</item>
|
||||
</style>
|
||||
|
||||
<style name="NotificationButtonParent">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">match_parent</item>
|
||||
<item name="android:scaleType">fitCenter</item>
|
||||
<item name="android:layout_gravity">center</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="MusicProgressSliderParent">
|
||||
<item name="android:progressDrawable">@android:color/transparent</item>
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue