Added WF atoms in Wear Services

What : Watch face atoms are added
for :
1) Set
2) Favorite
3) Edit

Eldar : https://eldar.corp.google.com/assessments/843659102/drafts/790027064?jsmode=o&mods=eldarui_search#sections/999001

Bug: b/255599053

Change-Id: I3537fd5f036a31e6780d20bc8049e32efc1bf8a6
diff --git a/stats/atoms.proto b/stats/atoms.proto
index 583bb74..b330af2 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -30,6 +30,7 @@
 import "frameworks/proto_logging/stats/enums/app/job/enums.proto";
 import "frameworks/proto_logging/stats/enums/app/remoteprovisioner_enums.proto";
 import "frameworks/proto_logging/stats/enums/app/settings_enums.proto";
+import "frameworks/proto_logging/stats/enums/app/wearservices/wearservices_enums.proto";
 import "frameworks/proto_logging/stats/enums/app/media_output_enum.proto";
 import "frameworks/proto_logging/stats/enums/app/tvsettings_enums.proto";
 import "frameworks/proto_logging/stats/enums/app/wearsettings_enums.proto";
@@ -851,6 +852,9 @@
             wear_media_output_switcher_all_devices_scan_latency =
                 549 [(module) = "MediaOutputSwitcher"];
         ArtDeviceDatumReported art_device_datum_reported = 550 [(module) = "art"];
+        WsWatchFaceEdited ws_watch_face_edited = 551 [(module) = "wearservices"];
+        WsWatchFaceFavouriteActionReported ws_watch_face_favorite_action_reported = 552 [(module) = "wearservices"];
+        WsWatchFaceSetActionReported ws_watch_face_set_action_reported = 553 [(module) = "wearservices"];
         // StatsdStats tracks platform atoms with ids upto 750.
         // Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
     }
@@ -24004,3 +24008,49 @@
 
     optional BootImageStatus boot_image_status = 1;
 }
+
+/**
+* Logged during the watch face editing session in Wear Services
+* This atom will log the duration with SessionStateEnum#END.
+*
+* Logged from :
+* com/google/wear/services/watchfaces/editing/api/WatchFaceEditingApiImpl.java
+*/
+message WsWatchFaceEdited {
+   // Depicts the state of the session eg: START/END/ABORT.
+   optional android.app.wearservices.SessionStateEnum session_state = 1;
+
+   // Session duration for watch face editing.
+   optional int32 session_duration_millis = 2;
+}
+
+/**
+* Logged for watch face favorite feature in Wear Services.
+*
+* Logged from :
+* com/google/wear/services/watchfaces/api/WatchFacesApiImpl.java
+*/
+message WsWatchFaceFavouriteActionReported {
+   // Component package for watch face.
+   optional int32 component_package_uid = 1 [(is_uid) = true];
+
+   // Depicts the action for wf favorites eg: Add/Remove.
+   optional android.app.wearservices.ActionEnum favorite_action = 2;
+
+   // Depicts if the source of the favorite action is performed on watch or not.
+   optional bool is_source_watch = 3;
+}
+
+/**
+* Logged for the watch face set feature in Wear Services.
+*
+* Logged from :
+* com/google/wear/services/watchfaces/api/WatchFacesApiImpl.java
+*/
+message WsWatchFaceSetActionReported {
+   // Component package for watch face.
+   optional int32 component_package_uid = 1 [(is_uid) = true];
+
+  // Result for WF, whether it resulted in SAME/FAVORITE/FALLBACK
+  optional android.app.wearservices.SetResultEnum wf_set_result = 2;
+}
diff --git a/stats/enums/app/wearservices/wearservices_enums.proto b/stats/enums/app/wearservices/wearservices_enums.proto
new file mode 100644
index 0000000..2b60f48
--- /dev/null
+++ b/stats/enums/app/wearservices/wearservices_enums.proto
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+syntax = "proto2";
+
+package android.app.wearservices;
+
+option java_multiple_files = true;
+option java_outer_classname = "WearServicesEnums";
+
+// This enum depicts the state of the session.
+// Next ID: 5
+enum SessionStateEnum {
+  // Depicts unknown session state.
+  STATE_UNKNOWN = 0;
+
+  // Depicts start state of the session.
+  STATE_START = 1;
+
+  // Depicts end state of the session.
+  STATE_END = 2;
+
+  // Depicts aborted state of the session.
+  STATE_ABORTED = 3;
+
+  // Depicts failed state of the session.
+  STATE_FAILED = 4;
+}
+
+// This enum depicts the action taken.
+// Next ID: 4
+enum ActionEnum {
+  // Depicts unknown action.
+  ACTION_UNKNOWN = 0;
+
+  // Depicts an ADD action.
+  ACTION_ADD = 1;
+
+  // Depicts a REMOVE action.
+  ACTION_REMOVE = 2;
+
+  // Depicts a SET action.
+  ACTION_SET = 3;
+}
+
+// This enum depicts the possible result of watchface set
+// action.
+// Next ID: 4
+enum SetResultEnum {
+  // Depicts unknown result.
+  SET_UNKNOWN = 0;
+
+  // Depicts if the same WF is set.
+  SET_SAME = 1;
+
+  // Depicts if a fallback WF is set.
+  SET_FALLBACK = 2;
+
+  // Depicst if the favorite WF is set.
+  SET_FAVORITE = 3;
+}