/anytype-kotlin

Official Anytype client for Android

Primary LanguageKotlinOtherNOASSERTION

Anytype

Official Anytype client for Android.

Build project

Prerequisites

  • Clone this repository

  • Create github.properties file in root project folder:

    gpr.usr=GITHUB_USER_ID
    gpr.key=GITHUB_PERSONAL_ACCESS_TOKEN
    

Your Github ID (starting with '#' character) can be found here. As to your personal Github access token, you can generate it in Developer settings in your profile settings on Github.

  • Create apikeys.properties file in root project folder:

    amplitude.debug="AMPLITUDE_DEBUG_KEY"
    amplitude.release="AMPLITUDE_RELEASE_KEY"
    sentry_dsn="SENTRY_DSN_KEY"
    

Then build project.

IDE setup (optional)

Based on your IDE setup, you might experience problems while accessing/importing auto-generated Kotlin classes from protocol module. These classes are currently declared in very large files, which IDE might not process as expected. If this is your case, go to your Android Studio Help section, select Edit Custom Properties option. There you should set idea.max.intellisense.filesize property as follows:

idea.max.intellisense.filesize=3500

Useful links

Our tech change log

Anytype Android app dependencies

Conventions

PR naming

{TASK-ID} {APP AREA} | {NATURE OF CHANGE: Fix, Enhancement, Feature, Design, Documentation} | {CONCISE DESCRIPTION OF WHAT HAS BEEN DONE}

App area can be App, Editor, Sets, Relations, Auth, Settings, Analytics, Tech (CI, DI, scripting, etc.), etc.

Example: Editor | Fix | Show meaningful message when failed to open file by an existing application

Git branch naming

{TASK_ID or TASK_NUMBER}-ConciseDescription

Flags

com.anytype.ci=true - for CI/CD pipeline

Updating anytype-heart (basics)

Prerequisite: brew install jq

  1. Run the following command in Terminal or Makefile:

    make update_mw
    
  2. Make sure your proto files located in protocol/main/proto/ compile.

  3. Make sure to update middlewareVersion version in libs.versions.toml.

Contribution

Thank you for your desire to develop Anytype together!

❤️ This project and everyone involved in it is governed by the Code of Conduct.

🧑‍💻 Check out our contributing guide to learn about asking questions, creating issues, or submitting pull requests.

🫢 For security findings, please email security@anytype.io and refer to our security guide for more information.

🤝 Follow us on Github and join the Contributors Community.


Made by Any — a Swiss association 🇨🇭

Licensed under Any Source Available License 1.0.