AdId/AppSetId error logging

Test: just adding logging
Bug: 271147155

Change-Id: I4711eba2e683bc9e47a26da7b1bcd73c67ccaa86
diff --git a/adservices/service-core/java/com/android/adservices/service/adid/AdIdServiceImpl.java b/adservices/service-core/java/com/android/adservices/service/adid/AdIdServiceImpl.java
index 66e2b18..f0dbe56 100644
--- a/adservices/service-core/java/com/android/adservices/service/adid/AdIdServiceImpl.java
+++ b/adservices/service-core/java/com/android/adservices/service/adid/AdIdServiceImpl.java
@@ -25,6 +25,10 @@
 
 import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_API_CALLED__API_CLASS__ADID;
 import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_API_CALLED__API_NAME__GET_ADID;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_CALLBACK_ERROR;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__PACKAGE_NAME_NOT_FOUND_EXCEPTION;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__RATE_LIMIT_CALLBACK_FAILURE;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID;
 
 import android.adservices.adid.GetAdIdParam;
 import android.adservices.adid.IAdIdService;
@@ -39,6 +43,7 @@
 
 import com.android.adservices.LogUtil;
 import com.android.adservices.concurrency.AdServicesExecutors;
+import com.android.adservices.errorlogging.ErrorLogUtil;
 import com.android.adservices.service.Flags;
 import com.android.adservices.service.common.AllowLists;
 import com.android.adservices.service.common.AppImportanceFilter;
