Add new background location APIs.

Work on issue #109754053: Implement tri-state location in platform

- New background location permission
- New (temporary?) API level for compatibility with old apps

None of this is exposed yet as a public API, that will be
done in the future.

Bug: 109754053
Test: atest FrameworksServicesTests:AppOpsServiceTest
Test: atest CtsPermissionTestCases:AppOpsTest
Change-Id: I986dc871b9e8ed3bf592d2546eadaefb4fefe099
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 1b41f99..44bdafe 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -843,6 +843,19 @@
         android:description="@string/permdesc_accessCoarseLocation"
         android:protectionLevel="dangerous|instant" />
 
+    <!-- Allows an app to access location in the background.  If you
+         are requesting this, you should also request {@link #ACCESS_FINE_LOCATION}.
+         Requesting this by itself is not sufficient to give you
+         location access.
+         <p>Protection level: dangerous
+         @hide
+    -->
+    <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
+        android:permissionGroup="android.permission-group.LOCATION"
+        android:label="@string/permlab_accessBackgroundLocation"
+        android:description="@string/permdesc_accessBackgroundLocation"
+        android:protectionLevel="dangerous|instant" />
+
     <!-- ====================================================================== -->
     <!-- Permissions for accessing the call log                                 -->
     <!-- ====================================================================== -->