Details
Description
ATSv1.5 and ATSv2 has lots of common code that can be pulled to an abstract service / package. The logic is the same, and the code is almost the same.
As far as I see, the only ATS specific thing in that AppInfo is constructed from an ApplicationReport, which information is extracted from the TimelineReader client,
Later the appInfo object's user and appState fields are used, but I see no other dependency on the timeline part.