Revert Android.bp changes.

Aparently they are causing device reboots.

Bug: 219588776
Bug: 219650739
Test: android.host.multiuser.EphemeralTest#testRemoveUserWhenPossible_currentUserSetEphemeral_removeAfterSwitch
Change-Id: I030b9529c16945b5ef87c9087fe4d0fd90fc1865
diff --git a/cmds/installd/Android.bp b/cmds/installd/Android.bp
index fd38ddf..c9f680b 100644
--- a/cmds/installd/Android.bp
+++ b/cmds/installd/Android.bp
@@ -10,7 +10,6 @@
 cc_defaults {
     name: "installd_defaults",
 
-    cpp_std: "c++2a",
     cflags: [
         "-Wall",
         "-Werror",
@@ -42,7 +41,6 @@
         "libbinder",
         "libcrypto",
         "libcutils",
-        "libext2_uuid",
         "liblog",
         "liblogwrap",
         "libprocessgroup",
@@ -53,6 +51,7 @@
     ],
     static_libs: [
         "libasync_safe",
+        "libext2_uuid",
     ],
     export_shared_lib_headers: [
         "libbinder",
@@ -241,8 +240,6 @@
 
 cc_binary {
     name: "otapreopt",
-
-    cpp_std: "c++2a",
     cflags: [
         "-Wall",
         "-Werror",
@@ -266,13 +263,13 @@
         "libasync_safe",
         "libdiskusage",
         "libotapreoptparameters",
+        "libext2_uuid",
     ],
 
     shared_libs: [
         "libbase",
         "libcrypto",
         "libcutils",
-        "libext2_uuid",
         "liblog",
         "liblogwrap",
         "libprocessgroup",
diff --git a/cmds/installd/tests/Android.bp b/cmds/installd/tests/Android.bp
index a16587e..e390bab 100644
--- a/cmds/installd/tests/Android.bp
+++ b/cmds/installd/tests/Android.bp
@@ -8,54 +8,56 @@
     default_applicable_licenses: ["frameworks_native_license"],
 }
 
-cc_defaults {
-    name: "installd_tests_defaults",
+cc_test {
+    name: "installd_utils_test",
     test_suites: ["device-tests"],
     clang: true,
-    cpp_std: "c++2a",
+    srcs: ["installd_utils_test.cpp"],
     cflags: [
         "-Wall",
         "-Werror",
     ],
     shared_libs: [
         "libbase",
-        "libcutils",
-        "libext2_uuid",
         "libutils",
+        "libcutils",
     ],
     static_libs: [
-        "liblog",
-    ],
-}
-
-cc_test {
-    name: "installd_utils_test",
-    defaults: ["installd_tests_defaults"],
-    srcs: ["installd_utils_test.cpp"],
-    static_libs: [
         "libasync_safe",
         "libdiskusage",
+        "libext2_uuid",
         "libinstalld",
+        "liblog",
     ],
     test_config: "installd_utils_test.xml",
 }
 
 cc_test {
     name: "installd_cache_test",
-    defaults: ["installd_tests_defaults"],
+    test_suites: ["device-tests"],
+    clang: true,
     srcs: ["installd_cache_test.cpp"],
+    cflags: [
+        "-Wall",
+        "-Werror",
+    ],
     shared_libs: [
+        "libbase",
         "libbinder",
         "libcrypto",
+        "libcutils",
         "libprocessgroup",
         "libselinux",
+        "libutils",
         "server_configurable_flags",
     ],
     static_libs: [
         "libasync_safe",
         "libdiskusage",
+        "libext2_uuid",
         "libinstalld",
         "libziparchive",
+        "liblog",
         "liblogwrap",
     ],
     test_config: "installd_cache_test.xml",
@@ -78,21 +80,31 @@
 
 cc_test {
     name: "installd_service_test",
-    defaults: ["installd_tests_defaults"],
+    test_suites: ["device-tests"],
+    clang: true,
     srcs: ["installd_service_test.cpp"],
+    cflags: [
+        "-Wall",
+        "-Werror",
+    ],
     shared_libs: [
+        "libbase",
         "libbinder",
         "libcrypto",
+        "libcutils",
         "libprocessgroup",
         "libselinux",
+        "libutils",
         "packagemanager_aidl-cpp",
         "server_configurable_flags",
     ],
     static_libs: [
         "libasync_safe",
         "libdiskusage",
+        "libext2_uuid",
         "libinstalld",
         "libziparchive",
+        "liblog",
         "liblogwrap",
     ],
     test_config: "installd_service_test.xml",
@@ -115,19 +127,29 @@
 
 cc_test {
     name: "installd_dexopt_test",
-    defaults: ["installd_tests_defaults"],
+    test_suites: ["device-tests"],
+    clang: true,
     srcs: ["installd_dexopt_test.cpp"],
+    cflags: [
+        "-Wall",
+        "-Werror",
+    ],
     shared_libs: [
+        "libbase",
         "libbinder",
         "libcrypto",
+        "libcutils",
         "libprocessgroup",
         "libselinux",
+        "libutils",
         "server_configurable_flags",
     ],
     static_libs: [
         "libasync_safe",
         "libdiskusage",
+        "libext2_uuid",
         "libinstalld",
+        "liblog",
         "liblogwrap",
         "libziparchive",
         "libz",
@@ -152,21 +174,42 @@
 
 cc_test {
     name: "installd_otapreopt_test",
-    defaults: ["installd_tests_defaults"],
+    test_suites: ["device-tests"],
+    clang: true,
     srcs: ["installd_otapreopt_test.cpp"],
+    cflags: [
+        "-Wall",
+        "-Werror",
+    ],
     shared_libs: [
+        "libbase",
+        "libcutils",
+        "libutils",
         "server_configurable_flags",
     ],
     static_libs: [
+        "liblog",
         "libotapreoptparameters",
     ],
 }
 
 cc_test {
     name: "installd_file_test",
-    defaults: ["installd_tests_defaults"],
+    test_suites: ["device-tests"],
+    clang: true,
     srcs: ["installd_file_test.cpp"],
+    cflags: [
+        "-Wall",
+        "-Werror",
+    ],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libutils",
+    ],
     static_libs: [
+        "libext2_uuid",
         "libinstalld",
+        "liblog",
     ],
 }
diff --git a/cmds/installd/tests/installd_service_test.cpp b/cmds/installd/tests/installd_service_test.cpp
index 806797f..dadc27b 100644
--- a/cmds/installd/tests/installd_service_test.cpp
+++ b/cmds/installd/tests/installd_service_test.cpp
@@ -156,7 +156,7 @@
 }
 
 static bool exists_renamed_deleted_dir() {
-    return find_file(kTestPath, [](std::string_view name, bool is_dir) {
+    return find_file(kTestPath, [](const std::string& name, bool is_dir) {
         return is_dir && is_renamed_deleted_dir(name);
     });
 }
diff --git a/cmds/installd/tests/installd_utils_test.cpp b/cmds/installd/tests/installd_utils_test.cpp
index ed87b67..5e8c79e 100644
--- a/cmds/installd/tests/installd_utils_test.cpp
+++ b/cmds/installd/tests/installd_utils_test.cpp
@@ -555,6 +555,24 @@
     EXPECT_EQ(0, MatchExtension("docx"));
 }
 
+TEST_F(UtilsTest, TestIsRenamedDeletedDir) {
+    EXPECT_FALSE(is_renamed_deleted_dir(""));
+    EXPECT_FALSE(is_renamed_deleted_dir("1"));
+    EXPECT_FALSE(is_renamed_deleted_dir("="));
+    EXPECT_FALSE(is_renamed_deleted_dir("=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("d=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("ed=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("ted=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("eted=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("leted=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("eleted=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("deleted=="));
+    EXPECT_FALSE(is_renamed_deleted_dir("=deleted=="));
+    EXPECT_TRUE(is_renamed_deleted_dir("==deleted=="));
+    EXPECT_TRUE(is_renamed_deleted_dir("123==deleted=="));
+    EXPECT_TRUE(is_renamed_deleted_dir("5b14b6458a44==deleted=="));
+}
+
 TEST_F(UtilsTest, TestRollbackPaths) {
     EXPECT_EQ("/data/misc_ce/0/rollback/239/com.foo",
             create_data_misc_ce_rollback_package_path(nullptr, 0, 239, "com.foo"));
diff --git a/cmds/installd/utils.cpp b/cmds/installd/utils.cpp
index 8a00be9..faccded 100644
--- a/cmds/installd/utils.cpp
+++ b/cmds/installd/utils.cpp
@@ -637,8 +637,12 @@
     return delete_dir_contents(temp_dir_path.c_str(), 1, exclusion_predicate, ignore_if_missing);
 }
 
-bool is_renamed_deleted_dir(std::string_view path) {
-    return path.ends_with(deletedSuffix);
+bool is_renamed_deleted_dir(const std::string& path) {
+    if (path.size() < deletedSuffix.size()) {
+        return false;
+    }
+    std::string_view pathSuffix{path.c_str() + path.size() - deletedSuffix.size()};
+    return pathSuffix == deletedSuffix;
 }
 
 int rename_delete_dir_contents_and_dir(const std::string& pathname, bool ignore_if_missing) {
diff --git a/cmds/installd/utils.h b/cmds/installd/utils.h
index 04f3bc9..0b1c324 100644
--- a/cmds/installd/utils.h
+++ b/cmds/installd/utils.h
@@ -120,7 +120,7 @@
 int delete_dir_contents(const std::string& pathname, bool ignore_if_missing = false);
 int delete_dir_contents_and_dir(const std::string& pathname, bool ignore_if_missing = false);
 
-bool is_renamed_deleted_dir(std::string_view path);
+bool is_renamed_deleted_dir(const std::string& path);
 int rename_delete_dir_contents_and_dir(const std::string& pathname, bool ignore_if_missing = true);
 
 void cleanup_invalid_package_dirs_under_path(const std::string& pathname);