mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
update description
This commit is contained in:
parent
0448667b89
commit
77ba41105c
10 changed files with 38 additions and 36 deletions
|
|
@ -142,6 +142,7 @@ android {
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion min_sdk
|
minSdkVersion min_sdk
|
||||||
|
compileSdk 34
|
||||||
applicationId "com.habitrpg.android.habitica"
|
applicationId "com.habitrpg.android.habitica"
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
buildConfigField "String", "STORE", "\"google\""
|
buildConfigField "String", "STORE", "\"google\""
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
min_sdk = 21
|
min_sdk = 21
|
||||||
target_sdk = 34
|
target_sdk = 33
|
||||||
app_version_name = ''
|
app_version_name = ''
|
||||||
app_version_code = 0
|
app_version_code = 0
|
||||||
|
|
||||||
|
|
@ -24,7 +24,7 @@ buildscript {
|
||||||
lifecycle_version = '2.6.1'
|
lifecycle_version = '2.6.1'
|
||||||
markwon_version = '4.6.2'
|
markwon_version = '4.6.2'
|
||||||
mockk_version = '1.13.4'
|
mockk_version = '1.13.4'
|
||||||
moshi_version = '1.14.0'
|
moshi_version = '1.15.0'
|
||||||
navigation_version = '2.7.0'
|
navigation_version = '2.7.0'
|
||||||
okhttp_version = '4.11.0'
|
okhttp_version = '4.11.0'
|
||||||
paging_version = '3.2.0'
|
paging_version = '3.2.0'
|
||||||
|
|
|
||||||
|
|
@ -5,30 +5,34 @@ How it works:
|
||||||
Create an avatar then add tasks, chores, or goals you’d like to work on. When you do something in real life, check it off in the app and receive gold, experience, and items that can be used in-game!
|
Create an avatar then add tasks, chores, or goals you’d like to work on. When you do something in real life, check it off in the app and receive gold, experience, and items that can be used in-game!
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
• Automatically repeating tasks scheduled for your daily, weekly, or monthly routines
|
• Automatically repeating tasks scheduled for your daily, weekly, or monthly routines
|
||||||
• Flexible habit tracker for tasks you want to do multiple times a day or only once in awhile
|
• Flexible habit tracker for tasks you want to do multiple times a day or only once in awhile
|
||||||
• Traditional to do list for tasks that only need to be done once
|
• Traditional to do list for tasks that only need to be done once
|
||||||
• Color coded tasks and streak counters help you see how you’re doing at a glance
|
• Color coded tasks and streak counters help you see how you’re doing at a glance
|
||||||
• Leveling system to visualize your overall progress
|
• Leveling system to visualize your overall progress
|
||||||
• Tons of collectable gear and pets to suit your personal style
|
• Tons of collectable gear and pets to suit your personal style
|
||||||
• Inclusive avatar customizations: wheelchairs, hair styles, skin tones, and more
|
• Inclusive avatar customizations: wheelchairs, hair styles, skin tones, and more
|
||||||
• Regular content releases and seasonal events to keep things fresh
|
• Regular content releases and seasonal events to keep things fresh
|
||||||
• Parties let you team up with friends for extra accountability and battle fierce foes by completing tasks
|
• Parties let you team up with friends for extra accountability and battle fierce foes by completing tasks
|
||||||
• Challenges offer shared task lists you can add to your personal tasks
|
• Challenges offer shared task lists you can add to your personal tasks
|
||||||
• Guilds let you connect with others that share your interests and goals
|
• Reminders and widgets to help keep you on track
|
||||||
• Reminders and widgets to help keep you on track
|
• Customizable color themes with dark and light mode
|
||||||
• Customizable color themes with dark and light mode
|
• Syncing across devices
|
||||||
• Syncing across devices
|
|
||||||
|
|
||||||
Want even more flexibility to take your tasks on the go? We have a Wear OS app on the watch!
|
Want even more flexibility to take your tasks on the go? We have a Wear OS app on the watch!
|
||||||
|
|
||||||
Wear OS features:
|
Wear OS features:
|
||||||
• View, create, and complete Habites, Dailies, and To do’s
|
• View, create, and complete Habits, Dailies, and To do’s
|
||||||
• Receive rewards for your efforts with experience, food, eggs, and potions
|
• Receive rewards for your efforts with experience, food, eggs, and potions
|
||||||
• Track your stats with dynamic progress bars
|
• Track your stats with dynamic progress bars
|
||||||
• Show off your stunning pixel avatar on the watch face
|
• Show off your stunning pixel avatar on the watch face
|
||||||
|
|
||||||
|
|
||||||
—
|
—
|
||||||
|
|
||||||
Habitica is an open-source app run by a small team that’s made better by the work of volunteers who contribute pixel art, translations, bug fixes, and more. If you’d like to contribute, reach out!
|
|
||||||
Community, privacy, and transparency are important to us. Your tasks are private and we don’t sell your personal data to third parties.
|
Run by a small team, Habitica is an open-source app made better by contributors who create translations, bug fixes, and more. If you’d like to contribute, you can check out our GitHub or reach out for more information!
|
||||||
If you have any questions, feel free to send feedback to admin@habitica.com! And if you enjoy our app, we would really appreciate it if you would leave us a review.
|
We highly value community, privacy, and transparency. Rest assured, your tasks remain private and we never sell your personal data to third parties.
|
||||||
|
Questions or feedback? Feel free to reach us at admin@habitica.com! If you’re enjoying Habitica, we’d be thrilled if you leave us a review.
|
||||||
|
Start your journey towards productivity, download Habitica now!
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
NAME=4.2.5
|
NAME=4.2.5
|
||||||
CODE=6341
|
CODE=6361
|
||||||
|
|
@ -22,6 +22,7 @@ android {
|
||||||
applicationId "com.habitrpg.android.habitica"
|
applicationId "com.habitrpg.android.habitica"
|
||||||
minSdk 26
|
minSdk 26
|
||||||
targetSdk target_sdk
|
targetSdk target_sdk
|
||||||
|
compileSdk 34
|
||||||
versionCode app_version_code + 1
|
versionCode app_version_code + 1
|
||||||
versionName app_version_name
|
versionName app_version_name
|
||||||
buildConfigField "String", "TESTING_LEVEL", "\"production\""
|
buildConfigField "String", "TESTING_LEVEL", "\"production\""
|
||||||
|
|
@ -113,7 +114,7 @@ dependencies {
|
||||||
implementation "androidx.core:core-ktx:$core_ktx_version"
|
implementation "androidx.core:core-ktx:$core_ktx_version"
|
||||||
implementation "com.google.android.gms:play-services-wearable:$play_wearables_version"
|
implementation "com.google.android.gms:play-services-wearable:$play_wearables_version"
|
||||||
implementation "androidx.recyclerview:recyclerview:$recyclerview_version"
|
implementation "androidx.recyclerview:recyclerview:$recyclerview_version"
|
||||||
implementation 'androidx.wear:wear:1.2.0'
|
implementation 'androidx.wear:wear:1.3.0'
|
||||||
implementation "androidx.wear:wear-input:1.1.0"
|
implementation "androidx.wear:wear-input:1.1.0"
|
||||||
|
|
||||||
//Networking
|
//Networking
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import com.google.firebase.crashlytics.ktx.crashlytics
|
||||||
import com.google.firebase.ktx.Firebase
|
import com.google.firebase.ktx.Firebase
|
||||||
import com.habitrpg.android.habitica.BuildConfig
|
import com.habitrpg.android.habitica.BuildConfig
|
||||||
import com.habitrpg.common.habitica.extensions.setupCoil
|
import com.habitrpg.common.habitica.extensions.setupCoil
|
||||||
import com.habitrpg.android.habitica.helpers.MarkdownParser
|
import com.habitrpg.common.habitica.helpers.MarkdownParser
|
||||||
import com.habitrpg.wearos.habitica.data.repositories.TaskRepository
|
import com.habitrpg.wearos.habitica.data.repositories.TaskRepository
|
||||||
import com.habitrpg.wearos.habitica.data.repositories.UserRepository
|
import com.habitrpg.wearos.habitica.data.repositories.UserRepository
|
||||||
import com.habitrpg.wearos.habitica.ui.activities.BaseActivity
|
import com.habitrpg.wearos.habitica.ui.activities.BaseActivity
|
||||||
|
|
@ -36,7 +36,7 @@ class MainApplication : Application() {
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
com.habitrpg.android.habitica.helpers.MarkdownParser.setup(this)
|
MarkdownParser.setup(this)
|
||||||
setupCoil()
|
setupCoil()
|
||||||
setupFirebase()
|
setupFirebase()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,10 +61,8 @@ class AddTaskButton @JvmOverloads constructor(
|
||||||
invalidate()
|
invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDraw(canvas: Canvas?) {
|
override fun onDraw(canvas: Canvas) {
|
||||||
super.onDraw(canvas)
|
super.onDraw(canvas)
|
||||||
|
|
||||||
if (canvas == null) return
|
|
||||||
path.reset()
|
path.reset()
|
||||||
path.addArc(rect, 180f, 360f)
|
path.addArc(rect, 180f, 360f)
|
||||||
canvas.drawPath(path, fillPaint)
|
canvas.drawPath(path, fillPaint)
|
||||||
|
|
|
||||||
|
|
@ -51,9 +51,9 @@ class CircularProgressView(
|
||||||
strokeCap = Paint.Cap.ROUND
|
strokeCap = Paint.Cap.ROUND
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDraw(canvas: Canvas?) {
|
override fun onDraw(canvas: Canvas) {
|
||||||
setSpace()
|
setSpace()
|
||||||
canvas?.let {
|
canvas.let {
|
||||||
drawBackgroundArc(it)
|
drawBackgroundArc(it)
|
||||||
drawInnerArc(it)
|
drawInnerArc(it)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,10 +68,9 @@ class HabitDirectionPickerButton @JvmOverloads constructor(
|
||||||
invalidate()
|
invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDraw(canvas: Canvas?) {
|
override fun onDraw(canvas: Canvas) {
|
||||||
super.onDraw(canvas)
|
super.onDraw(canvas)
|
||||||
|
|
||||||
if (canvas == null) return
|
|
||||||
path.reset()
|
path.reset()
|
||||||
if (drawFromTop) {
|
if (drawFromTop) {
|
||||||
path.addArc(rect, 0f, 180f)
|
path.addArc(rect, 0f, 180f)
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,8 @@ class IndeterminateProgressView @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDraw(canvas: Canvas?) {
|
override fun onDraw(canvas: Canvas) {
|
||||||
super.onDraw(canvas)
|
super.onDraw(canvas)
|
||||||
if (canvas == null) return
|
|
||||||
val halfBar = paint.strokeWidth / 2f
|
val halfBar = paint.strokeWidth / 2f
|
||||||
if (isCircular) {
|
if (isCircular) {
|
||||||
canvas.drawArc(halfBar, halfBar, width.toFloat() - halfBar, height.toFloat() - halfBar, currentAngle, 360f, false, paint)
|
canvas.drawArc(halfBar, halfBar, width.toFloat() - halfBar, height.toFloat() - halfBar, currentAngle, 360f, false, paint)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue