mirror of
https://github.com/wismna/DoNext.git
synced 2025-12-06 00:02:40 -05:00
Compare commits
5 Commits
e6f81fa177
...
c2c146a28e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c2c146a28e | ||
|
|
0b479e10c8 | ||
|
|
0fbdec570a | ||
|
|
e44bb99479 | ||
|
|
dcaecbf185 |
1
.github/workflows/android.yaml
vendored
1
.github/workflows/android.yaml
vendored
@@ -49,6 +49,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Run Fastlane
|
- name: Run Fastlane
|
||||||
env:
|
env:
|
||||||
|
MODULE: ${{ env.MODULE }}
|
||||||
SUPPLY_JSON_KEY: service-account.json
|
SUPPLY_JSON_KEY: service-account.json
|
||||||
KEYSTORE_FILE: upload.jks
|
KEYSTORE_FILE: upload.jks
|
||||||
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ dependencies {
|
|||||||
implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
|
implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
|
||||||
|
|
||||||
// Lifecycle components
|
// Lifecycle components
|
||||||
def lifecycleVersion = '2.9.3'
|
def lifecycleVersion = '2.9.4'
|
||||||
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycleVersion"
|
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycleVersion"
|
||||||
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycleVersion"
|
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycleVersion"
|
||||||
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
id("com.android.application")
|
||||||
id("org.jetbrains.kotlin.android")
|
id("org.jetbrains.kotlin.android")
|
||||||
@@ -18,8 +20,8 @@ android {
|
|||||||
applicationId = "com.wismna.geoffroy.donext"
|
applicationId = "com.wismna.geoffroy.donext"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 34
|
versionCode = 35
|
||||||
versionName = "2.0"
|
versionName = "2.0.1"
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
@@ -54,8 +56,10 @@ android {
|
|||||||
sourceCompatibility = JavaVersion.VERSION_11
|
sourceCompatibility = JavaVersion.VERSION_11
|
||||||
targetCompatibility = JavaVersion.VERSION_11
|
targetCompatibility = JavaVersion.VERSION_11
|
||||||
}
|
}
|
||||||
kotlinOptions {
|
kotlin {
|
||||||
jvmTarget = "11"
|
compilerOptions {
|
||||||
|
jvmTarget = JvmTarget.JVM_11
|
||||||
|
}
|
||||||
}
|
}
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
compose = true
|
compose = true
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import androidx.compose.foundation.layout.Row
|
|||||||
import androidx.compose.foundation.layout.fillMaxHeight
|
import androidx.compose.foundation.layout.fillMaxHeight
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Checklist
|
import androidx.compose.material.icons.filled.Checklist
|
||||||
import androidx.compose.material.icons.filled.Delete
|
import androidx.compose.material.icons.filled.Delete
|
||||||
@@ -43,7 +45,8 @@ fun MenuScreen(
|
|||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxHeight()
|
.fillMaxHeight()
|
||||||
.padding(vertical = 8.dp),
|
.padding(vertical = 8.dp)
|
||||||
|
.verticalScroll(rememberScrollState()),
|
||||||
verticalArrangement = Arrangement.SpaceBetween
|
verticalArrangement = Arrangement.SpaceBetween
|
||||||
) {
|
) {
|
||||||
Column {
|
Column {
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import androidx.compose.foundation.layout.Spacer
|
|||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.rememberScrollState
|
||||||
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.CalendarMonth
|
import androidx.compose.material.icons.filled.CalendarMonth
|
||||||
import androidx.compose.material.icons.filled.Clear
|
import androidx.compose.material.icons.filled.Clear
|
||||||
@@ -61,7 +63,7 @@ fun TaskScreen(
|
|||||||
titleFocusRequester.requestFocus()
|
titleFocusRequester.requestFocus()
|
||||||
}
|
}
|
||||||
|
|
||||||
Column(Modifier.padding(16.dp)) {
|
Column(Modifier.padding(16.dp).verticalScroll(rememberScrollState())) {
|
||||||
Text(
|
Text(
|
||||||
stringResource(
|
stringResource(
|
||||||
if (viewModel.isDeleted) R.string.task_title_deleted
|
if (viewModel.isDeleted) R.string.task_title_deleted
|
||||||
|
|||||||
@@ -1,23 +1,30 @@
|
|||||||
default_platform(:android)
|
default_platform(:android)
|
||||||
|
|
||||||
platform :android do
|
platform :android do
|
||||||
desc "Build, test, and deploy the production version to Google Play"
|
|
||||||
lane :deploy do
|
|
||||||
gradle(task: "testDebugUnitTest")
|
|
||||||
gradle(task: "clean :donextv2:bundleRelease")
|
|
||||||
upload_to_play_store(
|
|
||||||
track: "production",
|
|
||||||
aab: "donextv2/build/outputs/bundle/release/donextv2-release.aab"
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
desc "Build, test, and deploy to Google Play"
|
desc "Build, test, and deploy to Google Play"
|
||||||
lane :internal do
|
lane :internal do
|
||||||
|
module_name = ENV["MODULE"]
|
||||||
|
# Read local versionCode
|
||||||
|
project_root = File.expand_path("..", __dir__)
|
||||||
|
gradle_path = File.join(project_root, module_name, "build.gradle.kts")
|
||||||
|
UI.message("Gradle file resolved at: #{gradle_path}")
|
||||||
|
gradle_file = File.read(gradle_path)
|
||||||
|
gradle_version = gradle_file[/versionCode\s*=\s*(\d+)/, 1].to_i
|
||||||
|
|
||||||
|
# Read Play Store versionCode (track internal)
|
||||||
|
play_version = google_play_track_version_codes(
|
||||||
|
track: "internal"
|
||||||
|
).max.to_i
|
||||||
|
|
||||||
|
if gradle_version <= play_version
|
||||||
|
UI.user_error!("VersionCode #{gradle_version} should be higher than Play Store version (#{play_version}). Aborting upload.")
|
||||||
|
end
|
||||||
|
|
||||||
gradle(task: "testDebugUnitTest")
|
gradle(task: "testDebugUnitTest")
|
||||||
gradle(task: "clean :donextv2:bundleRelease")
|
gradle(task: "clean :#{module_name}:bundleRelease")
|
||||||
upload_to_play_store(
|
upload_to_play_store(
|
||||||
track: "internal",
|
track: "internal",
|
||||||
aab: "donextv2/build/outputs/bundle/release/donextv2-release.aab"
|
aab: "#{module_name}/build/outputs/bundle/release/#{module_name}-release.aab"
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user