From @m4pl
Importing the same SIM contact twice creates a duplicate. Import succeeds, but reopening the screen lists the contact under "Contacts to import" again.
The check matches raw contacts by phone and name. We insert only StructuredName.DISPLAY_NAME and the provider re-derives it from the parsed name parts, so 01.Balance is stored as 01 Balance and the name comparison in SimContact.findByPhoneAndName fails. Verified on device, the query returns the raw contacts and every one comes back as no match. Names without punctuation are fine.
From @m4pl