Repository navigation
chore(fork): rename applicationId, drop Firebase, release v1.2.27-dp1 - #4
Merged
Merged
Conversation
- google-services.json: the com.doublepi123.andcode client uses a placeholder app id/API key instead of upstream's, so nothing reaches upstream's project - disable Crashlytics mapping-file upload tasks - versionName 1.2.27-dp1 to match .release-version (ReleaseMetadataTest) - only publish the F-Droid repository from the upstream repository
doublepi123
force-pushed
the
feat/rename-application-id
branch
from
October 16, 2026 17:33
05e7034 to
9f88e59
Compare
The fork has no Firebase project of its own, so it must not send crash or analytics data to upstream's. Remove the Firebase dependencies, never apply the google-services/crashlytics plugins, restore upstream's google-services.json untouched, and build the github flavor with the fdroid no-op diagnostics reporters.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fork-only changes (doublepi123/and-code):
com.yugahashimoto.andcode->com.doublepi123.andcode(namespace / Kotlin packages unchanged, so it installs side by side with upstream and stays easy to sync)CrashReporter/AnalyticsReporter. Nothing is sent to upstream's Firebase project.google-services.jsonis unchanged from upstream.versionName/.release-version->1.2.27-dp1, triggering the signed release on merge (fork's own signing key in repo secrets)AND_CODE_GITHUB_CLIENT_IDis a warning instead of a failure (in-app GitHub sign-in unavailable)Pre-PR review
判定: APPROVE
ブロッカー
なし
提案(非ブロッキング)
app/src/main/assets/legal/privacy.md:116-143、privacy.ja.md:46-49、third_party_services.md:21-22、third_party_services.ja.md:17、oss_licenses.md:119— アプリ内の法務文書は「リリースビルドは Firebase Crashlytics に送信する」「Analytics は opt-in」のままです。この fork の github APK は実際にはどこにも送信しません。説明が実態より多く開示している方向のずれなので害は小さいものの、不正確です。fork のリリースノートか README に「この fork は Firebase を含まない」と書くか、assets の文書をそれに合わせて直すことを勧めます。app/src/main/java/com/yugahashimoto/andcode/feature/settings/SettingsScreenV2.kt:346-351— Analytics トグルは何もしないまま残ります(質問4)。ただし upstream の fdroid flavor も同じ no-op のAnalyticsReporterで同じトグルを表示しており、既存の扱いと変わらないので回帰ではありません。値はSecureSettingsRepositoryに保存されるだけで、送信経路はありません。upstream と同期しやすいことを優先するなら、このままで構いません。気になるならBuildConfig.FLAVORなどで非表示にする選択肢がありますが、upstream との差分が増えます。app/src/github/java/.../AnalyticsReporter.kt、CrashReporter.kt—setSrcDirsによってコンパイル対象から外れるだけで、ファイルは残ります。Firebase の import を含んでいるため、IDE では解決できないファイルに見えます。upstream と同期するときの衝突を避けるために残すのは合理的です。必要ならapp/build.gradle.kts:227のコメントに「src/github/java は意図的に未使用」と一言加えておくと、後で読む人が迷いません。docs/RELEASE.md:122-125— 「andcode.fdroidBuild=trueが google-services/crashlytics の apply を飛ばす」という説明が古くなりました。fork 専用のドキュメントを持つなら更新してください。チェック済み項目
app/src全体でcom.google.firebase/com.google.android.gmsを検索しました。コードでヒットしたのはsrc/github/javaの 2 ファイルだけで、main/test/androidTestには文書以外の参照がありません。src/testGithubなどの flavor 別テスト用ソースセットもありません。AndCodeApplication.kt:243,255,531-550とAppPreferencesRepository.kt:337から呼ばれるメソッドは、src/fdroid/javaの no-op 実装にすべて同じシグネチャで存在します(install(context, enabled)、setEnabled、record*、log、recordException(error, message, customKeys))。setSrcDirsの効き方(質問1):KGP 2.0.21 のソースで確認しました。KotlinAndroidJavaSourceDirConfiguratorはandroidSourceSet.java.getSourceDirectoryTrees()を provider 経由で遅延評価して Kotlin のソースセットに加えます。そのためsetSrcDirsの結果が反映され、src/github/javaは Kotlin のコンパイルからも外れます。src/github/kotlinは存在しないので、クラスが二重に定義されることはありません。productFlavors {}はsourceSets {}より前に評価されるので、getByName("github")も解決できます。spotless(ktlint)は構文しか見ないため、未使用ファイルの import は問題になりません。-Pandcode.fdroidBuild=true(質問2):app/build.gradle.kts全体を読み、andcode.fdroidBuildを参照する箇所がもう無いことを確認しました。未使用の Gradle プロパティとして無視されるだけで無害です。google-services / crashlytics プラグインはどの経路でも apply されなくなり、fdroid flavor の出力も以前の「フラグあり」のときと同じになります。proguard-rules.pro:67-69の-keep/-dontwarnは、一致するクラスが無くても R8 のエラーにはなりません。AndroidManifest.xml:65-67の meta-data は、読む SDK が無いので単に使われないエントリになります。どちらも無害です。githubImplementationの firebase-bom / analytics / crashlytics の宣言は残っていません。build.gradle.kts直下のapply false宣言は、クラスパスに読み込まれるだけで副作用はありません。google-services.json:client は upstream のcom.yugahashimoto.andcode1 件だけで、前回レビュー時の origin/main と同じ内容です。プラグインが apply されないので、ビルドでは読まれません。versionName = "1.2.27-dp1"と.release-versionのv1.2.27-dp1が一致し、versionCode = 66もReleaseMetadataTest.kt:12-13の期待値と合っています。fdroid-repository.yml:26に repository のガードがあることを確認しました。release.yml:80-83は前回承認した warning 化のままです。packageNameがcom.doublepi123.andcodeに揃っていることを確認しました。authority、Intent、データパスの観点は前回の確認から変わっていません。git diffで差分を出すことはできませんでした。代わりに、報告されたコミットの内容ごとに該当ファイルを直接読んで確認しています。i18n と Kotlin の機能コードに変更はありません。