Added check avoid a division by zero resulting in NaN which in turn
makes checkFullyTilted to ignore high tilt angles from then on.
If (x, y, z) == (0, 0, 0) then there is no tilt or rotation and
this vector must be ignored. This check is extended to ignore all
small acceleration values where noise can be of big influence.
Low or zero readings can happen when space travelling free falling,
but more commonly when shaking or getting bad readings from the sensor.
The accelerometer is turned off when not used and polling it too soon
after it is turned on may result in (0, 0, 0).
Change-Id: I7b61b77c8a9d4e137bf6352b84f0c358d93c82ae
docs: Rewrite of App Fundamentals.. Part 2.
This introduces three new docs:
Services:
Provides an introduction to using services and describes the
service lifecycle (previously in the "Component Lifecycles" section
of the fundamentals.jd document)
Bound Services:
A guide for services that offer binding.
AIDL:
A doc about using AIDL (primarily for creating a service interface)
Also includes edits to IntentService javadocs to clarify
different behaviors for some callback methods
Includes a new version of the services lifecycle diagram
and an additional diagram for determining onRebind()
These files are orphaned for now---they're not linked in the sidenav,
until I get the last couple documents submitted for the app fundamentals.
Change-Id: I7fb0a8faff1f18b7d6b9a7b59f66f55a1b6168f1
There was a lot of fancy code just above the clear to ensure
that drawables that aren't affected by the change are kept,
then the entire array was cleared. This patch removes the
clear, so that the drawables that haven't changed are really
kept, matching the logs, comments and larger part of the code.
This patch also fixes the various constant states to return
correct ChangingConfigurations.
Change-Id: Ic11f6179537318d3de16dc58286989eb62a07f15
Old-Change-Id: I22495e6ed232dfe056207ce5155405af1fa82428
We now recognize that a view is now a candidate for receiving the drop
but hasn't yet been notified about it, and send the DRAG_STARTED lifecycle
event properly. This change also changes the DRAG_ENDED policy: now,
every view that had been sent a DRAG_STARTED receives the corresponding
DRAG_ENDED event, even though subsequent visibility changes may have
occured.
Change-Id: If4ae9ddbf414703e9f15eb2005471626bf19f316
Multiple HID devices can be connected. There is no pointing
maintaining the global state. Check individual device state.
Bug: 3350904
Change-Id: I03d9a6015e39e4f9d7f68cc8bbdb19731129b4e6
Bug 3347206
Do not add an extra slot in the drawable state for multiline if it
is not needed.
Updated setDuplicateParentStateEnabled documentation.
Change-Id: I95f74284721e25b483e12e9b861e810a55c260b6
The problem is that if a window containing children is removed
before the children are, the children may be lost. This change
(amongst the huge amount of new debugging code) now ensures at
this point that all children windows are removed when the parent
is.
Note that this results in a bunch of error messages now as the
client app tries to continue to do things with that child window.
This is correct, it shouldn't be doing that, and needs to be
fixed to stop it. But at least it now can't cause the window
manager to leak surfaces.
Change-Id: I7b80dd89ff9de7cb5af1dc759cfa4b31ac29cddc
The new implementation relies on OpenGLRenderer's existing layer
code instead of duplicating it. The new code is much cleaner, with
simpler and better APIs and allows tracking of drawn regions inside
layers. Region tracking is not yet enabled but this will be done
in a future CL.
Change-Id: Ie826121a2227de8252c77b992a61218defea5143
When the remote Jerry device is powered down the BT link to the
phone is dropped, and the Jerry firmware in the phone quite
immediately tries to re-connect to the Jerry device. Then
SDP and Discover Services is started, fetchRemoteUuids() ->
discoverServicesNative(). This results in an asynchronous dbus
call dbus_func_args_async() that is provided with a callback
function, onDiscoverServicesResult(), but before this callback
function is used Bluetooth is disabled according to the problem
scenario above. For some reason this discover services activity
is not cleared when Bluetooth is disabled, so when Bluetooth
is enabled again the (old) callback function
onDiscoverServicesResult() is executed, but the following
getAddressFromObjectPath() fails. The reason for this is that
the deviceObjectPath parameter contains an old value,
containg the process id of the old bluetoothd (the one running
before Bluetooth was disabled). Then the new updated
AdapterObjectPath /org/bluez/<new bluetooth hd pid>/hci0/dev_
is not a prefix of the old deviceObjectPath /org/bluez/<old
bluetooth hd pid>/hci0/dev_<BT_ADDR>, which results in that null
will be used as address in sendUuidIntent(), and later on,
ending up in the BluetoothDevice constructor where and
IllegalArgumentExceotion is thrown due to
Bluetooth address = null. Then the phone will crash.
Making sure sendUuidIntent() is not called when address is null
is a work-around for the problem.
Change-Id: I8ff60bad80de3b379cef0970402943dfa4de3cfd