Private Sub FindContactsWithNumber() As List
Dim selection As String = "mimetype = ? AND length(data1) > 0"
Dim Mime As String="vnd.android.cursor.item/phone_v2"
Dim sf As StringFunctions
Dim crsr As Cursor = cr.Query(dataUri, Array As String("contact_id", "display_name"), selection, Array As String(Mime), "")
Dim m As Map
Dim res As List
sf.Initialize
res.Initialize
m.Initialize
For i = 0 To crsr.RowCount - 1
crsr.Position = i
Dim cu As cuContact
cu.Initialize
cu.Id = crsr.GetLong("contact_id")
cu.DisplayName = crsr.GetString("display_name")
cu.Numbers=sf.ListToString(GetData(cu.Id),False,False)
Log(cu)
If m.ContainsKey(cu.Id) Then Continue
m.Put(cu.Id, Null)
res.Add(cu)
Next
crsr.Close
Return res
End Sub
Private Sub GetData(Id As Long) As List
Dim Mime As String="vnd.android.cursor.item/phone_v2"
Dim crsr As Cursor = cr.Query(dataUri, Array As String("data1", "data2"), "mimetype = ? AND contact_id = ?", _
Array As String(Mime, Id), "")
Dim res As List
res.Initialize
For i = 0 To crsr.RowCount - 1
crsr.Position = i
res.Add(crsr.GetString2(0))
Next
crsr.Close
Return res
End Sub