Adding package name as an authority

External content URI's to the browser use system browser's package name
(com.android.browser) as the authority.

Added package name as one of the authorities for acceptable URI's in
BrowserProvider

Change-Id: I2d6db2faf43f94cb64f89f6a1189a08f4b184cef
CR-Fixed: 967778
diff --git a/src/com/android/browser/platformsupport/BrowserContract.java b/src/com/android/browser/platformsupport/BrowserContract.java
index 79bdfb8..54fe988 100644
--- a/src/com/android/browser/platformsupport/BrowserContract.java
+++ b/src/com/android/browser/platformsupport/BrowserContract.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved.
  * Not a contribution.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -47,6 +47,7 @@
 public class BrowserContract {
     /** The authority for the browser provider */
     public static final String AUTHORITY = BrowserConfig.AUTHORITY;
+    public static final String APP_PACKAGE_NAME = BrowserConfig.APP_PACKAGE_NAME;
 
     /** A content:// style uri to the authority for the browser provider */
     public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);
diff --git a/src/com/android/browser/provider/BrowserProvider2.java b/src/com/android/browser/provider/BrowserProvider2.java
index 53f567f..6a3fc8f 100644
--- a/src/com/android/browser/provider/BrowserProvider2.java
+++ b/src/com/android/browser/provider/BrowserProvider2.java
@@ -232,6 +232,34 @@
         matcher.addURI(authority, "omnibox_suggestions", OMNIBOX_SUGGESTIONS);
         matcher.addURI(authority, "homepage", HOMEPAGE);
 
+        final String app_package_name = BrowserContract.APP_PACKAGE_NAME;
+        matcher.addURI(app_package_name, "accounts", ACCOUNTS);
+        matcher.addURI(app_package_name, "bookmarks", BOOKMARKS);
+        matcher.addURI(app_package_name, "bookmarks/#", BOOKMARKS_ID);
+        matcher.addURI(app_package_name, "bookmarks/folder", BOOKMARKS_FOLDER);
+        matcher.addURI(app_package_name, "bookmarks/folder/#", BOOKMARKS_FOLDER_ID);
+        matcher.addURI(app_package_name, "bookmarks/folder/id", BOOKMARKS_DEFAULT_FOLDER_ID);
+        matcher.addURI(app_package_name,
+                SearchManager.SUGGEST_URI_PATH_QUERY,
+                BOOKMARKS_SUGGESTIONS);
+        matcher.addURI(app_package_name,
+                "bookmarks/" + SearchManager.SUGGEST_URI_PATH_QUERY,
+                BOOKMARKS_SUGGESTIONS);
+        matcher.addURI(app_package_name, "history", HISTORY);
+        matcher.addURI(app_package_name, "history/#", HISTORY_ID);
+        matcher.addURI(app_package_name, "searches", SEARCHES);
+        matcher.addURI(app_package_name, "searches/#", SEARCHES_ID);
+        matcher.addURI(app_package_name, "syncstate", SYNCSTATE);
+        matcher.addURI(app_package_name, "syncstate/#", SYNCSTATE_ID);
+        matcher.addURI(app_package_name, "images", IMAGES);
+        matcher.addURI(app_package_name, "combined", COMBINED);
+        matcher.addURI(app_package_name, "combined/#", COMBINED_ID);
+        matcher.addURI(app_package_name, "settings", SETTINGS);
+        matcher.addURI(app_package_name, "thumbnails", THUMBNAILS);
+        matcher.addURI(app_package_name, "thumbnails/#", THUMBNAILS_ID);
+        matcher.addURI(app_package_name, "omnibox_suggestions", OMNIBOX_SUGGESTIONS);
+        matcher.addURI(app_package_name, "homepage", HOMEPAGE);
+
         // Legacy
         matcher.addURI(LEGACY_AUTHORITY, "searches", SEARCHES);
         matcher.addURI(LEGACY_AUTHORITY, "searches/#", SEARCHES_ID);
diff --git a/template/com/android/browser/BrowserConfig.java.template b/template/com/android/browser/BrowserConfig.java.template
index 7aec006..7dbc54e 100644
--- a/template/com/android/browser/BrowserConfig.java.template
+++ b/template/com/android/browser/BrowserConfig.java.template
@@ -1,5 +1,5 @@
 /*
-    * Copyright (c) 2014, The Linux Foundation. All rights reserved.
+    * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions are
@@ -37,6 +37,7 @@
 
     //Authority string used by different providers
     public final static String AUTHORITY = "@APP_AUTHORITIES@";
+    public final static String APP_PACKAGE_NAME = "@PACKAGE_NAME@";
 
     private static BrowserConfig sBrowserConfig;