summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shreshta Manu <shreshtabm@google.com> 2024-09-28 01:12:13 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-09-28 01:12:13 +0000
commitfa808edcd62f1c5b52c8d84f6d73e36d95e1154c (patch)
tree70fcc1f5a8fcd56e6a55a643486ab05d0672dba6
parent32d0fc900d3ed258dec6959fdb70dca224252ca5 (diff)
parent74dd4f02291b0f2c38441ae4b65c082cbdb11515 (diff)
Merge "Revert^2 "[Ranging] Register ranging service"" into main
-rw-r--r--core/java/Android.bp38
-rw-r--r--core/java/android/app/SystemServiceRegistry.java7
-rw-r--r--core/java/android/ranging/mock/RangingFrameworkInitializer.java34
3 files changed, 79 insertions, 0 deletions
diff --git a/core/java/Android.bp b/core/java/Android.bp
index 92bca3cfbef2..99046328b1e2 100644
--- a/core/java/Android.bp
+++ b/core/java/Android.bp
@@ -21,14 +21,52 @@ filegroup {
"**/*.aidl",
":framework-nfc-non-updatable-sources",
":messagequeue-gen",
+ ":ranging_stack_mock_initializer",
],
// Exactly one MessageQueue.java will be added to srcs by messagequeue-gen
exclude_srcs: [
"android/os/*MessageQueue/**/*.java",
+ "android/ranging/**/*.java",
],
visibility: ["//frameworks/base"],
}
+//Mock to allow service registry for ranging stack.
+//TODO(b/331206299): Remove this after RELEASE_RANGING_STACK is ramped up to next.
+soong_config_module_type {
+ name: "ranging_stack_framework_mock_init",
+ module_type: "genrule",
+ config_namespace: "bootclasspath",
+ bool_variables: [
+ "release_ranging_stack",
+ ],
+ properties: [
+ "srcs",
+ "cmd",
+ "out",
+ ],
+}
+
+// The actual RangingFrameworkInitializer is present in packages/modules/Uwb/ranging/framework.
+// Mock RangingFrameworkInitializer does nothing and allows to successfully build
+// SystemServiceRegistry after registering for system service in SystemServiceRegistry both with
+// and without build flag RELEASE_RANGING_STACK enabled.
+ranging_stack_framework_mock_init {
+ name: "ranging_stack_mock_initializer",
+ soong_config_variables: {
+ release_ranging_stack: {
+ cmd: "touch $(out)",
+ // Adding an empty file as out is mandatory.
+ out: ["android/ranging/empty_ranging_fw.txt"],
+ conditions_default: {
+ srcs: ["android/ranging/mock/RangingFrameworkInitializer.java"],
+ cmd: "mkdir -p android/ranging/; cp $(in) $(out);",
+ out: ["android/ranging/RangingFrameworkInitializer.java"],
+ },
+ },
+ },
+}
+
// Add selected MessageQueue.java implementation to srcs
soong_config_module_type {
name: "release_package_messagequeue_implementation_srcs",
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index c13a58f52ac8..ea4148c8ffa1 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -230,6 +230,7 @@ import android.print.IPrintManager;
import android.print.PrintManager;
import android.provider.E2eeContactKeysManager;
import android.provider.ProviderFrameworkInitializer;
+import android.ranging.RangingFrameworkInitializer;
import android.safetycenter.SafetyCenterFrameworkInitializer;
import android.scheduling.SchedulingFrameworkInitializer;
import android.security.FileIntegrityManager;
@@ -1825,6 +1826,12 @@ public final class SystemServiceRegistry {
if (android.webkit.Flags.updateServiceIpcWrapper()) {
WebViewBootstrapFrameworkInitializer.registerServiceWrappers();
}
+ // This is guarded by aconfig flag "com.android.ranging.flags.ranging_stack_enabled"
+ // when the build flag RELEASE_RANGING_STACK is enabled. When disabled, this calls the
+ // mock RangingFrameworkInitializer#registerServiceWrappers which is no-op. As the
+ // aconfig lib for ranging module is built only if RELEASE_RANGING_STACK is enabled,
+ // flagcannot be added here.
+ RangingFrameworkInitializer.registerServiceWrappers();
} finally {
// If any of the above code throws, we're in a pretty bad shape and the process
// will likely crash, but we'll reset it just in case there's an exception handler...
diff --git a/core/java/android/ranging/mock/RangingFrameworkInitializer.java b/core/java/android/ranging/mock/RangingFrameworkInitializer.java
new file mode 100644
index 000000000000..540f51954a9c
--- /dev/null
+++ b/core/java/android/ranging/mock/RangingFrameworkInitializer.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.ranging;
+
+/**
+* Mock RangingFrameworkInitializer.
+*
+* @hide
+*/
+
+// TODO(b/331206299): Remove this after RANGING_STACK_ENABLED is ramped up to next.
+public final class RangingFrameworkInitializer {
+ private RangingFrameworkInitializer() {}
+ /**
+ * @hide
+ */
+ public static void registerServiceWrappers() {
+ // No-op.
+ }
+}