Implement hidl_vec::find and hidl_vec::contains

Also fixed formatting of nearby line.

Bug: 135918744
Test: atest libhidl_test
Change-Id: I3743115bdacdbf56b6e68d57cf7a8f38f99cb182
diff --git a/test_main.cpp b/test_main.cpp
index 6e96a42..7851ddb 100644
--- a/test_main.cpp
+++ b/test_main.cpp
@@ -350,6 +350,41 @@
     EXPECT_NE(oldPointer, noCopies.data());
 }
 
+TEST_F(LibHidlTest, VecFindTest) {
+    using android::hardware::hidl_vec;
+    hidl_vec<int32_t> hv1 = {10, 20, 30, 40};
+    const hidl_vec<int32_t> hv2 = {1, 2, 3, 4};
+
+    auto it = hv1.find(20);
+    EXPECT_EQ(20, *it);
+    *it = 21;
+    EXPECT_EQ(21, *it);
+    it = hv1.find(20);
+    EXPECT_EQ(hv1.end(), it);
+    it = hv1.find(21);
+    EXPECT_EQ(21, *it);
+
+    auto cit = hv2.find(4);
+    EXPECT_EQ(4, *cit);
+}
+
+TEST_F(LibHidlTest, VecContainsTest) {
+    using android::hardware::hidl_vec;
+    hidl_vec<int32_t> hv1 = {10, 20, 30, 40};
+    const hidl_vec<int32_t> hv2 = {0, 1, 2, 3, 4};
+
+    EXPECT_TRUE(hv1.contains(10));
+    EXPECT_TRUE(hv1.contains(40));
+    EXPECT_FALSE(hv1.contains(1));
+    EXPECT_FALSE(hv1.contains(0));
+    EXPECT_TRUE(hv2.contains(0));
+    EXPECT_FALSE(hv2.contains(10));
+
+    hv1[0] = 11;
+    EXPECT_FALSE(hv1.contains(10));
+    EXPECT_TRUE(hv1.contains(11));
+}
+
 TEST_F(LibHidlTest, ArrayTest) {
     using android::hardware::hidl_array;
     int32_t array[] = {5, 6, 7};