Revert^2 "Create skeleton Apex"

f7ff54804ed724ff6873b73272426d4d7333ab6d

Bug: b/289203818
Test: m

Change-Id: I929910ffb120c38f4e2092791442ca9039fcea75
diff --git a/apex/Android.bp b/apex/Android.bp
new file mode 100644
index 0000000..1e3a03b
--- /dev/null
+++ b/apex/Android.bp
@@ -0,0 +1,163 @@
+// Copyright (C) 2023 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 {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+soong_config_module_type {
+    name: "custom_bootclasspath_fragment",
+    module_type: "bootclasspath_fragment",
+    config_namespace: "ANDROID",
+    bool_variables: [
+        "release_crashrecovery_module",
+    ],
+    properties: [
+        "enabled"
+    ],
+}
+
+// Encapsulate the contributions made by the com.android.crashrecovery to the bootclasspath.
+custom_bootclasspath_fragment {
+    // This fragment will be enabled using release_crashrecovery_module flag
+    enabled: false,
+    soong_config_variables: {
+      release_crashrecovery_module: {
+        enabled: true,
+      },
+    },
+
+    name: "com.android.crashrecovery-bootclasspath-fragment",
+    contents: ["framework-crashrecovery"],
+    apex_available: ["com.android.crashrecovery"],
+    hidden_api: {
+        split_packages: ["*"] // TODO(b/289203818) be more specific
+    },
+    // The bootclasspath_fragments that provide APIs on which this depends.
+    fragments: [
+
+        // Needed to access core java APIs.
+        {
+            apex: "com.android.art",
+            module: "art-bootclasspath-fragment",
+        },
+    ],
+
+    // Additional stubs libraries that this fragment's contents use which are
+    // not provided by another bootclasspath_fragment.
+    additional_stubs: [
+        // Needed to access platform APIs.
+        "android-non-updatable",
+    ],
+}
+
+soong_config_module_type {
+    name: "custom_systemserverclasspath_fragment",
+    module_type: "systemserverclasspath_fragment",
+    config_namespace: "ANDROID",
+    bool_variables: [
+        "release_crashrecovery_module",
+    ],
+    properties: [
+        "enabled"
+    ],
+}
+
+// Encapsulate the contributions made by the com.android.crashrecovery to the systemserverclasspath.
+custom_systemserverclasspath_fragment {
+    // This fragment will be enabled using release_crashrecovery_module flag
+    enabled: false,
+    soong_config_variables: {
+      release_crashrecovery_module: {
+        enabled: true,
+      },
+    },
+
+    name: "com.android.crashrecovery-systemserverclasspath-fragment",
+    contents: ["service-crashrecovery"],
+    apex_available: ["com.android.crashrecovery"],
+}
+
+apex_key {
+    name: "com.android.crashrecovery.key",
+    public_key: "com.android.crashrecovery.avbpubkey",
+    private_key: "com.android.crashrecovery.pem",
+}
+
+android_app_certificate {
+    name: "com.android.crashrecovery.certificate",
+    certificate: "com.android.crashrecovery",
+}
+
+soong_config_module_type {
+    name: "custom_apex",
+    module_type: "apex",
+    config_namespace: "ANDROID",
+    bool_variables: [
+        "release_crashrecovery_module",
+    ],
+    properties: [
+        "enabled"
+    ],
+}
+
+custom_apex {
+    // This apex will be enabled using release_crashrecovery_module flag
+    enabled: false,
+    soong_config_variables: {
+        release_crashrecovery_module: {
+          enabled: true,
+        },
+    },
+
+    name: "com.android.crashrecovery",
+    defaults: ["v-launched-apex-module"],
+    bootclasspath_fragments: ["com.android.crashrecovery-bootclasspath-fragment"],
+    systemserverclasspath_fragments: [
+    "com.android.crashrecovery-systemserverclasspath-fragment",
+    ],
+    file_contexts: ":com.android.crashrecovery-file_contexts",
+    prebuilts: [
+      "current_sdkinfo",
+    ],
+    key: "com.android.crashrecovery.key",
+    certificate: ":com.android.crashrecovery.certificate",
+    manifest: "manifest.json",
+    min_sdk_version: "34",
+}
+
+soong_config_module_type {
+    name: "custom_sdk",
+    module_type: "sdk",
+    config_namespace: "ANDROID",
+    bool_variables: [
+        "release_crashrecovery_module",
+    ],
+    properties: [
+        "enabled"
+    ],
+}
+
+custom_sdk {
+    // This sdk will be enabled using release_crashrecovery_module flag
+    enabled: false,
+    soong_config_variables: {
+        release_crashrecovery_module: {
+          enabled: true,
+        },
+    },
+
+    name: "crashrecovery-sdk",
+    apexes: ["com.android.crashrecovery"],
+}
diff --git a/apex/com.android.crashrecovery.avbpubkey b/apex/com.android.crashrecovery.avbpubkey
new file mode 100644
index 0000000..77da3bb
--- /dev/null
+++ b/apex/com.android.crashrecovery.avbpubkey
Binary files differ
diff --git a/apex/com.android.crashrecovery.pem b/apex/com.android.crashrecovery.pem
new file mode 100644
index 0000000..305905a
--- /dev/null
+++ b/apex/com.android.crashrecovery.pem
@@ -0,0 +1,52 @@
+-----BEGIN PRIVATE KEY-----
+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
+fjYFm6MyBYkhbartcXD3mbkphLS/QQ==
+-----END PRIVATE KEY-----
diff --git a/apex/com.android.crashrecovery.pk8 b/apex/com.android.crashrecovery.pk8
new file mode 100644
index 0000000..7776263
--- /dev/null
+++ b/apex/com.android.crashrecovery.pk8
Binary files differ
diff --git a/apex/com.android.crashrecovery.x509.pem b/apex/com.android.crashrecovery.x509.pem
new file mode 100644
index 0000000..0540f98
--- /dev/null
+++ b/apex/com.android.crashrecovery.x509.pem
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF1zCCA78CFE7JxQwseCR+PlWgD8SWg3XQ+IR8MA0GCSqGSIb3DQEBCwUAMIGm
+MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91
+bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEi
+MCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTEiMCAGA1UEAwwZY29t
+LmFuZHJvaWQuY3Jhc2hyZWNvdmVyeTAgFw0yMzA1MDkxNjI0MjVaGA80NzYxMDQw
+NDE2MjQyNVowgaYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYw
+FAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdBbmRyb2lkMRAwDgYDVQQL
+DAdBbmRyb2lkMSIwIAYJKoZIhvcNAQkBFhNhbmRyb2lkQGFuZHJvaWQuY29tMSIw
+IAYDVQQDDBljb20uYW5kcm9pZC5jcmFzaHJlY292ZXJ5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAvz1dJr7rOq1T3h4ETrFwfUjswT6etFh1h5IQ2SDW
+zd43AGTG4QyLgrnqYnRqOHIw031cseHNT1gkaXh5Id1qYWge4of5EHI7VWxdj93e
+BA3EGnOQvWhqsqEiqXoCx7woHBXNBZ5hYcsxmTdiBXQMi8FOqhnL6f1i2AuLK0Kd
+IgloJtz9sDXMQI3FZd2KyEriDtqrNJt2gVMHpMjc1Nt2V82DTPonrqKhp+zfKGZA
+2k/95NEjmhi49qsVdppVPY6jqwDjyKMVCsOjSisvzutaZAotv4sJCIZTYDQ2P47q
+5+H+BNjf0MlpRpfZkfVpoz+D5nkp3feYuxdJgLB0XJUsmbueu3LXefvP1CayGdlB
+Ion6ZRRucbv528NpVm+134aza2ifUxc8lsq+4FN7zm+7oocSWrh95GfRZqVBNwyE
+OSJaS1twBXS76mDBggJmcVVRKR1vOuqVoROjs7P4Dh/wzAP/Hl/CIwlH24NJDuDv
+JJHduip7TlIbojNWFO0UNsmi7fnc//pluq/uvWI10vgp2CbCj+ILaGbNsZJb67wb
+Yne9kF/TMbJnnBONY8O0qhEawJLhxrrcx1CBsX22GnGudkVDCItQM55fKkaK2alq
+H2qSlEGFYgKrP4xksv5zCNBxu7xTZALbQktDWX5q5ca/ZLzaVD9fi1ycFWcDxYr9
+MCMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcXGjOr6yesIFAOmMGix/KjThQhM1
+tI8dpz731xzWGFE4DmjsSXhosj4W/8JPsxiC2T3e0CXfk/2pmrxLTj4bRPX0AupQ
+lVjFo6usljmS15qMvqhshZkRX8lBG4Pgy8YapD5NklKyhcz2XQSVJSSTj3M0q08E
+cWsSfJGgV+PaTFvD3d0TDMPabnGzS3+3H0ry3l+vmHF7YFuzcBsU3uYAvdMVrI4d
+e9mFQU2vOemp4HzLlkoxEROErrlMtE3yIxtV42Zm2K1Tukm4/eP1lo18Ki3C5zIH
+5IagjK4uTImotIXcNr1C96depoEtW+RZkWmI3CFdUx2IdrhGXn6gba5cy/XCWwtN
+JcDB3by2XrnnQPXfUrd58taqe7DtM2bTNaUJRCzxMI8JnrtuFrGn9mN0fd+qyh9O
+g2KRcfezbZpTku3MGeLgWaOMsy/oFJolFEwCtB6eVrQnabIc0ZHfGBZboGyc+zUn
+FGkq63wKcDZmIGPuc5piMihvmUV0LKlzXRc7pvjWAUXGDTEdLBYyus3BF6xgPGeD
+hPFaEtSWs2ivRjkFi117jLPT3TKLWzWMn6LBsHBBofqn2W2OTM+GpqS7Xp80sR8m
+evIEb2u5AoSCXa98toPY7xyxYF+i0dQxWIiJIeE/HTFlYK/MdfO6yACK4qyyvf2F
+qExxrF5L5qotgAQ=
+-----END CERTIFICATE-----
diff --git a/apex/manifest.json b/apex/manifest.json
new file mode 100644
index 0000000..c13a3ea
--- /dev/null
+++ b/apex/manifest.json
@@ -0,0 +1,7 @@
+{
+  "name": "com.android.crashrecovery",
+
+  // Placeholder module version to be replaced during build.
+  // Do not change!
+  "version": 0
+}
diff --git a/framework/Android.bp b/framework/Android.bp
new file mode 100644
index 0000000..0d03367
--- /dev/null
+++ b/framework/Android.bp
@@ -0,0 +1,32 @@
+// Copyright (C) 2022 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 {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+java_sdk_library {
+    name: "framework-crashrecovery",
+    srcs: [
+        "java/**/*.java",
+    ],
+    apex_available: [
+            "com.android.crashrecovery",
+     ],
+    defaults: ["framework-module-defaults"],
+    sdk_version: "module_current",
+    impl_library_visibility: [
+            "//packages/modules/CrashRecovery:__subpackages__"
+    ],
+}
\ No newline at end of file
diff --git a/framework/api/current.txt b/framework/api/current.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/framework/api/current.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/framework/api/module-lib-current.txt b/framework/api/module-lib-current.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/framework/api/module-lib-current.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/framework/api/module-lib-removed.txt b/framework/api/module-lib-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/framework/api/module-lib-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/framework/api/removed.txt b/framework/api/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/framework/api/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/framework/api/system-current.txt b/framework/api/system-current.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/framework/api/system-current.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/framework/api/system-removed.txt b/framework/api/system-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/framework/api/system-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/framework/java/com/android/service/watchdog/Foobar.java b/framework/java/com/android/service/watchdog/Foobar.java
new file mode 100644
index 0000000..d888545
--- /dev/null
+++ b/framework/java/com/android/service/watchdog/Foobar.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2023 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 com.android.service.watchdog;
+
+
+/** @hide */
+public class Foobar {
+
+}
\ No newline at end of file
diff --git a/service/Android.bp b/service/Android.bp
new file mode 100644
index 0000000..e756272
--- /dev/null
+++ b/service/Android.bp
@@ -0,0 +1,35 @@
+// Copyright (C) 2022 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 {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+java_sdk_library {
+    name: "service-crashrecovery",
+    srcs: [
+        "java/**/*.java",
+     ],
+    defaults: [
+        "framework-system-server-module-defaults",
+    ],
+    permitted_packages: [],
+    apex_available: [
+        "com.android.crashrecovery",
+    ],
+    sdk_version: "module_current",
+    impl_library_visibility: [
+            "//packages/modules/CrashRecovery:__subpackages__"
+    ],
+}
\ No newline at end of file
diff --git a/service/api/current.txt b/service/api/current.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/service/api/current.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/service/api/module-lib-current.txt b/service/api/module-lib-current.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/service/api/module-lib-current.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/service/api/module-lib-removed.txt b/service/api/module-lib-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/service/api/module-lib-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/service/api/removed.txt b/service/api/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/service/api/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/service/api/system-server-current.txt b/service/api/system-server-current.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/service/api/system-server-current.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/service/api/system-server-removed.txt b/service/api/system-server-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/service/api/system-server-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/service/java/com/android/server/FoobarService.java b/service/java/com/android/server/FoobarService.java
new file mode 100644
index 0000000..93653a8
--- /dev/null
+++ b/service/java/com/android/server/FoobarService.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2023 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 com.android.server;
+
+
+/** @hide */
+public class FoobarService {
+
+}
\ No newline at end of file