This adds a Java-language implementation of EventRecurrence.parse(),
to make it easier to relocate it for the benefit of unbundled
Calendar.
Differences from the native version:
- enforces that FREQ appears first
- allows (but ignores) X-* parts
- improved validation on various values
- error messages are more specific
- enforces that only one of UNTIL and COUNT may be present [disabled]
- allows lower-case property and enumeration values [disabled]
As part of the transition process, both versions of the parser are
called on every request, and the results are compared. If the results
are different a warning message is logged.
An unnecessary constructor was removed.
This also this moves some EventRecurrence tests out of CalendarProvider,
into coretests, and adds a simple parse test with the examples from
the RFC.
Bug 4575374
Change-Id: If737ed1272fda65c93363d87b2da12b85e644f5b
This change fixes a bug in the SurfaceTexture JNI where a thread that
the Dalvik VM was not aware of calls the onFrameAvailable callback.
When this happens the callback needs to first attach the thread to the
VM before attempting to post the onFrameAvailable event for Java code to
handle.
Change-Id: I6a5470c32611ea6f38e9167779450f50635cabd3
This adds support for setting a SurfaceTexture as the MediaPlayer video
sink by using a ParcelSurfaceTexture object. The goal is to enable a
SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then
be set on the MediaPlayer.
Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
This adds a new ParcelSurfaceTexture.java class that can be instantiated with
a SurfaceTexture and used to send the corresponding ISurfaceTexture interface
to another process via Binder. The ParcelSurfaceTexture java object can then
be used to create an ANativeWindow based on the SurfaceTextureClient interface.
Change-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817
Every available shared-storage volume is backed up, tagged with its
ordinal in the set of mounted shared volumes. This is an approximation
of "internal + the external card". This lets us restore things to the
same volume [or "equivalent" volume, in the case of a cross-model
restore] as they originated on.
Also fixed a bug in the handling of files/dirs with spaces in
their names.
Change-Id: I380019da8d0bb5b3699bd7c11eeff621a88e78c3
The IMG architecture does not support the EGL_SWAP_BEHAVIOR_PRESERVED_BIT
in EGL configurations. This bit is used only to be able to change the
EGL_SWAP_BEHAVIOR, which matters when the default behavior is not the
one we want. However on IMG, the default swap behavior is the one we
desire.
Change-Id: Iff5980c97df9e41bc837e424baf83b8eadbb7161
Basic sanity check for the length fields in NdefRecord; this prevents
malformed NdefRecords from crashing the vm and the entire NFC service
with it.
Bug: 4165324
Change-Id: I67b341d445d6647cb76cc24ea49afaf77de0610e
NdefMessages created from byte arrays set the wrong flags on
NdefRecord: every record had at least FLAG_MB|FLAG_ME set, instead of actually
setting the flags from the byte-stream itself. Fixed by creating an internal
constructor which can take the flags.
Public constructor remains the same, as we don't want to bother application
writers with these flags - they can be inferred from the context in which the
record is used. Getting the flags is not a public operation on an NdefRecord
either. However, applications can get the byte[] representation and it
is reasonable for them to expect the flags byte to be set correctly.
Change-Id: Ic32411688dd092c55b1aeccbba9635792e15a671
Added a new PointerIcon API (hidden for now) for loading
pointer icons.
Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.
Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.
Removed the SpotController stub and folded its responsibilities
into PointerController.
Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.
The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.
The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.
The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.
Bug: 4086785
Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
* commit '69ed0b628e18570f3fc7909fcdadc1e06f42e944':
Use proper type for oob variable in register_agent. Without this change the BluetoothEventLoop crashes on my armv5 arch board.
* commit 'd1735ef91af201ff140f8d954dd07eff80836d20':
Use proper type for oob variable in register_agent. Without this change the BluetoothEventLoop crashes on my armv5 arch board.