Scaffold responsive Android notification log shell

This commit is contained in:
ajp_anton
2026-07-23 07:37:07 +00:00
parent 591a3b993c
commit 022fb5220f
25 changed files with 1045 additions and 0 deletions
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/on_primary_container" android:state_checked="true" />
<item android:color="@color/on_surface" />
</selector>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape>
<solid android:color="@color/primary_container" />
<corners android:radius="12dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="@android:color/transparent" />
</shape>
</item>
</selector>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:fillColor="#D9E2FF"
android:pathData="M8,7h32a4,4 0,0 1,4 4v26a4,4 0,0 1,-4 4H8a4,4 0,0 1,-4 -4V11a4,4 0,0 1,4 -4z" />
<path
android:fillColor="#24345E"
android:pathData="M13,15h22v3H13zM13,23h22v3H13zM13,31h14v3H13z" />
</vector>
+63
View File
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<se.ajpanton.notificationlog.SafeInsetDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/window_background"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view_permanent"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:background="@color/surface"
android:fitsSystemWindows="true"
android:visibility="gone"
app:headerLayout="@layout/drawer_header"
app:itemBackground="@drawable/drawer_item_background"
app:itemTextColor="@color/drawer_item_text_color"
app:menu="@menu/drawer_menu" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:elevation="0dp"
android:theme="@style/ThemeOverlay.NotificationLog.Toolbar"
app:navigationIconTint="@color/on_primary"
app:titleTextColor="@color/on_primary" />
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view_drawer"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/surface"
android:fitsSystemWindows="true"
app:headerLayout="@layout/drawer_header"
app:itemBackground="@drawable/drawer_item_background"
app:itemTextColor="@color/drawer_item_text_color"
app:menu="@menu/drawer_menu" />
</se.ajpanton.notificationlog.SafeInsetDrawerLayout>
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/drawer_header_height"
android:background="@color/primary"
android:gravity="bottom"
android:orientation="vertical"
android:padding="@dimen/drawer_header_padding">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAppearance="?attr/textAppearanceHeadline6"
android:textColor="@color/on_primary"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:text="@string/drawer_subtitle"
android:textAppearance="?attr/textAppearanceCaption"
android:textColor="@color/on_primary" />
</LinearLayout>
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/page_padding">
<TextView
android:id="@+id/page_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceHeadline5"
android:textColor="?attr/colorOnBackground" />
</LinearLayout>
</ScrollView>
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_view_logs"
android:title="@string/page_view_logs" />
</group>
<item
android:id="@+id/nav_settings_header"
android:checkable="false"
android:enabled="false"
android:title="@string/navigation_settings_header" />
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_settings"
android:title="@string/navigation_indented_settings" />
<item
android:id="@+id/nav_appearing"
android:title="@string/navigation_indented_appearing" />
<item
android:id="@+id/nav_disappearing"
android:title="@string/navigation_indented_disappearing" />
<item
android:id="@+id/nav_text_content"
android:title="@string/navigation_indented_text_content" />
<item
android:id="@+id/nav_image_content"
android:title="@string/navigation_indented_image_content" />
<item
android:id="@+id/nav_edits"
android:title="@string/navigation_indented_edits" />
</group>
</menu>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#AFC6FF</color>
<color name="system_status_bar">#233B6A</color>
<color name="primary_container">#294475</color>
<color name="on_primary">#10264F</color>
<color name="on_primary_container">#D9E2FF</color>
<color name="surface">#121318</color>
<color name="on_surface">#E3E2E9</color>
<color name="window_background">#121318</color>
</resources>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#3B5C9C</color>
<color name="system_status_bar">#3B5C9C</color>
<color name="primary_container">#D9E2FF</color>
<color name="on_primary">#FFFFFF</color>
<color name="on_primary_container">#10264F</color>
<color name="surface">#FBF8FF</color>
<color name="on_surface">#1B1B21</color>
<color name="window_background">#FBF8FF</color>
</resources>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="navigation_drawer_width">216dp</dimen>
<dimen name="folded_portrait_width">360dp</dimen>
<dimen name="navigation_menu_item_height">48dp</dimen>
<dimen name="drawer_header_height">86dp</dimen>
<dimen name="drawer_header_min_height">86dp</dimen>
<dimen name="drawer_header_max_height">172dp</dimen>
<dimen name="drawer_header_padding">16dp</dimen>
<dimen name="page_padding">24dp</dimen>
</resources>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Notification Log</string>
<string name="drawer_subtitle">Notification history</string>
<string name="navigation_open">Open navigation</string>
<string name="navigation_close">Close navigation</string>
<string name="navigation_settings_header">Settings:</string>
<string name="page_view_logs">View logs</string>
<string name="page_settings">Settings</string>
<string name="page_appearing">Appearing</string>
<string name="page_disappearing">Disappearing</string>
<string name="page_text_content">Text content</string>
<string name="page_image_content">Image content</string>
<string name="page_edits">Edits</string>
<string name="navigation_indented_settings">&#160;&#160;&#160;&#160;Settings</string>
<string name="navigation_indented_appearing">&#160;&#160;&#160;&#160;Appearing</string>
<string name="navigation_indented_disappearing">&#160;&#160;&#160;&#160;Disappearing</string>
<string name="navigation_indented_text_content">&#160;&#160;&#160;&#160;Text content</string>
<string name="navigation_indented_image_content">&#160;&#160;&#160;&#160;Image content</string>
<string name="navigation_indented_edits">&#160;&#160;&#160;&#160;Edits</string>
</resources>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.NotificationLog" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorOnPrimary">@color/on_primary</item>
<item name="colorSurface">@color/surface</item>
<item name="colorOnSurface">@color/on_surface</item>
<item name="android:windowBackground">@color/window_background</item>
<item name="android:statusBarColor">@color/system_status_bar</item>
<item name="android:navigationBarColor">@color/window_background</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">true</item>
</style>
<style name="ThemeOverlay.NotificationLog.Toolbar" parent="ThemeOverlay.MaterialComponents.Dark.ActionBar" />
</resources>