2009
07.27

Lame managing of contacts in donut bumb

Android is a good platform and can make the world better. But today some things are really stupid.

All Android phones called smart-phone. A good smart-phone like Blackberry has well administration of contacts. You can easily manage all properties of contact you needed for business and life. So good, and what i found on android: A terrible administration of contacts!

For names exist only one field. No first/last-name, birth-name, second-name, display-name, title-field, etc.

The contact manager cannot view contacts on last-name first and sort on them. This i mean is very important for business.

No birthday field. No one like friends that do not remember their bday.

I have spent much time, to search the issue. The problem is in the source for the contacts. The interface PeopleColumns, stored in [platform/frameworks/base.git] /core/java/android/provider/Contacts.java , contains only fields for NAME, PHONETIC_NAME and DISPLAY_NAME for the sqlite database.

This also happens in the donut bumb from yersterday. See it in the source from this link:
http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/provider/Contacts.java;h=35463cfd38952d54de82fde561bf4130298aee17;hb=2af1b3db3d4f687d008db74b150f149e956b4bc6

168     /**
169      * Columns from the People table that other tables join into themselves.
170      */
171     public interface PeopleColumns {
172         /**
173          * The person’s name.
174          * <P>Type: TEXT</P>
175          */
176         public static final String NAME = “name”;
177
178         /**
179          * Phonetic equivalent of the person’s name, in a locale-dependent
180          * character set (e.g. hiragana for Japanese).
181          * Used for pronunciation and/or collation in some languages.
182          * <p>Type: TEXT</P>
183          */
184         public static final String PHONETIC_NAME = “phonetic_name”;
185
186         /**
187          * The display name. If name is not null name, else if number is not null number,
188          * else if email is not null email.
189          * <P>Type: TEXT</P>
190          */
191         public static final String DISPLAY_NAME = “display_name”;
192
193         /**
194          * The field for sorting list phonetically. The content of this field
195          * may not be human readable but phonetically sortable.
196          * <P>Type: TEXT</p>
197          * @hide Used only in Contacts application for now.
198          */
199         public static final String SORT_STRING = “sort_string”;
200
201         /**
202          * Notes about the person.
203          * <P>Type: TEXT</P>
204          */
205         public static final String NOTES = “notes”;
206
207         /**
208          * The number of times a person has been contacted
209          * <P>Type: INTEGER</P>
210          */
211         public static final String TIMES_CONTACTED = “times_contacted”;
212
213         /**
214          * The last time a person was contacted.
215          * <P>Type: INTEGER</P>
216          */
217         public static final String LAST_TIME_CONTACTED = “last_time_contacted”;
218
219         /**
220          * A custom ringtone associated with a person. Not always present.
221          * <P>Type: TEXT (URI to the ringtone)</P>
222          */
223         public static final String CUSTOM_RINGTONE = “custom_ringtone”;
224
225         /**
226          * Whether the person should always be sent to voicemail. Not always
227          * present.
228          * <P>Type: INTEGER (0 for false, 1 for true)</P>
229          */
230         public static final String SEND_TO_VOICEMAIL = “send_to_voicemail”;
231
232         /**
233          * Is the contact starred?
234          * <P>Type: INTEGER (boolean)</P>
235          */
236         public static final String STARRED = “starred”;
237
238         /**
239          * The server version of the photo
240          * <P>Type: TEXT (the version number portion of the photo URI)</P>
241          */
242         public static final String PHOTO_VERSION = “photo_version”;
243     }

conclusion

How change it. This is staff for an other article. Today i must wait for a working “repo sync”, because of the lack of the git servers. After this i can test my ideas. Don’t forget to write a comment.

No Comment.

Add Your Comment