Compare commits

...

17 Commits

Author SHA1 Message Date
2b24759d6f Merge pull request #2209 from MihanEntalpo/automatic-backup-to-public-folder
Automatic backup to public folder
2025-09-14 19:42:41 -05:00
46f6d297d7 Merge branch 'fix/setting-screen-ui-improvement' into dev 2025-09-14 19:29:45 -05:00
543be48cb1 Merge branch 'style/newlines' into dev 2025-09-14 18:47:18 -05:00
297a381e67 Merge branch 'archiveFromStatisticsPage' into dev 2025-09-14 18:25:17 -05:00
542750207e Show message after archiving/unarchiving habits 2025-09-14 18:24:35 -05:00
46a3b69971 Disable GitHub Actions 2025-09-14 18:02:48 -05:00
Uladzislau Petrushkevich
9509b9e7af Settings-Fix-UI: Improve ripple effect on pure-dark mode and process navigation bar insets on Settings screen 2025-09-11 23:05:38 +02:00
mihanentalpo
7a04abc8e5 Automatic public backup: Fixed for the ktlint 2025-08-24 22:14:45 +07:00
mihanentalpo
b7a7d5f076 Automatic public backup: Translation to all the languages 2025-08-24 21:56:25 +07:00
mihanentalpo
08a71b071c Automatic public backup: Tests for AutoBackup to public folder 2025-08-24 21:56:11 +07:00
mihanentalpo
403d1058aa Automatic public backup: Implementation of SAF for AutoBackup 2025-08-24 21:55:58 +07:00
5aa8744ef4 Update copyright notices 2025-08-13 21:50:06 -05:00
ce4879ac2b Merge branch 'master' into dev 2025-08-13 21:30:57 -05:00
516bf394f8 Merge branch 'release/2.3.1' 2025-08-13 21:30:11 -05:00
5fe9704c36 Merge branch 'release/2.3.1' into dev 2025-08-13 21:29:41 -05:00
KyleSCraig
0a4086ec8c Added archive and unarchive to the habit statistics page, visibility based on current state. 2025-08-01 16:00:20 +10:00
powerjungle
c987144f4a style: allow adding newlines in the "Name" field
Since habit names are already shown with 2 lines in the main view,
it makes sense to allow an user to add newlines to the names.
This opens up the possibility for having better formatted text
for the habit name.
As suggested by another user, having markdown support would also
be a good addition at some point.
2025-04-12 20:00:53 +02:00
476 changed files with 853 additions and 541 deletions

View File

@@ -1,31 +0,0 @@
name: Build & Test
on:
pull_request:
paths-ignore:
- '**.md'
push:
paths-ignore:
- '**.md'
jobs:
Test:
runs-on: self-hosted
timeout-minutes: 30
steps:
- name: Check out source code
uses: actions/checkout@v4
- name: Build project
run: ./build.sh build
- name: Run Android tests
run: ./build.sh android-tests-parallel 28 29 30 32 33 34
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: build
path: |
build/*log
uhabits-android/build/outputs

View File

@@ -1,8 +1,5 @@
<h1 align="center">Loop Habit Tracker</h1>
<p align="center">
<a href="https://github.com/iSoron/uhabits/actions?query=workflow%3A%22Build+%26+Test%22">
<img alt="Build & Test" src="https://github.com/iSoron/uhabits/workflows/Build%20&%20Test/badge.svg" />
</a>
<a href="https://github.com/iSoron/uhabits/releases/latest">
<img alt="release" src="https://img.shields.io/github/v/release/iSoron/uhabits" />
</a>
@@ -87,7 +84,7 @@ contribute, even if you are not a software developer.
<img align="right" alt="GPL v3" src="https://www.gnu.org/graphics/gplv3-88x31.png">
Copyright (C) 2016-2021 Álinson Santos Xavier <isoron@gmail.com>
Copyright (C) 2016-2025 Álinson Santos Xavier <isoron@gmail.com>
Loop Habit Tracker is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the

View File

@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (C) 2016-2021 Álinson Santos Xavier <isoron@gmail.com>
# Copyright (C) 2016-2025 Álinson Santos Xavier <isoron@gmail.com>
# This file is part of Loop Habit Tracker.
#
# Loop Habit Tracker is free software: you can redistribute it and/or modify

View File

@@ -32,6 +32,7 @@ rules = "1.6.1"
shadow = "8.1.1"
sqliteJdbc = "3.45.1.0"
uiautomator = "2.3.0"
documentfile = "1.0.1"
[libraries]
annotation = { group = "androidx.annotation", name = "annotation", version.ref = "annotation" }
@@ -73,6 +74,7 @@ opencsv = { group = "com.opencsv", name = "opencsv", version.ref = "opencsv" }
rules = { group = "androidx.test", name = "rules", version.ref = "rules" }
sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqliteJdbc" }
uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
documentfile = { group = "androidx.documentfile", name = "documentfile", version.ref = "documentfile" }
[bundles]
androidTest = [

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*
@@ -106,6 +106,7 @@ dependencies {
implementation(libs.legacy.preference.v14)
implementation(libs.legacy.support.v4)
implementation(libs.material)
implementation(libs.documentfile)
implementation(libs.opencsv)
implementation(libs.konfetti.xml)
implementation(project(":uhabits-core"))

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*
@@ -33,6 +33,8 @@ import org.isoron.uhabits.acceptance.steps.clearDownloadFolder
import org.isoron.uhabits.acceptance.steps.copyBackupToDownloadFolder
import org.isoron.uhabits.acceptance.steps.exportFullBackup
import org.isoron.uhabits.acceptance.steps.importBackupFromDownloadFolder
import org.isoron.uhabits.acceptance.steps.selectPublicBackupFolder
import org.isoron.uhabits.acceptance.steps.verifyBackupInDownloadFolder
import org.junit.Test
@LargeTest
@@ -51,4 +53,14 @@ class BackupTest : BaseUserInterfaceTest() {
importBackupFromDownloadFolder()
verifyDisplaysText("Wake up early")
}
@Test
fun shouldExportBackupToPublicFolder() {
launchApp()
clearDownloadFolder()
clearBackupFolder()
selectPublicBackupFolder()
exportFullBackup()
verifyBackupInDownloadFolder()
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*
@@ -19,8 +19,10 @@
package org.isoron.uhabits.acceptance.steps
import android.net.Uri
import android.os.Build.VERSION.SDK_INT
import android.os.SystemClock.sleep
import androidx.preference.PreferenceManager
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.By
import androidx.test.uiautomator.UiSelector
import org.isoron.uhabits.BaseUserInterfaceTest.Companion.device
@@ -28,6 +30,8 @@ import org.isoron.uhabits.acceptance.steps.CommonSteps.clickText
import org.isoron.uhabits.acceptance.steps.CommonSteps.pressBack
import org.isoron.uhabits.acceptance.steps.ListHabitsSteps.MenuItem.SETTINGS
import org.isoron.uhabits.acceptance.steps.ListHabitsSteps.clickMenu
import org.junit.Assert.assertTrue
import java.io.File
const val BACKUP_FOLDER = "/sdcard/Android/data/org.isoron.uhabits/files/Backups/"
const val DOWNLOAD_FOLDER = "/sdcard/Download/"
@@ -41,6 +45,7 @@ fun exportFullBackup() {
fun clearDownloadFolder() {
device.executeShellCommand("rm -rf /sdcard/Download")
device.executeShellCommand("mkdir /sdcard/Download")
}
fun clearBackupFolder() {
@@ -52,6 +57,13 @@ fun copyBackupToDownloadFolder() {
device.executeShellCommand("chown root $DOWNLOAD_FOLDER")
}
fun selectPublicBackupFolder() {
val context = InstrumentationRegistry.getInstrumentation().targetContext
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
val uri = Uri.fromFile(File(DOWNLOAD_FOLDER))
prefs.edit().putString("publicBackupFolder", uri.toString()).commit()
}
fun importBackupFromDownloadFolder() {
clickMenu(SETTINGS)
clickText("Import data")
@@ -93,6 +105,11 @@ fun importBackupFromDownloadFolder() {
}
}
fun verifyBackupInDownloadFolder() {
val listing = device.executeShellCommand("ls $DOWNLOAD_FOLDER")
assertTrue(listing.contains("Loop Habits Backup"))
}
fun openLauncher() {
device.pressHome()
device.waitForIdle()

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
~ Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
~
~ This file is part of Loop Habit Tracker.
~

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
* Copyright (C) 2016-2025 Álinson Santos Xavier <git@axavier.org>
*
* This file is part of Loop Habit Tracker.
*

Some files were not shown because too many files have changed in this diff Show More