Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI
Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
Currently GmsCore has to guess how many locations to retrieve
based on requested frequency and then demux the output looking
for timestamps (that aren't monotonically increasing). This
capability gives GmsCore a more graceful solution.
Change-Id: Ie1d71615f699bc0d3c63f8b80aa7b40b9971cf96
Let HAL implementation tell if geofencing/batching is
supported and which technologies (GNNS, wifi, etc)
can be used.
Still todo: Add ability for GmsCore geofencing to
tell which technologies are supported (instead of
just using it to update monitoring). This requires
SystemApi change + approval so will do in separate CL.
Note that the classes in the lib are not copied
directly into GmsCore. The instance will always
be whatever is in the platform. This is why
the callback is backwards compatible as long as
their is a default implementation (but not if
it's abstract).
Change-Id: I7d6adeb049b89935bc4443785df5d7ef4c730e5d
Otherwise, the MIDI device would appear available always, rather than
only when USB is connected.
Also fixed file descriptor leak in UsbMidiDevice
Change-Id: I0d38e81c488de4748eef36ca359635fa59e0e636
MIDI ports are now implemented as file descriptors directly between the sender
and receiver, so the MidiService is no longer in the message path.
To facilitate the above, each port has its own file descriptor, rather than multiplexing
all ports on a device through a single socket.
Added a new class MidiDeviceServer, which is used by implementors of MIDI devices.
This replaces the MidiVirtualDevice class (which only was included in changes that were reviewed but never submitted).
The USB MIDI implementation has moved from the MIDI service to the USB service.
The USB MIDI implementation uses MidiDeviceServer as its interface, so we now have a common
interface for all MIDI device implementations.
Change-Id: I8effd1583f344beb6c940c3a24dbf20b477a6436
Devices may have multiple RTCs. By default the kernel uses rtc0 to
store the system time, but devices may override this (or even specify
that none of them should be used for system time).
Userspace can indirectly find the designated RTC through sysfs. During
AlarmManagerService initialization, enumerate through all rtc class
devices to locate the device with attribute hctosys=1.
This is only done on devices without /dev/alarm, which has its own
in-kernel mechanism to pick the RTC.
Change-Id: Ife2b342c3590133ed316ddaf1799cbc1bfa6e6d9
Signed-off-by: Greg Hackmann <ghackmann@google.com>
memcpy() only copies the memory address value of device_info.audio_address,
and it could be invalid when onDeviceAvailable() is called.
Bug: 18819334
Change-Id: I827da8032a982abf3029874b8454ca79290bb0e0
(cherry picked from commit 898de6fd8c78d84ae1425e052b27a97ec6f230ad)
This CL passes a port ID when enabling/disabling ARC in case
there are multiple HDMI ports that support the feature.
Bug: 18781204
Change-Id: I632518132bf07c8ae6f0ff5135429ca719b596b2
Adjust format strings to not produce Clang warnings in both 32-bit and
64-bit builds
Change-Id: I76c29d8d5d0fb4b5e9d9518077652370ffe9e871
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
The return value of jniRegisterNativeMethods is checked only in
LOG_FATAL_IF, which defines to nothing in the LOG_NDEBUG
case.
Fake a use of the 'res' variable to shut off warnings when LOG_NDEBUG.
Change-Id: I8263610f327c56897f76796fe1fbc2b325b0559f
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Remove an unused static function clang complains about
Change-Id: Id5875960e9f93348c7a3a912f42b5f457af2cdc0
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Remove unused variables and static functions clang complains about,
disable warnings about unused parameters (needed for clang and for gcc
with -Wextra enabled)
Change-Id: I76a22cd0158b3c7375c54e3d4d15bc1ac448591e
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Error dialogs absorb all input to ensure that they are not missed.
This can cause the screen to lock up if they are not displayed but
are still absorbing touches. This was what was happening when there
was an error dialog up at the same time as a phone call came in as
in b/17648830.
This fix recognizes when an app is dismissing the keyguard and
forces any error dialogs to be shown over such an app.
This also removes the private flags from the input system as they
are no longer needed.
Fixes bug 17648830.
Change-Id: I5c98b8265a1448b445fdb2f745fc78892f8656a4
TvStreamConfig should do deep comparison in TvInputHardwareManager
where the object gets created from binder calls. In addition to this
fix, modify [aA]ddStream to [aA]ddOrUpdateStream so that the method
name better reflects what it does.
Bug: 18027719
Change-Id: I43fa668f91cb9433beee97ee31b4b1f58f21bfcf
We need to allow for event dispatching in non-interactive states so
that we can enable a richer set of interactions when a device is
dozing (i.e. is in a low power state with an Always-on-Display).
Bug: 17167296
Change-Id: I8ae0f544a8106cb91ff38c2309b8b57cbe2f2c72
We set the system_server classpath in the environment
(like we do with BOOTCLASSPATH). After the zygote forks
the system_server, we dexopt the classpath (if needed)
and then launch the system server with the correct
PathClassLoader. This needed several small / medium
refactorings :
- The logic for connecting to installd is now in a separate
class and belongs in the system_server.
- SystemService / SystemServiceManager have now moved to
classes.jar. They are only used from there, and since they
use Class.forName, we want them to be loaded by the
system_server classloader, and not the bootclassloader.
- BootReceiver now moves to frameworks.jar, because it is
used by ActivityThread and friends.
bug: 16555230
Change-Id: Ic84f0b2baf611eeedff6d123cb7191bb0259e600