Browser: support DM to config browser homepage for cmcc
Allow DM app change the homepage during WAP Parameter configuration.
CRs-Fixed: 555884
Change-Id: Ifa8195c0df737f584c1daab7b6c3147b26babda5
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index dd0fb31..93edc61 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -47,6 +47,8 @@
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
+ <uses-permission android:name="com.android.browser.permission.READ_HOMEPAGE" />
+ <uses-permission android:name="com.android.browser.permission.WRITE_HOMEPAGE" />
<application android:name="Browser"
android:label="@string/application_name"
@@ -66,6 +68,9 @@
android:writePermission="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS">
<path-permission android:path="/bookmarks/search_suggest_query"
android:readPermission="android.permission.GLOBAL_SEARCH" />
+ <path-permission android:path="/homepage"
+ android:readPermission="com.android.browser.permission.READ_HOMEPAGE"
+ android:writePermission="com.android.browser.permission.WRITE_HOMEPAGE" />
</provider>
<activity android:name="BrowserActivity"
android:label="@string/application_name"
diff --git a/src/com/android/browser/provider/BrowserProvider2.java b/src/com/android/browser/provider/BrowserProvider2.java
index 36ad0ce..95b34e7 100644
--- a/src/com/android/browser/provider/BrowserProvider2.java
+++ b/src/com/android/browser/provider/BrowserProvider2.java
@@ -55,6 +55,7 @@
import android.text.TextUtils;
import android.util.Log;
+import com.android.browser.BrowserSettings;
import com.android.browser.R;
import com.android.browser.UrlUtils;
import com.android.browser.widget.BookmarkThumbnailWidgetProvider;
@@ -150,6 +151,7 @@
static final int THUMBNAILS = 10;
static final int THUMBNAILS_ID = 11;
static final int OMNIBOX_SUGGESTIONS = 20;
+ static final int HOMEPAGE = 60;
static final int BOOKMARKS = 1000;
static final int BOOKMARKS_ID = 1001;
@@ -230,6 +232,7 @@
matcher.addURI(authority, "thumbnails", THUMBNAILS);
matcher.addURI(authority, "thumbnails/#", THUMBNAILS_ID);
matcher.addURI(authority, "omnibox_suggestions", OMNIBOX_SUGGESTIONS);
+ matcher.addURI(authority, "homepage", HOMEPAGE);
// Legacy
matcher.addURI(LEGACY_AUTHORITY, "searches", SEARCHES);
@@ -1216,6 +1219,19 @@
break;
}
+ case HOMEPAGE: {
+ String homepage = BrowserSettings.getInstance().getHomePage();
+ Log.d(TAG,"get home page for DM");
+ if (null == homepage) {
+ return null;
+ }
+ String arrColumns[] = {"homepage"};
+ String arrHomepage[] = {homepage};
+ MatrixCursor matrixCursor = new MatrixCursor(arrColumns, 1);
+ matrixCursor.addRow(arrHomepage);
+ return matrixCursor;
+ }
+
default: {
throw new UnsupportedOperationException("Unknown URL " + uri.toString());
}
@@ -1838,6 +1854,21 @@
break;
}
+ case HOMEPAGE: {
+ if (null != values) {
+ String homepage = values.getAsString("homepage");
+ if (null != homepage) {
+ if (BrowserSettings.getInstance() == null) {
+ BrowserSettings.initialize(getContext());
+ }
+ BrowserSettings.getInstance().setHomePage(homepage);
+ Log.d(TAG,"set home page for DM");
+ return 1;
+ }
+ }
+ return 0;
+ }
+
default: {
throw new UnsupportedOperationException("Unknown update URI " + uri);
}