@@ -125,6 +130,10 @@
 
                     } catch (Exception e) {
                         LogUtil.e(e, "Unable to send result to the callback");
+                        ErrorLogUtil.e(
+                                e,
+                                AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_CALLBACK_ERROR,
+                                AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
                         resultCode = STATUS_INTERNAL_ERROR;
                     } finally {
                         long binderCallStartTimeMillis = callerMetadata.getBinderElapsedTimestamp();
@@ -160,6 +169,11 @@
                 callback.onError(STATUS_RATE_LIMIT_REACHED);
             } catch (RemoteException e) {
                 LogUtil.e(e, "Fail to call the callback on Rate Limit Reached.");
+                ErrorLogUtil.e(
+                        e,
+                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__RATE_LIMIT_CALLBACK_FAILURE,
+                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
+
             } finally {
                 return true;
             }
@@ -250,6 +264,10 @@
             callback.onError(statusCode);
         } catch (RemoteException e) {
             LogUtil.e(e, String.format("Fail to call the callback. %s", message));
+            ErrorLogUtil.e(
+                    e,
+                    AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_CALLBACK_ERROR,
+                    AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
         }
     }
 
@@ -261,10 +279,15 @@
             packageUid = mContext.getPackageManager().getPackageUid(callingPackage, /* flags */ 0);
         } catch (PackageManager.NameNotFoundException e) {
             LogUtil.e(e, callingPackage + " not found");
+            ErrorLogUtil.e(
+                    e,
+                    AD_SERVICES_ERROR_REPORTED__ERROR_CODE__PACKAGE_NAME_NOT_FOUND_EXCEPTION,
+                    AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
             return STATUS_UNAUTHORIZED;
         }
         if (packageUid != appCallingUid) {
             LogUtil.e(callingPackage + " does not belong to uid " + callingUid);
+
             return STATUS_UNAUTHORIZED;
         }
         return STATUS_SUCCESS;
diff --git a/adservices/service-core/java/com/android/adservices/service/adid/AdIdWorker.java b/adservices/service-core/java/com/android/adservices/service/adid/AdIdWorker.java
index 2e7fb60..bdc2d64 100644
--- a/adservices/service-core/java/com/android/adservices/service/adid/AdIdWorker.java
+++ b/adservices/service-core/java/com/android/adservices/service/adid/AdIdWorker.java
@@ -20,6 +20,8 @@
 import static android.adservices.common.AdServicesStatusUtils.STATUS_SUCCESS;
 
 import static com.android.adservices.AdServicesCommon.ACTION_ADID_PROVIDER_SERVICE;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID;
 
 import android.adservices.adid.AdId;
 import android.adservices.adid.GetAdIdResult;
@@ -33,6 +35,7 @@
 
 import com.android.adservices.LogUtil;
 import com.android.adservices.ServiceBinder;
+import com.android.adservices.errorlogging.ErrorLogUtil;
 import com.android.adservices.service.Flags;
 import com.android.adservices.service.FlagsFactory;
 import com.android.internal.annotations.VisibleForTesting;
@@ -126,6 +129,10 @@
                 callback.onResult(result);
             } catch (RemoteException e) {
                 LogUtil.e("RemoteException");
+                ErrorLogUtil.e(
+                        e,
+                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
             } finally {
                 return;
             }
@@ -150,6 +157,10 @@
                                 callback.onResult(result);
                             } catch (RemoteException e) {
                                 LogUtil.e("RemoteException");
+                                ErrorLogUtil.e(
+                                        e,
+                                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
                             } finally {
                                 // Since we are sure, the provider service api has returned,
                                 // we can safely unbind the adId provider service.
@@ -163,6 +174,10 @@
                                 callback.onError(STATUS_INTERNAL_ERROR);
                             } catch (RemoteException e) {
                                 LogUtil.e("RemoteException");
+                                ErrorLogUtil.e(
+                                        e,
+                                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
                             } finally {
                                 // Since we are sure, the provider service api has returned,
                                 // we can safely unbind the adId provider service.
@@ -173,10 +188,18 @@
 
         } catch (RemoteException e) {
             LogUtil.e(e, "RemoteException");
+            ErrorLogUtil.e(
+                    e,
+                    AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                    AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
             try {
                 callback.onError(STATUS_INTERNAL_ERROR);
             } catch (RemoteException err) {
                 LogUtil.e("RemoteException");
+                ErrorLogUtil.e(
+                        e,
+                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__AD_ID);
             } finally {
                 unbindFromService();
             }
diff --git a/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdServiceImpl.java b/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdServiceImpl.java
index 1e5393f..a753671 100644
--- a/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdServiceImpl.java
+++ b/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdServiceImpl.java
@@ -24,6 +24,10 @@
 
 import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_API_CALLED__API_CLASS__APPSETID;
 import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_API_CALLED__API_NAME__GET_APPSETID;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_CALLBACK_ERROR;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__PACKAGE_NAME_NOT_FOUND_EXCEPTION;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__RATE_LIMIT_CALLBACK_FAILURE;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID;
 
 import android.adservices.appsetid.GetAppSetIdParam;
 import android.adservices.appsetid.IAppSetIdService;
@@ -38,6 +42,7 @@
 
 import com.android.adservices.LogUtil;
 import com.android.adservices.concurrency.AdServicesExecutors;
+import com.android.adservices.errorlogging.ErrorLogUtil;
 import com.android.adservices.service.Flags;
 import com.android.adservices.service.common.AllowLists;
 import com.android.adservices.service.common.AppImportanceFilter;
@@ -114,6 +119,10 @@
 
                     } catch (Exception e) {
                         LogUtil.e(e, "Unable to send result to the callback");
+                        ErrorLogUtil.e(
+                                e,
+                                AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_CALLBACK_ERROR,
+                                AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
                         resultCode = STATUS_INTERNAL_ERROR;
                     } finally {
                         long binderCallStartTimeMillis = callerMetadata.getBinderElapsedTimestamp();
@@ -150,6 +159,10 @@
                 callback.onError(STATUS_RATE_LIMIT_REACHED);
             } catch (RemoteException e) {
                 LogUtil.e(e, "Fail to call the callback on Rate Limit Reached.");
+                ErrorLogUtil.e(
+                        e,
+                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__RATE_LIMIT_CALLBACK_FAILURE,
+                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
             }
             return true;
         }
@@ -227,6 +240,10 @@
             callback.onError(statusCode);
         } catch (RemoteException e) {
             LogUtil.e(e, String.format("Fail to call the callback. %s", message));
+            ErrorLogUtil.e(
+                    e,
+                    AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_CALLBACK_ERROR,
+                    AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
         }
     }
 
@@ -238,6 +255,10 @@
             packageUid = mContext.getPackageManager().getPackageUid(callingPackage, /* flags */ 0);
         } catch (PackageManager.NameNotFoundException e) {
             LogUtil.e(e, callingPackage + " not found");
+            ErrorLogUtil.e(
+                    e,
+                    AD_SERVICES_ERROR_REPORTED__ERROR_CODE__PACKAGE_NAME_NOT_FOUND_EXCEPTION,
+                    AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
             return STATUS_UNAUTHORIZED;
         }
         if (packageUid != appCallingUid) {
diff --git a/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdWorker.java b/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdWorker.java
index d3c87f7..5028d8f 100644
--- a/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdWorker.java
+++ b/adservices/service-core/java/com/android/adservices/service/appsetid/AppSetIdWorker.java
@@ -20,6 +20,8 @@
 import static android.adservices.common.AdServicesStatusUtils.STATUS_SUCCESS;
 
 import static com.android.adservices.AdServicesCommon.ACTION_APPSETID_PROVIDER_SERVICE;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION;
+import static com.android.adservices.service.stats.AdServicesStatsLog.AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID;
 
 import android.adservices.appsetid.GetAppSetIdResult;
 import android.adservices.appsetid.IAppSetIdProviderService;
@@ -32,6 +34,7 @@
 
 import com.android.adservices.LogUtil;
 import com.android.adservices.ServiceBinder;
+import com.android.adservices.errorlogging.ErrorLogUtil;
 import com.android.adservices.service.Flags;
 import com.android.adservices.service.FlagsFactory;
 import com.android.internal.annotations.VisibleForTesting;
@@ -127,6 +130,10 @@
                 callback.onResult(result);
             } catch (RemoteException e) {
                 LogUtil.e("RemoteException");
+                ErrorLogUtil.e(
+                        e,
+                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
             } finally {
                 return;
             }
@@ -151,6 +158,10 @@
                                 callback.onResult(result);
                             } catch (RemoteException e) {
                                 LogUtil.e("RemoteException");
+                                ErrorLogUtil.e(
+                                        e,
+                                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
                             } finally {
                                 // Since we are sure, the provider service api has returned,
                                 // we can safely unbind the appSetId provider service.
@@ -164,6 +175,10 @@
                                 callback.onError(STATUS_INTERNAL_ERROR);
                             } catch (RemoteException e) {
                                 LogUtil.e("RemoteException");
+                                ErrorLogUtil.e(
+                                        e,
+                                        AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                                        AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
                             } finally {
                                 // Since we are sure, the provider service api has returned,
                                 // we can safely unbind the appSetId provider service.
@@ -174,6 +189,10 @@
 
         } catch (RemoteException e) {
             LogUtil.e(e, "RemoteException");
+            ErrorLogUtil.e(
+                    e,
+                    AD_SERVICES_ERROR_REPORTED__ERROR_CODE__API_REMOTE_EXCEPTION,
+                    AD_SERVICES_ERROR_REPORTED__PPAPI_NAME__APP_SET_ID);
             try {
                 callback.onError(STATUS_INTERNAL_ERROR);
             } catch (RemoteException err) {