Compare commits

..

34 Commits

Author SHA1 Message Date
fc1cdfea0a Merge pull request 'main' (#24) from main into dev
Reviewed-on: #24
2025-03-08 22:13:53 +03:00
4edf0f7352 Merge pull request 'Some minor fixes' (#23) from ops into main
Reviewed-on: #23
2025-03-08 22:11:34 +03:00
5529b3dafc
Some minor fixes 2025-03-09 00:08:36 +05:00
087b732fa5 Merge pull request 'dev' (#22) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 3m32s
Reviewed-on: #22
2025-03-08 15:50:58 +03:00
580c5b6611 Merge pull request 'removed dynamic color, cause we are controlling colors by ourself' (#21) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m36s
Reviewed-on: #21
2025-03-08 11:45:03 +03:00
0494efc2ad Merge pull request 'Fixed the design, added full color schemes for light and dark themes. Fixed number formatting with bitcoin data, as well as the line chart being fully visible on the vertical axis now! :3' (#20) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m27s
Reviewed-on: #20
2025-03-07 16:13:29 +03:00
d220a03a89 Merge pull request 'Update .gitignore' (#19) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m18s
Reviewed-on: #19
2025-03-06 17:40:05 +03:00
95b2c1e70b Merge pull request 'CI/CD branching fix' (#18) from pipeline-test into main
Reviewed-on: #18
2025-03-05 19:42:02 +03:00
4005a39696
CI/CD branching fix
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m18s
2025-03-05 21:40:07 +05:00
407a5d32a5 Merge pull request 'pipeline-test' (#17) from pipeline-test into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m18s
Reviewed-on: #17
2025-03-05 19:34:40 +03:00
81ab379e0e
CI/CD branching update
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m25s
2025-03-05 21:30:26 +05:00
5a4d30b9f8
CI/CD image update revert
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m17s
2025-03-05 21:18:04 +05:00
5c92f74ceb
CI/CD image update fix
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m23s
2025-03-05 21:14:13 +05:00
0906b95273
CI/CD image update
Some checks failed
Gitea Android Builder / Build (push) Failing after 20s
2025-03-05 21:11:15 +05:00
07ad6cb59d Merge pull request 'dev' (#16) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m56s
Reviewed-on: #16
2025-03-05 03:51:27 +03:00
a1b7569ef0 Merge pull request 'pipeline-test' (#15) from pipeline-test into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 59s
Reviewed-on: #15
2025-03-04 22:06:06 +03:00
d1bc545a07
CI/CD time optimization attempt 6
All checks were successful
Gitea Android Builder / Build (push) Successful in 55s
2025-03-04 23:44:32 +05:00
9c184c08a8
CI/CD time optimization attempt 6
Some checks failed
Gitea Android Builder / Build (push) Failing after 54s
2025-03-04 23:40:39 +05:00
186f1e693c
CI/CD time optimization attempt 5
Some checks failed
Gitea Android Builder / Build (push) Failing after 46s
2025-03-04 23:36:03 +05:00
3e6e44c4b3
CI/CD time optimization attempt 5
Some checks failed
Gitea Android Builder / Build (push) Failing after 58s
2025-03-04 23:32:49 +05:00
da80ba3abd
CI/CD time optimization attempt 5
All checks were successful
Gitea Android Builder / Build (push) Successful in 57s
2025-03-04 23:27:17 +05:00
f05f4fbbad
CI/CD time optimization attempt 4
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m3s
2025-03-04 23:18:04 +05:00
91a8b0380b
CI/CD time optimization attempt 3
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m8s
2025-03-04 23:15:46 +05:00
3b196de1d8
CI/CD time optimization attempt 2
All checks were successful
Gitea Android Builder / Build (push) Successful in 55s
2025-03-04 22:43:32 +05:00
b4beaf4f94
CI/CD time optimization attempt
All checks were successful
Gitea Android Builder / Build (push) Successful in 2m58s
2025-03-04 22:37:45 +05:00
85c9bd50cd Merge pull request 'MVP' (#14) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m9s
Reviewed-on: #14
2025-03-03 22:21:51 +03:00
d3d7bd391b Merge pull request 'Dependencies updated and example screen added' (#13) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 2m20s
Reviewed-on: #13
2025-03-03 19:52:52 +03:00
e6d8a5b7aa Merge pull request 'Data classes and other retrofit logic added' (#12) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 2m20s
Reviewed-on: #12
2025-03-03 19:28:18 +03:00
fa0905486a Merge pull request 'CI/CD revamp fix' (#11) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m4s
Reviewed-on: #11
2025-02-27 20:36:18 +03:00
d0598853bd Merge pull request 'CI/CD revamp fix' (#10) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 1m15s
Reviewed-on: #10
2025-02-27 20:34:09 +03:00
9dfdd328db Merge pull request 'CI/CD revamp fix' (#9) from dev into main
All checks were successful
Gitea Android Builder / Build (push) Successful in 3m52s
Reviewed-on: #9
2025-02-27 20:06:45 +03:00
fd77fbd97e Merge pull request 'CI/CD revamp fix' (#8) from dev into main
Some checks failed
Gitea Android Builder / Build (push) Failing after 5m38s
Reviewed-on: #8
2025-02-27 19:55:30 +03:00
08bdb6f481 Merge pull request 'CI/CD revamp fix' (#7) from dev into main
Some checks failed
Gitea Android Builder / Build (push) Failing after 1m50s
Reviewed-on: #7
2025-02-27 19:48:13 +03:00
f33906b965 Merge pull request 'dev' (#6) from dev into main
Some checks failed
Gitea Android Builder / Build (push) Failing after 29s
Reviewed-on: #6
2025-02-27 19:45:38 +03:00
4 changed files with 69 additions and 24 deletions

View File

@ -3,16 +3,16 @@ run-name: ${{ gitea.actor }} is building an Android application
on:
push:
branches:
- main
- pipeline-test
jobs:
Build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Set up JDK 23
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '23'
distribution: 'temurin'
@ -20,6 +20,13 @@ jobs:
uses: android-actions/setup-android@v3
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:

View File

@ -0,0 +1,40 @@
name: Gitea Android Builder
run-name: ${{ gitea.actor }} is building an Android application
on:
push:
tags:
- "*"
jobs:
Build:
runs-on: ubuntu-24.04
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
java-version: '23'
distribution: 'temurin'
- name: Set up Android SDK
uses: android-actions/setup-android@v3
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: assembleDebug
- name: Upload .apk Artifact
uses: actions/upload-artifact@v3
with:
name: android-app-apk
path: app/build/outputs/apk/debug/*.apk
- name: Status
run: echo "This job's status is ${{ job.status }}."

View File

@ -7,10 +7,9 @@ import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.magnifier
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
@ -39,7 +38,6 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.patrykandpatrick.vico.compose.cartesian.CartesianChartHost
@ -51,14 +49,12 @@ import com.patrykandpatrick.vico.compose.cartesian.layer.rememberLine
import com.patrykandpatrick.vico.compose.cartesian.layer.rememberLineCartesianLayer
import com.patrykandpatrick.vico.compose.cartesian.rememberCartesianChart
import com.patrykandpatrick.vico.compose.cartesian.rememberVicoZoomState
import com.patrykandpatrick.vico.compose.common.component.rememberLineComponent
import com.patrykandpatrick.vico.compose.common.component.rememberTextComponent
import com.patrykandpatrick.vico.compose.common.component.shapeComponent
import com.patrykandpatrick.vico.compose.common.fill
import com.patrykandpatrick.vico.compose.common.shape.rounded
import com.patrykandpatrick.vico.compose.common.vicoTheme
import com.patrykandpatrick.vico.core.cartesian.Zoom
import com.patrykandpatrick.vico.core.cartesian.axis.BaseAxis
import com.patrykandpatrick.vico.core.cartesian.axis.HorizontalAxis
import com.patrykandpatrick.vico.core.cartesian.axis.VerticalAxis
import com.patrykandpatrick.vico.core.cartesian.data.CartesianChartModelProducer
@ -71,15 +67,10 @@ import com.patrykandpatrick.vico.core.common.component.LineComponent
import com.patrykandpatrick.vico.core.common.component.TextComponent
import com.patrykandpatrick.vico.core.common.shape.CorneredShape
import ru.vendetti.bitcoin_summarizer.ui.theme.BitcoinSummarizerTheme
import ru.vendetti.bitcoin_summarizer.ui.theme.EnglishViolet
import ru.vendetti.bitcoin_summarizer.ui.theme.Flame
import ru.vendetti.bitcoin_summarizer.ui.theme.Green2
import java.text.DateFormat
import java.text.DecimalFormat
import java.text.SimpleDateFormat
import java.time.format.DateTimeFormatter
import java.util.Date
import kotlin.math.roundToInt
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
@ -125,14 +116,14 @@ fun CryptoScreen() {
LaunchedEffect(fearGreedDataList) {
modelProducer.runTransaction {
var numberValues = Array<Int>(fearGreedDataList.count()) {
var numberValues = Array(fearGreedDataList.count()) {
index ->
fearGreedDataList[fearGreedDataList.count() - index - 1]
.value.toInt()
}
if(numberValues.isEmpty())
numberValues = Array<Int>(1) {0}
numberValues = Array(1) {0}
lineSeries { series(numberValues.toList()) }
}
@ -159,7 +150,7 @@ fun CryptoScreen() {
),
title = {
Text(
"Bitcoin Summarizer!",
"Bitcoin Summarizer",
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
@ -220,7 +211,7 @@ fun CryptoScreen() {
label = rememberAxisLabelComponent(MaterialTheme.colorScheme.onPrimary)
),
bottomAxis = HorizontalAxis.rememberBottom(
title = "last $fearGreedIndexDaysCount days",
title = "последние $fearGreedIndexDaysCount дней",
titleComponent = rememberTextComponent(MaterialTheme.colorScheme.onPrimary),
line = rememberAxisLineComponent(fill(MaterialTheme.colorScheme.onPrimary)),
label = rememberAxisLabelComponent(MaterialTheme.colorScheme.onPrimary)
@ -229,7 +220,7 @@ fun CryptoScreen() {
remember {
HorizontalLine(
y = { 25.toDouble() },
line = LineComponent(fill(Flame), 2f),
line = LineComponent(fill(Flame), 1f),
labelComponent = TextComponent(
background =
shapeComponent(
@ -240,14 +231,14 @@ fun CryptoScreen() {
)
),
),
label = { "Fear" },
label = { "Страх" },
verticalLabelPosition = Position.Vertical.Top
)
},
remember {
HorizontalLine(
y = { 70.toDouble() },
line = LineComponent(fill(Green2), 2f),
line = LineComponent(fill(Green2), 1f),
labelComponent = TextComponent(
background =
shapeComponent(
@ -258,7 +249,7 @@ fun CryptoScreen() {
)
),
),
label = { "Greed" },
label = { "Жадность" },
verticalLabelPosition = Position.Vertical.Bottom
)
}
@ -267,13 +258,16 @@ fun CryptoScreen() {
modelProducer = modelProducer,
)
/* Fear Greed Chart End */
Spacer(modifier = Modifier.height(16.dp))
HorizontalDivider(thickness = 2.dp)
Spacer(modifier = Modifier.height(16.dp))
Text(
"Данные о Биткойне",
"Данные о Биткоине",
modifier = Modifier
.align(alignment = Alignment.CenterHorizontally),
fontSize = 24.sp
)
Spacer(modifier = Modifier.height(16.dp))
val formatter = DecimalFormat("0.00")
Text("Текущая цена: \n \$ ${formatter.format(bitcoinTicker.priceUsd.toFloat())}\n")
Text("Суточный оборот: \n \$ ${bitcoinTicker.volume24hUsd}\n")
@ -293,12 +287,14 @@ fun CryptoScreen() {
Text("Время последнего обновления: \n ${humanDate}\n")
HorizontalDivider(thickness = 2.dp)
Spacer(modifier = Modifier.height(16.dp))
Text(
"Глобальные данные",
modifier = Modifier
.align(alignment = Alignment.CenterHorizontally),
fontSize = 24.sp
)
Spacer(modifier = Modifier.height(16.dp))
Text("Общая капитализация крипторынка: \n \$ ${globalData.totalMarketCapUsd}\n")
Text("Всего тикеров: \n ${globalData.activeCryptocurrencies}\n")
Text("Суточный оборот всех криптовалют: \n \$ ${globalData.total24hVolumeUsd}\n")

View File

@ -20,4 +20,6 @@ kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
android.nonTransitiveRClass=true
org.gradle.caching=true
org.gradle.parallel=true