OSDN Git Service

Make website item in Contact Card linked.
authorEvan Millar <emillar@google.com>
Mon, 26 Oct 2009 21:57:43 +0000 (14:57 -0700)
committerEvan Millar <emillar@google.com>
Mon, 26 Oct 2009 23:20:09 +0000 (16:20 -0700)
src/com/android/contacts/ViewContactActivity.java

index a1aeca3..69c1f89 100644 (file)
@@ -46,7 +46,9 @@ import android.content.res.Resources;
 import android.database.ContentObserver;
 import android.database.Cursor;
 import android.graphics.drawable.Drawable;
+import android.net.ParseException;
 import android.net.Uri;
+import android.net.WebAddress;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.RemoteException;
@@ -65,6 +67,7 @@ import android.provider.ContactsContract.CommonDataKinds.Note;
 import android.provider.ContactsContract.CommonDataKinds.Organization;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
+import android.provider.ContactsContract.CommonDataKinds.Website;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.util.Log;
@@ -879,6 +882,18 @@ public class ViewContactActivity extends Activity
                         entry.uri = null;
                         entry.maxLines = 10;
                         mOtherEntries.add(entry);
+                    } else if (Website.CONTENT_ITEM_TYPE.equals(mimeType) && hasData) {
+                        // Build note entries
+                        entry.uri = null;
+                        entry.maxLines = 10;
+                        try {
+                            WebAddress webAddress = new WebAddress(entry.data);
+                            entry.intent = new Intent(Intent.ACTION_VIEW, 
+                                    Uri.parse(webAddress.toString()));
+                        } catch (ParseException e) {
+                            Log.e(TAG, "Couldn't parse website: " + entry.data);
+                        }
+                        mOtherEntries.add(entry);
                     } else {
                         // Handle showing custom rows
                         entry.intent = new Intent(Intent.ACTION_VIEW, entry.uri);