mirror of
https://github.com/usetrmnl/trmnl-android.git
synced 2026-04-29 13:35:26 -07:00
Replace Material Icons library with local vector drawables
Co-authored-by: hossain-khan <99822+hossain-khan@users.noreply.github.com>
This commit is contained in:
co-authored by
hossain-khan
parent
964c0e8eff
commit
a9a2bdde32
@@ -14,8 +14,6 @@ import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.foundation.layout.statusBars
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
@@ -48,6 +46,7 @@ import ink.trmnl.android.data.AppConfig.TRMNL_SITE_URL
|
||||
import ink.trmnl.android.di.AppScope
|
||||
import ink.trmnl.android.ui.aboutapp.AppInfoScreen.Event
|
||||
import ink.trmnl.android.ui.aboutapp.AppInfoScreen.State
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
import ink.trmnl.android.ui.theme.TrmnlDisplayAppTheme
|
||||
import ink.trmnl.android.ui.theme.TrmnlOrange
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@@ -15,8 +15,6 @@ import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.foundation.layout.statusBars
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
@@ -52,6 +50,7 @@ import ink.trmnl.android.data.AppConfig.TRMNL_API_SERVER_BASE_URL
|
||||
import ink.trmnl.android.data.TrmnlDisplayRepository
|
||||
import ink.trmnl.android.di.AppScope
|
||||
import ink.trmnl.android.model.SupportedDeviceModel
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
import ink.trmnl.android.ui.theme.TrmnlDisplayAppTheme
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@@ -8,11 +8,6 @@ import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowForward
|
||||
import androidx.compose.material.icons.automirrored.filled.List
|
||||
import androidx.compose.material.icons.filled.Refresh
|
||||
import androidx.compose.material.icons.filled.Settings
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
import androidx.compose.material3.ExtendedFloatingActionButton
|
||||
@@ -33,6 +28,7 @@ import androidx.window.core.layout.WindowSizeClass
|
||||
import androidx.window.core.layout.WindowSizeClass.Companion.WIDTH_DP_EXPANDED_LOWER_BOUND
|
||||
import androidx.window.core.layout.WindowSizeClass.Companion.WIDTH_DP_MEDIUM_LOWER_BOUND
|
||||
import ink.trmnl.android.R
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
|
||||
/**
|
||||
* Displays a set of configuration and control actions for the TRMNL display.
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package ink.trmnl.android.ui.icons
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import ink.trmnl.android.R
|
||||
|
||||
/**
|
||||
* Local Material Symbols icons.
|
||||
* Replaces deprecated androidx.compose.material.icons package.
|
||||
*
|
||||
* Icons downloaded from https://fonts.google.com/icons (Material Symbols)
|
||||
* and converted to Android Vector Drawables.
|
||||
*/
|
||||
object Icons {
|
||||
object Default {
|
||||
val CheckCircle: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_check_circle_24dp)
|
||||
|
||||
val Clear: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_clear_24dp)
|
||||
|
||||
val DateRange: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_date_range_24dp)
|
||||
|
||||
val PlayArrow: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_play_arrow_24dp)
|
||||
|
||||
val Refresh: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_refresh_24dp)
|
||||
|
||||
val Settings: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_settings_24dp)
|
||||
|
||||
val Share: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_share_24dp)
|
||||
|
||||
val Warning: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_warning_24dp)
|
||||
}
|
||||
|
||||
object Outlined {
|
||||
val Info: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_info_outlined_24dp)
|
||||
|
||||
val Warning: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_warning_outlined_24dp)
|
||||
}
|
||||
|
||||
object AutoMirrored {
|
||||
object Filled {
|
||||
val ArrowBack: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_arrow_back_24dp)
|
||||
|
||||
val ArrowForward: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_arrow_forward_24dp)
|
||||
|
||||
val List: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.ic_list_24dp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,11 +15,6 @@ import androidx.compose.foundation.layout.safeDrawing
|
||||
import androidx.compose.foundation.layout.statusBars
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material.icons.filled.CheckCircle
|
||||
import androidx.compose.material.icons.filled.Clear
|
||||
import androidx.compose.material.icons.filled.Share
|
||||
import androidx.compose.material3.AlertDialog
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
@@ -72,6 +67,7 @@ import ink.trmnl.android.data.log.TrmnlRefreshLog
|
||||
import ink.trmnl.android.data.log.TrmnlRefreshLogManager
|
||||
import ink.trmnl.android.di.AppScope
|
||||
import ink.trmnl.android.model.TrmnlDeviceType
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
import ink.trmnl.android.ui.theme.TrmnlDisplayAppTheme
|
||||
import ink.trmnl.android.util.getTimeElapsedString
|
||||
import ink.trmnl.android.work.RefreshWorkType
|
||||
|
||||
@@ -25,11 +25,6 @@ import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material.icons.filled.Clear
|
||||
import androidx.compose.material.icons.filled.DateRange
|
||||
import androidx.compose.material.icons.outlined.Warning
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.Card
|
||||
@@ -96,6 +91,7 @@ import ink.trmnl.android.model.TrmnlDeviceConfig
|
||||
import ink.trmnl.android.model.TrmnlDeviceType
|
||||
import ink.trmnl.android.ui.aboutapp.AppInfoScreen
|
||||
import ink.trmnl.android.ui.display.TrmnlMirrorDisplayScreen
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
import ink.trmnl.android.ui.settings.AppSettingsScreen.ValidationResult
|
||||
import ink.trmnl.android.ui.settings.AppSettingsScreen.ValidationResult.Failure
|
||||
import ink.trmnl.android.ui.settings.AppSettingsScreen.ValidationResult.InvalidServerUrl
|
||||
|
||||
@@ -6,8 +6,6 @@ import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.Info
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
@@ -25,6 +23,7 @@ import androidx.compose.ui.text.withStyle
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import ink.trmnl.android.model.TrmnlDeviceType
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
import ink.trmnl.android.ui.theme.TrmnlDisplayAppTheme
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
package ink.trmnl.android.util
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.CheckCircle
|
||||
import androidx.compose.material.icons.filled.Clear
|
||||
import androidx.compose.material.icons.filled.PlayArrow
|
||||
import androidx.compose.material.icons.filled.Refresh
|
||||
import androidx.compose.material.icons.filled.Warning
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.work.WorkInfo
|
||||
import ink.trmnl.android.ui.icons.Icons
|
||||
import java.time.Instant
|
||||
import java.time.ZoneId
|
||||
import java.time.format.DateTimeFormatter
|
||||
@@ -49,6 +44,7 @@ fun WorkInfo.State?.toColor(): Color =
|
||||
null -> MaterialTheme.colorScheme.onSurface
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun WorkInfo.State?.toIcon(): ImageVector =
|
||||
when (this) {
|
||||
WorkInfo.State.ENQUEUED -> Icons.Default.Refresh
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960"
|
||||
android:autoMirrored="true">
|
||||
<path
|
||||
android:pathData="M400,880L0,480l400,-400l71,71l-329,329l329,329l-71,71Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960"
|
||||
android:autoMirrored="true">
|
||||
<path
|
||||
android:pathData="M489,880l-71,-71l329,-329l-329,-329l71,-71l400,400l-400,400Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M424,664 L666,422 610,366 424,552 350,478 294,534 424,664ZM480,880q-83,0 -156,-31.5T197,763q-54,-54 -85.5,-127T80,480q0,-83 31.5,-156T197,197q54,-54 127,-85.5T480,80q83,0 156,31.5T763,197q54,54 85.5,127T880,480q0,83 -31.5,156T763,763q-54,54 -127,85.5T480,880Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M256,760l-56,-56l224,-224l-224,-224l56,-56l224,224l224,-224l56,56l-224,224l224,224l-56,56l-224,-224l-224,224Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M320,520q-17,0 -28.5,-11.5T280,480q0,-17 11.5,-28.5T320,440q17,0 28.5,11.5T360,480q0,17 -11.5,28.5T320,520ZM480,520q-17,0 -28.5,-11.5T440,480q0,-17 11.5,-28.5T480,440q17,0 28.5,11.5T520,480q0,17 -11.5,28.5T480,520ZM640,520q-17,0 -28.5,-11.5T600,480q0,-17 11.5,-28.5T640,440q17,0 28.5,11.5T680,480q0,17 -11.5,28.5T640,520ZM200,880q-33,0 -56.5,-23.5T120,800v-560q0,-33 23.5,-56.5T200,160h40v-80h80v80h320v-80h80v80h40q33,0 56.5,23.5T840,240v560q0,33 -23.5,56.5T760,880L200,880ZM200,800h560v-400L200,400v400Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M440,680h80v-240h-80v240ZM480,360q17,0 28.5,-11.5T520,320q0,-17 -11.5,-28.5T480,280q-17,0 -28.5,11.5T440,320q0,17 11.5,28.5T480,360ZM480,880q-83,0 -156,-31.5T197,763q-54,-54 -85.5,-127T80,480q0,-83 31.5,-156T197,197q54,-54 127,-85.5T480,80q83,0 156,31.5T763,197q54,54 85.5,127T880,480q0,83 -31.5,156T763,763q-54,54 -127,85.5T480,880ZM480,800q134,0 227,-93t93,-227q0,-134 -93,-227t-227,-93q-134,0 -227,93t-93,227q0,134 93,227t227,93ZM480,480Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960"
|
||||
android:autoMirrored="true">
|
||||
<path
|
||||
android:pathData="M280,600v-80h560v80L280,600ZM280,440v-80h560v80L280,440ZM280,280v-80h560v80L280,280ZM160,600q-17,0 -28.5,-11.5T120,560q0,-17 11.5,-28.5T160,520q17,0 28.5,11.5T200,560q0,17 -11.5,28.5T160,600ZM160,440q-17,0 -28.5,-11.5T120,400q0,-17 11.5,-28.5T160,360q17,0 28.5,11.5T200,400q0,17 -11.5,28.5T160,440ZM160,280q-17,0 -28.5,-11.5T120,240q0,-17 11.5,-28.5T160,200q17,0 28.5,11.5T200,240q0,17 -11.5,28.5T160,280Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M320,760v-560l440,280l-440,280Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M480,800q-134,0 -227,-93t-93,-227q0,-134 93,-227t227,-93q69,0 132,28.5T720,270v-110h80v280L520,440v-80h168q-32,-56 -87.5,-88T480,240q-100,0 -170,70t-70,170q0,100 70,170t170,70q77,0 139,-44t87,-116h84q-28,106 -114,173t-196,67Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M370,880l-16,-128q-13,-5 -24.5,-12T307,725l-119,50L78,585l103,-78q-1,-7 -1,-13.5v-27q0,-6.5 1,-13.5L78,375l110,-190l119,50q11,-8 23,-15t24,-12l16,-128h220l16,128q13,5 24.5,12t22.5,15l119,-50l110,190l-103,78q1,7 1,13.5v27q0,6.5 -2,13.5l103,78l-110,190l-118,-50q-11,8 -23,15t-24,12L590,880L370,880ZM440,800h79l14,-106q31,-8 57.5,-23.5T639,633l99,41l39,-68l-86,-65q5,-14 7,-29.5t2,-31.5q0,-16 -2,-31.5t-7,-29.5l86,-65l-39,-68l-99,42q-22,-23 -48.5,-38.5T533,266l-13,-106h-79l-14,106q-31,8 -57.5,23.5T321,327l-99,-41l-39,68l86,64q-5,15 -7,30t-2,32q0,16 2,31t7,30l-86,65l39,68l99,-42q22,23 48.5,38.5T427,694l13,106ZM482,620q58,0 99,-41t41,-99q0,-58 -41,-99t-99,-41q-59,0 -99.5,41T342,480q0,58 40.5,99t99.5,41ZM480,480Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M720,880q-50,0 -85,-35t-35,-85q0,-7 1,-14.5t3,-13.5L322,577q-17,15 -38,23t-44,8q-50,0 -85,-35t-35,-85q0,-50 35,-85t85,-35q23,0 44,8t38,23l282,-155q-2,-6 -3,-13.5t-1,-14.5q0,-50 35,-85t85,-35q50,0 85,35t35,85q0,50 -35,85t-85,35q-23,0 -44,-8t-38,-23L322,430q2,6 3,13.5t1,14.5q0,7 -1,14.5t-3,13.5l282,155q17,-15 38,-23t44,-8q50,0 85,35t35,85q0,50 -35,85t-85,35Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:pathData="M40,840L480,120l440,720L40,840ZM138,760h684L480,240L138,760ZM480,720q17,0 28.5,-11.5T520,680q0,-17 -11.5,-28.5T480,640q-17,0 -28.5,11.5T440,680q0,17 11.5,28.5T480,720ZM440,600h80v-160h-80v160ZM480,500Z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user