wordpress-mobile / wordpress-mobile/WordPress-Android

Replace Kotlin synthetics with View Binding

Open
#14,214 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

[Type] Enhancement Tech Debt
Dominant language
Kotlin
Stars
3.2k
Forks
1.4k
Avg merge
1d 11h
Merged PRs (30d)
69

Description

A few months ago, Google announced that Kotlin synthetics are being deprecated and support for them will be removed later this year and recommended developers to switch to View Binding.

We're planning to submit multiple PRs over the next few days, each to tackle a single area of the app. Looking into how we're currently using Kotlin synthetics in the app, I've come up with the following list:

  • Accounts (PR #14226)
  • Activity Log (PR #14227)
  • Domains (PR #14235)
  • Jetpack
    • Activities and Fragments (PR #14330)
    • ViewHolders (PR #14211)
  • Layout Picker
  • Me (PR #14241)
  • Media Picker (PR #14236)
  • My Site (PR #14233)
  • Notifications (PR #14252)
  • Pages (PR #14238)
  • Plans (PR #14342)
  • Posts (PR #14249)
  • Reader
    • Activities and Fragments (PR #14224)
    • ViewHolders (PR #14225)
    • Views (PR #14251)
  • Site Creation
  • Stats
    • List, Detail, View All (PR #14217, #14340)
    • Insights, Widgets, ViewHolders, Utils (PR #14339)
  • Other
    • Gif Picker (PR #14209)
    • Stories (PR #14250)
    • Manual feature configuration (PR #14250, #14341)
    • Homepage settings (PR #14354)

Depending on how the work is going, we may decide to split these up in different ways, but for now I believe this makes sense.

We'll be constantly updating this issue to link to new PRs as soon as they are submitted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the Google announcement and inspect the referenced migration PRs to understand the established approach. Work through the unchecked areas, including Jetpack Activities and Fragments, Layout Picker, and Site Creation; done means those areas no longer use Kotlin synthetics and are checked off with their PR references.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.