Use Android NDK logcat for SDK logging (unless disabled by -DANDROID_SUPPRESS_LOGCAT). This is in addition to the default file-based logging into data/data/com.something/cache/mat-debug-pid-number.log
* Add debian 9 docker image
* Run docker in non-tty mode
* Non-TTY docker on Windows
* Change current working directory
* Working path, gitignore
* Fix docker cwd
* Fix cwd again
* Fix build
* Test user
* Update all images to run as root
* Update JSON
* Add build type param
* Updgrade CentOS to support <codecvt>
* Revert devtoolset-8 change
* revert json update
* Use devtoolset-7 image for centos
* Update centos docker image as root
* Install static zlib on centos
* Try again
* Fix vsdevcmd.bat import
* rename exp README to README.md
* add standard list of github exclusions to .gitignore
* change license to MIT - same as for GitHub repo
* modify README.md to avoid referring to internal documentation URLs
* add custom define for EXP: since EXP is optional, we need to detect at compile time whether it's avail or not
Reducing / disabling non-essential features and setting various build flags to optimize for small size.
x5 times size reduction.
Functional changes to common core SDK:
* Had to rename IStorage to IDataStorage, as IStorage is a macro defined in Windows SDK.
* Had to refactor user analytics feature storage (SDK UUID / install id) to utilize plain text file rather than FIFO ..
FIFO storage is a legacy structure, bloatware, had to be deprecated and removed going forward anyways.
It wasn't even present in v1 Aria SDK, but somehow slipped thru into v3..
Features excluded from lightweight SDK:
* JSON
* ZLIB
* ECS client
* SQLite DB (only ram queue, no offline storage)
* Transmit Profiles
Related work items: #1550785
Stats improvement:
* reduce priority from Critical/Realtime to normal
* reduce frequency to 1 event in 30 minutes
* reduce stats event size. Stop collecting histograms we never ever look at (and in fact block in our Kusto storage)
* rework the code to make it simple, avoid "copypasta" that previously plagued MetaStats.cpp
* use wall clock for stats event timestamp
* adjust tests to account for lesser number of stats event per session
* make per-tenant stats a configurable "debug only" feature, as it does not scale well for deployment in Office
* adjust PAL to properly return monotonic clock
Related work items: #1618463
Issues reported in Office automation. Scenario is unknown, but it appears that the issue is due to no thread safety around MetaStats object. Add thread-safety to Statistics.cpp wrapper around MetaStats.cpp
Related work items: #1541368
What's done:
* Cleaned-up all clang compiler warnings during library build
* PAL Device ID GUID
* PAL appId
Further TODO:
* BVT for Mac
* Verify all header-only APIs for warnings
* Guidance on custom HTTP provider - Edge team should handle this
* Possibly use our own sqlite3 instead of OS, as very old OS X dyn sqlite3 might be too old
Related work items: #1470816
Fixes:
* implement HTTP stack passing of request body to callback for DDV tool
* add Microsoft googletest nupkg to enable visualization of test results in Visual Studio
* fix stats and stats session IDs
* MS Edge: fix telemetry not working if RO context is already inited
* Fix SetType API not working that breaks ODIN annotation processor
* BVT test fixes
Related work items: #1403111, #1403119, #1459042