Skip to content

chore: migrate all .java files to kotlin and deps/build cleanup#986

Merged
wax911 merged 13 commits into
developfrom
refactor/kotlin-migration
May 28, 2026
Merged

chore: migrate all .java files to kotlin and deps/build cleanup#986
wax911 merged 13 commits into
developfrom
refactor/kotlin-migration

Conversation

@wax911

@wax911 wax911 commented Jan 24, 2026

Copy link
Copy Markdown
Member

Description

Completes the Java-to-Kotlin migration and performs dependency/build system cleanup.

Changes

  • chore: migrate all .java files to kotlin — Converts remaining Java sources to Kotlin
  • refactor(viewbinding): remove butterknife and fix bindings — Removes ButterKnife, migrates to View Binding
  • refactor(progresslayout): replace snapshot dependency with local widget — Replaces external snapshot dependency with in-repo widget
  • chore(deps): remove unused constraintlayout-solver from version catalog
  • chore(deps): bump kotlin from 2.3.10 to 2.3.21
  • chore(deps): bump koin from 4.1.1 to 4.2.1 — Also bumps compileSdk/targetSdk to 36 (required by Koin 4.2.1 transitives)
  • chore(deps): bump chucker from 4.2.0 to 4.3.1
  • chore(deps): remove deprecated lifecycle-extensions umbrella library
  • chore(build): enable Gradle configuration cache — With ObjectBox notCompatibleWithConfigurationCache() workaround
  • chore(build): fix ObjectBox configuration cache incompatibility

Verification

  • :app:assembleAppDebug — BUILD SUCCESSFUL
  • :app:testAppDebugUnitTest — 57/57 tests passing, 0 failures
  • --warning-mode all — No Gradle DSL deprecation warnings (only internal AGP warnings not actionable in our scripts)

Remaining known issues

  • ObjectBox plugin PrepareTask stores a DefaultProject reference that is incompatible with configuration cache (third-party plugin limitation)

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto approved automated PR

@wax911 wax911 force-pushed the refactor/kotlin-migration branch from 696d779 to 35f3f2a Compare January 25, 2026 07:16
@github-actions github-actions Bot added the docs label Jan 25, 2026
@wax911 wax911 force-pushed the refactor/kotlin-migration branch 6 times, most recently from 39ea186 to d775753 Compare January 25, 2026 12:47
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@wax911 wax911 force-pushed the refactor/kotlin-migration branch from d775753 to 677eacf Compare May 3, 2026 13:50
@codacy-production

codacy-production Bot commented May 3, 2026

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 100 minor

Alerts:
⚠ 100 issues (≤ 0 issues of at least minor severity)

Results:
100 new issues

Category Results
BestPractice 5 minor
CodeStyle 95 minor

View in Codacy

🟢 Metrics 3455 complexity · 542 duplication

Metric Results
Complexity 3455
Duplication 542

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

wax911 added 10 commits May 28, 2026 22:53
Replace the unresolvable com.github.nguyenhoanglam:ProgressLayout:master-SNAPSHOT
dependency with a local com.mxt.anitrend.widget.ProgressLayout backed by a
ProgressLayoutState enum. This removes the build failure caused by the dead
SNAPSHOT artifact.

Also restores missing resources lost during migration:
- color/grey and color/grey_light legacy aliases
- dimen/spacing_medium and dimen/spacing_small aliases
- string/try_again alias
- AppTheme style alias for manifest
- drawable/bg_button.xml

Fixes test compilation:
- Escape Hamcrest  matcher with backticks in Kotlin test files
- Use MediaStatusValues.filterNotNull() for null-safe iteration
- Use .orEmpty() on nullable groupBy fields
@wax911 wax911 changed the title chore: migrate all .java files to kotlin chore: migrate all .java files to kotlin and deps/build cleanup May 28, 2026
@wax911 wax911 changed the base branch from refactor/remove-butterknife to develop May 28, 2026 20:53
@wax911 wax911 force-pushed the refactor/kotlin-migration branch from a597fd5 to 5ed286f Compare May 28, 2026 20:53
@wax911 wax911 merged commit a7c98ef into develop May 28, 2026
9 of 10 checks passed
@wax911 wax911 deleted the refactor/kotlin-migration branch May 28, 2026 21:32
@wax911 wax911 added enhancement Improves exiting functionality and removed docs labels May 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improves exiting functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant