add android code

add android code
This commit is contained in:
Zeus
2024-10-23 22:33:02 +08:00
parent e5ed61e5e1
commit f28fdbb377
1672 changed files with 194066 additions and 0 deletions
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="0"
android:repeatCount="infinite"
android:interpolator="@android:anim/cycle_interpolator" />
</set>
Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 KiB

@@ -0,0 +1,12 @@
<?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="?attr/colorSurface" />
<corners
android:radius="8dp"
/>
</shape>
</item>
</layer-list>
@@ -0,0 +1,22 @@
<?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="?attr/colorSurface" />
<corners
android:topLeftRadius="16dp"
android:topRightRadius="16dp" />
</shape>
</item>
<item
android:gravity="top|center_horizontal"
android:top="@dimen/bottom_sheet_background_padding_top">
<shape android:shape="rectangle">
<size
android:width="40dp"
android:height="@dimen/bottom_sheet_header_height" />
<solid android:color="?attr/colorControlHighlight" />
<corners android:radius="5dp" />
</shape>
</item>
</layer-list>
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:innerRadius="0dp"
android:shape="ring"
android:thickness="4dp"
android:useLevel="false">
<solid android:color="#494949" />
</shape>
</item>
</layer-list>
@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="100dp" android:viewportHeight="512" android:viewportWidth="512" android:width="100dp">
<path android:fillColor="#bd3d44" android:pathData="M0,0h512v512H0"/>
<path android:fillColor="#FF000000" android:pathData="M0,58h512M0,137h512M0,216h512M0,295h512M0,374h512M0,453h512" android:strokeColor="#fff" android:strokeWidth="40"/>
<path android:fillColor="#192f5d" android:pathData="M0,0h390v275H0z"/>
<path android:fillColor="#fff" android:pathData="m15,0 l9.3,28.6L0,11h30L5.7,28.6"/>
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M5,16c0,3.87 3.13,7 7,7s7,-3.13 7,-7v-4L5,12v4zM16.12,4.37l2.1,-2.1 -0.82,-0.83 -2.3,2.31C14.16,3.28 13.12,3 12,3s-2.16,0.28 -3.09,0.75L6.6,1.44l-0.82,0.83 2.1,2.1C6.14,5.64 5,7.68 5,10v1h14v-1c0,-2.32 -1.14,-4.36 -2.88,-5.63zM9,9c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM15,9c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M4,8h4L8,4L4,4v4zM10,20h4v-4h-4v4zM4,20h4v-4L4,16v4zM4,14h4v-4L4,10v4zM10,14h4v-4h-4v4zM16,4v4h4L20,4h-4zM10,8h4L14,4h-4v4zM16,14h4v-4h-4v4zM16,20h4v-4h-4v4z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19,3h-4.18C14.4,1.84 13.3,1 12,1c-1.3,0 -2.4,0.84 -2.82,2L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM12,3c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM14,17L7,17v-2h7v2zM17,13L7,13v-2h10v2zM17,9L7,9L7,7h10v2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M16.5,6v11.5c0,2.21 -1.79,4 -4,4s-4,-1.79 -4,-4V5c0,-1.38 1.12,-2.5 2.5,-2.5s2.5,1.12 2.5,2.5v10.5c0,0.55 -0.45,1 -1,1s-1,-0.45 -1,-1V6H10v9.5c0,1.38 1.12,2.5 2.5,2.5s2.5,-1.12 2.5,-2.5V5c0,-2.21 -1.79,-4 -4,-4S7,2.79 7,5v12.5c0,3.04 2.46,5.5 5.5,5.5s5.5,-2.46 5.5,-5.5V6h-1.5z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M20,8.69V4h-4.69L12,0.69 8.69,4H4v4.69L0.69,12 4,15.31V20h4.69L12,23.31 15.31,20H20v-4.69L23.31,12 20,8.69zM12,18c-0.89,0 -1.74,-0.2 -2.5,-0.55C11.56,16.5 13,14.42 13,12s-1.44,-4.5 -3.5,-5.45C10.26,6.2 11.11,6 12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M5,13h14v-2L5,11v2zM3,17h14v-2L3,15v2zM7,7v2h14L21,7L7,7z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM17,13l-5,5 -5,-5h3V9h4v4h3z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M20,13H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1v-6c0,-0.55 -0.45,-1 -1,-1zM7,19c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM20,3H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1zM7,9c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,7V3H2v18h20V7H12zM6,19H4v-2h2V19zM6,15H4v-2h2V15zM6,11H4V9h2V11zM6,7H4V5h2V7zM10,19H8v-2h2V19zM10,15H8v-2h2V15zM10,11H8V9h2V11zM10,7H8V5h2V7zM20,19h-8v-2h2v-2h-2v-2h2v-2h-2V9h8V19zM18,11h-2v2h2V11zM18,15h-2v2h2V15z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M20.5,11H19V7c0,-1.1 -0.9,-2 -2,-2h-4V3.5C13,2.12 11.88,1 10.5,1S8,2.12 8,3.5V5H4c-1.1,0 -1.99,0.9 -1.99,2v3.8H3.5c1.49,0 2.7,1.21 2.7,2.7s-1.21,2.7 -2.7,2.7H2V20c0,1.1 0.9,2 2,2h3.8v-1.5c0,-1.49 1.21,-2.7 2.7,-2.7 1.49,0 2.7,1.21 2.7,2.7V22H17c1.1,0 2,-0.9 2,-2v-4h1.5c1.38,0 2.5,-1.12 2.5,-2.5S21.88,11 20.5,11z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z" />
</vector>
@@ -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="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/>
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5C21,3.9 20.1,3 19,3zM12.01,18c-0.7,0 -1.26,-0.56 -1.26,-1.26c0,-0.71 0.56,-1.25 1.26,-1.25c0.71,0 1.25,0.54 1.25,1.25C13.25,17.43 12.72,18 12.01,18zM15.02,10.6c-0.76,1.11 -1.48,1.46 -1.87,2.17c-0.16,0.29 -0.22,0.48 -0.22,1.41h-1.82c0,-0.49 -0.08,-1.29 0.31,-1.98c0.49,-0.87 1.42,-1.39 1.96,-2.16c0.57,-0.81 0.25,-2.33 -1.37,-2.33c-1.06,0 -1.58,0.8 -1.8,1.48L8.56,8.49C9.01,7.15 10.22,6 11.99,6c1.48,0 2.49,0.67 3.01,1.52C15.44,8.24 15.7,9.59 15.02,10.6z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M 4.44 2.19 C 4.54 2.18 4.65 2.18 4.74 2.24 C 4.88 2.33 4.99 2.46 5.11 2.57 C 6.9 4.32 8.7 6.06 10.49 7.81 C 10.61 7.93 10.72 8.06 10.87 8.13 C 10.99 8.19 11.12 8.16 11.24 8.14 C 11.57 8.08 11.9 8.08 12.23 8.08 C 12.55 8.08 12.87 8.1 13.19 8.15 C 13.32 8.17 13.47 8.21 13.56 8.09 C 15.53 6.16 17.51 4.24 19.49 2.32 C 19.66 2.13 19.91 2.18 20.13 2.2 C 20.68 2.29 21.24 2.33 21.79 2.4 C 21.88 2.42 22.01 2.43 22.04 2.54 C 22.08 2.74 22.06 2.95 22.06 3.16 L 22.06 15.65 C 22.06 15.86 22.07 16.07 22.05 16.28 C 22.04 16.36 22.03 16.44 21.97 16.5 C 21.85 16.56 21.71 16.58 21.58 16.61 C 21.03 16.75 20.47 16.85 19.92 17 C 19.64 17.08 19.36 17.05 19.08 17.05 C 18.94 17.05 18.79 17.06 18.64 17.04 C 18.56 17.03 18.5 16.95 18.49 16.87 C 18.46 16.66 18.48 16.45 18.47 16.24 L 18.47 10.09 C 18.47 9.89 18.48 9.68 18.45 9.48 C 18.42 9.25 18.19 9.08 17.97 9.11 C 17.85 9.11 17.75 9.19 17.66 9.27 C 16.71 10.21 15.74 11.13 14.79 12.06 C 14.68 12.16 14.56 12.28 14.4 12.26 C 14.2 12.24 14 12.16 13.81 12.12 C 13.02 11.91 12.19 11.88 11.38 11.96 C 10.99 12.02 10.59 12.07 10.21 12.2 C 10.09 12.24 9.96 12.28 9.84 12.27 C 9.71 12.26 9.61 12.17 9.52 12.08 C 8.58 11.15 7.62 10.24 6.68 9.31 C 6.59 9.22 6.49 9.13 6.36 9.11 C 6.2 9.09 6.04 9.16 5.93 9.28 C 5.84 9.39 5.83 9.55 5.83 9.69 L 5.83 16.67 C 5.83 16.76 5.83 16.85 5.79 16.94 C 5.74 17.04 5.62 17.04 5.53 17.05 L 4.8 17.05 C 4.52 17.05 4.26 16.97 3.99 16.91 C 3.5 16.8 3.01 16.68 2.52 16.57 C 2.42 16.54 2.27 16.51 2.25 16.37 C 2.22 16.13 2.24 15.89 2.24 15.65 L 2.24 3.21 C 2.24 3.01 2.23 2.82 2.25 2.63 C 2.26 2.56 2.28 2.48 2.34 2.44 C 2.41 2.41 2.49 2.4 2.56 2.39 C 3.18 2.34 3.79 2.26 4.41 2.2 Z M 11.79 17.48 C 12.07 17.45 12.35 17.46 12.62 17.48 C 12.83 17.48 12.97 17.76 12.87 17.95 C 12.75 18.21 12.62 18.46 12.48 18.71 C 12.39 18.89 12.13 18.92 12.01 18.76 C 11.9 18.61 11.83 18.43 11.74 18.27 C 11.67 18.13 11.58 18 11.55 17.84 C 11.52 17.68 11.63 17.51 11.79 17.48 Z M 2.47 18.02 C 2.52 18.01 2.58 18.01 2.63 18.01 L 7.25 18.01 C 7.39 18.01 7.54 18.04 7.63 18.18 C 7.71 18.33 7.7 18.56 7.55 18.66 C 7.45 18.73 7.32 18.73 7.21 18.74 L 2.64 18.74 C 2.55 18.74 2.47 18.74 2.39 18.71 C 2.26 18.66 2.17 18.5 2.19 18.35 C 2.2 18.19 2.32 18.04 2.48 18.02 Z M 17 18.02 C 17.21 18 17.42 18.02 17.62 18.01 L 21.73 18.01 C 21.82 18.01 21.91 18.01 21.99 18.05 C 22.11 18.11 22.18 18.25 22.18 18.39 C 22.18 18.55 22.06 18.71 21.9 18.72 C 21.7 18.74 21.51 18.73 21.31 18.73 L 17.52 18.73 C 17.33 18.73 17.13 18.75 16.94 18.71 C 16.8 18.68 16.68 18.54 16.69 18.38 C 16.67 18.19 16.82 18.03 16.99 18.01 Z M 7.18 19.78 C 7.28 19.75 7.39 19.73 7.49 19.79 C 7.69 19.89 7.74 20.23 7.56 20.38 C 7.45 20.46 7.32 20.49 7.2 20.54 C 6.74 20.69 6.3 20.88 5.84 21.03 C 5.32 21.21 4.8 21.42 4.28 21.6 C 3.9 21.73 3.52 21.87 3.14 22.01 C 2.98 22.07 2.83 22.14 2.67 22.18 C 2.57 22.2 2.46 22.18 2.38 22.11 C 2.25 22 2.23 21.79 2.3 21.64 C 2.36 21.53 2.48 21.49 2.58 21.45 C 2.91 21.33 3.23 21.2 3.56 21.09 C 4.38 20.81 5.19 20.47 6.02 20.2 C 6.4 20.07 6.78 19.9 7.16 19.78 Z M 16.95 19.76 C 17.07 19.73 17.18 19.78 17.3 19.81 C 17.66 19.94 18.01 20.09 18.37 20.21 C 19.22 20.5 20.05 20.84 20.9 21.13 C 21.18 21.23 21.46 21.34 21.74 21.44 C 21.85 21.48 21.96 21.52 22.04 21.61 C 22.16 21.79 22.09 22.08 21.89 22.16 C 21.76 22.21 21.63 22.16 21.51 22.12 C 21 21.92 20.49 21.74 19.98 21.56 C 19.48 21.38 18.99 21.18 18.48 21.01 C 18.02 20.86 17.58 20.67 17.13 20.52 C 17.01 20.47 16.88 20.44 16.78 20.35 C 16.61 20.17 16.7 19.8 16.94 19.75 Z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M5,4v2h14L19,4L5,4zM5,14h4v6h6v-6h4l-7,-7 -7,7z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,5V1L7,6l5,5V7c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6H4c0,4.42 3.58,8 8,8s8,-3.58 8,-8 -3.58,-8 -8,-8z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M6,6h12v12H6z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M16,17.01V10h-2v7.01h-3L15,21l4,-3.99h-3zM9,3L5,6.99h3V14h2V6.99h3L9,3z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM6.5,9L10,5.5 13.5,9L11,9v4L9,13L9,9L6.5,9zM17.5,15L14,18.5 10.5,15L13,15v-4h2v4h2.5z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M21,10.12h-6.78l2.74,-2.82c-2.73,-2.7 -7.15,-2.8 -9.88,-0.1c-2.73,2.71 -2.73,7.08 0,9.79s7.15,2.71 9.88,0C18.32,15.65 19,14.08 19,12.1h2c0,1.98 -0.88,4.55 -2.64,6.29c-3.51,3.48 -9.21,3.48 -12.72,0c-3.5,-3.47 -3.53,-9.11 -0.02,-12.58s9.14,-3.47 12.65,0L21,3V10.12zM12.5,8v4.25l3.5,2.08l-0.72,1.21L11,13V8H12.5z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M4,14h4v-4L4,10v4zM4,19h4v-4L4,15v4zM4,9h4L8,5L4,5v4zM9,14h12v-4L9,10v4zM9,19h12v-4L9,15v4zM9,5v4h12L21,5L9,5z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M20,6h-4L16,4c0,-1.11 -0.89,-2 -2,-2h-4c-1.11,0 -2,0.89 -2,2v2L4,6c-1.11,0 -1.99,0.89 -1.99,2L2,19c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM14,6h-4L10,4h4v2z" />
</vector>
@@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="128dp"
android:height="128dp"
android:viewportWidth="128"
android:viewportHeight="128">
<group>
<path
android:pathData="M 30.05 22.58 C 30.52 22.55 31.02 22.53 31.43 22.78 C 32.08 23.17 32.6 23.73 33.16 24.23 C 41.48 31.84 49.83 39.42 58.15 47.03 C 58.71 47.53 59.24 48.1 59.93 48.43 C 60.47 48.69 61.09 48.56 61.66 48.48 C 63.19 48.22 64.74 48.21 66.28 48.21 C 67.77 48.23 69.26 48.28 70.73 48.52 C 71.32 48.59 72.02 48.78 72.47 48.27 C 81.64 39.89 90.84 31.53 100.02 23.15 C 100.8 22.34 101.99 22.52 103 22.64 C 105.56 23.02 108.14 23.2 110.71 23.49 C 111.14 23.57 111.74 23.6 111.89 24.11 C 112.09 24.99 111.98 25.9 112 26.79 C 111.99 44.91 111.99 63.03 111.98 81.15 C 111.97 82.07 112.03 82.99 111.94 83.9 C 111.9 84.23 111.86 84.61 111.59 84.84 C 111.02 85.09 110.39 85.18 109.79 85.33 C 107.22 85.93 104.61 86.36 102.05 87.01 C 100.77 87.35 99.44 87.22 98.13 87.24 C 97.46 87.23 96.77 87.29 96.1 87.18 C 95.71 87.15 95.43 86.8 95.4 86.42 C 95.26 85.52 95.34 84.61 95.33 83.7 C 95.32 74.78 95.31 65.86 95.32 56.94 C 95.31 56.06 95.37 55.17 95.25 54.29 C 95.09 53.28 94.03 52.57 93.04 52.69 C 92.49 52.7 92.02 53.04 91.62 53.39 C 87.19 57.47 82.71 61.48 78.29 65.55 C 77.78 65.99 77.2 66.5 76.48 66.43 C 75.53 66.35 74.64 66.01 73.72 65.8 C 70.04 64.88 66.2 64.77 62.44 65.09 C 60.61 65.34 58.76 65.55 57 66.13 C 56.43 66.29 55.86 66.47 55.27 66.44 C 54.67 66.4 54.2 66 53.77 65.63 C 49.38 61.59 44.94 57.62 40.55 53.58 C 40.12 53.21 39.66 52.8 39.08 52.71 C 38.35 52.62 37.6 52.92 37.1 53.45 C 36.67 53.94 36.65 54.62 36.63 55.24 C 36.65 65.37 36.62 75.49 36.64 85.62 C 36.62 86.01 36.62 86.41 36.47 86.78 C 36.24 87.2 35.7 87.22 35.28 87.24 C 34.14 87.26 33.01 87.23 31.87 87.24 C 30.59 87.26 29.35 86.89 28.11 86.63 C 25.84 86.13 23.57 85.62 21.29 85.14 C 20.81 85.02 20.14 84.88 20.05 84.29 C 19.91 83.25 20.01 82.2 19.99 81.15 C 19.97 63.1 19.98 45.05 19.98 27 C 19.98 26.15 19.93 25.3 20.01 24.46 C 20.04 24.15 20.13 23.79 20.43 23.63 C 20.75 23.49 21.11 23.47 21.45 23.42 C 24.33 23.22 27.19 22.87 30.05 22.58 Z M 64.24 89.12 C 65.53 89.01 66.83 89.05 68.11 89.12 C 69.11 89.11 69.73 90.32 69.27 91.17 C 68.71 92.29 68.13 93.39 67.47 94.46 C 67.05 95.23 65.83 95.38 65.28 94.67 C 64.75 94.02 64.44 93.24 64.02 92.52 C 63.7 91.92 63.29 91.35 63.14 90.67 C 62.99 89.96 63.53 89.22 64.24 89.12 Z"
android:fillColor="#3372b6"/>
<path
android:pathData="M 20.92 91.45 C 21.17 91.42 21.42 91.4 21.68 91.4 C 28.83 91.42 35.98 91.41 43.14 91.41 C 43.78 91.4 44.51 91.56 44.89 92.14 C 45.28 92.79 45.2 93.8 44.52 94.23 C 44.06 94.55 43.47 94.55 42.93 94.57 C 35.85 94.55 28.76 94.56 21.68 94.57 C 21.28 94.55 20.88 94.55 20.51 94.42 C 19.9 94.19 19.49 93.52 19.58 92.87 C 19.63 92.17 20.19 91.51 20.92 91.45 Z M 88.44 91.45 C 89.4 91.35 90.37 91.43 91.34 91.41 C 97.71 91.4 104.09 91.43 110.46 91.4 C 110.87 91.42 111.3 91.41 111.68 91.58 C 112.25 91.83 112.57 92.45 112.57 93.06 C 112.58 93.77 111.99 94.44 111.28 94.51 C 110.37 94.62 109.45 94.55 108.54 94.56 L 90.91 94.56 C 90.01 94.55 89.1 94.63 88.21 94.48 C 87.54 94.36 86.99 93.75 87.04 93.05 C 86.95 92.23 87.65 91.51 88.44 91.45 Z M 42.8 99.1 C 43.27 98.97 43.8 98.9 44.25 99.13 C 45.19 99.56 45.41 101.06 44.57 101.71 C 44.07 102.06 43.47 102.2 42.91 102.4 C 40.79 103.06 38.73 103.89 36.61 104.55 C 34.17 105.32 31.78 106.23 29.35 107.05 C 27.58 107.62 25.82 108.22 24.06 108.83 C 23.33 109.08 22.62 109.4 21.87 109.56 C 21.41 109.66 20.9 109.57 20.54 109.26 C 19.94 108.79 19.83 107.88 20.17 107.23 C 20.45 106.76 21.01 106.59 21.49 106.4 C 23.01 105.87 24.51 105.32 26.04 104.84 C 29.87 103.6 33.64 102.16 37.48 100.95 C 39.27 100.37 41.01 99.66 42.8 99.1 Z M 88.22 99.02 C 88.77 98.89 89.31 99.1 89.83 99.25 C 91.5 99.82 93.14 100.46 94.82 101 C 98.77 102.25 102.64 103.74 106.6 104.99 C 107.9 105.41 109.19 105.89 110.49 106.34 C 110.98 106.53 111.52 106.69 111.88 107.1 C 112.45 107.88 112.11 109.15 111.2 109.5 C 110.61 109.73 109.99 109.5 109.42 109.32 C 107.07 108.45 104.69 107.67 102.31 106.89 C 99.99 106.09 97.69 105.24 95.36 104.5 C 93.24 103.83 91.19 103 89.07 102.35 C 88.51 102.15 87.91 102.01 87.46 101.61 C 86.65 100.82 87.09 99.22 88.22 99.02 Z"
android:fillColor="#f39800"/>
</group>
</vector>
@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19,5v14H5V5H19M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5C21,3.9 20.1,3 19,3L19,3z" />
<path
android:fillColor="@android:color/white"
android:pathData="M14,17H7v-2h7V17zM17,13H7v-2h10V13zM17,9H7V7h10V9z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM16.59,7.58L10,14.17l-2.59,-2.58L6,13l4,4 8,-8z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M16,9v10H8V9h8m-1.5,-6h-5l-1,1H5v2h14V4h-3.5l-1,-1zM18,7H6v12c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M9.17,6l2,2H20v10H4V6h5.17M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM19,19L5,19v-3h3.56c0.69,1.19 1.97,2 3.45,2s2.75,-0.81 3.45,-2L19,16v3zM19,14h-4.99c0,1.1 -0.9,2 -2,2s-2,-0.9 -2,-2L5,14L5,5h14v9z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M11,7h2v2h-2zM11,11h2v6h-2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M17.63,5.84C17.27,5.33 16.67,5 16,5L5,5.01C3.9,5.01 3,5.9 3,7v10c0,1.1 0.9,1.99 2,1.99L16,19c0.67,0 1.27,-0.33 1.63,-0.84L22,12l-4.37,-6.16zM16,17H5V7h11l3.55,5L16,17z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8 0,-1.85 0.63,-3.55 1.69,-4.9L16.9,18.31C15.55,19.37 13.85,20 12,20zM18.31,16.9L7.1,5.69C8.45,4.63 10.15,4 12,4c4.42,0 8,3.58 8,8 0,1.85 -0.63,3.55 -1.69,4.9z" />
</vector>
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M11,8v5l4.25,2.52l0.77,-1.28l-3.52,-2.09V8H11zM21,10V3l-2.64,2.64C16.74,4.01 14.49,3 12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9s9,-4.03 9,-9h-2c0,3.86 -3.14,7 -7,7s-7,-3.14 -7,-7s3.14,-7 7,-7c1.93,0 3.68,0.79 4.95,2.05L14,10H21z" />
</vector>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#383838" /> <!-- 浅灰色背景 -->
</shape>
@@ -0,0 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="100dp" android:viewportHeight="24" android:viewportWidth="24" android:width="100dp">
<path android:fillColor="#080341" android:fillType="evenOdd" android:pathData="M4.5,6.463V12.768C4.5,15.655 6.458,19.015 11.74,20.972L12,21.068L12.26,20.972C14.072,20.301 15.492,19.465 16.577,18.539L15.514,17.476C14.637,18.206 13.487,18.889 12,19.466C7.366,17.666 6,14.843 6,12.768V7.963L4.5,6.463ZM17.298,15.372C17.801,14.46 18,13.56 18,12.768V6.62L12,5.287L8.083,6.157L6.826,4.9L11.837,3.786L12,3.75L12.163,3.786L18.913,5.286L19.5,5.417V6.018V12.768C19.5,13.965 19.164,15.242 18.394,16.468L17.298,15.372Z"/>
<path android:fillColor="#080341" android:fillType="evenOdd" android:pathData="M18.75,19.811L3.75,4.811L4.811,3.75L19.811,18.75L18.75,19.811Z"/>
</vector>
@@ -0,0 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="100dp" android:viewportHeight="24" android:viewportWidth="24" android:width="100dp">
<path android:fillColor="#292D32" android:pathData="M20.91,11.12V6.73C20.91,5.91 20.29,4.98 19.52,4.67L13.95,2.39C12.7,1.88 11.29,1.88 10.04,2.39L4.47,4.67C3.71,4.98 3.09,5.91 3.09,6.73V11.12C3.09,16.01 6.64,20.59 11.49,21.93C11.82,22.02 12.18,22.02 12.51,21.93C17.36,20.59 20.91,16.01 20.91,11.12ZM12.75,12.87V15.5C12.75,15.91 12.41,16.25 12,16.25C11.59,16.25 11.25,15.91 11.25,15.5V12.87C10.24,12.55 9.5,11.61 9.5,10.5C9.5,9.12 10.62,8 12,8C13.38,8 14.5,9.12 14.5,10.5C14.5,11.62 13.76,12.55 12.75,12.87Z"/>
</vector>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:innerRadius="0dp"
android:shape="ring"
android:thickness="4dp"
android:useLevel="false">
<solid android:color="@android:color/white" />
</shape>
</item>
</layer-list>
@@ -0,0 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="100dp" android:viewportHeight="24" android:viewportWidth="24" android:width="100dp">
<path android:fillColor="#00000000" android:pathData="M10,21L7.188,18.991C4.56,17.114 3,14.083 3,10.854L3,5.754C3,5.308 3.296,4.915 3.725,4.793L9.725,3.079C9.905,3.027 10.095,3.027 10.275,3.079L16.275,4.793C16.704,4.915 17,5.308 17,5.754V7.5M19,15V13C19,11.896 18.105,11 17,11C15.895,11 15,11.896 15,13V15M19,15H15M19,15C20.105,15 21,15.896 21,17V19C21,20.105 20.105,21 19,21H15C13.895,21 13,20.105 13,19V17C13,15.896 13.895,15 15,15" android:strokeColor="#000000" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2"/>
</vector>
@@ -0,0 +1,9 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#383838" /> <!-- 浅灰色背景 -->
<corners android:radius="12dp" /> <!-- 圆角半径为 12dp -->
<padding
android:left="8dp"
android:right="8dp"
android:top="8dp"
android:bottom="8dp" />
</shape>
@@ -0,0 +1,8 @@
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="#D3D3D3" /> <!-- 浅灰色背景 -->
</shape>
</item>
</ripple>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/selected_dot"
android:state_selected="true"/>
<item android:drawable="@drawable/default_dot"/>
</selector>
Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="app"
type="com.github.kr328.clash.design.model.AppInfo" />
<variable
name="selected"
type="boolean" />
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:minHeight="@dimen/item_min_height"
android:paddingEnd="@dimen/item_tailing_margin">
<View
android:id="@+id/icon_view"
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_centerVertical="true"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:background="@{app.icon}"
android:clickable="false"
android:focusable="false" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/switch_view"
android:layout_toEndOf="@id/icon_view"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{app.label}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{app.packageName}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/switch_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:checked="@{selected}"
android:clickable="false"
android:focusable="false"
android:gravity="center_horizontal|end" />
</RelativeLayout>
</layout>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/item_padding_vertical"
android:paddingStart="@dimen/item_header_margin"
android:paddingEnd="@dimen/item_tailing_margin">
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/delete_view"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<ImageView
android:id="@+id/delete_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/delete"
android:focusable="true"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_close" />
</RelativeLayout>
</layout>
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/item_padding_vertical"
android:paddingStart="@dimen/item_header_margin"
android:paddingEnd="@dimen/item_tailing_margin">
<TextView
android:id="@+id/key_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/delete_view"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:id="@+id/value_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/key_view"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/delete_view"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
<ImageView
android:id="@+id/delete_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/delete"
android:focusable="true"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_close" />
</RelativeLayout>
</layout>
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="file"
type="com.github.kr328.clash.design.model.File" />
<variable
name="currentTime"
type="com.github.kr328.clash.design.ui.ObservableCurrentTime" />
<variable
name="open"
type="android.view.View.OnClickListener" />
<variable
name="more"
type="android.view.View.OnClickListener" />
<import type="com.github.kr328.clash.design.util.I18nKt" />
<import type="com.github.kr328.clash.design.util.IntervalKt" />
<import type="android.view.View" />
</data>
<RelativeLayout
android:id="@+id/root_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:minHeight="@dimen/item_min_height"
android:nextFocusRight="@id/menu_view"
android:onClick="@{open}">
<View
android:id="@+id/icon_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_centerVertical="true"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:background="@{file.directory ? @drawable/ic_outline_folder : @drawable/ic_outline_article}"
android:backgroundTint="?attr/colorControlNormal"
android:gravity="center" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/elapsed_view"
android:layout_toEndOf="@id/icon_view"
android:orientation="vertical"
android:paddingVertical="@dimen/item_padding_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{file.name}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{file.directory ? null : I18nKt.toBytesString(file.size)}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2"
android:visibility="@{file.directory ? View.GONE : View.VISIBLE}" />
</LinearLayout>
<TextView
android:id="@+id/elapsed_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/item_midden_margin"
android:layout_toStartOf="@id/menu_view"
android:text="@{file.directory ? null : IntervalKt.elapsedIntervalString(currentTime.value - file.lastModified, context)}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Tooltip"
android:visibility="@{file.directory ? View.GONE : View.VISIBLE}" />
<View
android:layout_width="@dimen/divider_size"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/menu_view"
android:background="?attr/colorControlHighlight"
android:minHeight="@{@dimen/item_tailing_component_size * 1.5f}" />
<FrameLayout
android:id="@+id/menu_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:nextFocusLeft="@id/root_view"
android:onClick="@{more}">
<View
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_margin="@dimen/item_tailing_margin"
android:background="@drawable/ic_baseline_more_vert" />
</FrameLayout>
</RelativeLayout>
</layout>
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="message"
type="com.github.kr328.clash.core.model.LogMessage" />
<import type="com.github.kr328.clash.design.util.I18nKt" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingHorizontal="@dimen/logcat_padding_horizontal"
android:paddingVertical="@dimen/logcat_padding_vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start|center_vertical"
android:text="@{message.level.name()}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Caption"
android:textColor="?colorControlActivated" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end|center_vertical"
android:text="@{I18nKt.format(message.time, context, false, true)}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Caption"
android:textColor="?colorControlActivated" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{message.message}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
</layout>
@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="profile"
type="com.github.kr328.clash.service.model.Profile" />
<variable
name="currentTime"
type="com.github.kr328.clash.design.ui.ObservableCurrentTime" />
<variable
name="clicked"
type="android.view.View.OnClickListener" />
<variable
name="menu"
type="android.view.View.OnClickListener" />
<import type="android.view.View" />
<import type="com.github.kr328.clash.design.util.I18nKt" />
<import type="com.github.kr328.clash.design.util.IntervalKt" />
</data>
<RelativeLayout
android:elevation="5dp"
android:id="@+id/root_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:background="@drawable/bg_b"
android:clickable="true"
android:focusable="true"
android:minHeight="@dimen/item_min_height"
android:nextFocusRight="@id/menu_view"
android:onClick="@{clicked}">
<RadioButton
android:id="@+id/icon_view"
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_centerVertical="true"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:checked="@{profile.active}"
android:clickable="false"
android:focusable="false"
android:gravity="center" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/elapsed_view"
android:layout_toEndOf="@id/icon_view"
android:orientation="vertical"
android:paddingVertical="@dimen/item_padding_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{profile.name}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{profile.pending ? @string/format_type_unsaved(I18nKt.toString(profile.type, context)) : I18nKt.toString(profile.type, context)}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<TextView
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{profile.download &lt;2 ? View.GONE : View.VISIBLE}"
android:text='@{profile.download >1 ?I18nKt.toBytesString(profile.download+profile.upload)+"/" :""}'
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{profile.download &lt;2 ? View.GONE : View.VISIBLE}"
android:text='@{profile.total >1 ?I18nKt.toBytesString(profile.total) : ""}'
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
</LinearLayout>
<TextView
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{profile.expire==0 ? View.GONE : View.VISIBLE}"
android:text='@{profile.expire>0 ? I18nKt.toDateStr(profile.expire):""}'
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="1000"
android:visibility="@{profile.total &lt; 2 ? View.GONE : View.VISIBLE}"
android:progress="@{profile.total>1 ?I18nKt.toProgress ((profile.download+profile.upload)/(profile.total/1000)) :0}"
/>
</LinearLayout>
<TextView
android:id="@+id/elapsed_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/item_midden_margin"
android:layout_toStartOf="@id/menu_view"
android:text="@{IntervalKt.elapsedIntervalString(currentTime.value - profile.updatedAt, context)}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Tooltip" />
<View
android:layout_width="2dp"
android:layout_height="match_parent"
android:layout_toStartOf="@id/menu_view"
android:background="@color/color_clash_dark" />
<FrameLayout
android:id="@+id/menu_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:nextFocusLeft="@id/root_view"
android:onClick="@{menu}">
<View
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_margin="@dimen/item_tailing_margin"
android:background="@drawable/ic_baseline_more_vert" />
</FrameLayout>
</RelativeLayout>
</layout>
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="provider"
type="com.github.kr328.clash.design.model.ProfileProvider" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="@dimen/item_padding_vertical">
<View
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:background="@{provider.icon}" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{provider.name}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{provider.summary}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="provider"
type="com.github.kr328.clash.core.model.Provider" />
<variable
name="state"
type="com.github.kr328.clash.design.model.ProviderState" />
<variable
name="currentTime"
type="com.github.kr328.clash.design.ui.ObservableCurrentTime" />
<variable
name="update"
type="android.view.View.OnClickListener" />
<import type="com.github.kr328.clash.design.util.I18nKt" />
<import type="com.github.kr328.clash.design.util.IntervalKt" />
<import type="android.view.View" />
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/item_min_height"
android:paddingStart="@dimen/item_header_margin"
android:paddingEnd="0dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/elapsed_view"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{provider.name}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{I18nKt.type(provider, context)}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
<TextView
android:id="@+id/elapsed_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/item_midden_margin"
android:layout_toStartOf="@id/end_view"
android:text="@{IntervalKt.elapsedIntervalString(currentTime.value - state.updatedAt, context)}" />
<View
android:layout_width="@dimen/divider_size"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/end_view"
android:background="?attr/colorControlHighlight"
android:minHeight="@{@dimen/item_tailing_component_size * 1.5f}" />
<FrameLayout
android:id="@+id/end_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="@{!state.updating}"
android:focusable="@{!state.updating}"
android:nextFocusLeft="@id/root_view"
android:onClick="@{update}">
<ImageView
android:id="@+id/update_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="center"
android:layout_margin="@dimen/item_tailing_margin"
android:contentDescription="@string/more"
android:src="@drawable/ic_baseline_swap_vert"
android:visibility="@{state.updating ? View.GONE : View.VISIBLE}" />
<ProgressBar
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="center"
android:layout_margin="@dimen/item_tailing_margin"
android:visibility="@{state.updating ? View.VISIBLE : View.GONE}" />
</FrameLayout>
</RelativeLayout>
</layout>
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="appInfo"
type="com.github.kr328.clash.design.model.AppInfo" />
<variable
name="selected"
type="boolean" />
<import type="android.view.View" />
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:minHeight="@dimen/item_min_height"
android:paddingVertical="@dimen/item_padding_vertical">
<View
android:id="@+id/icon_view"
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:background="@{appInfo.icon}" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/selected_view"
android:layout_toEndOf="@id/icon_view"
android:orientation="vertical">
<TextView
android:id="@+id/label_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{appInfo.label}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:id="@+id/package_name_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{appInfo.packageName}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2"
android:visibility="@{appInfo.packageName.length() == 0 ? View.GONE : View.VISIBLE}" />
</LinearLayout>
<com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/selected_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginHorizontal="@dimen/item_tailing_margin"
android:checked="@{selected}"
android:clickable="false"
android:focusable="false"
android:gravity="center" />
</RelativeLayout>
</layout>
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="@dimen/toolbar_height"
android:orientation="horizontal">
<ImageView
android:id="@+id/activity_bar_close_view"
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/close"
android:focusable="true"
android:paddingHorizontal="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_arrow_back" />
<TextView
android:id="@+id/activity_bar_title_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" />
</LinearLayout>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="insets"
type="com.github.kr328.clash.design.ui.Insets" />
</data>
<com.github.kr328.clash.design.view.AppRecyclerView
android:id="@+id/recycler_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="@{(float) insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{insets.bottom}" />
</layout>
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:minHeight="@dimen/item_min_height"
android:orientation="horizontal"
android:paddingVertical="@dimen/item_padding_vertical">
<View
android:id="@+id/icon_view"
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_marginHorizontal="@dimen/item_header_margin" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:id="@+id/subtext_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="@dimen/item_min_height"
android:orientation="horizontal"
android:paddingVertical="@dimen/item_padding_vertical">
<View
android:id="@+id/icon_view"
android:layout_width="@dimen/item_header_component_size"
android:layout_height="@dimen/item_header_component_size"
android:layout_marginHorizontal="@dimen/item_header_margin" />
<FrameLayout
android:id="@+id/action_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackground">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/title_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.MaterialComponents.Caption" />
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:layout_marginEnd="@dimen/item_tailing_component_size"
android:ellipsize="start"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/divider_size"
android:background="?attr/colorControlNormal" />
</LinearLayout>
<ImageView
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="bottom|end"
android:layout_marginBottom="@dimen/divider_size"
android:contentDescription="@string/edit"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_edit" />
</FrameLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="@dimen/large_item_padding_vertical">
<View
android:id="@+id/icon_view"
android:layout_width="@dimen/large_item_header_component_size"
android:layout_height="@dimen/large_item_header_component_size"
android:layout_marginHorizontal="@dimen/large_item_header_margin_horizontal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/large_item_tailing_margin_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:id="@+id/subtext_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/large_item_text_margin"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<!-- 小圆点 -->
<!-- <ImageView-->
<!-- android:layout_width="8dp"-->
<!-- android:layout_height="8dp"-->
<!-- android:layout_margin="4dp"-->
<!-- android:background="@drawable/default_dot" />-->
</LinearLayout>
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="versionName"
type="String" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/dialog_padding">
<View
android:layout_width="@dimen/about_icon_size"
android:layout_height="@dimen/about_icon_size"
android:background="@drawable/ic_clash" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/about_text_margin"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/application_name"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:text="@{versionName}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.AccessControlDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<include
android:id="@+id/main_list"
layout="@layout/common_recycler_list"
app:insets="@{self.surface.insets}" />
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/search_view" />
<ImageView
android:id="@+id/search_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/item_tailing_margin"
android:layout_toStartOf="@id/menu_view"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/search"
android:focusable="true"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_search" />
<ImageView
android:id="@+id/menu_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/more"
android:focusable="true"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_more_vert" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.AppCrashedDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<com.github.kr328.clash.design.view.ObservableScrollView
android:id="@+id/scroll_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="@{(float) self.surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{self.surface.insets.bottom}">
<TextView
android:id="@+id/logs_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingMultiplier="1.5"
android:paddingHorizontal="@dimen/logcat_padding_horizontal"
android:paddingVertical="@dimen/logcat_padding_vertical"
android:textIsSelectable="true" />
</com.github.kr328.clash.design.view.ObservableScrollView>
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}"
android:paddingEnd="@dimen/item_tailing_margin">
<include layout="@layout/common_activity_bar" />
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.FilesDesign" />
<variable
name="currentInBaseDir"
type="boolean" />
<variable
name="configurationEditable"
type="boolean" />
<import type="android.view.View" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<include
android:id="@+id/main_list"
layout="@layout/common_recycler_list"
app:insets="@{self.surface.insets}" />
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/new_view" />
<ImageView
android:id="@+id/new_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/_new"
android:focusable="true"
android:onClick="@{() -> self.requestNew()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_add"
android:visibility="@{currentInBaseDir ? View.GONE : View.VISIBLE}" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.LogcatDesign" />
<variable
name="streaming"
type="boolean" />
<import type="android.view.View" />
<import type="com.github.kr328.clash.design.LogcatDesign.Request" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<com.github.kr328.clash.design.view.AppRecyclerView
android:id="@+id/recycler_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="@{(float) self.surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{self.surface.insets.bottom}" />
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/action_layout" />
<FrameLayout
android:id="@+id/action_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{streaming ? View.GONE : View.VISIBLE}">
<ImageView
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/delete"
android:focusable="true"
android:onClick="@{() -> self.requests.offer(Request.Delete)}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_delete" />
<ImageView
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/export"
android:focusable="true"
android:onClick="@{() -> self.requests.offer(Request.Export)}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_publish" />
</LinearLayout>
<ImageView
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="end"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/close"
android:focusable="true"
android:onClick="@{() -> self.requests.offer(Request.Close)}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_stop"
android:visibility="@{streaming ? View.VISIBLE : View.GONE}" />
</FrameLayout>
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.LogsDesign" />
<import type="com.github.kr328.clash.design.LogsDesign.Request" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/delete_view" />
<ImageView
android:id="@+id/delete_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/delete_all_logs"
android:focusable="true"
android:onClick="@{() -> self.requests.offer(Request.DeleteAll.INSTANCE)}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_clear_all" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
<com.github.kr328.clash.design.view.ActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> self.requests.offer(Request.StartLogcat.INSTANCE)}"
app:icon="@drawable/ic_baseline_adb"
app:subtext="@string/tap_to_start"
app:text="@string/clash_logcat" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?attr/colorControlHighlight" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/item_padding_vertical"
android:paddingStart="@{@dimen/item_header_component_size + @dimen/item_header_margin * 2}"
android:paddingEnd="@dimen/item_tailing_margin"
android:text="@string/history"
android:textColor="?attr/colorControlActivated" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@{self.surface.insets.bottom}" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,446 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.MainDesign" />
<variable
name="clashRunning"
type="boolean" />
<variable
name="forwarded"
type="String" />
<variable
name="mode"
type="String" />
<variable
name="profileName"
type="String" />
<variable
name="colorClashStarted"
type="int" />
<variable
name="colorClashStopped"
type="int" />
<variable
name="hasProviders"
type="boolean" />
<variable
name="selectnodeName"
type="String" />
<import type="android.view.View" />
<import type="com.github.kr328.clash.design.MainDesign.Request" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#232323"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<!-- <ScrollView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:scrollbars="none">-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:clipToPadding="false"
android:orientation="vertical"
android:paddingHorizontal="@dimen/main_padding_horizontal"
android:paddingTop="@{self.surface.insets.top}"
android:paddingBottom="@{self.surface.insets.bottom}">
<!-- Top Menu -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<!-- 左侧菜单按钮 -->
<ImageView
android:background="?attr/selectableItemBackgroundBorderless"
android:id="@+id/menu_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_view_list"
android:focusable="true"
android:clickable="true"
android:onClick="@{() -> self.request(Request.OpenSettingsDIY)}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:padding="8dp"/>
<!-- 中间的提示文本 -->
<ImageView
android:id="@+id/prompt_text"
android:layout_width="260dp"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="6dp"
android:scaleType="centerCrop"
app:layout_constraintStart_toEndOf="@id/menu_button"
app:layout_constraintEnd_toStartOf="@id/vip_icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
/>
<!-- 右侧的VIP图标 -->
<ImageView
android:background="?attr/selectableItemBackgroundBorderless"
android:id="@+id/vip_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_help_center"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:focusable="true"
android:clickable="true"
android:onClick="@{() -> self.request(Request.OpenSettingsKEFU)}"
android:padding="8dp"/>
</LinearLayout>
<!-- 顶部横向滚动广告栏 -->
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/ad_banner"
android:layout_width="match_parent"
android:layout_height="180dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="16dp"
android:layout_marginHorizontal="16dp"/>
<!-- TabLayout作为页指示器 -->
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="20dp"
app:layout_constraintTop_toBottomOf="@id/ad_banner"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:tabIndicatorFullWidth="false"
android:layout_marginTop="3dp"
app:tabGravity="center"
app:tabBackground="@drawable/tab_pager_selector"
android:background="@android:color/transparent"
app:tabIndicatorHeight="0dp"
app:tabPaddingEnd="10dp"
app:tabPaddingStart="10dp"
/>
<!-- <androidx.cardview.widget.CardView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="170dp"-->
<!-- android:src="@drawable/ad_banner"-->
<!-- android:scaleType="fitCenter"-->
<!-- android:layout_marginTop="16dp"-->
<!-- android:layout_marginStart="16dp"-->
<!-- android:layout_marginEnd="16dp"-->
<!-- android:id="@+id/ad_banner"-->
<!-- app:cardCornerRadius="16dp"-->
<!-- app:cardElevation="4dp"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent">-->
<!-- <ImageView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:src="@drawable/ad_banner"-->
<!-- android:scaleType="centerCrop"/>-->
<!-- </androidx.cardview.widget.CardView>-->
<!-- app:lottie_fileName="@{clashRunning?@string/animation_running:@string/animation_stopped}" -->
<!-- Connection Status Circle Button -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_gravity="center_horizontal">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/connection_button"
android:layout_width="200dp"
android:layout_height="200dp"
app:lottie_autoPlay="true"
app:lottie_fileName="1d2a0fe5.json"
android:onClick="@{() -> self.request(Request.ToggleStatus)}"
app:lottie_imageAssetsFolder="assets/"
app:lottie_loop="true" />
<!-- app:lottie_rawRes="@string/raw_cn"-->
</LinearLayout>
<!-- Connection Status Text -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_gravity="center_horizontal">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@{clashRunning ? @drawable/shield_lock_svgrepo_com : @drawable/no_security_svgrepo_com}"
android:scaleType="fitXY"
app:tint="@color/cardview_light_background"
/>
<!-- @{clashRunning ? @color/cardview_light_background : @android:color/holo_green_dark}-->
<TextView
android:id="@+id/connection_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{clashRunning ? @string/running : @string/stopped}"
android:textAlignment="center"
android:textSize="18sp"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintVertical_bias="0.5"
/>
<!-- android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/connection_button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintVertical_bias="0.5"-->
</LinearLayout>
<!-- Traffic Stats -->
<LinearLayout
android:id="@+id/traffic_stats"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@id/connection_status"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<TextView
android:id="@+id/upload_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{clashRunning ? @string/upload_traffic(forwarded) : @string/no_traffic}" />
<TextView
android:id="@+id/download_traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{clashRunning ? @string/download_traffic(forwarded) : @string/no_traffic}"
android:layout_marginStart="16dp" />
</LinearLayout>
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/mode_selection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginTop="16dp"
app:selectionRequired="true"
app:layout_constraintTop_toBottomOf="@id/connection_status"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<!-- Mode Selection Buttons style="@style/Widget.Material3.Button.ElevatedButton" -->
<com.google.android.material.button.MaterialButton
android:id="@+id/modeSelectionbutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/direct_mode"
android:backgroundTint="#383838"
android:textColor="#ffffff"
/>
<com.google.android.material.button.MaterialButton
android:id="@+id/modeSelectionbutton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/global_mode"
android:backgroundTint="#383838"
android:textColor="#ffffff"
/>
<com.google.android.material.button.MaterialButton
android:id="@+id/modeSelectionbutton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rule_mode"
android:textColor="#ffffff"
android:backgroundTint="#383838"
/>
</com.google.android.material.button.MaterialButtonToggleGroup>
<!-- 连接状态栏 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:clickable="true"
android:focusable="true"
android:id="@+id/server_selection"
android:background="@drawable/status_container_background"
android:padding="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:gravity="bottom|center"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:layout_marginEnd="26dp"
android:layout_marginTop="60dp"
android:onClick="@{() -> self.request(Request.OpenProxy)}">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_apps" />
<TextView
android:id="@+id/status_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{selectnodeName}"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:layout_marginStart="8dp" />
<!--
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_clear_all"
android:layout_marginStart="8dp"
app:tint="#31a75d" />
-->
</LinearLayout>
<!--
<com.airbnb.lottie.LottieAnimationView
android:layout_width="match_parent"
android:layout_height="200dp"
app:lottie_autoPlay="true"
app:lottie_fileName="2c630b55.json"
app:lottie_imageAssetsFolder="assets/"
app:lottie_loop="true" />
<com.github.kr328.clash.design.view.LargeActionCard
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_card_margin_vertical"
android:onClick="@{() -> self.request(Request.ToggleStatus)}"
android:theme="@style/AppThemeDark"
app:cardBackgroundColor="@{clashRunning ? colorClashStarted : colorClashStopped}"
app:icon="@{clashRunning ? @drawable/ic_outline_check_circle : @drawable/ic_outline_not_interested}"
app:subtext="@{clashRunning ? @string/format_traffic_forwarded(forwarded) : @string/tap_to_start}"
app:text="@{clashRunning ? @string/running : @string/stopped}" />
<com.github.kr328.clash.design.view.LargeActionCard
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_card_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenProxy)}"
app:icon="@drawable/ic_baseline_apps"
app:subtext="@{mode}"
app:text="@string/proxy" />
android:visibility="@{clashRunning ? View.VISIBLE : View.GONE}"
<com.github.kr328.clash.design.view.LargeActionCard
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_card_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenProfiles)}"
app:icon="@drawable/ic_baseline_view_list"
app:subtext="@{profileName != null ? @string/format_profile_activated(profileName) : @string/not_selected}"
app:text="@string/profile" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginVertical="@dimen/main_label_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenProviders)}"
android:visibility="@{clashRunning &amp;&amp; hasProviders ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_baseline_swap_vertical_circle"
app:text="@string/providers" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_label_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenLogs)}"
app:icon="@drawable/ic_baseline_assignment"
app:text="@string/logs" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_label_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenSettings)}"
app:icon="@drawable/ic_baseline_settings"
app:text="@string/settings" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_label_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenHelp)}"
app:icon="@drawable/ic_baseline_help_center"
app:text="@string/help" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/main_label_margin_vertical"
android:onClick="@{() -> self.request(Request.OpenAbout)}"
app:icon="@drawable/ic_baseline_info"
app:text="@string/about" />
-->
</LinearLayout>
<!-- </ScrollView>-->
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.NewProfileDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<include
android:id="@+id/main_list"
layout="@layout/common_recycler_list"
app:insets="@{self.surface.insets}" />
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}"
android:paddingEnd="@dimen/item_tailing_margin">
<include layout="@layout/common_activity_bar" />
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.ProfilesDesign" />
<import type="android.view.View" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<include
android:id="@+id/main_list"
layout="@layout/common_recycler_list"
app:insets="@{self.surface.insets}" />
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/update_layout" />
<FrameLayout
android:id="@+id/update_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/add_view">
<ImageView
android:id="@+id/update_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/_new"
android:focusable="true"
android:onClick="@{() -> self.requestUpdateAll()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_sync"
android:visibility="gone" />
</FrameLayout>
<ImageView
android:id="@+id/add_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/_new"
android:focusable="true"
android:onClick="@{() -> self.requestCreate()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_add" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.PropertiesDesign" />
<variable
name="profile"
type="com.github.kr328.clash.service.model.Profile" />
<variable
name="processing"
type="boolean" />
<import type="com.github.kr328.clash.service.model.Profile.Type" />
<import type="android.view.View" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<com.github.kr328.clash.design.view.ObservableScrollView
android:id="@+id/scroll_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@{(float) self.surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{self.surface.insets.bottom}">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="@dimen/item_padding_vertical">
<View
android:layout_width="@dimen/tips_icon_size"
android:layout_height="@dimen/tips_icon_size"
android:layout_marginHorizontal="@dimen/tips_icon_margin"
android:background="@drawable/ic_outline_info" />
<TextView
android:id="@+id/tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/item_tailing_margin"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2" />
</LinearLayout>
<com.github.kr328.clash.design.view.ActionTextField
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/properties_element_margin_vertical"
android:onClick="@{() -> self.inputName()}"
app:icon="@drawable/ic_outline_label"
app:placeholder="@string/profile_name"
app:text="@{profile.name}"
app:title="@string/name" />
<com.github.kr328.clash.design.view.ActionTextField
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/properties_element_margin_vertical"
android:onClick="@{() -> self.inputUrl()}"
app:enabled="@{profile.type != Type.File}"
app:icon="@drawable/ic_outline_inbox"
app:placeholder="@string/accept_http_content"
app:text="@{profile.source}"
app:title="@string/url" />
<com.github.kr328.clash.design.view.ActionTextField
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/properties_element_margin_vertical"
android:onClick="@{() -> self.inputInterval()}"
app:enabled="@{profile.type != Type.File}"
app:icon="@drawable/ic_outline_update"
app:placeholder="@string/at_least_15_minutes"
app:text="@{profile.interval == 0 ? @string/disabled : @string/format_minutes(profile.interval / 1000 / 60)}"
app:title="@string/auto_update" />
<com.github.kr328.clash.design.view.ActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/properties_element_margin_vertical"
android:onClick="@{() -> self.requestBrowseFiles()}"
app:icon="@drawable/ic_outline_folder"
app:subtext="@string/browse_configuration_providers"
app:text="@string/browse_files" />
</LinearLayout>
</com.github.kr328.clash.design.view.ObservableScrollView>
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/action_layout" />
<FrameLayout
android:id="@+id/action_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/item_tailing_margin">
<ProgressBar
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:indeterminate="true"
android:visibility="@{processing ? View.VISIBLE : View.GONE}" />
<ImageView
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="end|center_vertical"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/save"
android:focusable="true"
android:onClick="@{() -> self.requestCommit()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_save"
android:visibility="@{processing ? View.GONE : View.VISIBLE}" />
</FrameLayout>
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.ProvidersDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<include
android:id="@+id/main_list"
layout="@layout/common_recycler_list"
app:insets="@{self.surface.insets}" />
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/update_view" />
<ImageView
android:id="@+id/update_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/update_all"
android:focusable="true"
android:onClick="@{() -> self.requestUpdateAll()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_sync" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.ProxyDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/mainbg"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<TextView
android:id="@+id/empty_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/proxy_empty_tips"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
android:visibility="gone" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pages_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/mainbg"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/mainbg"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:background="@drawable/mainbg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/url_test_layout" />
<FrameLayout
android:id="@+id/url_test_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/item_tailing_margin"
android:layout_toStartOf="@id/menu_view">
<ImageView
android:id="@+id/url_test_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_gravity="center"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/delay_test"
android:focusable="true"
android:onClick="@{() -> self.requestUrlTesting()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_flash_on" />
<ProgressBar
android:id="@+id/url_test_progress_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:visibility="gone" />
</FrameLayout>
<!---->
<ImageView
android:id="@+id/menu_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="false"
android:contentDescription="@string/more"
android:focusable="true"
android:padding="@dimen/toolbar_image_action_padding"
/>
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout_view"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_layout_height"
android:alpha="0.96"
android:background="@drawable/mainbg"
app:tabBackground="@android:color/transparent"
app:tabMode="scrollable" />
<View
android:id="@+id/elevation_view"
android:layout_width="match_parent"
android:layout_height="@dimen/divider_size"
android:alpha="0.96"
android:background="@drawable/mainbg"
android:elevation="@dimen/tab_layout_elevation" />
</LinearLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:visibility="gone"
android:paddingBottom="@{self.surface.insets.bottom}">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/url_test_float_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/item_tailing_margin"
android:contentDescription="@string/delay_test"
android:onClick="@{() -> self.requestUrlTesting()}"
android:src="@drawable/ic_baseline_flash_on" />
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.SettingsDesign" />
<import type="com.github.kr328.clash.design.SettingsDesign.Request" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<com.github.kr328.clash.design.view.ObservableScrollView
android:id="@+id/scroll_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="@{(float) self.surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{self.surface.insets.bottom}">
<com.github.kr328.clash.design.view.ActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> self.request(Request.StartApp)}"
app:icon="@drawable/ic_baseline_settings"
app:text="@string/app" />
<com.github.kr328.clash.design.view.ActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> self.request(Request.StartNetwork)}"
app:icon="@drawable/ic_baseline_dns"
app:text="@string/network" />
<com.github.kr328.clash.design.view.ActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> self.request(Request.StartOverride)}"
app:icon="@drawable/ic_baseline_extension"
app:text="@string/override" />
<com.github.kr328.clash.design.view.ActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> self.request(Request.StartMetaFeature)}"
app:icon="@drawable/ic_baseline_meta"
app:text="@string/meta_features" />
</LinearLayout>
</com.github.kr328.clash.design.view.ObservableScrollView>
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}"
android:paddingEnd="@dimen/item_tailing_margin">
<include layout="@layout/common_activity_bar" />
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="surface"
type="com.github.kr328.clash.design.ui.Surface" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{surface.insets.start}"
android:paddingEnd="@{surface.insets.end}">
<com.github.kr328.clash.design.view.ObservableScrollView
android:id="@+id/scroll_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{(float) surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{surface.insets.bottom}" />
</com.github.kr328.clash.design.view.ObservableScrollView>
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{surface.insets.top}"
android:paddingEnd="@dimen/item_tailing_margin">
<include layout="@layout/common_activity_bar" />
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.MetaFeatureSettingsDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<com.github.kr328.clash.design.view.ObservableScrollView
android:id="@+id/scroll_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{(float) self.surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{self.surface.insets.bottom}" />
</com.github.kr328.clash.design.view.ObservableScrollView>
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/clear_view" />
<ImageView
android:id="@+id/clear_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/reset"
android:focusable="true"
android:onClick="@{() -> self.requestClear()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_replay" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="self"
type="com.github.kr328.clash.design.OverrideSettingsDesign" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{self.surface.insets.start}"
android:paddingEnd="@{self.surface.insets.end}">
<com.github.kr328.clash.design.view.ObservableScrollView
android:id="@+id/scroll_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{(float) self.surface.insets.top + @dimen/toolbar_height}"
android:paddingBottom="@{self.surface.insets.bottom}" />
</com.github.kr328.clash.design.view.ObservableScrollView>
<com.github.kr328.clash.design.view.ActivityBarLayout
android:id="@+id/activity_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@{self.surface.insets.top}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/item_tailing_margin">
<include
layout="@layout/common_activity_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/clear_view" />
<ImageView
android:id="@+id/clear_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="end|center_vertical"
android:layout_marginStart="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/reset"
android:focusable="true"
android:onClick="@{() -> self.requestClear()}"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_replay" />
</RelativeLayout>
</com.github.kr328.clash.design.view.ActivityBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dialog_padding"
android:paddingTop="@dimen/dialog_padding"
android:paddingBottom="@dimen/dialog_button_margin">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/key">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/key_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin"
android:hint="@string/value">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/value_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</layout>
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:minHeight="@dimen/item_min_height"
android:orientation="vertical"
android:padding="@dimen/dialog_padding">
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progress_indicator"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/item_text_margin" />
</LinearLayout>
</layout>
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="master"
type="com.github.kr328.clash.design.FilesDesign" />
<variable
name="self"
type="android.app.Dialog" />
<variable
name="file"
type="com.github.kr328.clash.design.model.File" />
<variable
name="currentInBase"
type="boolean" />
<variable
name="configurationEditable"
type="boolean" />
<import type="android.view.View" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="@{() -> master.requestImport(self, file)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:visibility="@{!file.isDirectory &amp;&amp; (!currentInBase || configurationEditable) ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_baseline_get_app"
app:text="@string/import_" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="@{() -> master.requestExport(self, file)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:visibility="@{!file.isDirectory &amp;&amp; file.size > 0 ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_baseline_publish"
app:text="@string/export" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="@{() -> master.requestRename(self, file)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:visibility="@{!currentInBase ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_baseline_edit"
app:text="@string/rename" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="@{() -> master.requestDelete(self, file)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:theme="@style/ThemeOverlay.ControlColorError"
android:visibility="@{!currentInBase ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_outline_delete"
app:text="@string/delete" />
</LinearLayout>
</layout>
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="surface"
type="com.github.kr328.clash.design.ui.Surface" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@{surface.insets.start}"
android:paddingTop="@{surface.insets.top}"
android:paddingEnd="@{surface.insets.end}"
android:paddingBottom="@{surface.insets.bottom}">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/preference_fullscreen_button_padding">
<TextView
android:id="@+id/title_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/new_view"
android:layout_alignBottom="@id/new_view"
android:layout_alignParentStart="true"
android:layout_marginHorizontal="@dimen/item_header_margin"
android:layout_toStartOf="@id/new_view"
android:gravity="center_vertical"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" />
<ImageView
android:id="@+id/new_view"
android:layout_width="@dimen/item_tailing_component_size"
android:layout_height="@dimen/item_tailing_component_size"
android:layout_alignParentEnd="true"
android:layout_margin="@dimen/item_tailing_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/_new"
android:focusable="true"
android:padding="@dimen/toolbar_image_action_padding"
android:src="@drawable/ic_baseline_add" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/main_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ok_view"
android:layout_below="@id/title_view" />
<Button
android:id="@+id/reset_view"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="@dimen/dialog_button_margin"
android:text="@string/reset" />
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@id/cancel_view"
android:layout_toEndOf="@id/reset_view" />
<Button
android:id="@+id/cancel_view"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@id/ok_view"
android:text="@string/cancel" />
<Button
android:id="@+id/ok_view"
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/dialog_button_margin"
android:text="@string/ok" />
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="master"
type="com.github.kr328.clash.design.ProfilesDesign" />
<variable
name="self"
type="android.app.Dialog" />
<variable
name="profile"
type="com.github.kr328.clash.service.model.Profile" />
<import type="com.github.kr328.clash.service.model.Profile.Type" />
<import type="android.view.View" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> master.requestUpdate(self, profile)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:visibility="@{profile.imported &amp;&amp; profile.type != Type.File ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_baseline_update"
app:text="@string/update" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> master.requestEdit(self, profile)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
app:icon="@drawable/ic_baseline_edit"
app:text="@string/edit" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> master.requestDuplicate(self, profile)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:visibility="@{profile.imported ? View.VISIBLE : View.GONE}"
app:icon="@drawable/ic_baseline_content_copy"
app:text="@string/duplicate" />
<com.github.kr328.clash.design.view.LargeActionLabel
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> master.requestDelete(self, profile)}"
android:padding="@dimen/bottom_sheet_menu_items_padding"
android:theme="@style/ThemeOverlay.ControlColorError"
app:icon="@drawable/ic_outline_delete"
app:text="@string/delete" />
</LinearLayout>
</layout>

Some files were not shown because too many files have changed in this diff Show More