Initial commit - v1.1.9
This commit is contained in:
5
app/src/main/res/color/sl_switch_track.xml
Normal file
5
app/src/main/res/color/sl_switch_track.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_checked="true" android:color="@color/primary" />
|
||||
<item android:color="#20000000" /> <!-- Semi-transparent black instead of opaque gray -->
|
||||
</selector>
|
||||
12
app/src/main/res/drawable/bg_alarm_gradient.xml
Normal file
12
app/src/main/res/drawable/bg_alarm_gradient.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:type="radial"
|
||||
android:centerX="30%"
|
||||
android:centerY="20%"
|
||||
android:gradientRadius="800dp"
|
||||
android:startColor="#6c4bb5"
|
||||
android:centerColor="#120b2d"
|
||||
android:endColor="#000000" />
|
||||
</shape>
|
||||
13
app/src/main/res/drawable/bg_btn_today_themed.xml
Normal file
13
app/src/main/res/drawable/bg_btn_today_themed.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="#20000000">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke
|
||||
android:width="0.8dp"
|
||||
android:color="@color/btn_today_text" />
|
||||
<corners android:radius="6dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
14
app/src/main/res/drawable/bg_button_one_ui.xml
Normal file
14
app/src/main/res/drawable/bg_button_one_ui.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="#20007AFF">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#0D007AFF" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#1A007AFF" />
|
||||
<corners android:radius="32dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
||||
6
app/src/main/res/drawable/bg_card.xml
Normal file
6
app/src/main/res/drawable/bg_card.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#FFFFFF"/>
|
||||
<corners android:radius="24dp"/>
|
||||
<stroke android:width="0dp" android:color="#00000000"/>
|
||||
</shape>
|
||||
8
app/src/main/res/drawable/bg_circle_shift.xml
Normal file
8
app/src/main/res/drawable/bg_circle_shift.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="@color/white" />
|
||||
<size
|
||||
android:width="44dp"
|
||||
android:height="44dp" />
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/bg_circle_snooze.xml
Normal file
5
app/src/main/res/drawable/bg_circle_snooze.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="#007AFF"/>
|
||||
</shape>
|
||||
4
app/src/main/res/drawable/bg_circle_snooze_v2.xml
Normal file
4
app/src/main/res/drawable/bg_circle_snooze_v2.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="#007AFF"/>
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/bg_circle_stop.xml
Normal file
5
app/src/main/res/drawable/bg_circle_stop.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="#FF3B30"/>
|
||||
</shape>
|
||||
4
app/src/main/res/drawable/bg_circle_stop_v2.xml
Normal file
4
app/src/main/res/drawable/bg_circle_stop_v2.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="#FF3B30"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_day_cell.xml
Normal file
6
app/src/main/res/drawable/bg_day_cell.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/glass_panel_bg"/>
|
||||
<corners android:radius="8dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/glass_panel_stroke"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_day_cell_today.xml
Normal file
6
app/src/main/res/drawable/bg_day_cell_today.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#E7F1FF"/>
|
||||
<corners android:radius="8dp"/>
|
||||
<stroke android:width="2dp" android:color="#0D6EFD"/>
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_day_glass.xml
Normal file
7
app/src/main/res/drawable/bg_day_glass.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/glass_panel_bg"/>
|
||||
<corners android:radius="12dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/glass_panel_stroke"/>
|
||||
<gradient android:startColor="#10FFFFFF" android:endColor="#05FFFFFF" android:angle="45" />
|
||||
</shape>
|
||||
17
app/src/main/res/drawable/bg_day_today.xml
Normal file
17
app/src/main/res/drawable/bg_day_today.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<!-- Today's date highlight: Primary color tint with stronger glass effect -->
|
||||
<gradient
|
||||
android:startColor="#400D6EFD"
|
||||
android:endColor="#200D6EFD"
|
||||
android:angle="135"/>
|
||||
|
||||
<corners android:radius="10dp"/>
|
||||
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="#800D6EFD"/>
|
||||
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_dialog_glass.xml
Normal file
7
app/src/main/res/drawable/bg_dialog_glass.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Dialog background with more rounded corners for One UI 8 -->
|
||||
<solid android:color="@color/dialog_bg"/>
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/glass_panel_stroke"/>
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_dialog_header.xml
Normal file
9
app/src/main/res/drawable/bg_dialog_header.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="135"
|
||||
android:startColor="#800381FE"
|
||||
android:endColor="#805856D6"
|
||||
android:type="linear"/>
|
||||
<corners android:topLeftRadius="28dp" android:topRightRadius="28dp"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_dialog_solid_v4.xml
Normal file
6
app/src/main/res/drawable/bg_dialog_solid_v4.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/dialog_bg"/>
|
||||
<corners android:radius="32dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/grid_divider"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_dismiss_circle_v4.xml
Normal file
6
app/src/main/res/drawable/bg_dismiss_circle_v4.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="#0c091c" />
|
||||
<stroke android:width="6dp" android:color="#998C6EFF" />
|
||||
</shape>
|
||||
19
app/src/main/res/drawable/bg_ghost_button.xml
Normal file
19
app/src/main/res/drawable/bg_ghost_button.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 눌렸을 때 -->
|
||||
<item android:state_pressed="true">
|
||||
<shape>
|
||||
<solid android:color="#30FFFFFF"/>
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="1dp" android:color="#50FFFFFF"/>
|
||||
</shape>
|
||||
</item>
|
||||
<!-- 기본 -->
|
||||
<item>
|
||||
<shape>
|
||||
<solid android:color="#00FFFFFF"/>
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="0.5dp" android:color="#20FFFFFF"/>
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
6
app/src/main/res/drawable/bg_glass_button.xml
Normal file
6
app/src/main/res/drawable/bg_glass_button.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#40FFFFFF"/>
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="1dp" android:color="#30FFFFFF"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_button_accent.xml
Normal file
6
app/src/main/res/drawable/bg_glass_button_accent.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#605C6BC0"/>
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="1dp" android:color="#40FFFFFF"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_button_light.xml
Normal file
6
app/src/main/res/drawable/bg_glass_button_light.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/button_glass_bg"/>
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/glass_panel_stroke"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_card.xml
Normal file
6
app/src/main/res/drawable/bg_glass_card.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#E6FFFFFF"/>
|
||||
<corners android:radius="20dp"/>
|
||||
<stroke android:width="1dp" android:color="#20000000"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_card_dark.xml
Normal file
6
app/src/main/res/drawable/bg_glass_card_dark.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#30FFFFFF"/>
|
||||
<corners android:radius="24dp"/>
|
||||
<stroke android:width="1dp" android:color="#25FFFFFF"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_circle.xml
Normal file
6
app/src/main/res/drawable/bg_glass_circle.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="#33FFFFFF"/>
|
||||
<stroke android:width="1dp" android:color="#4DFFFFFF"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_panel_v2.xml
Normal file
6
app/src/main/res/drawable/bg_glass_panel_v2.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/glass_panel_bg"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/glass_panel_stroke"/>
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_glass_panel_v3.xml
Normal file
7
app/src/main/res/drawable/bg_glass_panel_v3.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/glass_panel_bg"/>
|
||||
<corners android:radius="32dp"/>
|
||||
<stroke android:width="0.8dp" android:color="@color/glass_panel_stroke"/>
|
||||
</shape>
|
||||
|
||||
14
app/src/main/res/drawable/bg_glass_pill.xml
Normal file
14
app/src/main/res/drawable/bg_glass_pill.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<!-- Glass Element: 20% Translucent White -->
|
||||
<solid android:color="#33FFFFFF" />
|
||||
|
||||
<!-- Full Pill Shape -->
|
||||
<corners android:radius="100dp" />
|
||||
|
||||
<!-- Subtle Border: 30% Translucent White -->
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#4DFFFFFF" />
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_glass_pill_v4.xml
Normal file
7
app/src/main/res/drawable/bg_glass_pill_v4.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="44dp" />
|
||||
<solid android:color="#26FFFFFF" />
|
||||
<stroke android:width="1.8dp" android:color="#4DFFFFFF" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_glass_save_button.xml
Normal file
9
app/src/main/res/drawable/bg_glass_save_button.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:startColor="#7C4DFF"
|
||||
android:endColor="#5C6BC0"
|
||||
android:angle="135"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<stroke android:width="1dp" android:color="#40FFFFFF"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_settings_button.xml
Normal file
6
app/src/main/res/drawable/bg_glass_settings_button.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#20000000"/>
|
||||
<corners android:radius="12dp"/>
|
||||
<stroke android:width="1dp" android:color="#15000000"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_slider_snooze.xml
Normal file
6
app/src/main/res/drawable/bg_glass_slider_snooze.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#40FFFFFF"/>
|
||||
<corners android:radius="40dp"/>
|
||||
<stroke android:width="1.5dp" android:color="#501976D2"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_glass_slider_stop.xml
Normal file
6
app/src/main/res/drawable/bg_glass_slider_stop.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#40FFFFFF"/>
|
||||
<corners android:radius="40dp"/>
|
||||
<stroke android:width="1.5dp" android:color="#50E53935"/>
|
||||
</shape>
|
||||
19
app/src/main/res/drawable/bg_glass_thumb_snooze.xml
Normal file
19
app/src/main/res/drawable/bg_glass_thumb_snooze.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#B0FFFFFF"/>
|
||||
<size android:width="64dp" android:height="64dp"/>
|
||||
<stroke android:width="2dp" android:color="#801976D2"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item android:left="16dp" android:top="16dp" android:right="16dp" android:bottom="16dp">
|
||||
<shape android:shape="oval">
|
||||
<gradient
|
||||
android:startColor="#1976D2"
|
||||
android:endColor="#42A5F5"
|
||||
android:angle="135"/>
|
||||
<size android:width="32dp" android:height="32dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
19
app/src/main/res/drawable/bg_glass_thumb_stop.xml
Normal file
19
app/src/main/res/drawable/bg_glass_thumb_stop.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#B0FFFFFF"/>
|
||||
<size android:width="64dp" android:height="64dp"/>
|
||||
<stroke android:width="2dp" android:color="#80E53935"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item android:left="16dp" android:top="16dp" android:right="16dp" android:bottom="16dp">
|
||||
<shape android:shape="oval">
|
||||
<gradient
|
||||
android:startColor="#E53935"
|
||||
android:endColor="#EF5350"
|
||||
android:angle="135"/>
|
||||
<size android:width="32dp" android:height="32dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
6
app/src/main/res/drawable/bg_glass_time_button.xml
Normal file
6
app/src/main/res/drawable/bg_glass_time_button.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#C5E8F8"/>
|
||||
<corners android:radius="12dp"/>
|
||||
<stroke android:width="1dp" android:color="#60A5C8D8"/>
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_grid_cell.xml
Normal file
7
app/src/main/res/drawable/bg_grid_cell.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke
|
||||
android:width="0.5dp"
|
||||
android:color="@color/grid_divider" />
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/bg_grid_cell_today_v4.xml
Normal file
5
app/src/main/res/drawable/bg_grid_cell_today_v4.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/bg_grid_cell_today"/>
|
||||
<stroke android:width="1dp" android:color="@color/primary" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_grid_cell_v4.xml
Normal file
9
app/src/main/res/drawable/bg_grid_cell_v4.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/bg_grid_cell_default" />
|
||||
<stroke android:width="0.5dp" android:color="@color/grid_divider" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
27
app/src/main/res/drawable/bg_item_ripple_oneui.xml
Normal file
27
app/src/main/res/drawable/bg_item_ripple_oneui.xml
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="#1A000000"> <!-- Subtle dark gray for light theme ripple -->
|
||||
<item android:id="@android:id/mask">
|
||||
<shape>
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="28dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<selector>
|
||||
<item android:state_pressed="true">
|
||||
<shape>
|
||||
<solid android:color="#0D000000" /> <!-- 5% gray overlay -->
|
||||
<corners android:radius="28dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<solid android:color="@color/glass_panel_bg" />
|
||||
<corners android:radius="28dp" />
|
||||
<stroke android:width="0.8dp" android:color="@color/glass_panel_stroke" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
</item>
|
||||
</ripple>
|
||||
10
app/src/main/res/drawable/bg_mesh_gradient.xml
Normal file
10
app/src/main/res/drawable/bg_mesh_gradient.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:startColor="@color/background_mesh_start"
|
||||
android:centerColor="@color/background_mesh_center"
|
||||
android:endColor="@color/background_mesh_end"
|
||||
android:type="linear"
|
||||
android:angle="135"/>
|
||||
<corners android:radius="0dp"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_opaque_glass_dialog.xml
Normal file
6
app/src/main/res/drawable/bg_opaque_glass_dialog.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#FFFFFFFF"/> <!-- Fully Opaque to hide everything behind -->
|
||||
<corners android:radius="32dp"/>
|
||||
<stroke android:width="1.2dp" android:color="#1A000000"/>
|
||||
</shape>
|
||||
10
app/src/main/res/drawable/bg_pill_button_primary.xml
Normal file
10
app/src/main/res/drawable/bg_pill_button_primary.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="#4DFFFFFF">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/primary" />
|
||||
<corners android:radius="28dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
5
app/src/main/res/drawable/bg_pill_rect_selected.xml
Normal file
5
app/src/main/res/drawable/bg_pill_rect_selected.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/primary"/>
|
||||
<corners android:radius="12dp"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_pill_rect_unselected.xml
Normal file
6
app/src/main/res/drawable/bg_pill_rect_unselected.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/surface_variant"/>
|
||||
<stroke android:width="1dp" android:color="@color/outline"/>
|
||||
<corners android:radius="12dp"/>
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/bg_pill_selected.xml
Normal file
5
app/src/main/res/drawable/bg_pill_selected.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/primary"/>
|
||||
<corners android:radius="20dp"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_pill_unselected.xml
Normal file
6
app/src/main/res/drawable/bg_pill_unselected.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/button_glass_bg"/>
|
||||
<corners android:radius="20dp"/>
|
||||
<stroke android:width="1dp" android:color="@color/glass_panel_stroke"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_popup_solid_v4.xml
Normal file
6
app/src/main/res/drawable/bg_popup_solid_v4.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#F2FFFFFF"/> <!-- 95% White -->
|
||||
<corners android:radius="28dp"/>
|
||||
<stroke android:width="0dp" android:color="@android:color/transparent"/>
|
||||
</shape>
|
||||
12
app/src/main/res/drawable/bg_pulse_gradient.xml
Normal file
12
app/src/main/res/drawable/bg_pulse_gradient.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<gradient
|
||||
android:type="radial"
|
||||
android:gradientRadius="140dp"
|
||||
android:centerX="50%"
|
||||
android:centerY="50%"
|
||||
android:startColor="#CC8C6EFF"
|
||||
android:centerColor="#40785AFF"
|
||||
android:endColor="#00000000" />
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_settings_card.xml
Normal file
6
app/src/main/res/drawable/bg_settings_card.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#FFFFFF"/>
|
||||
<corners android:radius="16dp"/>
|
||||
<padding android:left="16dp" android:top="16dp" android:right="16dp" android:bottom="16dp"/>
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_settings_gradient.xml
Normal file
7
app/src/main/res/drawable/bg_settings_gradient.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:startColor="#E8F0FE"
|
||||
android:endColor="#F5F7FF"
|
||||
android:angle="135"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_shift_circle_v4.xml
Normal file
6
app/src/main/res/drawable/bg_shift_circle_v4.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="@color/white" />
|
||||
<size android:width="32dp" android:height="32dp" />
|
||||
</shape>
|
||||
14
app/src/main/res/drawable/bg_shift_half_red.xml
Normal file
14
app/src/main/res/drawable/bg_shift_half_red.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Left Half Vector -->
|
||||
<item android:drawable="@drawable/ic_shift_half_red_vector" />
|
||||
|
||||
<!-- Full Circle Stroke Overlay -->
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<stroke android:width="1.5dp" android:color="@color/shift_red"/>
|
||||
<solid android:color="@android:color/transparent"/>
|
||||
<size android:width="44dp" android:height="44dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
6
app/src/main/res/drawable/bg_shift_solid_v4.xml
Normal file
6
app/src/main/res/drawable/bg_shift_solid_v4.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="@color/primary" />
|
||||
<size android:width="44dp" android:height="44dp" />
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_shift_stroke_v4.xml
Normal file
6
app/src/main/res/drawable/bg_shift_stroke_v4.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<stroke android:width="1.5dp" android:color="@color/primary" />
|
||||
<size android:width="44dp" android:height="44dp" />
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/bg_slider_fill_snooze.xml
Normal file
5
app/src/main/res/drawable/bg_slider_fill_snooze.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#401976D2" /> <!-- 25% Opacity Blue -->
|
||||
<corners android:radius="36dp" />
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/bg_slider_fill_stop.xml
Normal file
5
app/src/main/res/drawable/bg_slider_fill_stop.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#40D32F2F" /> <!-- 25% Opacity Red -->
|
||||
<corners android:radius="36dp" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_slider_snooze.xml
Normal file
9
app/src/main/res/drawable/bg_slider_snooze.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:startColor="#1565C0"
|
||||
android:centerColor="#1976D2"
|
||||
android:endColor="#42A5F5"
|
||||
android:angle="135"/>
|
||||
<corners android:radius="40dp"/>
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_slider_stop.xml
Normal file
9
app/src/main/res/drawable/bg_slider_stop.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:startColor="#C62828"
|
||||
android:centerColor="#E53935"
|
||||
android:endColor="#EF5350"
|
||||
android:angle="135"/>
|
||||
<corners android:radius="40dp"/>
|
||||
</shape>
|
||||
6
app/src/main/res/drawable/bg_slider_thumb.xml
Normal file
6
app/src/main/res/drawable/bg_slider_thumb.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#FFFFFF"/>
|
||||
<corners android:radius="30dp"/>
|
||||
<size android:width="60dp" android:height="60dp"/>
|
||||
</shape>
|
||||
7
app/src/main/res/drawable/bg_slider_track.xml
Normal file
7
app/src/main/res/drawable/bg_slider_track.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="40dp" /> <!-- Fully rounded corners for pill shape -->
|
||||
<solid android:color="#00000000" /> <!-- Transparent fill -->
|
||||
<stroke android:width="1.5dp" android:color="#40FFFFFF" /> <!-- Glass border -->
|
||||
</shape>
|
||||
15
app/src/main/res/drawable/bg_thumb_snooze.xml
Normal file
15
app/src/main/res/drawable/bg_thumb_snooze.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#FFFFFF"/>
|
||||
<size android:width="64dp" android:height="64dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item android:left="18dp" android:top="18dp" android:right="18dp" android:bottom="18dp">
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#1976D2"/>
|
||||
<size android:width="28dp" android:height="28dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
15
app/src/main/res/drawable/bg_thumb_stop.xml
Normal file
15
app/src/main/res/drawable/bg_thumb_stop.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#FFFFFF"/>
|
||||
<size android:width="64dp" android:height="64dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item android:left="18dp" android:top="18dp" android:right="18dp" android:bottom="18dp">
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="#E53935"/>
|
||||
<size android:width="28dp" android:height="28dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
30
app/src/main/res/drawable/ic_alarm.xml
Normal file
30
app/src/main/res/drawable/ic_alarm.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,13m-8,0a8,8 0,1 1 16,0a8,8 0,1 1 -16,0"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M12,9v4l2,2"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M5,3L2,6"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M19,3L22,6"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
35
app/src/main/res/drawable/ic_alarm_blue.xml
Normal file
35
app/src/main/res/drawable/ic_alarm_blue.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="M0,0h108v108h-108z"
|
||||
android:fillColor="#2196F3"/>
|
||||
<group android:translateX="30" android:translateY="30" android:scaleX="2" android:scaleY="2">
|
||||
<path
|
||||
android:pathData="M12,13m-8,0a8,8 0,1 1 16,0a8,8 0,1 1 -16,0"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M12,9v4l2,2"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M5,3L2,6"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M19,3L22,6"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</group>
|
||||
</vector>
|
||||
18
app/src/main/res/drawable/ic_bell.xml
Normal file
18
app/src/main/res/drawable/ic_bell.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6,8a6,6 0,0 1 12,0c0,7 3,9 3,9H3s3,-2 3,-9"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M10.3,21a1.94,1.94 0,0 0 3.4,0"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
30
app/src/main/res/drawable/ic_calendar.xml
Normal file
30
app/src/main/res/drawable/ic_calendar.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M8,2v4"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M16,2v4"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M5,4L19,4A2,2 0,0 1 21,6L21,20A2,2 0,0 1 19,22L5,22A2,2 0,0 1 3,20L3,6A2,2 0,0 1 5,4z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M3,10h18"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
10
app/src/main/res/drawable/ic_check.xml
Normal file
10
app/src/main/res/drawable/ic_check.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="@color/secondary">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41-1.41z"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_delete.xml
Normal file
9
app/src/main/res/drawable/ic_delete.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6V19zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
|
||||
</vector>
|
||||
18
app/src/main/res/drawable/ic_memo.xml
Normal file
18
app/src/main/res/drawable/ic_memo.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M11,4H4a2,2 0,0 0 -2,2v14a2,2 0,0 0 2,2h14a2,2 0,0 0 2,-2v-7"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M18.5,2.5a2.121,2.121 0,0 1 3,3L12,15l-4,1 1,-4 9.5,-9.5z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
24
app/src/main/res/drawable/ic_plus_circle.xml
Normal file
24
app/src/main/res/drawable/ic_plus_circle.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,12m-10,0a10,10 0,1 1 20,0a10,10 0,1 1 -20,0"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M8,12h8"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M12,8v8"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
18
app/src/main/res/drawable/ic_settings.xml
Normal file
18
app/src/main/res/drawable/ic_settings.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12.22,2h-0.44a2,2 0,0 0 -2,2v0.18a2,2 0,0 1 -1,1.73l-0.43,0.25a2,2 0,0 1 -2,0l-0.15,-0.08a2,2 0,0 0 -2.73,0.73l-0.22,0.38a2,2 0,0 0 0.73,2.73l0.15,0.1a2,2 0,0 1 1,1.72v0.51a2,2 0,0 1 -1,1.74l-0.15,0.09a2,2 0,0 0 -0.73,2.73l0.22,0.38a2,2 0,0 0 2.73,0.73l0.15,-0.08a2,2 0,0 1 2,0l0.43,0.25a2,2 0,0 1 1,1.73V20a2,2 0,0 0 2,2h0.44a2,2 0,0 0 2,-2v-0.18a2,2 0,0 1 1,-1.73l0.43,-0.25a2,2 0,0 1 2,0l0.15,0.08a2,2 0,0 0 2.73,-0.73l0.22,-0.39a2,2 0,0 0 -0.73,-2.73l-0.15,-0.1a2,2 0,0 1 -1,-1.72v-0.51a2,2 0,0 1 1,-1.74l0.15,-0.09a2,2 0,0 0 0.73,-2.73l-0.22,-0.38a2,2 0,0 0 -2.73,-0.73l-0.15,0.08a2,2 0,0 1 -2,0l-0.43,-0.25a2,2 0,0 1 -1,-1.73V4a2,2 0,0 0 -2,-2z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M12,12m-3,0a3,3 0,1 1 6,0a3,3 0,1 1 -6,0"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
12
app/src/main/res/drawable/ic_shift_half_red_vector.xml
Normal file
12
app/src/main/res/drawable/ic_shift_half_red_vector.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="44dp"
|
||||
android:height="44dp"
|
||||
android:viewportWidth="44"
|
||||
android:viewportHeight="44">
|
||||
<!-- Left Half Red -->
|
||||
<path
|
||||
android:name="left_half"
|
||||
android:fillColor="@color/shift_red"
|
||||
android:pathData="M22,0 A22,22 0 0 0 22,44 L22,0 Z" />
|
||||
</vector>
|
||||
18
app/src/main/res/drawable/ic_user.xml
Normal file
18
app/src/main/res/drawable/ic_user.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M19,21v-2a4,4 0,0 0 -4,-4H9a4,4 0,0 0 -4,4v2"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
<path
|
||||
android:pathData="M12,7m-4,0a4,4 0,1 1 8,0a4,4 0,1 1 -8,0"
|
||||
android:strokeWidth="2"
|
||||
android:strokeColor="#FFFFFF"
|
||||
android:strokeLineCap="round"
|
||||
android:strokeLineJoin="round"/>
|
||||
</vector>
|
||||
110
app/src/main/res/layout/activity_alarm.xml
Normal file
110
app/src/main/res/layout/activity_alarm.xml
Normal file
@@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_mesh_gradient"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<!-- Header / Info Section -->
|
||||
<LinearLayout
|
||||
android:id="@+id/headerContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="40dp"
|
||||
android:paddingHorizontal="32dp"
|
||||
android:paddingVertical="16dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCurrentTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="오후 2:59"
|
||||
android:textSize="88sp"
|
||||
android:fontFamily="sans-serif-thin"
|
||||
android:textColor="@color/white"
|
||||
android:letterSpacing="0.02"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2월 14일 토요일"
|
||||
android:textSize="26sp"
|
||||
android:textColor="@color/white"
|
||||
android:alpha="0.5"
|
||||
android:layout_marginTop="16dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvShiftType"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="[주간] 근무 알람"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/white"
|
||||
android:alpha="0.4"
|
||||
android:layout_marginTop="8dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Center Control Area -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:layout_below="@id/headerContainer"
|
||||
android:paddingBottom="80dp"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<!-- Snooze Button (Glass style) -->
|
||||
<TextView
|
||||
android:id="@+id/btnSnooze"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingHorizontal="48dp"
|
||||
android:paddingVertical="18dp"
|
||||
android:text="다시 울림"
|
||||
android:textSize="22sp"
|
||||
android:textColor="@color/white"
|
||||
android:alpha="0.9"
|
||||
android:background="@drawable/bg_glass_pill_v4"
|
||||
android:clickable="true"
|
||||
android:focusable="true"/>
|
||||
|
||||
<!-- Stop Button Container with Pulse -->
|
||||
<FrameLayout
|
||||
android:layout_width="320dp"
|
||||
android:layout_height="320dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<!-- Glowing Pulse View -->
|
||||
<View
|
||||
android:id="@+id/pulseCircle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/bg_pulse_gradient"/>
|
||||
|
||||
<!-- Dismiss Button -->
|
||||
<TextView
|
||||
android:id="@+id/btnDismiss"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:text="해제"
|
||||
android:textSize="34sp"
|
||||
android:textColor="@color/white"
|
||||
android:background="@drawable/bg_dismiss_circle_v4"
|
||||
android:clickable="true"
|
||||
android:focusable="true"/>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
265
app/src/main/res/layout/activity_main.xml
Normal file
265
app/src/main/res/layout/activity_main.xml
Normal file
@@ -0,0 +1,265 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_mesh_gradient"
|
||||
android:padding="0dp">
|
||||
|
||||
<!-- Compact Header Section -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/headerRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="12dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingHorizontal="20dp"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/appTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_name"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:letterSpacing="-0.03"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/todayStatusText"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="오늘의 근무"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:fontFamily="sans-serif-medium"
|
||||
android:layout_marginStart="12dp"
|
||||
app:layout_constraintStart_toEndOf="@id/appTitle"
|
||||
app:layout_constraintTop_toTopOf="@id/appTitle"
|
||||
app:layout_constraintBottom_toBottomOf="@id/appTitle"
|
||||
app:layout_constraintEnd_toStartOf="@id/btnSettings"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/btnSettings"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@drawable/ic_settings"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:tint="@color/text_primary"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/appTitle"
|
||||
app:layout_constraintBottom_toBottomOf="@id/appTitle" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- Maximized Calendar Card -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/calendarCard"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:cardCornerRadius="28dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
app:layout_constraintTop_toBottomOf="@id/headerRoot"
|
||||
app:layout_constraintBottom_toTopOf="@id/otherTeamsCard"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/calendarContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_glass_panel_v3">
|
||||
|
||||
<!-- Compact Month Controls -->
|
||||
<LinearLayout
|
||||
android:id="@+id/monthControlBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="4dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/prevMonth"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
android:text="<"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
style="@style/Widget.Material3.Button.TextButton"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/monthTitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="2026.02"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/text_primary"
|
||||
android:letterSpacing="-0.02"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnToday"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="28dp"
|
||||
android:text="오늘"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/primary"
|
||||
android:background="@drawable/bg_button_one_ui"
|
||||
android:padding="0dp"
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
style="@style/Widget.Material3.Button.TextButton"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/nextMonth"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
android:text=">"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="18sp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
style="@style/Widget.Material3.Button.TextButton"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Compact Alarm Info Bar -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/alarmInfoBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="4dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
app:layout_constraintTop_toBottomOf="@id/monthControlBar">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/alarmTimeText"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="내 알람: 07:00"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_secondary"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/btnTideLocation"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnTideLocation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="24dp"
|
||||
android:text="군산"
|
||||
android:textSize="10sp"
|
||||
android:textColor="@color/primary"
|
||||
android:background="@drawable/bg_button_one_ui"
|
||||
android:visibility="gone"
|
||||
android:paddingHorizontal="8dp"
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/cbShowHolidays"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/cbShowHolidays"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="24dp"
|
||||
android:text="공휴일"
|
||||
android:checked="false"
|
||||
android:textSize="11sp"
|
||||
android:textColor="@color/text_primary"
|
||||
android:buttonTint="@color/primary"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- Weekday Labels Header -->
|
||||
<LinearLayout
|
||||
android:id="@+id/weekdayLabels"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="28dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="#08000000"
|
||||
app:layout_constraintTop_toBottomOf="@id/alarmInfoBar">
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="일" android:gravity="center" android:textColor="@color/shift_red" android:textSize="11sp" android:textStyle="bold"/>
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="월" android:gravity="center" android:textColor="@color/text_secondary" android:textSize="11sp" android:textStyle="bold"/>
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="화" android:gravity="center" android:textColor="@color/text_secondary" android:textSize="11sp" android:textStyle="bold"/>
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="수" android:gravity="center" android:textColor="@color/text_secondary" android:textSize="11sp" android:textStyle="bold"/>
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="목" android:gravity="center" android:textColor="@color/text_secondary" android:textSize="11sp" android:textStyle="bold"/>
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="금" android:gravity="center" android:textColor="@color/text_secondary" android:textSize="11sp" android:textStyle="bold"/>
|
||||
<TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:text="토" android:gravity="center" android:textColor="@color/primary" android:textSize="11sp" android:textStyle="bold"/>
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/calendarGrid"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:overScrollMode="never"
|
||||
app:layout_constraintTop_toBottomOf="@id/weekdayLabels"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Other Teams Compact Section -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/otherTeamsCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardCornerRadius="20dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="10dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="다른 반 근무"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:letterSpacing="-0.01"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/otherTeamsContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
84
app/src/main/res/layout/activity_manual.xml
Normal file
84
app/src/main/res/layout/activity_manual.xml
Normal file
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_mesh_gradient">
|
||||
|
||||
<!-- Header Section (One UI 8 Style) -->
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="32dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingStart="24dp"
|
||||
android:paddingEnd="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="사용 설명서"
|
||||
android:textSize="32sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:letterSpacing="-0.03"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/manualVersionText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="교대링(Shiftring)"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginTop="2dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/btnCloseManual"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:tint="@color/text_primary"
|
||||
android:padding="12dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<!-- Content Card -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginHorizontal="8dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardCornerRadius="28dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:padding="20dp"
|
||||
android:fillViewport="true">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/manualContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/text_primary"
|
||||
android:lineSpacingExtra="8dp"/>
|
||||
</ScrollView>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</LinearLayout>
|
||||
51
app/src/main/res/layout/activity_notice.xml
Normal file
51
app/src/main/res/layout/activity_notice.xml
Normal file
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_mesh_gradient">
|
||||
|
||||
<!-- Header Section (One UI 8 Style) -->
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="32dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingStart="24dp"
|
||||
android:paddingEnd="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="업데이트 정보"
|
||||
android:textSize="32sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:letterSpacing="-0.03"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/btnCloseNotice"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:tint="@color/text_primary"
|
||||
android:padding="12dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<!-- Content RecyclerView -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/noticeRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:clipToPadding="false"/>
|
||||
|
||||
</LinearLayout>
|
||||
78
app/src/main/res/layout/activity_settings.xml
Normal file
78
app/src/main/res/layout/activity_settings.xml
Normal file
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_mesh_gradient"
|
||||
android:id="@+id/settings_root">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settingsHeader"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingTop="32dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingStart="24dp"
|
||||
android:paddingEnd="24dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settingsTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="설정"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="32sp"
|
||||
android:textStyle="bold"
|
||||
android:letterSpacing="-0.03"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tabLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
app:tabIndicatorHeight="3dp"
|
||||
app:tabIndicatorFullWidth="false"
|
||||
app:tabIndicatorColor="@color/primary"
|
||||
app:tabSelectedTextColor="@color/primary"
|
||||
app:tabTextColor="@color/text_secondary"
|
||||
app:tabRippleColor="@android:color/transparent"
|
||||
app:tabMode="fixed"
|
||||
android:background="@android:color/transparent"
|
||||
app:layout_constraintTop_toBottomOf="@id/settingsHeader"/>
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/viewPager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/tabLayout"
|
||||
app:layout_constraintBottom_toTopOf="@id/bottomActionLayout"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottomActionLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="20dp"
|
||||
android:background="@android:color/transparent"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btnSave"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="58dp"
|
||||
android:text="닫기"
|
||||
android:textSize="17sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="#FFFFFF"
|
||||
app:cornerRadius="29dp"
|
||||
android:backgroundTint="@color/primary"
|
||||
android:elevation="6dp"
|
||||
android:stateListAnimator="@null"/>
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
91
app/src/main/res/layout/dialog_add_custom_alarm.xml
Normal file
91
app/src/main/res/layout/dialog_add_custom_alarm.xml
Normal file
@@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="28dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_dialog_glass"
|
||||
android:padding="24dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="사용자 알람 추가"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="20dp"/>
|
||||
|
||||
<!-- Time Selection -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="알람 시간"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnSelectTime"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:text="07:00"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
<!-- Shift Type Selection -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="근무 유형"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/spinnerShiftType"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:layout_marginBottom="24dp"/>
|
||||
|
||||
<!-- Buttons -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnCancel"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="취소"
|
||||
android:textColor="@color/text_secondary"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnSave"
|
||||
style="@style/Widget.Material3.Button.TonalButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="저장"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
229
app/src/main/res/layout/dialog_alarm_edit_spinner.xml
Normal file
229
app/src/main/res/layout/dialog_alarm_edit_spinner.xml
Normal file
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/dialog_bg">
|
||||
|
||||
<!-- Header / Full Screen Style -->
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="16dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btnCancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="취소"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"
|
||||
android:padding="8dp"
|
||||
android:layout_alignParentStart="true"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialogTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="알람 추가"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/black"
|
||||
android:layout_centerInParent="true"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btnSave"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="저장"
|
||||
android:textColor="@color/primary"
|
||||
android:textStyle="bold"
|
||||
android:textSize="16sp"
|
||||
android:padding="8dp"
|
||||
android:layout_alignParentEnd="true"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="24dp">
|
||||
|
||||
<!-- High-Impact Time Picker Area -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="240dp"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<!-- Native TimePicker but Styled via Code to match One UI as much as possible -->
|
||||
<!-- If native is too limited, we'd use NumberPickers. For now, let's keep it but maximize size -->
|
||||
<TimePicker
|
||||
android:id="@+id/timePicker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:timePickerMode="spinner"
|
||||
android:theme="@style/OneUITimePickerTheme"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Shift Selection (Custom only) -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/cardShiftSelector"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@color/white"
|
||||
android:layout_marginBottom="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="근무 타입"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:textStyle="bold"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center">
|
||||
<TextView android:id="@+id/btnShiftJu" android:layout_width="44dp" android:layout_height="44dp" android:text="주" android:gravity="center" android:textStyle="bold" android:layout_marginEnd="8dp" android:background="@drawable/bg_shift_stroke_v4"/>
|
||||
<TextView android:id="@+id/btnShiftSeok" android:layout_width="44dp" android:layout_height="44dp" android:text="석" android:gravity="center" android:textStyle="bold" android:layout_marginEnd="8dp" android:background="@drawable/bg_shift_stroke_v4"/>
|
||||
<TextView android:id="@+id/btnShiftYa" android:layout_width="44dp" android:layout_height="44dp" android:text="야" android:gravity="center" android:textStyle="bold" android:layout_marginEnd="8dp" android:background="@drawable/bg_shift_stroke_v4"/>
|
||||
<TextView android:id="@+id/btnShiftYaMat" android:layout_width="44dp" android:layout_height="44dp" android:text="야맞" android:gravity="center" android:textStyle="bold" android:layout_marginEnd="8dp" android:background="@drawable/bg_shift_stroke_v4" android:textSize="12sp"/>
|
||||
<TextView android:id="@+id/btnShiftEtc" android:layout_width="44dp" android:layout_height="44dp" android:text="기타" android:gravity="center" android:textStyle="bold" android:background="@drawable/bg_shift_stroke_v4" android:textSize="12sp"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Sound Selection -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@color/white"
|
||||
android:layout_marginBottom="16dp">
|
||||
<LinearLayout
|
||||
android:id="@+id/btnSelectSound"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="20dp"
|
||||
android:gravity="center_vertical"
|
||||
android:background="?attr/selectableItemBackground">
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@drawable/ic_alarm"
|
||||
app:tint="@color/primary"
|
||||
android:layout_marginEnd="16dp"/>
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="알람음"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textStyle="bold"/>
|
||||
<TextView
|
||||
android:id="@+id/tvSoundName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="기본 알람음"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginTop="2dp"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Snooze (Frequency/Repeat) Section -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@color/white"
|
||||
android:layout_marginBottom="16dp">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="다시 울림 간격"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="24dp">
|
||||
<TextView android:id="@+id/snooze5" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="5분" android:gravity="center" android:layout_marginEnd="4dp" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
<TextView android:id="@+id/snooze10" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="10분" android:gravity="center" android:layout_marginEnd="4dp" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
<TextView android:id="@+id/snooze15" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="15분" android:gravity="center" android:layout_marginEnd="4dp" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
<TextView android:id="@+id/snooze30" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="30분" android:gravity="center" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="반복 횟수"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center">
|
||||
<TextView android:id="@+id/repeat3" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="3회" android:gravity="center" android:layout_marginEnd="4dp" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
<TextView android:id="@+id/repeat5" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="5회" android:gravity="center" android:layout_marginEnd="4dp" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
<TextView android:id="@+id/repeatForever" android:layout_width="0dp" android:layout_height="44dp" android:layout_weight="1" android:text="계속" android:gravity="center" android:background="@drawable/bg_pill_rect_unselected"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Delete Button (Only for Custom) -->
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnDelete"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:text="알람 삭제"
|
||||
android:textColor="@color/warning_red"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:layout_marginBottom="40dp"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
159
app/src/main/res/layout/dialog_day_settings.xml
Normal file
159
app/src/main/res/layout/dialog_day_settings.xml
Normal file
@@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="340dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="32dp"
|
||||
app:cardElevation="8dp"
|
||||
app:cardBackgroundColor="@android:color/transparent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_dialog_solid_v4"
|
||||
android:padding="20dp">
|
||||
|
||||
<!-- Header: Date and Shift -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="20dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialogSubtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="내일의 근무"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginBottom="4dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialogTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2월 12일 (주간)"
|
||||
android:textSize="22sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:letterSpacing="-0.02"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 5-Column Grid Refactored -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<!-- Row 1 -->
|
||||
<TextView android:id="@+id/btnJu" style="@style/ShiftCircleButton" android:text="주" android:textColor="@color/shift_ju"/>
|
||||
<TextView android:id="@+id/btnSeok" style="@style/ShiftCircleButton" android:text="석" android:textColor="@color/shift_seok"/>
|
||||
<TextView android:id="@+id/btnYa" style="@style/ShiftCircleButton" android:text="야" android:textColor="@color/shift_ya"/>
|
||||
<TextView android:id="@+id/btnJuMat" style="@style/ShiftCircleButton" android:text="주맞" android:textSize="13sp" android:textColor="@color/shift_jumat"/>
|
||||
<TextView android:id="@+id/btnYaMat" style="@style/ShiftCircleButton" android:text="야맞" android:textSize="13sp" android:textColor="@color/shift_yamat"/>
|
||||
|
||||
<!-- Row 2 -->
|
||||
<TextView android:id="@+id/btnOff" style="@style/ShiftCircleButton" android:text="휴" android:textColor="@color/shift_off"/>
|
||||
<TextView android:id="@+id/btnWolcha" style="@style/ShiftCircleButton" android:text="월차" android:textSize="13sp" android:textColor="@color/secondary"/>
|
||||
<TextView android:id="@+id/btnYeoncha" style="@style/ShiftCircleButton" android:text="연차" android:textSize="13sp" android:textColor="@color/secondary"/>
|
||||
<TextView android:id="@+id/btnBanwol" style="@style/ShiftCircleButton" android:text="반월" android:textSize="13sp" android:textColor="@color/shift_red"/>
|
||||
<TextView android:id="@+id/btnBannyeon" style="@style/ShiftCircleButton" android:text="반년" android:textSize="13sp" android:textColor="@color/shift_red"/>
|
||||
|
||||
<!-- Row 3 -->
|
||||
<TextView android:id="@+id/btnEdu" style="@style/ShiftCircleButton" android:text="교육" android:textSize="13sp" android:textColor="@color/primary"/>
|
||||
<TextView android:id="@+id/btnReset" style="@style/ShiftCircleButton" android:text="초기" android:textSize="13sp" android:textColor="@color/text_secondary"/>
|
||||
<TextView android:id="@+id/btnManual" style="@style/ShiftCircleButton" android:text="직접" android:textSize="14sp" android:textColor="@color/shift_gray"/>
|
||||
|
||||
<androidx.constraintlayout.helper.widget.Flow
|
||||
android:id="@+id/gridFlow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="btnJu,btnSeok,btnYa,btnJuMat,btnYaMat, btnOff,btnWolcha,btnYeoncha,btnBanwol,btnBannyeon, btnEdu,btnReset,btnManual"
|
||||
app:flow_wrapMode="aligned"
|
||||
app:flow_maxElementsWrap="5"
|
||||
app:flow_horizontalStyle="packed"
|
||||
app:flow_horizontalGap="8dp"
|
||||
app:flow_verticalGap="12dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/memoDivider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/grid_divider"
|
||||
android:layout_marginTop="20dp"/>
|
||||
|
||||
<!-- Memo Section -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:padding="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="12dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/memoTitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="하루 메모"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btnClearMemo"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:src="@drawable/ic_delete"
|
||||
app:tint="@color/shift_red"
|
||||
android:padding="6dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"/>
|
||||
</LinearLayout>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/etMemo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="여기에 메모를 입력하세요"
|
||||
android:inputType="textMultiLine|textNoSuggestions"
|
||||
android:minLines="2"
|
||||
android:maxLines="4"
|
||||
android:gravity="top|start"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/text_primary"
|
||||
android:background="@android:color/transparent"
|
||||
android:padding="0dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btnClose"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:text="저장 및 닫기"
|
||||
android:layout_marginTop="24dp"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="#FFFFFF"
|
||||
app:cornerRadius="28dp"
|
||||
android:backgroundTint="@color/primary"
|
||||
android:elevation="2dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
86
app/src/main/res/layout/dialog_month_year_picker.xml
Normal file
86
app/src/main/res/layout/dialog_month_year_picker.xml
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="32dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="32dp"
|
||||
android:background="@drawable/bg_opaque_glass_dialog">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="날짜 이동"
|
||||
android:textSize="24sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/black"
|
||||
android:layout_marginBottom="32dp"
|
||||
android:layout_gravity="center_horizontal"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center">
|
||||
|
||||
<NumberPicker
|
||||
android:id="@+id/yearPicker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="180dp"
|
||||
android:theme="@style/AppNumberPickerStyle"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="년"
|
||||
android:textSize="18sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginStart="8dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="1.5dp"
|
||||
android:layout_height="80dp"
|
||||
android:background="#1A000000"
|
||||
android:layout_marginHorizontal="20dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center">
|
||||
|
||||
<NumberPicker
|
||||
android:id="@+id/monthPicker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="180dp"
|
||||
android:theme="@style/AppNumberPickerStyle"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="월"
|
||||
android:textSize="18sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginStart="8dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
365
app/src/main/res/layout/fragment_settings_additional.xml
Normal file
365
app/src/main/res/layout/fragment_settings_additional.xml
Normal file
@@ -0,0 +1,365 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
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:background="@color/surface"
|
||||
android:padding="16dp">
|
||||
|
||||
<!-- Header Section -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="20dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@drawable/ic_plus_circle"
|
||||
app:tint="@color/section_title"
|
||||
android:layout_marginEnd="12dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="부가 기능 및 테마"
|
||||
android:textSize="17sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/section_title"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Tide Section (Moved Up) -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:padding="20dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="물때 정보 표시"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="4dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="군산, 변산, 여수, 태안 물때 표시"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/text_secondary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/switchTide"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Backup/Restore Section (Moved Up) -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="데이터 백업 및 복구"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnBackup"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_weight="1"
|
||||
android:text="백업하기"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textStyle="bold"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:layout_marginEnd="4dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnRestore"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_weight="1"
|
||||
android:text="복구하기"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textStyle="bold"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:layout_marginStart="4dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="근무 변경 내역, 메모, 환경 설정이 저장됩니다."
|
||||
android:textSize="11sp"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:layout_marginTop="8dp"/>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Sharing Section (Moved Up) -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/btnShareApp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="16dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_plus_circle"
|
||||
app:tint="@color/primary"
|
||||
android:layout_marginEnd="16dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="교대링 앱 친구에게 공유하기"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Theme Section -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="화면 테마 설정"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/themeSpinner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingEnd="12dp"/>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Info & Support Section -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="정보 및 지원"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="12dp"/>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- Manual -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnManual"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="16dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_memo"
|
||||
app:tint="@color/text_primary"
|
||||
android:layout_marginEnd="16dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="사용 설명서"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginHorizontal="20dp"/>
|
||||
|
||||
<!-- Notice -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnNotice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="16dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_bell"
|
||||
app:tint="@color/text_primary"
|
||||
android:layout_marginEnd="16dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="업데이트 정보"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Reset Section (Very Bottom) -->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="데이터 초기화"
|
||||
android:textColor="@color/shift_red"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnResetOverrides"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:text="개별 근무/알람 설정 전체 삭제"
|
||||
android:textColor="@color/shift_red"
|
||||
android:background="@drawable/bg_glass_button_light"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="달력에서 개별적으로 바꾼 근무와 알람 시간이 모두 초기 설정으로 복구됩니다."
|
||||
android:textSize="11sp"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:layout_marginTop="8dp"/>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
79
app/src/main/res/layout/fragment_settings_alarm.xml
Normal file
79
app/src/main/res/layout/fragment_settings_alarm.xml
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
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:background="@color/surface"
|
||||
android:padding="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="8dp"
|
||||
android:layout_marginBottom="8dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvMasterStatus"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="전체 알람 켜짐"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/primary"
|
||||
android:background="@drawable/bg_glass_pill_v4"
|
||||
android:backgroundTint="#F2F2F7"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="6dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Unified Alarm List Container (Background removed as items are now individual cards) -->
|
||||
<LinearLayout
|
||||
android:id="@+id/alarmListContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
<!-- Add Custom Alarm Button (Premium Solid Style) -->
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnAddCustomAlarm"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:text="+ 알람 추가"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
android:background="@drawable/bg_pill_button_primary"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:elevation="4dp"/>
|
||||
|
||||
<!-- Test Action -->
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:id="@+id/btnTestAlarm"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:text="🔔 알람 사운드 테스트"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="14sp"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:layout_marginBottom="40dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
342
app/src/main/res/layout/fragment_settings_basic.xml
Normal file
342
app/src/main/res/layout/fragment_settings_basic.xml
Normal file
@@ -0,0 +1,342 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/transparent"
|
||||
android:overScrollMode="never">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<!-- Company & Team Section -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="소속 및 반 설정"
|
||||
android:textColor="@color/section_title"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="12dp"/>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:padding="20dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="16dp">
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="근무 회사"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<Spinner
|
||||
android:id="@+id/factorySpinner"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="40dp"
|
||||
android:entries="@array/factory_array"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:paddingStart="12dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="나의 근무 반"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<Spinner
|
||||
android:id="@+id/teamSpinner"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="40dp"
|
||||
android:background="@drawable/bg_glass_button_light"
|
||||
android:paddingStart="12dp"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- App Stability (Permissions) -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="앱 안정성 설정 (필수)"
|
||||
android:textColor="@color/shift_red"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="12dp"/>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- Battery Optimization -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnBatteryOptimize"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="12dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="배터리 최적화 제외 (필수)"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<TextView
|
||||
android:id="@+id/tvBatteryStatus"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="삼성/LG 폰 알람 누락 방지"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginTop="2dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginHorizontal="20dp"/>
|
||||
|
||||
<!-- Exact Alarm -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnExactAlarm"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="12dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="정확한 알람 허용"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<TextView
|
||||
android:id="@+id/tvExactStatus"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="정해진 시간에 정확히 알람 울림"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginTop="2dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/dividerExact"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginHorizontal="20dp"/>
|
||||
|
||||
<!-- Overlay Permission -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnOverlayPermission"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="12dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="다른 앱 위에 표시"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<TextView
|
||||
android:id="@+id/tvOverlayStatus"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="잠금 화면 위로 알람창 표시"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginTop="2dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginHorizontal="20dp"/>
|
||||
|
||||
<!-- Full Screen Intent (Android 14+) -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnFullScreenIntent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="12dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="전체화면 알림 허용"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<TextView
|
||||
android:id="@+id/tvFullScreenStatus"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="안드로이드 14 이상 잠금화면 필수 권한"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginTop="2dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginHorizontal="20dp"/>
|
||||
|
||||
<!-- System Details Launcher -->
|
||||
<LinearLayout
|
||||
android:id="@+id/btnPermissionSettings"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="12dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="시스템 전체 권한 설정"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="16sp"/>
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:src="@drawable/ic_settings"
|
||||
app:tint="@color/text_tertiary"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<!-- Info & Support -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="앱 정보"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:textSize="13sp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="12dp"/>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent"
|
||||
android:layout_marginBottom="24dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_glass_panel_v3"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/btnCheckUpdate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:paddingVertical="16dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_settings"
|
||||
app:tint="@color/primary"
|
||||
android:layout_marginEnd="16dp"/>
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="최신 버전 확인"
|
||||
android:textColor="@color/primary"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/versionInfo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ver. 1.0.0"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:textSize="12sp"
|
||||
android:layout_marginBottom="40dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
36
app/src/main/res/layout/fragment_settings_lab.xml
Normal file
36
app/src/main/res/layout/fragment_settings_lab.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp"
|
||||
android:gravity="center">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="80dp"
|
||||
android:src="@drawable/ic_settings"
|
||||
app:tint="@color/text_tertiary"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:alpha="0.5"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="실험실 기능 준비 중"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="더욱 편리한 기능을 개발하고 있습니다.\n다음 업데이트를 기대해 주세요!"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:gravity="center"
|
||||
android:lineSpacingExtra="4dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
139
app/src/main/res/layout/item_alarm_unified.xml
Normal file
139
app/src/main/res/layout/item_alarm_unified.xml
Normal file
@@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="4dp"
|
||||
android:layout_marginVertical="6dp"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardElevation="0dp"
|
||||
app:cardBackgroundColor="@android:color/transparent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/rowContents"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/bg_item_ripple_oneui"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:paddingVertical="4dp"
|
||||
android:paddingHorizontal="4dp">
|
||||
|
||||
<!-- Time & Info Area -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingVertical="12dp"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:background="@android:color/transparent">
|
||||
|
||||
<!-- Shift Indicator Circle (Pill style) -->
|
||||
<TextView
|
||||
android:id="@+id/shiftIndicator"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:gravity="center"
|
||||
android:text="주"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/black"
|
||||
android:background="@drawable/bg_shift_stroke_v4"
|
||||
android:layout_marginEnd="16dp"/>
|
||||
|
||||
<!-- Vertical Container for Text Info -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="16dp">
|
||||
|
||||
<!-- Time Row -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="bottom">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="07:00"
|
||||
android:textSize="28sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/black"
|
||||
android:letterSpacing="-0.03"
|
||||
android:includeFontPadding="false"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAmPm"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="오전"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginBottom="6dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Interval & Count Info -->
|
||||
<TextView
|
||||
android:id="@+id/tvSummary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="5분, 3회"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/text_secondary"
|
||||
android:layout_marginTop="2dp"/>
|
||||
|
||||
<!-- Sound Name Info -->
|
||||
<TextView
|
||||
android:id="@+id/tvSoundName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="기본음"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/primary"
|
||||
android:layout_marginTop="2dp"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Vertical Divider -->
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="40dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:alpha="0.2"/>
|
||||
|
||||
<!-- Separate Toggle Area -->
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutAlarmSwitch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
android:id="@+id/alarmSwitch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:thumbTint="@color/white"
|
||||
app:trackTint="@color/sl_switch_track"
|
||||
app:thumbIcon="@null"
|
||||
app:thumbIconSize="24dp"
|
||||
android:clickable="false"
|
||||
android:focusable="false"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
101
app/src/main/res/layout/item_day.xml
Normal file
101
app/src/main/res/layout/item_day.xml
Normal file
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/dayRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="92dp"
|
||||
android:background="@drawable/bg_grid_cell_v4">
|
||||
|
||||
<!-- Day Number (top-left) -->
|
||||
<TextView
|
||||
android:id="@+id/dayNumber"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="12"
|
||||
android:textColor="@color/text_primary"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<!-- Tide Text (top-right) -->
|
||||
<TextView
|
||||
android:id="@+id/tvTide"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="08:20"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:textSize="9sp"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<!-- Shift Abbreviation Circular Indicator (Center) -->
|
||||
<TextView
|
||||
android:id="@+id/shiftChar"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:gravity="center"
|
||||
android:text="주"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintVertical_bias="0.45"/>
|
||||
|
||||
<!-- Memo Content Text (Below Shift) - Replacing icon logic for visibility -->
|
||||
<TextView
|
||||
android:id="@+id/memoContent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="메모내용"
|
||||
android:textSize="10sp"
|
||||
android:textColor="@color/secondary"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:visibility="gone"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:paddingHorizontal="2dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/shiftChar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/memoIndicator"/>
|
||||
|
||||
<!-- Holiday Name Small (Bottom) -->
|
||||
<TextView
|
||||
android:id="@+id/holidayNameSmall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="설날"
|
||||
android:textSize="9sp"
|
||||
android:textColor="@color/shift_red"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/memoIndicator"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<!-- Memo Indicator (bottom-right) -->
|
||||
<ImageView
|
||||
android:id="@+id/memoIndicator"
|
||||
android:layout_width="12dp"
|
||||
android:layout_height="12dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:src="@drawable/ic_memo"
|
||||
app:tint="@color/secondary"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
53
app/src/main/res/layout/item_notice.xml
Normal file
53
app/src/main/res/layout/item_notice.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardElevation="4dp"
|
||||
app:cardBackgroundColor="@color/background_mesh_center">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/noticeTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="공지사항 제목"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/text_primary"
|
||||
android:layout_marginBottom="4dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/noticeDate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="2026-02-07"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/text_tertiary"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/glass_panel_stroke"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/noticeContent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="공지사항 내용"
|
||||
android:textSize="14sp"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:textColor="@color/text_secondary"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
3
app/src/main/res/values-en/strings.xml
Normal file
3
app/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<string name="app_name">shiftring</string>
|
||||
</resources>
|
||||
59
app/src/main/res/values-night/colors.xml
Normal file
59
app/src/main/res/values-night/colors.xml
Normal file
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Brand Colors -->
|
||||
<color name="primary">#0A84FF</color>
|
||||
<color name="primary_variant">#0056B3</color>
|
||||
<color name="secondary">#30D158</color>
|
||||
<color name="black">#000000</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
|
||||
<!-- Material 3 Containers -->
|
||||
<color name="primary_container">#004785</color>
|
||||
<color name="on_primary_container">#D1E4FF</color>
|
||||
<color name="secondary_container">#1B5E20</color>
|
||||
<color name="on_secondary_container">#E8F5E9</color>
|
||||
|
||||
<!-- UI Semantics -->
|
||||
<color name="background_mesh_start">#000000</color>
|
||||
<color name="background_mesh_center">#1C1C1E</color>
|
||||
<color name="background_mesh_end">#000000</color>
|
||||
|
||||
<color name="glass_panel_bg">#FF2C2C2E</color>
|
||||
<color name="glass_panel_stroke">#33FFFFFF</color>
|
||||
|
||||
<color name="text_primary">#FFFFFF</color>
|
||||
<color name="text_secondary">#8E8E93</color>
|
||||
<color name="text_tertiary">#48484A</color>
|
||||
<color name="text_inverse">#000000</color>
|
||||
|
||||
<color name="button_glass_bg">#1C1C1E</color>
|
||||
<color name="button_text">#FFFFFF</color>
|
||||
|
||||
<!-- Shift Colors (Desaturated but vibrant for Dark Mode) -->
|
||||
<color name="shift_ju">#FFD60A</color>
|
||||
<color name="shift_jumat">#FF9F0A</color>
|
||||
<color name="shift_seok">#4DD0E1</color> <!-- Bright Teal -->
|
||||
<color name="shift_ya">#FFFFFF</color> <!-- Bright White (for Dark Mode contrast) -->
|
||||
<color name="shift_yamat">#BB86FC</color> <!-- Bright Purple -->
|
||||
<color name="shift_off">#FF453A</color>
|
||||
|
||||
<color name="shift_lemon">#FFD60A</color>
|
||||
<color name="shift_gray">#8E8E93</color>
|
||||
<color name="shift_black">#FFFFFF</color>
|
||||
<color name="shift_red">#FF453A</color>
|
||||
|
||||
<color name="team_a_color">#FF9F0A</color>
|
||||
<color name="team_b_color">#4DD0E1</color>
|
||||
<color name="team_c_color">#FFFFFF</color>
|
||||
<color name="team_d_color">#BB86FC</color>
|
||||
|
||||
<!-- Theme-aware Grid Colors -->
|
||||
<color name="bg_grid_cell_default">#1C1C1E</color>
|
||||
<color name="bg_grid_cell_today">#003366</color>
|
||||
<color name="grid_divider">#3A3A3C</color> <!-- Lighter divider -->
|
||||
<color name="dialog_bg">#FF2C2C2E</color> <!-- Solid Dark Grey -->
|
||||
<color name="section_title">#0A84FF</color>
|
||||
<color name="btn_today_text">#0A84FF</color>
|
||||
<color name="warning_red">#FF453A</color>
|
||||
<color name="surface">#1C1C1E</color>
|
||||
</resources>
|
||||
18
app/src/main/res/values-night/themes.xml
Normal file
18
app/src/main/res/values-night/themes.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="Theme.ShiftAlarm" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Main Brand Colors -->
|
||||
<item name="colorPrimary">#BB86FC</item>
|
||||
<item name="colorPrimaryVariant">#3700B3</item>
|
||||
<item name="colorOnPrimary">#000000</item>
|
||||
|
||||
<!-- Backgrounds -->
|
||||
<item name="android:windowBackground">#0D1117</item>
|
||||
<item name="android:colorBackground">#0D1117</item>
|
||||
<item name="android:statusBarColor">#010409</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
|
||||
<!-- Typography -->
|
||||
<item name="android:fontFamily">sans-serif</item>
|
||||
</style>
|
||||
</resources>
|
||||
63
app/src/main/res/values/colors.xml
Normal file
63
app/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Brand Colors (One UI 8.x) -->
|
||||
<color name="primary">#007AFF</color>
|
||||
<color name="primary_variant">#0056B3</color>
|
||||
<color name="secondary">#34C759</color>
|
||||
<color name="black">#1C1C1E</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
|
||||
<!-- Material 3 Containers -->
|
||||
<color name="primary_container">#D1E4FF</color>
|
||||
<color name="on_primary_container">#001D36</color>
|
||||
<color name="secondary_container">#E8F5E9</color>
|
||||
<color name="on_secondary_container">#002107</color>
|
||||
|
||||
<!-- UI Semantics -->
|
||||
<color name="background_mesh_start">#F2F2F7</color>
|
||||
<color name="background_mesh_center">#FFFFFF</color>
|
||||
<color name="background_mesh_end">#E5E5EA</color>
|
||||
|
||||
<color name="glass_panel_bg">#CEFFFFFF</color>
|
||||
<color name="glass_panel_stroke">#12000000</color>
|
||||
|
||||
<color name="text_primary">#1C1C1E</color>
|
||||
<color name="text_secondary">#636366</color>
|
||||
<color name="text_tertiary">#AEAEB2</color>
|
||||
<color name="text_inverse">#FFFFFF</color>
|
||||
|
||||
<color name="surface">#F2F2F7</color>
|
||||
<color name="surface_variant">#FFFFFF</color>
|
||||
<color name="outline">#D1D1D6</color>
|
||||
|
||||
<color name="button_glass_bg">#14000000</color>
|
||||
<color name="button_text">#1C1C1E</color>
|
||||
|
||||
<!-- Shift Colors (Referencing clock.html) -->
|
||||
<color name="shift_ju">#FFD60A</color> <!-- Yellow (Day) -->
|
||||
<color name="shift_seok">#0097A7</color> <!-- Teal (Evening) - Distinct from Blue/Purple -->
|
||||
<color name="shift_ya">#000000</color> <!-- Black (Night) -->
|
||||
<color name="shift_off">#FF3B30</color> <!-- Red (Off) -->
|
||||
<color name="shift_jumat">#FF9500</color> <!-- Orange (Day Split) -->
|
||||
<color name="shift_yamat">#6200EE</color> <!-- Deep Purple (Night Split) -->
|
||||
<color name="shift_red">#FF3B30</color>
|
||||
|
||||
<color name="shift_lemon">#FFD60A</color>
|
||||
<color name="shift_gray">#8E8E93</color> <!-- Mid Gray (Etc) -->
|
||||
<color name="shift_black">#000000</color>
|
||||
|
||||
<color name="team_a_color">#FF9500</color>
|
||||
<color name="team_b_color">#0097A7</color>
|
||||
<color name="team_c_color">#000000</color>
|
||||
<color name="team_d_color">#6200EE</color>
|
||||
|
||||
<!-- Theme-aware Grid Colors -->
|
||||
<color name="bg_grid_cell_default">#00000000</color>
|
||||
<color name="bg_grid_cell_today">#1A007AFF</color> <!-- 10% Blue Overlay -->
|
||||
<color name="grid_divider">#1A000000</color>
|
||||
|
||||
<color name="dialog_bg">#FFF7F7F7</color> <!-- Fully Opaque Surface Color -->
|
||||
<color name="section_title">#007AFF</color>
|
||||
<color name="btn_today_text">#007AFF</color>
|
||||
<color name="warning_red">#FF3B30</color>
|
||||
</resources>
|
||||
32
app/src/main/res/values/strings.xml
Normal file
32
app/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<resources>
|
||||
<string name="app_name">교대링</string>
|
||||
<string name="team_selection">반 선택</string>
|
||||
<string name="current_shift">오늘 근무: %1$s</string>
|
||||
<string name="next_shift">내일 근무: %1$s</string>
|
||||
<string name="alarm_status">알람 상태</string>
|
||||
<string name="company_selection">회사 선택</string>
|
||||
|
||||
<string name="tab_basic">기본 설정</string>
|
||||
<string name="tab_alarm">알람 설정</string>
|
||||
<string name="tab_additional">부가기능</string>
|
||||
<string name="tab_lab">실험실</string>
|
||||
|
||||
<string-array name="factory_array">
|
||||
<item>전주</item>
|
||||
<item>논산</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="team_array">
|
||||
<item>A반</item>
|
||||
<item>B반</item>
|
||||
<item>C반</item>
|
||||
<item>D반</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="theme_array">
|
||||
<item>시스템 설정</item>
|
||||
<item>라이트 모드</item>
|
||||
<item>다크 모드</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
14
app/src/main/res/values/styles_shift.xml
Normal file
14
app/src/main/res/values/styles_shift.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="ShiftCircleButton">
|
||||
<item name="android:layout_width">48dp</item>
|
||||
<item name="android:layout_height">48dp</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:textSize">15sp</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:clickable">true</item>
|
||||
<item name="android:focusable">true</item>
|
||||
<item name="android:elevation">2dp</item>
|
||||
<item name="android:stateListAnimator">@null</item>
|
||||
</style>
|
||||
</resources>
|
||||
79
app/src/main/res/values/themes.xml
Normal file
79
app/src/main/res/values/themes.xml
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<style name="Theme.ShiftAlarm" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Main Brand Colors -->
|
||||
<item name="colorPrimary">@color/primary</item>
|
||||
<item name="colorOnPrimary">@color/white</item>
|
||||
<item name="colorPrimaryContainer">@color/primary_container</item>
|
||||
<item name="colorOnPrimaryContainer">@color/on_primary_container</item>
|
||||
|
||||
<!-- Secondary Colors -->
|
||||
<item name="colorSecondary">@color/secondary</item>
|
||||
<item name="colorOnSecondary">@color/white</item>
|
||||
<item name="colorSecondaryContainer">@color/secondary_container</item>
|
||||
<item name="colorOnSecondaryContainer">@color/on_secondary_container</item>
|
||||
|
||||
<!-- Surface and Backgrounds -->
|
||||
<item name="android:windowBackground">@color/background_mesh_start</item>
|
||||
<item name="android:colorBackground">@color/background_mesh_center</item>
|
||||
<item name="colorSurface">@color/surface</item>
|
||||
<item name="colorOnSurface">@color/text_primary</item>
|
||||
<item name="colorSurfaceVariant">@color/surface_variant</item>
|
||||
<item name="colorOnSurfaceVariant">@color/text_secondary</item>
|
||||
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">true</item>
|
||||
|
||||
<!-- Typography -->
|
||||
<item name="android:fontFamily">sans-serif</item>
|
||||
<item name="textAppearanceHeadlineLarge">@style/OneUI8.Headline</item>
|
||||
<item name="textAppearanceTitleMedium">@style/OneUI8.Title</item>
|
||||
</style>
|
||||
|
||||
<style name="OneUI8.Headline" parent="TextAppearance.Material3.HeadlineLarge">
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textColor">@color/text_primary</item>
|
||||
<item name="android:textSize">32sp</item>
|
||||
<item name="android:letterSpacing">-0.02</item>
|
||||
</style>
|
||||
|
||||
<style name="OneUI8.Title" parent="TextAppearance.Material3.TitleMedium">
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="android:textColor">@color/text_primary</item>
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:letterSpacing">-0.01</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="ShiftAlarm.TonalButton" parent="Widget.Material3.Button.TonalButton">
|
||||
<item name="cornerRadius">28dp</item>
|
||||
<item name="android:paddingHorizontal">24dp</item>
|
||||
<item name="android:paddingVertical">12dp</item>
|
||||
</style>
|
||||
|
||||
<style name="CardStyle">
|
||||
<item name="android:background">@drawable/bg_glass_panel_v3</item>
|
||||
<item name="android:elevation">0dp</item>
|
||||
</style>
|
||||
|
||||
<style name="OneUITimePickerTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<item name="android:textColorPrimary">@color/text_primary</item>
|
||||
<item name="android:textColorSecondary">@color/text_secondary</item>
|
||||
<item name="android:editTextColor">@color/primary</item>
|
||||
<item name="android:textSize">24sp</item>
|
||||
</style>
|
||||
<style name="AppNumberPickerStyle">
|
||||
<item name="android:textSize">22sp</item>
|
||||
<item name="android:textColorPrimary">@color/text_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="OneUI8_Dialog" parent="Theme.Material3.DayNight.Dialog">
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
<item name="android:windowIsFloating">true</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
|
||||
</style>
|
||||
</resources>
|
||||
6
app/src/main/res/xml/provider_paths.xml
Normal file
6
app/src/main/res/xml/provider_paths.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<external-path name="external_files" path="."/>
|
||||
<cache-path name="cache" path="."/>
|
||||
<files-path name="files" path="."/>
|
||||
</paths>
|
||||
Reference in New Issue
Block a user