Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Contact details show only one of two different phone numbers that end in the same nine digits

オープン 初心者向け
#632 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
android, kotlin
領域
backend, mobile

調査の方向性

リンク先の371~377行付近にある ViewContactActivity.setupPhoneNumbers() と、45~47行にある比較長の定数を読みます。再現手順をもとに詳細画面で電話番号がどのようにフィルタリングされるかを確認し、末尾9桁が同じでも異なる電話番号が引き続き表示されるよう、重複チェックを調整します。同じ連絡先の詳細画面に両方の番号が表示され、同じ番号の同等な形式も引き続き正しく処理されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug needs triage
Checklist
  • I can reproduce the bug with the latest version given here.
  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.
Affected app version

1.6.0

Affected Android/Custom ROM version

Android 16

Affected device model

Xiaomi 17 Promax

How did you install the app?

F-Droid / IzzyOnDroid

Steps to reproduce the bug
  1. Create a contact Alice in Phone storage with two phone numbers: +15551234567 and +445551234567 (a US and a UK number), and save.
  2. Open Alice from the contact list.
  3. Tap Edit.
Expected behavior

The contact details screen lists both numbers, as the edit screen does.

Actual behavior

The details screen shows only +1 555-123-4567. The second number is not shown, so it cannot be called or copied from there. The edit screen shows both numbers, so the number is still stored.

Screenshots/Screen recordings

No response

Additional information

ViewContactActivity.setupPhoneNumbers() drops numbers whose normalized form has the same last 9 digits (COMPARABLE_PHONE_NUMBER_LENGTH = 9). Both numbers above end in 551234567:
https://github.com/FossifyOrg/Contacts/blob/8bbc84014f776b2199136a500799c21425ff0fe8/app/src/main/kotlin/org/fossify/contacts/activities/ViewContactActivity.kt#L45-L47
https://github.com/FossifyOrg/Contacts/blob/8bbc84014f776b2199136a500799c21425ff0fe8/app/src/main/kotlin/org/fossify/contacts/activities/ViewContactActivity.kt#L371-L377

This runs for every contact, not only when numbers of merged duplicate contacts are added (L344-L348), so it also hides a number within a single contact. I assume it is meant to drop the same number stored in different formats (e.g. +15551234567 and 5551234567). Possible fix: only treat numbers as the same when one normalized number is a suffix of the other and the shorter one has no country code, or compare E.164 forms, so different numbers are kept.

主要言語
Kotlin
スター
917
フォーク
73
平均マージ
1日 16時間
マージ済み PR(30日)
8

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

FossifyOrg/Contacts のほかの issue

FossifyOrg/Contacts の issue をすべて見る

似ている issue

Kotlin の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。