checkapi: Allow default values for enum-type fields

We recommend to set explicit default values for enum-type fields. But
--checkapi complains about setting a default value even if the value is
zero which is compatible with ""(empty) for enum types.

For aidl_interfaces with versioned snapshots, we can't fix
-Wenum-explicit-default because --checkapi sees it as an incompatible
change to set the default value in the new while the old doesn't set
the default.

Bug: 179853398
Test: aidl_unittests
Change-Id: I11b773f7459100b23944164192379369e305783c
diff --git a/aidl_unittest.cpp b/aidl_unittest.cpp
index 8eef049..f1dce8d 100644
--- a/aidl_unittest.cpp
+++ b/aidl_unittest.cpp
@@ -2165,6 +2165,32 @@
   EXPECT_TRUE(::android::aidl::check_api(options_, io_delegate_));
 }
 
+TEST_F(AidlTestCompatibleChanges, CompatibleExplicitDefaults) {
+  io_delegate_.SetFileContents("old/p/Data.aidl",
+                               "package p;\n"
+                               "parcelable Data {\n"
+                               "  p.Enum e;\n"
+                               "}");
+  io_delegate_.SetFileContents("old/p/Enum.aidl",
+                               "package p;\n"
+                               "enum Enum {\n"
+                               "  FOO = 0,\n"
+                               "  BAR = 1,\n"
+                               "}");
+  io_delegate_.SetFileContents("new/p/Data.aidl",
+                               "package p;\n"
+                               "parcelable Data {\n"
+                               "  p.Enum e = p.Enum.FOO;\n"
+                               "}");
+  io_delegate_.SetFileContents("new/p/Enum.aidl",
+                               "package p;\n"
+                               "enum Enum {\n"
+                               "  FOO = 0,\n"
+                               "  BAR = 1,\n"
+                               "}");
+  EXPECT_TRUE(::android::aidl::check_api(options_, io_delegate_));
+}
+
 class AidlTestIncompatibleChanges : public AidlTest {
  protected:
   Options options_ = Options::From("aidl --checkapi old new");