Rebrand as TPSchedule and refine clear liquid glass dock

This commit is contained in:
Codex
2026-10-13 22:08:20 +08:00
parent 50fcc70e8e
commit 204e945b2e
45 changed files with 1155 additions and 103 deletions
+1
View File
@@ -6,6 +6,7 @@ gradle-wrapper.jar
/local.properties
GeneratedPluginRegistrant.java
.cxx/
.kotlin/
# Remember to never publicly share your keystore.
# See https://flutter.dev/to/reference-keystore
+2 -3
View File
@@ -5,7 +5,7 @@ plugins {
}
android {
namespace = "com.example.hepan_everyday"
namespace = "com.tpschedule.app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
@@ -16,8 +16,7 @@ android {
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.hepan_everyday"
applicationId = "com.tpschedule.app"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = 24
@@ -6,10 +6,11 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<application
android:label="RSchedule"
android:label="TPSchedule"
android:networkSecurityConfig="@xml/network_security_config"
android:name="${applicationName}"
android:icon="@drawable/ic_hepan_launcher">
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher">
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" android:exported="false" />
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver" android:exported="false">
<intent-filter>
@@ -1,4 +1,4 @@
package com.example.hepan_everyday
package com.tpschedule.app
import android.Manifest
import android.app.Activity
@@ -1,4 +1,4 @@
package com.example.hepan_everyday
package com.tpschedule.app
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
@@ -1,12 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
<item android:drawable="@drawable/tpschedule_gradient" />
<item android:width="120dp" android:height="120dp" android:gravity="center" android:drawable="@drawable/ic_tpschedule_logo" />
</layer-list>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108" android:viewportHeight="108">
<group android:scaleX="0.035" android:scaleY="0.035" android:translateX="18.855275" android:translateY="18.83165">
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFD22A" android:strokeWidth="217" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M425.1,514.64 H1583.18 A20,20 0,0 1,1603.18 534.64 V1566.53 A20,20 0,0 1,1583.18 1586.53 H425.1 A20,20 0,0 1,405.1 1566.53 V534.64 A20,20 0,0 1,425.1 514.64 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="150" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M731.72,339.92 H740.93 A27.65,27.65 0,0 1,768.58 367.57 V661.71 A27.65,27.65 0,0 1,740.93 689.36 H731.72 A27.65,27.65 0,0 1,704.07 661.71 V367.57 A27.65,27.65 0,0 1,731.72 339.92 Z M1277.56,339.92 H1286.77 A27.65,27.65 0,0 1,1314.42 367.57 V661.71 A27.65,27.65 0,0 1,1286.77 689.36 H1277.56 A27.65,27.65 0,0 1,1249.91 661.71 V367.57 A27.65,27.65 0,0 1,1277.56 339.92 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="185" android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M729.01,1004.81 c70.21,112.08 200.6,174.7 327.98,152.69 c122.48,-18.51 206.2,-123.19 222.28,-152.69" />
</group>
</vector>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" android:width="108dp" android:height="108dp" android:viewportWidth="2008.27" android:viewportHeight="2009.62">
<path android:pathData="M0.5,0.5 H2007.77 V2009.12 H0.5 Z" android:strokeColor="#000000" android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient android:type="linear" android:startX="324.09" android:startY="1572.05" android:endX="1871.99" android:endY="280.93">
<item android:offset="0" android:color="#3FD1FF" />
<item android:offset="0.28" android:color="#38B3FF" />
<item android:offset="1" android:color="#2A6CFF" />
</gradient>
</aapt:attr>
</path>
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFD22A" android:strokeWidth="217" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M425.1,514.64 H1583.18 A20,20 0,0 1,1603.18 534.64 V1566.53 A20,20 0,0 1,1583.18 1586.53 H425.1 A20,20 0,0 1,405.1 1566.53 V534.64 A20,20 0,0 1,425.1 514.64 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="150" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M731.72,339.92 H740.93 A27.65,27.65 0,0 1,768.58 367.57 V661.71 A27.65,27.65 0,0 1,740.93 689.36 H731.72 A27.65,27.65 0,0 1,704.07 661.71 V367.57 A27.65,27.65 0,0 1,731.72 339.92 Z M1277.56,339.92 H1286.77 A27.65,27.65 0,0 1,1314.42 367.57 V661.71 A27.65,27.65 0,0 1,1286.77 689.36 H1277.56 A27.65,27.65 0,0 1,1249.91 661.71 V367.57 A27.65,27.65 0,0 1,1277.56 339.92 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="185" android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M729.01,1004.81 c70.21,112.08 200.6,174.7 327.98,152.69 c122.48,-18.51 206.2,-123.19 222.28,-152.69" />
</vector>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" android:width="108dp" android:height="108dp" android:viewportWidth="2008.27" android:viewportHeight="2009.62">
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFD22A" android:strokeWidth="217" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M425.1,514.64 H1583.18 A20,20 0,0 1,1603.18 534.64 V1566.53 A20,20 0,0 1,1583.18 1586.53 H425.1 A20,20 0,0 1,405.1 1566.53 V534.64 A20,20 0,0 1,425.1 514.64 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="150" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M731.72,339.92 H740.93 A27.65,27.65 0,0 1,768.58 367.57 V661.71 A27.65,27.65 0,0 1,740.93 689.36 H731.72 A27.65,27.65 0,0 1,704.07 661.71 V367.57 A27.65,27.65 0,0 1,731.72 339.92 Z M1277.56,339.92 H1286.77 A27.65,27.65 0,0 1,1314.42 367.57 V661.71 A27.65,27.65 0,0 1,1286.77 689.36 H1277.56 A27.65,27.65 0,0 1,1249.91 661.71 V367.57 A27.65,27.65 0,0 1,1277.56 339.92 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="185" android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M729.01,1004.81 c70.21,112.08 200.6,174.7 327.98,152.69 c122.48,-18.51 206.2,-123.19 222.28,-152.69" />
</vector>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108" android:viewportHeight="108">
<group android:scaleX="0.035" android:scaleY="0.035" android:translateX="18.855275" android:translateY="18.83165">
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="217" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M425.1,514.64 H1583.18 A20,20 0,0 1,1603.18 534.64 V1566.53 A20,20 0,0 1,1583.18 1586.53 H425.1 A20,20 0,0 1,405.1 1566.53 V534.64 A20,20 0,0 1,425.1 514.64 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="150" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M731.72,339.92 H740.93 A27.65,27.65 0,0 1,768.58 367.57 V661.71 A27.65,27.65 0,0 1,740.93 689.36 H731.72 A27.65,27.65 0,0 1,704.07 661.71 V367.57 A27.65,27.65 0,0 1,731.72 339.92 Z M1277.56,339.92 H1286.77 A27.65,27.65 0,0 1,1314.42 367.57 V661.71 A27.65,27.65 0,0 1,1286.77 689.36 H1277.56 A27.65,27.65 0,0 1,1249.91 661.71 V367.57 A27.65,27.65 0,0 1,1277.56 339.92 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="185" android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M729.01,1004.81 c70.21,112.08 200.6,174.7 327.98,152.69 c122.48,-18.51 206.2,-123.19 222.28,-152.69" />
</group>
</vector>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="288dp" android:height="288dp" android:viewportWidth="288" android:viewportHeight="288">
<group android:scaleX="0.094" android:scaleY="0.094" android:translateX="49.61131" android:translateY="49.54786">
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFD22A" android:strokeWidth="217" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M425.1,514.64 H1583.18 A20,20 0,0 1,1603.18 534.64 V1566.53 A20,20 0,0 1,1583.18 1586.53 H425.1 A20,20 0,0 1,405.1 1566.53 V534.64 A20,20 0,0 1,425.1 514.64 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="150" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M731.72,339.92 H740.93 A27.65,27.65 0,0 1,768.58 367.57 V661.71 A27.65,27.65 0,0 1,740.93 689.36 H731.72 A27.65,27.65 0,0 1,704.07 661.71 V367.57 A27.65,27.65 0,0 1,731.72 339.92 Z M1277.56,339.92 H1286.77 A27.65,27.65 0,0 1,1314.42 367.57 V661.71 A27.65,27.65 0,0 1,1286.77 689.36 H1277.56 A27.65,27.65 0,0 1,1249.91 661.71 V367.57 A27.65,27.65 0,0 1,1277.56 339.92 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="185" android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M729.01,1004.81 c70.21,112.08 200.6,174.7 327.98,152.69 c122.48,-18.51 206.2,-123.19 222.28,-152.69" />
</group>
</vector>
@@ -1,12 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
<item android:drawable="@drawable/tpschedule_gradient" />
<item android:width="120dp" android:height="120dp" android:gravity="center" android:drawable="@drawable/ic_tpschedule_logo" />
</layer-list>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" android:width="108dp" android:height="108dp" android:viewportWidth="2008.27" android:viewportHeight="2009.62">
<path android:pathData="M0.5,0.5 H2007.77 V2009.12 H0.5 Z" android:strokeColor="#000000" android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient android:type="linear" android:startX="324.09" android:startY="1572.05" android:endX="1871.99" android:endY="280.93">
<item android:offset="0" android:color="#3FD1FF" />
<item android:offset="0.28" android:color="#38B3FF" />
<item android:offset="1" android:color="#2A6CFF" />
</gradient>
</aapt:attr>
</path>
</vector>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/tpschedule_gradient" />
<foreground android:drawable="@drawable/ic_tpschedule_foreground" />
</adaptive-icon>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/tpschedule_gradient" />
<foreground android:drawable="@drawable/ic_tpschedule_foreground" />
<monochrome android:drawable="@drawable/ic_tpschedule_monochrome" />
</adaptive-icon>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt" android:width="108dp" android:height="108dp" android:viewportWidth="2008.27" android:viewportHeight="2009.62">
<path android:pathData="M0.5,0.5 H2007.77 V2009.12 H0.5 Z" android:strokeColor="#000000" android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient android:type="linear" android:startX="324.09" android:startY="1572.05" android:endX="1871.99" android:endY="280.93">
<item android:offset="0" android:color="#3FD1FF" />
<item android:offset="0.28" android:color="#38B3FF" />
<item android:offset="1" android:color="#2A6CFF" />
</gradient>
</aapt:attr>
</path>
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFD22A" android:strokeWidth="217" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M425.1,514.64 H1583.18 A20,20 0,0 1,1603.18 534.64 V1566.53 A20,20 0,0 1,1583.18 1586.53 H425.1 A20,20 0,0 1,405.1 1566.53 V534.64 A20,20 0,0 1,425.1 514.64 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="150" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M731.72,339.92 H740.93 A27.65,27.65 0,0 1,768.58 367.57 V661.71 A27.65,27.65 0,0 1,740.93 689.36 H731.72 A27.65,27.65 0,0 1,704.07 661.71 V367.57 A27.65,27.65 0,0 1,731.72 339.92 Z M1277.56,339.92 H1286.77 A27.65,27.65 0,0 1,1314.42 367.57 V661.71 A27.65,27.65 0,0 1,1286.77 689.36 H1277.56 A27.65,27.65 0,0 1,1249.91 661.71 V367.57 A27.65,27.65 0,0 1,1277.56 339.92 Z" />
<path android:fillColor="@android:color/transparent" android:strokeColor="#FFFFFF" android:strokeWidth="185" android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeMiterLimit="10" android:pathData="M729.01,1004.81 c70.21,112.08 200.6,174.7 327.98,152.69 c122.48,-18.51 206.2,-123.19 222.28,-152.69" />
</vector>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Android 12 requires a solid system splash; Flutter continues the SVG gradient. -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@color/tpschedule_blue</item>
<item name="android:windowSplashScreenBackground">@color/tpschedule_blue</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_tpschedule_splash</item>
<item name="android:statusBarColor">@color/tpschedule_blue</item>
<item name="android:navigationBarColor">@color/tpschedule_blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
</resources>
@@ -1,18 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:statusBarColor">@color/tpschedule_blue</item>
<item name="android:navigationBarColor">@color/tpschedule_blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@color/tpschedule_blue</item>
<item name="android:statusBarColor">@color/tpschedule_blue</item>
<item name="android:navigationBarColor">@color/tpschedule_blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
</resources>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Android 12 requires a solid system splash; Flutter continues the SVG gradient. -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@color/tpschedule_blue</item>
<item name="android:windowSplashScreenBackground">@color/tpschedule_blue</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_tpschedule_splash</item>
<item name="android:statusBarColor">@color/tpschedule_blue</item>
<item name="android:navigationBarColor">@color/tpschedule_blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
</resources>
@@ -1,18 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:statusBarColor">@color/tpschedule_blue</item>
<item name="android:navigationBarColor">@color/tpschedule_blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
<item name="android:windowBackground">@color/tpschedule_blue</item>
<item name="android:statusBarColor">@color/tpschedule_blue</item>
<item name="android:navigationBarColor">@color/tpschedule_blue</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
</resources>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="tpschedule_blue">#38B3FF</color>
</resources>