Skip to content

chore: Remove duplicate and obsolete legacy code#807

Merged
LouisCAD merged 1 commit into
mainfrom
remove-legacy-and-duplicate-code
Jul 6, 2026
Merged

chore: Remove duplicate and obsolete legacy code#807
LouisCAD merged 1 commit into
mainfrom
remove-legacy-and-duplicate-code

Conversation

@LouisCAD

@LouisCAD LouisCAD commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

I checked all the usages through our projects (GitHub hosted or not).

Apart from kDrive, which is getting its own PR, the only breaking changes just require to remove usages, with no replacement needed.

Copilot AI review requested due to automatic review settings July 6, 2026 13:09
@LouisCAD LouisCAD enabled auto-merge July 6, 2026 13:09
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

Quality Gate Passed Quality Gate passed

Issues
0 New issues
1 Accepted issue

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

Copilot AI 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.

Pull request overview

This PR continues the Legacy module cleanup by deleting duplicated/obsolete implementations (networking, Room persistence, Coil2 avatar helpers, API models) and reducing Legacy’s dependency surface, keeping only a minimal compatibility shim where needed.

Changes:

  • Removed large sets of Legacy-only utilities and models (Room UserDatabase, OkHttp networking stack, API response/error types, avatar helpers, etc.).
  • Simplified Legacy ApiController down to a kotlinx.serialization Json instance for temporary compatibility.
  • Updated Gradle dependencies and the version catalog to drop legacy-only libraries (e.g., Coil2).

Reviewed changes

