Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
TeamPrinterV2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Aleksandr
TeamPrinterV2
Commits
fa0d47f7
Commit
fa0d47f7
authored
Jul 09, 2024
by
Aleksandr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
job status and colors
parent
64369c62
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
92 additions
and
7 deletions
+92
-7
app/src/main/java/com/isidroid/c23/domain/use_case/PrintJobsUseCase.kt
+12
-3
app/src/main/java/com/isidroid/c23/ext/ExtPrintJob.kt
+44
-0
app/src/main/java/com/isidroid/c23/ui/theme/ColorStatus.kt
+9
-0
app/src/main/res/values/print_jobs_statuses.xml
+15
-0
app/src/main/res/values/strings.xml
+3
-1
ui/print_job/src/main/java/com/isidroid/ui/print_job/PrintJobListItemComponent.kt
+0
-1
ui/print_job/src/main/java/com/isidroid/ui/print_job/_components/AccessCodeComponent.kt
+9
-2
No files found.
app/src/main/java/com/isidroid/c23/domain/use_case/PrintJobsUseCase.kt
View file @
fa0d47f7
package
com.isidroid.c23.domain.use_case
package
com.isidroid.c23.domain.use_case
import
android.content.Context
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.graphics.Color
import
com.isidroid.c23.domain.dto.PrintJobListItem
import
com.isidroid.c23.domain.dto.PrintJobListItem
import
com.isidroid.c23.ext.getPrintJobStatus
import
com.isidroid.c23.ext.getPrintJobStatusColor
import
com.isidroid.core.FlowResult
import
com.isidroid.core.FlowResult
import
com.isidroid.job.constant.jobStatusName
import
com.isidroid.job.constant.jobStatusName
import
com.isidroid.job.repository.JobRepository
import
com.isidroid.job.repository.JobRepository
import
com.isidroid.rendering.constant.printSizeName
import
com.isidroid.rendering.constant.printSizeName
import
com.isidroid.spot.repository.SpotRepository
import
com.isidroid.spot.repository.SpotRepository
import
dagger.hilt.android.qualifiers.ApplicationContext
import
kotlinx.coroutines.flow.flow
import
kotlinx.coroutines.flow.flow
import
java.io.File
import
java.io.File
import
javax.inject.Inject
import
javax.inject.Inject
...
@@ -14,13 +18,18 @@ import javax.inject.Singleton
...
@@ -14,13 +18,18 @@ import javax.inject.Singleton
@Singleton
@Singleton
class
PrintJobsUseCase
@Inject
constructor
(
class
PrintJobsUseCase
@Inject
constructor
(
@ApplicationContext
private
val
context
:
Context
,
private
val
repository
:
JobRepository
,
private
val
repository
:
JobRepository
,
private
val
spotRepository
:
SpotRepository
private
val
spotRepository
:
SpotRepository
)
{
)
{
fun
load
()
=
flow
{
fun
load
()
=
flow
{
emit
(
FlowResult
.
Loading
)
emit
(
FlowResult
.
Loading
)
val
jobList
=
repository
.
readLocalList
()
val
jobList
=
repository
.
readLocalList
()
val
spots
=
jobList
.
map
{
it
.
spotId
}.
distinct
().
let
{
spotRepository
.
findLocalRichSpots
(
it
)
}
?.
associateBy
({
it
.
spot
.
id
},
{
it
})
val
spots
=
jobList
.
map
{
it
.
spotId
}
.
distinct
()
.
let
{
spotRepository
.
findLocalRichSpots
(
it
)
}
?.
associateBy
({
it
.
spot
.
id
},
{
it
})
val
result
=
jobList
.
map
{
job
->
val
result
=
jobList
.
map
{
job
->
val
richSpot
=
spots
?.
get
(
job
.
spotId
)
val
richSpot
=
spots
?.
get
(
job
.
spotId
)
...
@@ -32,11 +41,11 @@ class PrintJobsUseCase @Inject constructor(
...
@@ -32,11 +41,11 @@ class PrintJobsUseCase @Inject constructor(
cost
=
job
.
cost
,
cost
=
job
.
cost
,
paperInfo
=
job
.
printSize
.
printSizeName
,
paperInfo
=
job
.
printSize
.
printSizeName
,
isColor
=
profile
?.
grayscale
!=
true
,
isColor
=
profile
?.
grayscale
!=
true
,
statusColor
=
Color
(
0
xFF1E88E5
),
statusColor
=
getPrintJobStatusColor
(
job
.
status
),
comment
=
job
.
comment
,
comment
=
job
.
comment
,
copies
=
job
.
copies
,
copies
=
job
.
copies
,
cover
=
job
.
sourceFiles
?.
firstOrNull
()
?.
takeIf
{
File
(
it
).
exists
()
},
cover
=
job
.
sourceFiles
?.
firstOrNull
()
?.
takeIf
{
File
(
it
).
exists
()
},
statusName
=
job
.
status
.
jobStatusName
.
lowercase
(
),
statusName
=
context
.
getString
(
getPrintJobStatus
(
job
.
status
)
),
accessCode
=
job
.
accessCode
.
orEmpty
(),
accessCode
=
job
.
accessCode
.
orEmpty
(),
createdAt
=
job
.
createdAt
createdAt
=
job
.
createdAt
)
)
...
...
app/src/main/java/com/isidroid/c23/ext/ExtPrintJob.kt
0 → 100644
View file @
fa0d47f7
package
com.isidroid.c23.ext
import
androidx.compose.ui.graphics.Color
import
com.isidroid.c23.R
import
com.isidroid.c23.ui.theme.ColorBlue
import
com.isidroid.c23.ui.theme.ColorGreen
import
com.isidroid.c23.ui.theme.ColorOrange
import
com.isidroid.c23.ui.theme.ColorRed
import
com.isidroid.job.constant.JobStatus
fun
getPrintJobStatus
(
@JobStatus
status
:
Int
)
=
when
(
status
)
{
JobStatus
.
CREATED
->
R
.
string
.
print_job_status_created
JobStatus
.
CANCELED
->
R
.
string
.
print_job_status_canceled
JobStatus
.
READY
->
R
.
string
.
print_job_status_ready
JobStatus
.
ACCEPTED
->
R
.
string
.
print_job_status_accepted
JobStatus
.
REJECTED
->
R
.
string
.
print_job_status_rejected
JobStatus
.
PRINTING
->
R
.
string
.
print_job_status_printing
JobStatus
.
COMPLETED
->
R
.
string
.
print_job_status_completed
JobStatus
.
ERROR
->
R
.
string
.
print_job_status_error
JobStatus
.
IDLE
->
R
.
string
.
print_job_status_idle
JobStatus
.
RENDER_UPLOAD
->
R
.
string
.
print_job_status_render_upload
JobStatus
.
READY_TO_PRINT
->
R
.
string
.
print_job_status_ready_to_print
JobStatus
.
UPLOAD_ERROR
->
R
.
string
.
print_job_status_upload_error
else
->
R
.
string
.
empty
}
fun
getPrintJobStatusColor
(
@JobStatus
status
:
Int
)
=
when
(
status
)
{
JobStatus
.
CREATED
->
ColorBlue
JobStatus
.
CANCELED
->
ColorOrange
JobStatus
.
READY
->
ColorGreen
JobStatus
.
ACCEPTED
->
ColorGreen
JobStatus
.
REJECTED
->
ColorOrange
JobStatus
.
PRINTING
->
ColorBlue
JobStatus
.
COMPLETED
->
ColorGreen
JobStatus
.
ERROR
->
ColorRed
JobStatus
.
IDLE
->
ColorBlue
JobStatus
.
RENDER_UPLOAD
->
ColorBlue
JobStatus
.
READY_TO_PRINT
->
ColorBlue
JobStatus
.
UPLOAD_ERROR
->
ColorRed
else
->
Color
.
Transparent
}
\ No newline at end of file
app/src/main/java/com/isidroid/c23/ui/theme/ColorStatus.kt
0 → 100644
View file @
fa0d47f7
package
com.isidroid.c23.ui.theme
import
androidx.compose.ui.graphics.Color
val
ColorBlue
=
Color
(
0
xFF1E88E5
)
val
ColorOrange
=
Color
(
0
xFFF44336
)
val
ColorGreen
=
Color
(
0
xFF009688
)
val
ColorRed
=
Color
(
0
xFFE91E63
)
\ No newline at end of file
app/src/main/res/values/print_jobs_statuses.xml
0 → 100644
View file @
fa0d47f7
<resources>
<string
name=
"print_job_status_created"
>
Created
</string>
<string
name=
"print_job_status_canceled"
>
Canceled
</string>
<string
name=
"print_job_status_ready"
>
Ready to print
</string>
<string
name=
"print_job_status_accepted"
>
Accepted
</string>
<string
name=
"print_job_status_rejected"
>
Rejected
</string>
<string
name=
"print_job_status_printing"
>
Printing
</string>
<string
name=
"print_job_status_completed"
>
Complete
</string>
<string
name=
"print_job_status_error"
>
Error
</string>
<string
name=
"print_job_status_idle"
>
Created
</string>
<string
name=
"print_job_status_render_upload"
>
Ready to upload
</string>
<string
name=
"print_job_status_ready_to_print"
>
Ready to print
</string>
<string
name=
"print_job_status_upload_error"
>
Error
</string>
</resources>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
fa0d47f7
...
@@ -34,7 +34,8 @@
...
@@ -34,7 +34,8 @@
<string
name=
"appbar_print_preview"
>
Print Preview
</string>
<string
name=
"appbar_print_preview"
>
Print Preview
</string>
<string
name=
"error_spot_has_no_printing_profiles"
>
You can\'t print in this Spot, please select another ones
</string>
<string
name=
"error_spot_has_no_printing_profiles"
>
You can\'t print in this Spot, please select another ones
</string>
<string
name=
"action_find_spot"
>
Find spot
</string>
<string
name=
"action_find_spot"
>
Find spot
</string>
<string
name=
"print_job_sending"
>
Print job is sending
...
</string>
<string
name=
"print_job_sending"
>
Print job is sending
…
</string>
<string
name=
"print_job_list"
>
My Print jobs
</string>
<string
name=
"print_job_list"
>
My Print jobs
</string>
<string
name=
"rendered_files_copied_message"
>
Successfully copied %d files
</string>
<string
name=
"rendered_files_copied_message"
>
Successfully copied %d files
</string>
<string
name=
"empty"
/>
</resources>
</resources>
\ No newline at end of file
ui/print_job/src/main/java/com/isidroid/ui/print_job/PrintJobListItemComponent.kt
View file @
fa0d47f7
...
@@ -60,7 +60,6 @@ fun PrintJobListItemComponent(
...
@@ -60,7 +60,6 @@ fun PrintJobListItemComponent(
Text
(
Text
(
text
=
spotName
,
text
=
spotName
,
fontSize
=
16
.
sp
,
fontSize
=
16
.
sp
,
fontWeight
=
FontWeight
.
W600
,
modifier
=
Modifier
modifier
=
Modifier
.
clickable
{
clickOnSpot
()
}
.
clickable
{
clickOnSpot
()
}
.
constrainAs
(
titleView
)
{
.
constrainAs
(
titleView
)
{
...
...
ui/print_job/src/main/java/com/isidroid/ui/print_job/_components/AccessCodeComponent.kt
View file @
fa0d47f7
...
@@ -37,19 +37,26 @@ internal fun CardInfoComponent(
...
@@ -37,19 +37,26 @@ internal fun CardInfoComponent(
Column
(
modifier
=
modifier
.
fillMaxWidth
())
{
Column
(
modifier
=
modifier
.
fillMaxWidth
())
{
CardInfoItemComponent
(
CardInfoItemComponent
(
text
=
stringResource
(
id
=
R
.
string
.
label_access_code
,
code
),
text
=
stringResource
(
id
=
R
.
string
.
label_access_code
,
code
),
icon
=
Icons
.
Rounded
.
Lock
icon
=
Icons
.
Rounded
.
Lock
,
highlight
=
true
)
)
CardInfoItemComponent
(
CardInfoItemComponent
(
text
=
DateFormat
.
getDateTimeInstance
(
DateFormat
.
LONG
,
DateFormat
.
SHORT
).
format
(
createdAt
),
text
=
DateFormat
.
getDateTimeInstance
(
DateFormat
.
LONG
,
DateFormat
.
SHORT
).
format
(
createdAt
),
icon
=
Icons
.
Rounded
.
DateRange
,
icon
=
Icons
.
Rounded
.
DateRange
,
highlight
=
false
,
modifier
=
Modifier
.
padding
(
top
=
itemSpace
)
modifier
=
Modifier
.
padding
(
top
=
itemSpace
)
)
)
}
}
}
}
@Composable
@Composable
private
fun
CardInfoItemComponent
(
text
:
String
,
icon
:
ImageVector
,
modifier
:
Modifier
=
Modifier
)
{
private
fun
CardInfoItemComponent
(
text
:
String
,
icon
:
ImageVector
,
highlight
:
Boolean
,
modifier
:
Modifier
=
Modifier
)
{
Row
(
modifier
=
modifier
.
fillMaxWidth
(),
verticalAlignment
=
Alignment
.
CenterVertically
)
{
Row
(
modifier
=
modifier
.
fillMaxWidth
(),
verticalAlignment
=
Alignment
.
CenterVertically
)
{
Icon
(
imageVector
=
icon
,
contentDescription
=
null
,
modifier
=
Modifier
.
size
(
16
.
dp
))
Icon
(
imageVector
=
icon
,
contentDescription
=
null
,
modifier
=
Modifier
.
size
(
16
.
dp
))
Text
(
Text
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment