Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
3316138
Merge tag '2.8.0' into develop
SuddenH4X Jan 29, 2025
52cead3
Update README.md
SuddenH4X Jan 29, 2025
6cc9399
chore: use gradle toolchain
SuddenH4X Jun 12, 2026
8283804
chore: update a lot of dependencies including Kotlin and Gradle
SuddenH4X Jun 13, 2026
2cc82c3
update minSdk to 23
SuddenH4X Jun 13, 2026
e4fd1d3
downgrade jvmTarget to 17 for better compatibility
SuddenH4X Jun 13, 2026
82cee4f
chore: remove outdated composeOptions flag
SuddenH4X Jun 13, 2026
6f09e51
docs: update min API level in readme
SuddenH4X Jun 13, 2026
5d76f32
add comment regarding androidxCore version requirement
SuddenH4X Jun 13, 2026
3b68dff
chore: upgrade agp to 9.2.1
SuddenH4X Jun 13, 2026
324d44d
remove AGP 9 workarounds
SuddenH4X Jun 13, 2026
5fd4614
Merge pull request #108 from SuddenH4X/dependency-updates
SuddenH4X Jun 13, 2026
1644a64
refactor: fix warnings
SuddenH4X Jun 13, 2026
94f75b9
chore: update gradle wrapper
SuddenH4X Jun 13, 2026
1d42272
chore: use Compose bom
SuddenH4X Jun 13, 2026
9d9b3e0
Merge pull request #109 from SuddenH4X/feature/fix-warnings
SuddenH4X Jun 13, 2026
45e20c4
update targetSdk to 36
SuddenH4X Jun 13, 2026
e929905
move to new maven publish plugin
SuddenH4X Jun 13, 2026
3b3fa91
move to GitHub Actions
SuddenH4X Jun 13, 2026
64d2457
Merge pull request #110 from SuddenH4X/feature/github-actions
SuddenH4X Jun 13, 2026
48a4949
bump version to 2.9.0
SuddenH4X Jun 13, 2026
7e3a6fa
fix main branch link
SuddenH4X Jun 13, 2026
fd3bba8
add missing annotation
SuddenH4X Jun 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI

on:
push:
branches: [develop, main]
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Assemble, test and lint
run: ./gradlew assembleDebug test ktlintCheck lint --stacktrace

- name: Upload test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: test-reports
path: |
**/build/reports/tests/
**/build/reports/lint-results-*.html
if-no-files-found: ignore
35 changes: 35 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Release

on:
release:
types: [published]

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- name: Publish to Maven Central
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
SIGNING_SECRET_KEY_RING_FILE_BASE64: ${{ secrets.SIGNING_SECRET_KEY_RING_FILE_BASE64 }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
run: |
echo "$SIGNING_SECRET_KEY_RING_FILE_BASE64" | base64 --decode > "$RUNNER_TEMP/secring.gpg"
./gradlew publishToMavenCentral --no-configuration-cache --stacktrace \
"-Psigning.keyId=$SIGNING_KEY_ID" \
"-Psigning.password=$SIGNING_PASSWORD" \
"-Psigning.secretKeyRingFile=$RUNNER_TEMP/secring.gpg"
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Awesome App Rating

[![Build Status](https://app.bitrise.io/app/3156ba39c3e19393/status.svg?token=xXPr-IjWuLLKVliX5QPZKg&branch=master)](https://app.bitrise.io/app/3156ba39c3e19393)
[![CI](https://github.com/SuddenH4X/awesome-app-rating/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/SuddenH4X/awesome-app-rating/actions/workflows/ci.yml)

A highly customizable Android library providing a dialog, which asks the user to rate the app. If the user rates below the defined threshold, the dialog will show a feedback form or ask the user to mail his feedback. Otherwise it will ask the user to rate the app in the Google Play Store.

Expand Down Expand Up @@ -37,12 +37,12 @@ This library:
## How to use
### Gradle

The library supports API level 14 and higher. You can simply include it in your app via Gradle:
The library supports API level 23 and higher. You can simply include it in your app via Gradle:

```groovy
dependencies {
...
implementation 'com.suddenh4x.ratingdialog:awesome-app-rating:2.8.0'
implementation 'com.suddenh4x.ratingdialog:awesome-app-rating:2.9.0'
}
```

Expand Down
5 changes: 1 addition & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
apply(from = "${rootDir}/scripts/publish-root.gradle")

plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.gradle.nexus.publish)
alias(libs.plugins.jlleitschuh.gradle.ktlint) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.compose.compiler) apply false
alias(libs.plugins.vanniktech.maven.publish) apply false
}

buildscript {
Expand Down
26 changes: 14 additions & 12 deletions exampleapp/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id(libs.plugins.android.application.get().pluginId)
alias(libs.plugins.jlleitschuh.gradle.ktlint)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose.compiler)
}

kotlin {
jvmToolchain(libs.versions.jvmToolchain.get().toInt())
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}

android {
namespace = "com.suddenh4x.ratingdialog.exampleapp"
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
applicationId = "com.suddenh4x.ratingdialog.exampleapp"
minSdk = 21
minSdk = 23
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = 1
versionName = "1.0.0"
Expand All @@ -28,25 +36,19 @@ android {
compose = true
}

composeOptions {
kotlinCompilerExtensionVersion = "1.5.3"
}

kotlin {
jvmToolchain(libs.versions.jvmToolchain.get().toInt())
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}

dependencies {
implementation(project(":library"))

implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.material.icons.core)
implementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.constraintlayout)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material3.Button
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
Expand Down Expand Up @@ -69,7 +69,7 @@ private fun ComposeExampleTopAppBar(finishActivity: () -> Unit) {
TopAppBar(
title = { Text("Jetpack Compose Example") },
navigationIcon = { NavigateBackIcon(finishActivity) },
colors = TopAppBarDefaults.centerAlignedTopAppBarColors(
colors = TopAppBarDefaults.topAppBarColors(
containerColor = MaterialTheme.colorScheme.primary,
titleContentColor = MaterialTheme.colorScheme.onPrimary,
),
Expand All @@ -80,7 +80,7 @@ private fun ComposeExampleTopAppBar(finishActivity: () -> Unit) {
private fun NavigateBackIcon(finishActivity: () -> Unit) {
IconButton(onClick = { finishActivity() }) {
Icon(
imageVector = Icons.Filled.ArrowBack,
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Navigate back",
tint = MaterialTheme.colorScheme.onPrimary,
)
Expand Down
13 changes: 13 additions & 0 deletions gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/402983f310a88ac68b3e883c7c91c760/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/e50b80b5a11d194a898bc3e6211b7c4b/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/402983f310a88ac68b3e883c7c91c760/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/e50b80b5a11d194a898bc3e6211b7c4b/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/f257be9f04bfdf169051808541767806/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/1dcbacacca32618bd21ec5465779ade1/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/402983f310a88ac68b3e883c7c91c760/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/e50b80b5a11d194a898bc3e6211b7c4b/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/476d3c08f4989328dee56d22e202d98d/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/5a88b04b5e582b332d2e6bc12b45f1b9/redirect
toolchainVendor=ADOPTIUM
toolchainVersion=21
46 changes: 23 additions & 23 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,35 +1,36 @@
[versions]
androidGradlePlugin = "8.8.0"
compileSdk = "35"
androidGradlePlugin = "9.2.1"
compileSdk = "36"
jvmToolchain = "21"
kotlin = "2.0.20"
minSdk = "14"
targetSdk = "35"
kotlin = "2.3.21"
minSdk = "23"
targetSdk = "36"

androidxActivityCompose = "1.10.0"
androidxAnnotation = "1.9.1"
androidxAppcompat = "1.7.0"
androidxComposeMaterial3 = "1.3.1"
androidxComposeUiTooling = "1.7.6"
androidxConstraintlayout = "2.2.0"
androidxCore = "1.15.0"
googleMaterial = "1.12.0"
androidxActivityCompose = "1.13.0"
androidxAnnotation = "1.10.0"
androidxAppcompat = "1.7.1"
androidxComposeBom = "2026.05.01"
androidxConstraintlayout = "2.2.1"
androidxCore = "1.16.0" # Don't upgrade to 1.17.0 or higher because of compileSdk 36 requirement
googleMaterial = "1.14.0"
googlePlayReview = "2.0.2"
gradleNexusPublish = "2.0.0"
ktlint = "12.1.2"
ktlint = "14.2.0"
vanniktechMavenPublish = "0.36.0"

# Dependencies for testing
mannodermausJunit5 = "1.11.2.0"
testingAssertJ = "3.26.3"
testingJupiterJunit = "5.11.4"
testingMockk = "1.13.14"
mannodermausJunit5 = "2.0.1"
testingAssertJ = "3.27.7"
testingJupiterJunit = "6.1.0"
testingMockk = "1.14.11"

[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivityCompose" }
androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidxAnnotation" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidxAppcompat" }
androidx-compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "androidxComposeMaterial3" }
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidxComposeUiTooling" }
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-material3 = { module = "androidx.compose.material3:material3" }
androidx-compose-material-icons-core = { module = "androidx.compose.material:material-icons-core" }
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidxConstraintlayout" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
google-material = { module = "com.google.android.material:material", version.ref = "googleMaterial" }
Expand All @@ -46,8 +47,7 @@ testing-mockk = { module = "io.mockk:mockk", version.ref = "testingMockk" }
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
gradle-nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "gradleNexusPublish" }
jlleitschuh-gradle-ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
mannodermaus-android-junit5 = { id = "de.mannodermaus.android-junit5", version.ref = "mannodermausJunit5" }
vanniktech-maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "vanniktechMavenPublish" }
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
14 changes: 5 additions & 9 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading