Backups on Android easy and fast using Restic

Related tags

App android backup restic
Overview

restic-android (Unofficial)

Test Workflow Release Notes Restic@IoD GNU General Public License, Version 2

Icon

This project aims to make Backups on Android easy and fast using Restic.

It also makes use of termux/proot to run the Restic linux binaries on android.

This project is still in a very early state and contributions are welcome!

Disclaimer

This project is not an official app made by the restic team.

Please report any issues on the restic-android issue tracker.

Features

  • Manage Restic Repositories (S3, B2, Rest are currently the only supported protocols)
  • Manage Restic Snapshots
  • Manage Folders for Backup
  • Configure Schedules for automatic Backups
  • Configure Cleanup Policies for Folders
  • Progress Notification

Roadmap

  • Clean up WIP Code
  • Support more protocols
  • More granular Backup Schedules and Cleanup Policies
  • Improve Error messages
  • Backup Rules (only backup when charging or only use wifi etc.)

Screenshots

Notice

See the file called NOTICE.

License

This project uses the GNU General Public License, Version 2. See the file called LICENSE.

Comments
  • Problem connecting S3 repository

    Problem connecting S3 repository

    Screenshot_20211117-100127 Screenshot_20211117-100239 :

    Using APK from Release 4 with Android 11 (same with Release 3) ACCESS_KEY and SECURITY_KEY are correct and working (for example with a RaspberryPi). Repository does not yet exist. Error does appears after several minutes of showing progress animation when saving the repository configuration.

    Anything I can do?

    opened by Shelliis 5
  • please fix versionCode & versionName in APK

    please fix versionCode & versionName in APK

    Your APKs all seem to still use the initial default version: versionCode 1 and versionName 1.0 – while the releases page already lists 5 releases (i.e. versionCode should be ≥ 5) with the latest one tagged "0.2.0" (suggesting a similar versionName). As this is not only a cosmetical thing (Android decides based on versionCode whether there's an update or not), could you please bring that "into sync"? For the easiest approach, you could use versionCode as a "release counter" (i.e. always increase it by 1), and use the tag name as versionName.

    Thanks!

    bug 
    opened by IzzySoft 4
  • Bump kotlinx-serialization-json from 1.3.0 to 1.3.1

    Bump kotlinx-serialization-json from 1.3.0 to 1.3.1

    Bumps kotlinx-serialization-json from 1.3.0 to 1.3.1.

    Release notes

    Sourced from kotlinx-serialization-json's releases.

    1.3.1

    This release mainly contains bugfixes for 1.3.0 and provides new experimental Json.decodeToSequence function.

    Improvements

    • Provide decodeToSequence to read multiple objects from stream lazily (#1691)

    Bugfixes

    • Correctly handle buffer boundaries while decoding escape sequences from json stream (#1706)
    • Properly skip unknown keys for objects and structures with zero properties (#1720)
    • Fix merging for maplikeSerializer when the map is not empty (by using the actual size * 2). (#1712) (thanks to pdvrieze)
    • Fix lookup of primitive array serializers by Java type token (#1708)
    Changelog

    Sourced from kotlinx-serialization-json's changelog.

    1.3.1 / 2021-11-11

    This release mainly contains bugfixes for 1.3.0 and provides new experimental Json.decodeToSequence function.

    Improvements

    • Provide decodeToSequence to read multiple objects from stream lazily (#1691)

    Bugfixes

    • Correctly handle buffer boundaries while decoding escape sequences from json stream (#1706)
    • Properly skip unknown keys for objects and structures with zero properties (#1720)
    • Fix merging for maplikeSerializer when the map is not empty (by using the actual size * 2). (#1712) (thanks to pdvrieze)
    • Fix lookup of primitive array serializers by Java type token (#1708)
    Commits
    • 471f4bb Prepare 1.3.1 release
    • 2a71f31 Merge remote-tracking branch 'origin/master' into dev
    • b211c29 Provide decodeToSequence to read multiple objects from stream lazily (#1691)
    • 3999818 Correctly handle buffer boundaries while decoding escape sequences from json ...
    • e721ebe Add Kover plugin (#1733)
    • f6a3432 Easier to configure ProGuard rules (#1721)
    • b746ba8 docs(polymorphism): fixing a typo (#1731)
    • c06ebb4 Properly skip unknown keys for objects and structures with zero prope… (#1720)
    • 85be8a7 Fix merging for maplikeSerializer when the map is not empty (by using the act...
    • 1814a92 Added android.os.Bundle to community-supported formats (#1722)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 4
  • Bump org.jetbrains.kotlin.plugin.serialization from 1.5.31 to 1.6.0

    Bump org.jetbrains.kotlin.plugin.serialization from 1.5.31 to 1.6.0

    Bumps org.jetbrains.kotlin.plugin.serialization from 1.5.31 to 1.6.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 3
  • Bump kotlin_version from 1.5.31 to 1.6.0

    Bump kotlin_version from 1.5.31 to 1.6.0

    ⚠️ Dependabot is rebasing this PR ⚠️

    Rebasing might not happen immediately, so don't worry if this takes some time.

    Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


    Bumps kotlin_version from 1.5.31 to 1.6.0. Updates kotlin-gradle-plugin from 1.5.31 to 1.6.0

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.6.0-RC2

    Learn how to install Kotlin 1.6.0-RC2 plugin and how to configure build with 1.6.0-RC2

    Changelog

    Compiler

    New Features

    • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments

    Performance Improvements

    • KT-45185 FIR2IR: get rid of IrBuiltIns usages

    Fixes

    • KT-49477 Has ran into recursion problem with two interdependant delegates
    • KT-49371 JVM / IR: "NoSuchMethodError" with multiple inheritance
    • KT-49294 Turning FlowCollector into 'fun interface' leads to AbstractMethodError
    • KT-18282 Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyError
    • KT-25289 Prohibit access to class members in the super constructor call of its companion and nested object
    • KT-32753 Prohibit @​JvmField on property in primary constructor that overrides interface property
    • KT-43433 Suspend conversion is disabled message in cases where it is not supported and quickfix to update language version is suggested
    • KT-49209 Default upper bound for type variables should be non-null
    • KT-22562 Deprecate calls to "suspend" named functions with single dangling lambda argument
    • KT-49335 NPE in RepeatedAnnotationLowering.wrapAnnotationEntriesInContainer when using @Repeatable annotation from different file
    • KT-49322 Postpone promoting warnings to errors for ProperTypeInferenceConstraintsProcessing feature
    • KT-49285 Exception on nested builder inference calls
    • KT-49101 IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number)
    • KT-36399 Gradually support TYPE_USE nullability annotations read from class-files
    • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
    • KT-18768 @Notnull annotation from Java does not work with varargs
    • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
    • KT-48157 FIR: incorrect resolve with built-in names in use
    • KT-46409 FIR: erroneous resolve to qualifier instead of extension
    • KT-44566 FirConflictsChecker do not check for conflicting overloads across multiple files
    • KT-37318 FIR: Discuss treating flexible bounded constraints in inference
    • KT-45989 FIR: wrong callable reference type inferred
    • KT-46058 [FIR] Remove state from some checkers
    • KT-45973 FIR: wrong projection type inferred
    • KT-43083 [FIR] False positive 'HIDDEN' on internal
    • KT-46727 Report warning on contravariant usages of star projected argument from Java
    • KT-40668 FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopes
    • KT-37081 [FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absence
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-45118 ClassCastException caused by parent and child class in if-else
    • KT-47605 Kotlin/Native: switch to LLD linker for MinGW targets
    • KT-44436 Support default not null annotations to enhance T into T!!
    • KT-49190 Increase stub versions

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    CHANGELOG

    Commits

    Updates kotlin-stdlib from 1.5.31 to 1.6.0

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.6.0-RC2

    Learn how to install Kotlin 1.6.0-RC2 plugin and how to configure build with 1.6.0-RC2

    Changelog

    Compiler

    New Features

    • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments

    Performance Improvements

    • KT-45185 FIR2IR: get rid of IrBuiltIns usages

    Fixes

    • KT-49477 Has ran into recursion problem with two interdependant delegates
    • KT-49371 JVM / IR: "NoSuchMethodError" with multiple inheritance
    • KT-49294 Turning FlowCollector into 'fun interface' leads to AbstractMethodError
    • KT-18282 Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyError
    • KT-25289 Prohibit access to class members in the super constructor call of its companion and nested object
    • KT-32753 Prohibit @​JvmField on property in primary constructor that overrides interface property
    • KT-43433 Suspend conversion is disabled message in cases where it is not supported and quickfix to update language version is suggested
    • KT-49209 Default upper bound for type variables should be non-null
    • KT-22562 Deprecate calls to "suspend" named functions with single dangling lambda argument
    • KT-49335 NPE in RepeatedAnnotationLowering.wrapAnnotationEntriesInContainer when using @Repeatable annotation from different file
    • KT-49322 Postpone promoting warnings to errors for ProperTypeInferenceConstraintsProcessing feature
    • KT-49285 Exception on nested builder inference calls
    • KT-49101 IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number)
    • KT-36399 Gradually support TYPE_USE nullability annotations read from class-files
    • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
    • KT-18768 @Notnull annotation from Java does not work with varargs
    • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
    • KT-48157 FIR: incorrect resolve with built-in names in use
    • KT-46409 FIR: erroneous resolve to qualifier instead of extension
    • KT-44566 FirConflictsChecker do not check for conflicting overloads across multiple files
    • KT-37318 FIR: Discuss treating flexible bounded constraints in inference
    • KT-45989 FIR: wrong callable reference type inferred
    • KT-46058 [FIR] Remove state from some checkers
    • KT-45973 FIR: wrong projection type inferred
    • KT-43083 [FIR] False positive 'HIDDEN' on internal
    • KT-46727 Report warning on contravariant usages of star projected argument from Java
    • KT-40668 FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopes
    • KT-37081 [FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absence
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-45118 ClassCastException caused by parent and child class in if-else
    • KT-47605 Kotlin/Native: switch to LLD linker for MinGW targets
    • KT-44436 Support default not null annotations to enhance T into T!!
    • KT-49190 Increase stub versions

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib's changelog.

    CHANGELOG

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 3
  • Added 'rest' and 'b2' repo support. Also added some minimal validation of mandatory repo fields

    Added 'rest' and 'b2' repo support. Also added some minimal validation of mandatory repo fields

    • Adds 'rest-server' protocol support
    • Adds 'b2' (Backblaze) protocol support
    • Adds some minimal better error handling for repo creation/editing
    • Downgrades com.android.tools.build:gradle to 7.0.4 since IntelliJ does not support it yet.
      • I can revert it but it makes my development slightly harder :smile:
    • Does some things with the gradle wrapper but the version stays the same (7.2)
      • Not sure what happened there but i needed to do a ./gradlew wrapper --gradle-version 7.2 to get it to build for me.
    opened by quantum-byte 2
  • Bump gradle from 7.0.4 to 7.3.0

    Bump gradle from 7.0.4 to 7.3.0

    Bumps gradle from 7.0.4 to 7.3.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump appcompat from 1.3.1 to 1.5.0

    Bump appcompat from 1.3.1 to 1.5.0

    Bumps appcompat from 1.3.1 to 1.5.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump gradle from 7.0.4 to 7.2.2

    Bump gradle from 7.0.4 to 7.2.2

    Bumps gradle from 7.0.4 to 7.2.2.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump appcompat from 1.3.1 to 1.4.2

    Bump appcompat from 1.3.1 to 1.4.2

    Bumps appcompat from 1.3.1 to 1.4.2.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump core-ktx from 1.6.0 to 1.8.0

    Bump core-ktx from 1.6.0 to 1.8.0

    Bumps core-ktx from 1.6.0 to 1.8.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • [Feature request] Support multiple folders in the same backup

    [Feature request] Support multiple folders in the same backup

    First of all, thank you for this amazing App. Its the best app I have found for Restic / Android. You should publish it in the marketplaces, it will be more visible.

    I have a smartphone with Android 13. The app is working well but the configuration is a bit more complicate than it should be.

    Use case: I want to backup all the files in my phone. I can't not select the main folder of my phone (where DCIM and Android folders are) because privacy or permissions. I don't care about permissions but Android don't let me. To solve this I'm creating different backups. One for DCIM, one for Android folder... It works but instead of having 1 backup, I have a lot of different backups and if I want to restore my phone I have to restore many backups one by one.

    My proposals:

    1. Find a way to select the main folder. I don't see the reason it's not allowed. This will be perfect combined with #86
    2. Allow the user to select more than one folder in each backup. Convert the folder path into a list with multiple paths. All files from all paths will be included in the same backup. It's supported by Restic using restic ... backup folder1 folder2 ... Another way of doing the same is => https://restic.readthedocs.io/en/stable/040_backup.html#including-files
    opened by ngosang 0
  • [Feature request] Update Restic 0.14.0

    [Feature request] Update Restic 0.14.0

    Restic 0.14.0 includes several improvements and new features. https://github.com/restic/restic/releases/tag/v0.14.0

    The most important change is from version 0.14.0 they bumped the repository version to 2. Version 2 is the default and version 1 is still compatible but it doesn't support new features like compression.

    That means this app is not working with repositories v2 (created with Restic .14.0)

    Here is info about the migration to v2 => https://restic.readthedocs.io/en/stable/045_working_with_repos.html#upgrading-the-repository-format-version

    opened by ngosang 1
  • Bump material from 1.4.0 to 1.7.0

    Bump material from 1.4.0 to 1.7.0

    Bumps material from 1.4.0 to 1.7.0.

    Release notes

    Sourced from material's releases.

    1.7.0

    What's new since 1.6.1

    • All new Switch component with a new look! Check out the updated documentation for details.
    • New Shape system that is now being used by all components. Learn about the shape system and see how its used in the Material3 theme and components by checking out the updated documentation
    • Checkbox has been redesigned and now supports indeterminate and error states! Check out the updated documentation.
    • BottomAppBar has been redesigned! Check out the updated documentation
    • New Icon Button support has been added including outlined, tonal, and filled variants!

    New minimum requirements for your app's project:

    Dependency Updates

    Dependency Previous version New version
    androidx.appcompat 1.5.0-beta01 1.5.0
    androidx.core 1.5.0 1.6.0
    androidx.test 1.1.0 1.4.0
    Android Gradle Plugin (AGP) 4.0.0 7.2.0
    Gradle 6.1.1 7.3.3
    Java Version 1.7 (7) 1.8 (8)

    Other highlights

    • MaterialButton
      • Added methods to not toggle checked state on buttons on click (a6011078689521cf0c042e7444c36b6607cedcf9)
      • Updated M3 button style to add outlined icon button style (467a2c9f7314cdfd5300594b4e66a70657d5d702)
      • Updated M3 button style to add filled tonal icon button style (14578ed68cb296080d511ceb502469903c0ef5d7)
      • Updated M3 button style to add filled icon button style (25606cf34addae1420eeba24eec0f90aef06d0d2)
      • Fix icon textStart/End alignment with multiline text (b6b895a1e40efbf2e36b2ea5e91bae7bcd0bdb8c)
      • Fix icon position with multiline text (19d05000bcc273f781a85ce41530f604fead268e)
    • Documentation
      • Updated typography guidelines to M3 (104a342307c31170494c3dcd2011ca63b182e4b5)
      • Added an example to demonstrate how to make bottom sheet dialog in edge-to-edge mode (57a3c989ffdaee252fa00bbe5246f837d18b6a60)
      • Updated Snackbar doc regarding CoordinatorLayout (ef2c2fad36d11933d71ea5c9a2826be3119bec17)
      • Add status bar / edge-to-edge section to Top App Bar doc (b8e1f978940c218502ee6161d0b3f673299eceb0)
    • TopAppBar
      • Fixed bug in HeaderScrollingViewBehavior that causes child translation Y not to be reset to default if the behavior is changed from an overlapping to non-overlapping behavior in layoutParams.setBehavior (00c62d21c9e21eb595d2d83bddcf6782a9773729)
      • Excluded views that are GONE from scroll range calculation (687e73590de5ea219a14a336094002b9d3884af5)
      • Fixed collapsing title issue with different fonts (0c341c4e9b9703945ffbf22af0a4158bde41582c)
      • Added setLiftOnScrollTargetView() method (d6c435461eece74656db5e2de92944c7ca807439)
    • A11y
      • Made multi-selection Chips announce as Buttons (d4c2c9549051d706d91dcd96ceb79c52e1aedd30)
      • Made drawer announce its number of items (b1f7d5bebc298865a25747d2f28050a67b15761d)
    • TextInputLayout
      • Added a new custom length counter field and getters/setters to switch how text length is calculated for the counter. (4ded01ed3ff5f6669080b6330c3d6dce8869cdca)
      • Fixed hint is not displayed when expanding space is limited (73cb1b6e78a0e28d157a1b5da061568117c2fa40)

    ... (truncated)

    Commits
    • 355c69d Update library version to 1.7.0
    • 5cb92c8 [Snackbar] Made snackbar javadoc more clear of how its dismissing works.
    • c0e24cd [Documentation][Shape] Update documentation
    • 7e18ac4 [Checkbox] Fixed NPE crash due to layer drawable's constant state issue in AP...
    • ec1663f [CheckBox] Fix a11y announcement for indeterminate state.
    • aaa7646 Update library version to 1.7.0-rc01
    • 2cc8932 [Checkbox] Fixed pre 21 issue where the icon did not update its color accordi...
    • a394314 [Process] Update AppCompat version to 1.5 stable
    • 3af5784 [ExposedDropdownMenu] Fixed missing icon activated color.
    • c1e20e2 [Docs] Changing the name for the AGP compatibility variable so that the IDE p...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump gradle from 7.0.4 to 7.3.1

    Bump gradle from 7.0.4 to 7.3.1

    Bumps gradle from 7.0.4 to 7.3.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump appcompat from 1.3.1 to 1.5.1

    Bump appcompat from 1.3.1 to 1.5.1

    Bumps appcompat from 1.3.1 to 1.5.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump core-ktx from 1.6.0 to 1.9.0

    Bump core-ktx from 1.6.0 to 1.9.0

    Bumps core-ktx from 1.6.0 to 1.9.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
Releases(0.3.0)
Owner
Pierre Kisters
Pierre Kisters
Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

TTS-App Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS) Python의 gTTS lib를 활용하여 텍스트를 음성으로 변환하는 서비스를 구현해봅니다.

Seokhyun 7 Jan 7, 2022
Readow - Readow RSS Reader application. It’s fast and clean, giving you the freedom to enjoy your favorite news

Readow Readow RSS Reader application. It’s fast and clean, giving you the freedo

Pradeep Hr 7 Sep 20, 2022
A lightweight super-fast wireless file sharing application built on WiFi Peer-to-Peer technology.

ZipBolt ZipBolt is a file-sharing platform that allows digital devices to share files at incredible speeds using WiFi Peer-to-Peer technology. ZipBolt

Prosper Ekwerike 9 Sep 22, 2022
Based on mirai, a fast simple bot for maimai DX

maimai-bot 一个基于 mirai 和 舞萌 DX 查分器 编写的 maimai DX QQ 机器人插件。

心水湛清 20 Dec 16, 2022
Easy Note: Building a Notes app using MVVM, JetPack Compose with a clean multi-module architecture approach.

Easy Note Easy Note: Notes app using JetPack Compose and MVVM with a clean architecture approach. This app shows the usage of the new Navigation Archi

Akhilesh Patil 10 Dec 17, 2022
A simple and easy to use stopwatch and timer library for android

TimeIt Now with Timer support! A simple and easy to use stopwatch and timer library for android Introduction A stopwatch can be a very important widge

Yashovardhan Dhanania 35 Dec 10, 2022
Easy and quick contact management with no ads, handles groups and favorites too.

Simple Contacts A simple app for creating or managing your contacts from any source. The contacts can be stored on your device only, but also synchron

Simple Mobile Tools 621 Dec 26, 2022
androidx window manager sample taken from the original source and modified for easy deploy and test

androidx-window-samples This project contains the WindowManager samples located in the androidx WM project location The goal of this project is to pro

Cesar Valiente 0 Nov 22, 2021
A general purpose kotlin library that use kotlin coroutines, flows and channels to provide timer features with the most easy and efficient way

Timer Timer is a general purpose kotlin library that use kotlin coroutines, flows and channels to provide timer features with the most easy and effici

Amr Saraya 3 Jul 11, 2022
FairEmail is easy to set up and works with virtually all email providers, including Gmail, Outlook and Yahoo!

Downloads • Privacy • Support • License FairEmail Fully featured, open source, privacy oriented email app for Android FairEmail is easy to set up and

Marcel Bokhorst 1.5k Jan 2, 2023
📱 AppListManager (Android Library) makes managing application and activity lists easy.

AppListManager (Android Library) AppListManager is easy to use Android library, which minimizes developing time when working on application or activit

Rokas Jankunas 60 Dec 27, 2022
Pomodroid is a flexible and easy to use Android Pomodoro Technique Timer.

Pomodroid - Android App Pomodroid is a flexible and easy to use Android Pomodoro Technique Timer. Unlike other services, pomodroid is free and open so

Klejvi Kapaj 8 Oct 15, 2022
Easy setup of static analysis tools for Android and Java projects.

[DEPRECATED] Gradle static analysis plugin ⚠️ A fork of this project is maintained at https://github.com/GradleUp/static-analysis-plugin/ Please migra

Novoda 408 Dec 19, 2022
The easy way to use biometric authentication in your Flutter app. Supports Fingerprint, FaceID and Iris.

BiometricX The easy way to use biometric authentication in your Flutter app. Supports Fingerprint, FaceID and Iris. Demo APK. Starting $ flutter pub a

Salman S 13 Dec 15, 2022
Quiz-Application - A quiz application which uses opentdb api to get quiz of different levels like Easy Hard and Medium

Quiz-Application A quiz application which uses opentdb api to get quiz of differ

Pranat Praveer 2 Jan 25, 2022
Abysl Asset Manager is an easy to use library management tool to index and search game assets

Abysl Asset Manager is an easy to use library management tool to index and search game assets. Features Itch.IO Library Import Hum

null 22 Oct 6, 2022
An easy way to create and access JSON Files!

JsonFile This is the JsonFile API, this class is meant to facilitate the process of creating and accessing a JSON file UPDATES Updates Version About C

Next 2 Nov 11, 2022
An E-Commerce android App whose frontend is implemented using Kotlin & XML files and backend/database is implemented using My SQL & PHP files

An E-Commerce android App whose frontend is implemented using Kotlin & XML files and backend/database is implemented using My SQL & PHP files

null 4 Aug 25, 2022