Improve trace logging when loading odex files

Add extra trace categories with information on the status
of odex files and the outcome of the loading process.

Test: gtests
Bug: 178410926
Change-Id: I02ef78f34ba726f40c8a988db8dc995f4c01c55e
diff --git a/runtime/oat_file_assistant.h b/runtime/oat_file_assistant.h
index 51f58ad..19c625b 100644
--- a/runtime/oat_file_assistant.h
+++ b/runtime/oat_file_assistant.h
@@ -165,13 +165,22 @@
 
   // Computes the optimization status of the given dex file. The result is
   // returned via the two output parameters.
+  //   - out_odex_location: the location of the (best) odex that will be used
+  //        for loading. See GetBestInfo().
   //   - out_compilation_filter: the level of optimizations (compiler filter)
   //   - out_compilation_reason: the optimization reason. The reason might
   //        be "unknown" if the compiler artifacts were not annotated during optimizations.
+  //   - out_odex_status: a human readable refined status of the validity of the odex file.
+  //        E.g. up-to-date, boot-image-more-recent, apk-more-recent.
   //
   // This method will try to mimic the runtime effect of loading the dex file.
   // For example, if there is no usable oat file, the compiler filter will be set
   // to "run-from-apk".
+  void GetOptimizationStatus(std::string* out_odex_location,
+                             std::string* out_compilation_filter,
+                             std::string* out_compilation_reason,
+                             std::string* out_odex_status);
+
   static void GetOptimizationStatus(const std::string& filename,
                                     InstructionSet isa,
                                     std::string* out_compilation_filter,