Copilot reviewed 51 out of 51 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Legacy/src/main/java/com/infomaniak/core/legacy/utils/UtilsUi.kt Removed shared-element + avatar-related legacy helpers; kept only openUrl.
Legacy/src/main/java/com/infomaniak/core/legacy/utils/OkHttpClientExt.kt Deleted deprecated OkHttp coroutine/body extensions.
Legacy/src/main/java/com/infomaniak/core/legacy/utils/Extensions.kt Removed legacy avatar-loading helpers and dropped Gson-specific serialization exception handling.
Legacy/src/main/java/com/infomaniak/core/legacy/utils/CustomDateTypeAdapter.kt Deleted Gson Date adapter (legacy-only).
Legacy/src/main/java/com/infomaniak/core/legacy/utils/CoilUtils.kt Deleted legacy Coil2 image loader utilities.
Legacy/src/main/java/com/infomaniak/core/legacy/utils/ApiErrorCode.kt Deleted legacy error-code translation types.
Legacy/src/main/java/com/infomaniak/core/legacy/room/UserMigration.kt Deleted Room auto-migration specs for legacy user DB.
Legacy/src/main/java/com/infomaniak/core/legacy/room/UserDatabase.kt Deleted legacy Room database + type converters.
Legacy/src/main/java/com/infomaniak/core/legacy/room/UserDao.kt Deleted legacy Room DAO.
Legacy/src/main/java/com/infomaniak/core/legacy/networking/ManualAuthorizationRequired.kt Deleted opt-in annotation tied to the removed legacy networking stack.
Legacy/src/main/java/com/infomaniak/core/legacy/networking/HttpUtils.kt Deleted legacy HTTP header utility.
Legacy/src/main/java/com/infomaniak/core/legacy/networking/HttpClientConfig.kt Deleted legacy OkHttp configuration object.
Legacy/src/main/java/com/infomaniak/core/legacy/networking/HttpClient.kt Deleted legacy OkHttp client factory.
Legacy/src/main/java/com/infomaniak/core/legacy/networking/GZipInterceptor.kt Deleted legacy gzip response interceptor.
Legacy/src/main/java/com/infomaniak/core/legacy/networking/AccessTokenUsageInterceptor.kt Deleted legacy Sentry reporting interceptor.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/User.kt Deleted legacy user model (and related token/preferences payload).
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/TimeZone.kt Deleted legacy preference model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/security/Security.kt Deleted legacy security preference model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/security/AuthDevices.kt Deleted legacy auth-device model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/PreferenceTemplate.kt Deleted legacy preference base class.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/Preferences.kt Deleted legacy preferences container model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/OrganizationPreference.kt Deleted legacy org preference model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/Language.kt Deleted legacy language model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/preferences/Country.kt Deleted legacy country model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/Phone.kt Deleted legacy phone contact model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/Email.kt Deleted legacy email contact model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/user/ContactMethod.kt Deleted legacy contact-method base class.
Legacy/src/main/java/com/infomaniak/core/legacy/models/OrganizationAccount.kt Deleted legacy organization account model.
Legacy/src/main/java/com/infomaniak/core/legacy/models/ApiResponseStatus.kt Deleted legacy API response status enum.
Legacy/src/main/java/com/infomaniak/core/legacy/models/ApiResponse.kt Deleted legacy API response wrapper.
Legacy/src/main/java/com/infomaniak/core/legacy/models/ApiError.kt Deleted legacy API error payload.
Legacy/src/main/java/com/infomaniak/core/legacy/models/Address.kt Deleted legacy address model.
Legacy/src/main/java/com/infomaniak/core/legacy/InfomaniakCore.kt Deleted legacy global configuration object.
Legacy/src/main/java/com/infomaniak/core/legacy/fdroidTools/FdroidRelease.kt Deleted legacy FDroid DTO.
Legacy/src/main/java/com/infomaniak/core/legacy/fdroidTools/FdroidApiTools.kt Deleted legacy FDroid API helper.
Legacy/src/main/java/com/infomaniak/core/legacy/auth/TokenInterceptorListener.kt Deleted legacy token listener.
Legacy/src/main/java/com/infomaniak/core/legacy/auth/TokenInterceptor.kt Deleted legacy token interceptor.
Legacy/src/main/java/com/infomaniak/core/legacy/auth/TokenAuthenticator.kt Deleted legacy token authenticator.
Legacy/src/main/java/com/infomaniak/core/legacy/auth/CredentialManager.kt Deleted legacy credential manager.
Legacy/src/main/java/com/infomaniak/core/legacy/api/InternalTranslatedErrorCode.kt Deleted legacy internal error-code enum.
Legacy/src/main/java/com/infomaniak/core/legacy/api/ApiRoutesCore.kt Deleted legacy core API routes helper.
Legacy/src/main/java/com/infomaniak/core/legacy/api/ApiRepositoryCore.kt Deleted legacy API repository base class.
Legacy/src/main/java/com/infomaniak/core/legacy/api/ApiController.kt Reduced to a temporary Json config singleton.
Legacy/src/androidTest/java/com/infomaniak/core/legacy/HttpUtilsTest.kt Deleted Android test for removed HttpUtils.
Legacy/schemas/com.infomaniak.core.legacy.room.UserDatabase/5.json Deleted legacy Room schema snapshot.
Legacy/schemas/com.infomaniak.core.legacy.room.UserDatabase/4.json Deleted legacy Room schema snapshot.
Legacy/schemas/com.infomaniak.core.legacy.room.UserDatabase/3.json Deleted legacy Room schema snapshot.
Legacy/schemas/com.infomaniak.core.legacy.room.UserDatabase/2.json Deleted legacy Room schema snapshot.
Legacy/schemas/com.infomaniak.core.legacy.room.UserDatabase/1.json Deleted legacy Room schema snapshot.
Legacy/build.gradle Removed legacy-only dependencies and adjusted OkHttp dependency exposure.
gradle/core.versions.toml Removed Coil2 version + library aliases from the version catalog.

Comment thread Legacy/build.gradle
@LouisCAD LouisCAD merged commit 6845431 into main Jul 6, 2026
11 checks passed
@LouisCAD LouisCAD deleted the remove-legacy-and-duplicate-code branch July 6, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants