Separate the internal state of AttributionSource from the
class to make it a simple AIDL we can translate automatically
to native - keeping Java and native parts in sync. This
would allow writing a thin native lib for checking attribution
source permissions which would be used to teach camera and
audio about attributions.
Deinfe an AIDL interface for passing around an attribution
source and opr performing permission checker oprations allowing
native and Java permission checks on attribution chains to be
handled. The Java side permission checker functions are in a dedicated
permisison checker service on top of which sits the PermissionChecker.
We expose similar PermissionChecker native APIs sitting on top
of the same remote interface. The nice thing is that we have
native and Java permisison checkers in sync sharing remoting
code and being close in shape.
For now the PermissionChecker in Java is divorced from the
PermissionManager but in T we will consider how to unify them,
either by an extension object on the PermmissionManager or
APIs on the PermissionManager, or another approach, and then
migrate clients off the PermissionChecker APIs.
bug: 158792096
Test: atest CtsPermission5TestCases
Change-Id: I4e050e78b2361cbf524cc213802e0fef5b487f67
No target should build against hidden symbols in framework-connectivity,
as it has been moved to a mainline module that only exposes a stable
API.
Change-Id: I7e98314ce58419d3dce4845cba9c2b1852690c36
Fixes: 182859030
Test: m
This change adds a "BluetoothPermissionChecker" that ensures that
all Bluetooth permission annotations are consistent. In addition, it
verifies that all Bluetooth public APIs have been audited to be
permission protected where relevant.
We've currently standardized on saying that APIs that return device
or Bluetooth state information (without sharing details about any
particular remote Bluetooth device) do not need to be permission
protected.
This change is only annotations and has no behavior changes.
Bug: 183626724
Test: ./build/soong/soong_ui.bash --make-mode Bluetooth RUN_ERROR_PRONE=true
Change-Id: Ie80b15b058359bf1e9a6ee881b89cb3e5b584ca1
No need to have a filegroup for this. This also has the nice side-effect
of avoiding modules outside this directory depending on the file.
Bug: 185128417
Test: m
Change-Id: Idef6f2fd89116490c43427bba55202f46377a83d
The top-level Android.bp is large and difficult to navigate. Move these
defaults closer to the targets that use them.
Bug: 185128417
Test: m
Change-Id: I7dd7a82837c9a0902aabd640e35ebb65c5f16c73
The proto build rules are quite large and makes the top-level Android.bp
file difficult to navigate. Move them to a separate file.
Bug: 185128417
Test: m
Change-Id: I5719ba0fa8e03dcfca0cc32dc30db3f87ea4e3cd
The top-level Android.bp file is very large, so move modules that can be
in subdirs.
Also rename the vague "base_defaults" module to something more suitable.
Bug: 185128417
Test: m
Change-Id: I5f3106b74edb91ac9db5b3e66cc61566d0f16e9b
The top-level Android.bp is large and difficult to navigate. Move rules
that don't have any "top level" things in them down in the core/java
directory.
Bug: 185128417
Test: m
Change-Id: I3fd90c2d5140e5716474ff1f8c58cbc1b3319e5b
No target should build against hidden symbols in framework-connectivity,
as it has been moved to a mainline module that only exposes a stable
API.
Fixes: 182859030
Test: m
Change-Id: I376531cb34696aac9fa2d278f0698565937bea65
The class in this library no longer needs to be conditionally included
on the bootclasspath based on the REMOVE_ATB_FROM_BCP flag so is being
built as part of framework-minus-apex.
Bug: 184331423
Test: m nothing
Change-Id: If7c2ec51be0670ffda22e18ce1e028783a1513e7
In order to fix divergence in libbinder Android.bp file, adding an
empty file group corresponding to an internal file group.
This is needed to easily manipulate where source files are included
in libbinder without having to land patches internally and externally.
Bug: 183654927
Test: N/A
Merged-In: I3dafe7a75b2dae561583a7821284027a1896b9a5
Change-Id: I8821242efdc0a27daddf30368f948855062f2d14
Keep the constants are only used by framework in TrafficStatsConstants
and move the others to NetworkStackConstants which is in libs/net.
Bug: 182349970
Test: FrameworksNetTests
NetworkStackTests
TetheringTests
Change-Id: Ib667c115e5f1e01237d88b77bba753363da309cc
Merged-In: Ib667c115e5f1e01237d88b77bba753363da309cc
* changes:
Move framework java filegroups into subdirectories
Partial cp of "Move Tuner resource updating from Tuner java into Tuner client"
Partial cp of "Initial boilerplate for an updatable graphics jar"
Inline these sources in the only place it is used.
Test: presubmit
Merged-In: I42e7044471262bf901b8c130a50e1a8a8170c600
Change-Id: I42e7044471262bf901b8c130a50e1a8a8170c600
Various modules were previously creating their own annotation libs
as some appeared to be missing from framework-annotations-lib. Add the
missing ones instead (they all have SOURCE retention), and delete the
custom ones.
Bug: 183133670
Test: m
Merged-In: I4583da7bf5849783d6c5e88a762e04a8fe3e8760
Change-Id: I4583da7bf5849783d6c5e88a762e04a8fe3e8760
This reverts commit 2157c89792.
Reason for revert: Not the right fix. SuppressLint is apparently
in the SDK, so modules should be picking it up from there.
Change-Id: I7fdca1e4c30f897a77eb348f92d3ca18d2175dff
Various modules were previously creating their own annotation libs
as some appeared to be missing from framework-annotations-lib. Add the
missing ones instead (they all have SOURCE retention), and delete the
custom ones.
Bug: 183133670
Test: m
Change-Id: I4583da7bf5849783d6c5e88a762e04a8fe3e8760
All the java code used to build the framework jar and run metalava
was previously defined in the toplevel Android.bp files. Move these
into the subdirs where the source actually lives.
This simplifies the rules themselves (no path and needless prefix) and
declutters the top level Android.bp.
Test: m
Change-Id: I97086e309eacb879d16facb8497d9940fa5ddaf6
Cherry-pick the change to the media filegroup in the root Android.bp
to avoid merge conflicts in upcoming changes.
Test: m nothing
Merged-In: I46acdd2f118d5b082aa162c680661a304b4f628b
Change-Id: Ic55df4cfeb295cfa1657c64f9747c90e30cb73a2
Rename the filegroup for graphics was was done in the internal change
I148b54fe47560b2335e9d878ed93bf167d6c7517.
Test: m nothing
Merged-In: I148b54fe47560b2335e9d878ed93bf167d6c7517
Change-Id: I81a08c29ca99568101f31dc74f8c9d4d5d65663e
It was used in the docs stubs generation but it doesn't have its own
(jar) stub generation. Add it to the shared non-updatable sources for
consistency.
The only class in these sources is @hide, so it makes no
immediate difference.
Test: diff android_stubs_current artifact before/after
Change-Id: I33e75623d8d71da362fb16befb78c8c7596fa400
Only used on-demand by potential future app-compat LSCs. We can add it
back if it is needed.
Remove the now unused framework-all-sources at the same time (yay!!).
Bug: 149906971
Test: m
Change-Id: I61176f48d6b90b47f4b9c348e0686111fb704a77
This filegroup contains libbinder things plus packagemanager things.
Ideally this packagemanager dependency should only be taken by the
things that need it since libbinder is loaded by very many processes,
and it may consider to dirty memory in these processes (the vtables for
AIDL interfaces). This is a preparation CL.
Bug: 183654927
Test: N/A
Change-Id: Iba8153a50244101875fcfd1148924430c0907b37
Instead of compiling framework-connectivity source into
frameworks-minus-apex, have the APIs loaded separately from
framework-connectivity.
Bug: 171540887
Test: device boots, has connectivity
Change-Id: I8f07ff2082c3de80821e121807e66a43a870de7b
Instead of using api_only: true, use a single java_sdk_library to
generate both framework-connectivity stubs and
framework-connectivity.impl.
Bug: 183600168
Test: m
Change-Id: I76d7cf1ba31a3f38ae6b9facbf1b668860c8c165