Repository navigation
Commit cb0de54
committed
fix(region): read domestic numbers that begin like a dialing prefix as domestic
The national-00 table came from scanning libphonenumber's pattern
alternatives for a literal leading "00". That missed patterns that reach a
stripped prefix through a character class or through the region's own
international prefix, so region rules misread and blocked valid domestic
callers: a Tajik mobile such as 004104761 read as +4104761 through the ITU
00 fallback, and a Chilean toll-free 12300201234 read as Unreadable (Chile's
own prefix 1230, then a 0).
The table now holds every national-number pattern (phonenumbers 9.0.39,
all number types) whose language intersects "own prefix or 00, then
digits", found by intersecting the two as automata. That adds BY (810
premium), CL (1230 toll-free), KZ and RU (8108 toll-free) and TJ (mobiles
from 00) to the nine regions it had. Checked outside the build against
phonenumbers with a port of readBareNumber: 1,140 sampled national numbers
that start with a stripped prefix all read National, 0 problems, while the
old table fails the same check 363 times. International strings changed
reading only where they are valid national numbers of the home region.
Tests: new cases only. The new test fails on the old table.1 parent 0328f1a commit cb0de54
3 files changed
Lines changed: 55 additions & 19 deletions
File tree
- app/src
- main/java/com/sysadmindoc/callshield/data
- test/java/com/sysadmindoc/callshield/data
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
174 | | - | |
175 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
176 | 178 | | |
177 | 179 | | |
178 | 180 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
73 | | - | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
100 | 104 | | |
101 | | - | |
| 105 | + | |
102 | 106 | | |
103 | 107 | | |
104 | | - | |
105 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
106 | 114 | | |
107 | 115 | | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
112 | 123 | | |
113 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
114 | 128 | | |
115 | 129 | | |
116 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
258 | 278 | | |
259 | 279 | | |
260 | 280 | | |
| |||
0 commit comments