Automated import from //branches/donutburger/...@141637,141637
diff --git a/Android.mk b/Android.mk
index ccda1eb..9738d1c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -9,6 +9,8 @@
 
 LOCAL_STATIC_JAVA_LIBRARIES := googlelogin-client
 
+LOCAL_STATIC_JAVA_LIBRARIES += google-framework
+
 LOCAL_SRC_FILES := $(call all-subdir-java-files)
 
 LOCAL_PACKAGE_NAME := Browser
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index f55ebb3..47f12e3 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -18,6 +18,7 @@
 
 import com.google.android.googleapps.IGoogleLoginService;
 import com.google.android.googlelogin.GoogleLoginServiceConstants;
+import com.google.android.providers.GoogleSettings.Partner;
 
 import android.app.Activity;
 import android.app.ActivityManager;
@@ -203,7 +204,7 @@
                     if (googleUser == null || !hostedUser.equals(googleUser)) {
                         String domain = hostedUser.substring(hostedUser.lastIndexOf('@')+1);
                         homepage = "http://www.google.com/m/a/" + domain + "?client=ms-" +
-                            SystemProperties.get("persist.sys.com.google.clientid", "unknown");
+                            Partner.getString(BrowserActivity.this.getContentResolver(), Partner.CLIENT_ID);
                     }
                 } catch (RemoteException ignore) {
                     // Login service died; carry on
@@ -4485,7 +4486,7 @@
                     R.string.google_search_base, l.getLanguage(),
                     l.getCountry().toLowerCase())
                     + "client=ms-"
-                    + SystemProperties.get("persist.sys.com.google.clientid", "unknown")
+                    + Partner.getString(this.getContentResolver(), Partner.CLIENT_ID)
                     + "&source=android-" + GOOGLE_SEARCH_SOURCE_SUGGEST + "&q=%s";
         } else {
             QuickSearch_G = url;
diff --git a/src/com/android/browser/BrowserProvider.java b/src/com/android/browser/BrowserProvider.java
index 14d4650..42e22a5 100644
--- a/src/com/android/browser/BrowserProvider.java
+++ b/src/com/android/browser/BrowserProvider.java
@@ -16,6 +16,7 @@
 
 package com.android.browser;
 
+import com.google.android.providers.GoogleSettings.Partner;
 import java.util.Date;
 
 import android.app.ISearchManager;
@@ -23,6 +24,7 @@
 import android.content.ComponentName;
 import android.content.ContentProvider;
 import android.content.ContentUris;
+import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
@@ -43,6 +45,7 @@
 import android.server.search.SearchableInfo;
 import android.text.util.Regex;
 
+
 public class BrowserProvider extends ContentProvider {
 
     private SQLiteOpenHelper mOpenHelper;
@@ -134,9 +137,12 @@
     }
   
 
-    private static CharSequence replaceSystemPropertyInString(CharSequence srcString) {
+    private static CharSequence replaceSystemPropertyInString(Context context, CharSequence srcString) {
         StringBuffer sb = new StringBuffer();
         int lastCharLoc = 0;
+        
+        final String client_id = Partner.getString(context.getContentResolver(), Partner.CLIENT_ID);
+
         for (int i = 0; i < srcString.length(); ++i) {
             char c = srcString.charAt(i);
             if (c == '{') {
@@ -147,16 +153,10 @@
                     char k = srcString.charAt(j);
                     if (k == '}') {
                         String propertyKeyValue = srcString.subSequence(i + 1, j).toString();
-                        // See if the propertyKeyValue specifies a default value
-                        int defaultOffset = propertyKeyValue.indexOf(':');
-                        if (defaultOffset == -1) {
-                            sb.append(SystemProperties.get(propertyKeyValue));
+                        if (propertyKeyValue.equals("CLIENT_ID")) {
+                            sb.append(client_id);
                         } else {
-                            String propertyKey = propertyKeyValue.substring(0, defaultOffset);
-                            String defaultValue = 
-                                    propertyKeyValue.substring(defaultOffset + 1, 
-                                                               propertyKeyValue.length());
-                            sb.append(SystemProperties.get(propertyKey, defaultValue));
+                            sb.append("unknown");
                         }
                         lastCharLoc = j + 1;
                         i = j;
@@ -199,7 +199,7 @@
             int size = bookmarks.length;
             try {
                 for (int i = 0; i < size; i = i + 2) {
-                    CharSequence bookmarkDestination = replaceSystemPropertyInString(bookmarks[i + 1]);
+                    CharSequence bookmarkDestination = replaceSystemPropertyInString(mContext, bookmarks[i + 1]);
                     db.execSQL("INSERT INTO bookmarks (title, url, visits, " +
                             "date, created, bookmark)" + " VALUES('" +
                             bookmarks[i] + "', '" + bookmarkDestination + 
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index d8c5186..0e2c5af 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.browser;
 
+import com.google.android.providers.GoogleSettings.Partner;
+
 import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -65,8 +67,7 @@
     private boolean saveFormData = true;
     private boolean openInBackground = false;
     private String defaultTextEncodingName;
-    private String homeUrl = "http://www.google.com/m?client=ms-" +
-        SystemProperties.get("persist.sys.com.google.clientid", "unknown");
+    private String homeUrl = "http://www.google.com/m?client=ms-";
     private boolean loginInitialized = false;
     private boolean autoFitPage = true;
     private boolean showDebugSettings = false;
@@ -198,6 +199,8 @@
         // local directory.
         pluginsPath = ctx.getDir("plugins", 0).getPath();
 
+        homeUrl += Partner.getString(ctx.getContentResolver(), Partner.CLIENT_ID);
+
         // Load the defaults from the xml
         // This call is TOO SLOW, need to manually keep the defaults
         // in sync
@@ -206,8 +209,10 @@
     }
 
     /* package */ void syncSharedPreferences(SharedPreferences p) {
+
         homeUrl =
             p.getString(PREF_HOMEPAGE, homeUrl);
+
         loadsImagesAutomatically = p.getBoolean("load_images",
                 loadsImagesAutomatically);
         javaScriptEnabled = p.getBoolean("enable_javascript",