Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
34 changes: 34 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
root = true

[*]
indent_style = space
indent_size = 4
tab_width = 4
no-unused-imports = true
no-wildcard-import = true
max_line_length = 100
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{kt,kts}]
ktlint_code_style = ktlint_official
ktlint_function_naming_ignore_when_annotated_with=Composable
ktlint_standard_annotation = disabled
ktlint_ignore_back_ticked_identifier = true
ktlint_standard = enabled
ktlint_standard_multiline-if-else = disabled

# Don't allow any wildcard imports
ij_kotlin_packages_to_use_import_on_demand = unset

# Prevent wildcard imports
ij_kotlin_name_count_to_use_star_import = 99
ij_kotlin_name_count_to_use_star_import_for_members = 99

[*.md]
trim_trailing_whitespace = false

[**/test/**.kt]
max_line_length=off
245 changes: 122 additions & 123 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,131 +1,130 @@
name: Build the app

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

env:
BRANCH_NAME: ${{ github.ref_name }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH_NAME: ${{ github.ref_name }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
check:
if: ${{ startsWith(github.actor, 'dependabot') }}
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle

- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Build debug APK
run: ./gradlew assembleDebug

build:
if: ${{ ! startsWith(github.actor, 'dependabot') }}
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle

- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Decrypt the keystore for signing
run: |
echo "${{ secrets.KEYSTORE_ENCRYPTED }}" > keystore.asc
gpg -d --passphrase "${{ secrets.KEYSTORE_PASSWORD }}" --batch keystore.asc > keystore.jks

- name: Build release APK
run: ./gradlew assembleRelease

- name: Upload release Github arm64-v8a APK
uses: actions/upload-artifact@v4
with:
name: release-arm64-v8a-apk-github
path: ./app/build/outputs/apk/github/release/app-github-arm64-v8a-release.apk

- name: Upload release Github armeabi-v7a APK
uses: actions/upload-artifact@v4
with:
name: release-armeabi-v7a-apk-github
path: ./app/build/outputs/apk/github/release/app-github-armeabi-v7a-release.apk

- name: Upload release Github universal APK
uses: actions/upload-artifact@v4
with:
name: release-universal-apk-github
path: ./app/build/outputs/apk/github/release/app-github-universal-release.apk

- name: Upload release GooglePlay arm64-v8a APK
uses: actions/upload-artifact@v4
with:
name: release-arm64-v8a-apk-googleplay
path: ./app/build/outputs/apk/googleplay/release/app-googleplay-arm64-v8a-release.apk

- name: Upload release GooglePlay armeabi-v7a APK
uses: actions/upload-artifact@v4
with:
name: release-armeabi-v7a-apk-googleplay
path: ./app/build/outputs/apk/googleplay/release/app-googleplay-armeabi-v7a-release.apk

- name: Upload release GooglePlay universal APK
uses: actions/upload-artifact@v4
with:
name: release-universal-apk-googleplay
path: ./app/build/outputs/apk/googleplay/release/app-googleplay-universal-release.apk

lint:
needs: build
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'

- name: Run linter
run: ./gradlew lint

- uses: actions/upload-artifact@v4
with:
name: lint-results
path: ./app/build/reports/*.html

ktlint:
needs: build
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'

- name: Kotlin linter
run: ./gradlew ktlintCheck
check:
if: ${{ startsWith(github.actor, 'dependabot') }}
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle

- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Build debug APK
run: ./gradlew assembleDebug

build:
needs: [ lint, ktlint ]
if: ${{ ! startsWith(github.actor, 'dependabot') }}
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle

- name: Validate Gradle wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Decrypt the keystore for signing
run: |
echo "${{ secrets.KEYSTORE_ENCRYPTED }}" > keystore.asc
gpg -d --passphrase "${{ secrets.KEYSTORE_PASSWORD }}" --batch keystore.asc > keystore.jks

- name: Build release APK
run: ./gradlew assembleRelease

- name: Upload release Github arm64-v8a APK
uses: actions/upload-artifact@v4
with:
name: release-arm64-v8a-apk-github
path: ./app/build/outputs/apk/github/release/app-github-arm64-v8a-release.apk

- name: Upload release Github armeabi-v7a APK
uses: actions/upload-artifact@v4
with:
name: release-armeabi-v7a-apk-github
path: ./app/build/outputs/apk/github/release/app-github-armeabi-v7a-release.apk

- name: Upload release Github universal APK
uses: actions/upload-artifact@v4
with:
name: release-universal-apk-github
path: ./app/build/outputs/apk/github/release/app-github-universal-release.apk

- name: Upload release GooglePlay arm64-v8a APK
uses: actions/upload-artifact@v4
with:
name: release-arm64-v8a-apk-googleplay
path: ./app/build/outputs/apk/googleplay/release/app-googleplay-arm64-v8a-release.apk

- name: Upload release GooglePlay armeabi-v7a APK
uses: actions/upload-artifact@v4
with:
name: release-armeabi-v7a-apk-googleplay
path: ./app/build/outputs/apk/googleplay/release/app-googleplay-armeabi-v7a-release.apk

- name: Upload release GooglePlay universal APK
uses: actions/upload-artifact@v4
with:
name: release-universal-apk-googleplay
path: ./app/build/outputs/apk/googleplay/release/app-googleplay-universal-release.apk

lint:
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'

- name: Run linter
run: ./gradlew lint

- uses: actions/upload-artifact@v4
with:
name: lint-results
path: ./app/build/reports/*.html

ktlint:
environment: Development
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'

- name: Kotlin linter
run: ./gradlew ktlintCheck

10 changes: 9 additions & 1 deletion app/src/main/java/dev/arkbuilders/arkmemo/graphics/SVG.kt
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,14 @@ class SVG {
getAttributeValue("", Attributes.VIEW_BOX),
)
}

PATH_TAG -> {
pathCount += 1
strokeColor = getAttributeValue("", Attributes.Path.STROKE)
strokeColor =
getAttributeValue(
"",
Attributes.Path.STROKE,
)
fill = getAttributeValue("", Attributes.Path.FILL)
pathData = getAttributeValue("", Attributes.Path.DATA)
}
Expand Down Expand Up @@ -164,6 +169,7 @@ class SVG {
},
)
}

SVGCommand.AbsLineTo.CODE -> {
if (commandElements.size > 3) {
strokeColor = commandElements[3]
Expand All @@ -178,6 +184,7 @@ class SVG {
},
)
}

SVGCommand.AbsQuadTo.CODE -> {
if (commandElements.size > 5) {
strokeColor = commandElements[5]
Expand All @@ -192,6 +199,7 @@ class SVG {
},
)
}

else -> {}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@ class MemoPreferencesImpl
prefEditor.putBoolean(CRASH_REPORT_ENABLE, enabled).apply()
}

override fun getCrashReportEnabled(): Boolean = sharedPreferences.getBoolean(CRASH_REPORT_ENABLE, true)
override fun getCrashReportEnabled(): Boolean =
sharedPreferences.getBoolean(
CRASH_REPORT_ENABLE,
true,
)

override fun storageNotAvailable(): Boolean {
return getPath().isEmpty() || !getNotesStorage().exists()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,17 @@ class GraphicNotesRepo
private val displayMetrics by lazy { Resources.getSystem().displayMetrics }
private val screenWidth by lazy { displayMetrics.widthPixels }
private val screenHeight by lazy { displayMetrics.heightPixels - 150.dpToPx() }
private val thumbViewWidth by lazy { context.resources.getDimension(R.dimen.graphic_thumb_width) }
private val thumbViewWidth by lazy {
context.resources.getDimension(
R.dimen.graphic_thumb_width,
)
}

private val thumbDirectory by lazy { context.getExternalFilesDir(Environment.DIRECTORY_PICTURES) }
private val thumbDirectory by lazy {
context.getExternalFilesDir(
Environment.DIRECTORY_PICTURES,
)
}

override suspend fun init(root: String) {
helper.init(root)
Expand Down
Loading