This change sets LOCAL_SDK_VERSION for all packages where
this is possible without breaking the build, and
LOCAL_PRIVATE_PLATFORM_APIS := true otherwise.
Setting one of these two will be made required soon, and this
is a change in preparation for that. Not setting LOCAL_SDK_VERSION
makes the app implicitly depend on the bootclasspath, which is
often not required. This change effectively makes depending on
private apis opt-in rather than opt-out.
Test: make relevant packages
Bug: 73535841
Change-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760
Originally all apps that use insecure DP encoder will generate
the same result in IRR encoder as IRR is purely rely on random generator,
hence all apps will return the same IRR result in encodeBoolean() for
insecure encoder.
Now we change insecure encoder to use encoder id as random generator seed,
so different app will have different deterministic insecure encoder result.
Also, this CL fixes some existing failed tests.
Bug: 63908748
Test: runtest frameworks-services -p com.android.server.net.watchlist PASS
Test: bit FrameworksPrivacyLibraryTests:android.privacy.RapporEncoderTest PASS
Test: bit FrameworksPrivacyLibraryTests:android.privacy.LongitudinalReportingEncoderTest PASS
Change-Id: Iab84a2932d8f84da1dd2f880d2c1567dcbf1e090
- Created a differential privacy framework interface
- Added 2 DP algorithms in DP framework:
- Rappor, a wrapper based on external/rappor project
- Longitudinal Reporting, DP enhancement based on Rappor
- Created Privacy Tests for testing all privacy libraries
- Added original Rappor test case in privacy test
- Created tests to verify Rappor and Longitudinal Reporting result in DP framework
Test: bit FrameworksPrivacyLibraryTests:android.privacy.LongitudinalReportingEncoderTest
Test: bit FrameworksPrivacyLibraryTests:android.privacy.RapporEncoderTest
Change-Id: Id460665059653924434c141686b5cad3fb697046