Fixing system browser for bookmarks/history/saved pages on Android M

The authorities com.android.browser and browser are registered with
empty implementation in Android M which results in browser not
getting the content resolver notification for bookmarks and history.
Adding a new authority which will be used by the browser on both
android M and L device.

Change-Id: I65507e335ae4c8cefb4fc4d42d01a3cdab99a7fd
diff --git a/AndroidManifest.xml.jinja2 b/AndroidManifest.xml.jinja2
index cc4c043..f0b8595 100644
--- a/AndroidManifest.xml.jinja2
+++ b/AndroidManifest.xml.jinja2
@@ -64,7 +64,7 @@
                       android:required="false" />
 
         <provider android:name="com.android.browser.provider.BrowserProvider2"
-                  android:authorities="{{ app_package_name }};{{apk_authorities}}"
+                  android:authorities="{{app_package_name}};{{apk_authorities}};{{app_authorities}}"
                   android:multiprocess="false"
                   android:exported="true"
                   android:readPermission="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
diff --git a/channels/beta/branding/BRANDING b/channels/beta/branding/BRANDING
index a6c8e2d..05fad7a 100644
--- a/channels/beta/branding/BRANDING
+++ b/channels/beta/branding/BRANDING
@@ -8,3 +8,4 @@
 PACKAGE_NAME=org.codeaurora.swe.browser.beta
 APK_LABEL=@string/application_name
 APK_AUTHORITIES=swe.browser.beta
+APP_AUTHORITIES=local.swe.browser.beta
diff --git a/channels/dev/branding/BRANDING b/channels/dev/branding/BRANDING
index 4396f93..f0713ae 100644
--- a/channels/dev/branding/BRANDING
+++ b/channels/dev/branding/BRANDING
@@ -8,3 +8,4 @@
 PACKAGE_NAME=org.codeaurora.swe.browser.dev
 APK_LABEL=@string/application_name
 APK_AUTHORITIES=swe.browser.dev
+APP_AUTHORITIES=local.swe.browser.dev
diff --git a/channels/release/branding/BRANDING b/channels/release/branding/BRANDING
index eeda1c7..6e409a0 100644
--- a/channels/release/branding/BRANDING
+++ b/channels/release/branding/BRANDING
@@ -8,3 +8,4 @@
 PACKAGE_NAME=org.codeaurora.swe.browser
 APK_LABEL=@string/application_name
 APK_AUTHORITIES=swe.browser
+APP_AUTHORITIES=local.swe.browser
diff --git a/channels/system/branding/BRANDING b/channels/system/branding/BRANDING
index dc94e02..ca5e6a1 100644
--- a/channels/system/branding/BRANDING
+++ b/channels/system/branding/BRANDING
@@ -8,3 +8,4 @@
 PACKAGE_NAME=org.codeaurora.swe.browser
 APK_LABEL=@string/application_name
 APK_AUTHORITIES=browser
+APP_AUTHORITIES=local.browser
diff --git a/src/com/android/browser/platformsupport/Browser.java b/src/com/android/browser/platformsupport/Browser.java
index a6128c4..91a3143 100644
--- a/src/com/android/browser/platformsupport/Browser.java
+++ b/src/com/android/browser/platformsupport/Browser.java
@@ -43,7 +43,8 @@
      * {@link android.Manifest.permission#READ_HISTORY_BOOKMARKS} permission and writing to it
      * requires the {@link android.Manifest.permission#WRITE_HISTORY_BOOKMARKS} permission.
      */
-    public static final Uri BOOKMARKS_URI = Uri.parse("content://browser/bookmarks");
+    public static final Uri BOOKMARKS_URI = Uri.parse(
+                            "content://" + BrowserContract.AUTHORITY + "/bookmarks");
 
     /**
      * The name of extra data when starting Browser with ACTION_VIEW or
@@ -124,7 +125,8 @@
      * {@link android.Manifest.permission#READ_HISTORY_BOOKMARKS} permission and writing to it
      * requires the {@link android.Manifest.permission#WRITE_HISTORY_BOOKMARKS} permission.
      */
-    public static final Uri SEARCHES_URI = Uri.parse("content://browser/searches");
+    public static final Uri SEARCHES_URI = Uri.parse(
+                            "content://" + BrowserContract.AUTHORITY + "/searches");
 
     /**
      * A projection of {@link #SEARCHES_URI} that contains {@link SearchColumns#_ID},
diff --git a/template/com/android/browser/BrowserConfig.java.template b/template/com/android/browser/BrowserConfig.java.template
index 36273de..7aec006 100644
--- a/template/com/android/browser/BrowserConfig.java.template
+++ b/template/com/android/browser/BrowserConfig.java.template
@@ -36,7 +36,7 @@
 public class BrowserConfig extends BrowserConfigBase {
 
     //Authority string used by different providers
-    public final static String AUTHORITY = "@PACKAGE_NAME@";
+    public final static String AUTHORITY = "@APP_AUTHORITIES@";
 
     private static BrowserConfig sBrowserConfig;