- Make sure to clean-up obsolete listeners.
- Close cursor after using it.
- Add virtual destructor to the base class of OnInfoListener.
Changes are made by SEMC and Sony.
Change-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139
Allow the overlay object to be destroyed whenever the destroy is
invoked. Currently the destroy call returns if there is an error
encountered, which results in open data and control channels.
Change-Id: I1f2ef4ebb5fb1dcabf05ab50b5bbf6e5e240a63a
Adding a simple API enabling applications to control SMS-CB reception.
Implementing parsing, assembly and dispatching of SMS-CB messages over GSM.
Change-Id: Iee841605a45a3af60c7602af175056afb03a38da
-Access permission handling
Introduce an internal function which allows the desired process to
access decryption flow. This new function is just for reference and
each OEM manufacturer should implement/replace with their solutions.
-New API, getMetadata()
This API is for retrieving media metadata from container-based DRM,
such as OMA forward-lock content. This API asks DRM agent to retrieve
media metadata hiddein inside of DRM special container.
-New API, acquireRights()
This API wraps acquireDrmInfo() and processDrmInfo().
If DRM agent has valid implementation of both APIs,
Application can acquire DrmRights only by calling this API.
-Bug fix in event loop of OnInfoListener.
Separate OnInfo event loop from mail thread loop so as to avoid
the issue that message is not dispatched when mail thread is busy.
Changes are made by SEMC and Sony.
Change-Id: I04ee3e0988152a71e221f2256d83253749a29da0
addStringTag() caches non-ascii metadata strings for later
processing, and then endFile() will be called at the end of
processFile() to convert non-ascii strings from locale's charset
to utf-8 if required.
Stagefright's processFile() failed to call endFile() when the
processing file is a MIDI file or an OGG file. This patch fixes
this problem to populate metadata correctly.
Reviewed by: Brad Fitzpatrick, Marco Nelissen.
Change-Id: I072e79d81dce1fec63297d2b5d2b870a72e5b66e
The style used in the composing text for input methods
takes a long time to create. This is experienced as a
lag when composing the first word.
The bottleneck lies in the 10 calls to
nativeIndexOfString which does a linear search through
thousands of strings.
Change-Id: I3184b2be3673d384cca19e9a70ad94b4d3085576
err msg: frameworks/base/media/libstagefright/MediaExtractor.cpp:62: error: invalid conversion from ‘const char*’ to ‘char*’
strrchr provides two prototypes. the one used returns const char* instead of char*
Change-Id: I6442ee642aebfbfc2f977bab40016cfedc7789ac
The signatures of the existing buildQuery and buildUnionSubQuery methods include a selectionArgs
parameter that is not actually being used in the method implementations. This parameter leads
to the misconception that SQL paramter substitution is carried out by these methods. I added
new variants of these methods without that parameter and deprecated the old variants.
Change-Id: I1bf770d5c777649e9aac36d93aa93bd65bbcc2a3
If the memory card is not inserted (or removed) from
the phone the shut down process is very long. It
takes almost 24 seconds. For the phone with memory
card the averige is 5-6 seconds
Make sure to send onShutDownComplete even if an SD
card is not mounted and no unmount is done.
Change-Id: I0e79b82e294a971f5e7144cdd3cc16b7ff414b9c
When handling large images during an update of a widget,
we can run out of memory in the Binder thread. This will
cause an OutOfMemoryError to be thrown. When an Error is
thrown in the Binder thread, the entire system will crash.
This was fixed by catching this OutOfMemoryError and instead
throw a RuntimeException to keep the system alive.
Change-Id: If27199676c6f8aef23fb249be1197ca5dfe0fe99
This change defines a macro NUM_FRAME_BUFFERS to set
the desired number of framebuffers to be used by the UI,
instead of hard-coding 2 framebuffers.
Aditional logic has been added to handle the initialization
and destruction of NUM_FRAME_BUFFERS buffers.
Change-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
The animation movie disappears due to the incorrect logic of
commit c11f46259a1e8f4e7e58925aefd1ed9eaf57a7fc.
Change-Id: I9c0eac2bf2950fe20e931da367036ddf38d81f52
Make clear in the Javadoc comments of the `Cursor` get* methods that
implementations thereof can have implementation-defined behavior. In some cases,
these changes actually correct the documentation. For example, in the case of
`getShort` and the `SQLiteCursor` implementation thereof, non-numeric data is
*not* converted to a `short` via Short#valueOf or even in a functionally-
equivalent manner.
Change-Id: Ib2f81811a603680b52fc482eb9c0f3195447566f
Each HTTP request sent from a mobile handset is usually required to
include a x-wap-profile header following the UAProf specification. The
value of this header is a URL that points to the location of a
document which specifies relevant capabilities of the phone, e.g.
supported network bearers, video formats or screen size. This change
defines a global string resource that holds this URL, and also adds
the necessary code in the web widget to include this header in HTTP
requests.
- Overload openDecryptSession() with uri parameter
in order to accept URI of DRM content,
Following API is added,
DecryptHandle*openDecryptSession(const char* uri);.
- Unify texisting three event types of processDrmInfo()
so that caller of DRM framework does not have to handle many event types.
- Let DrmManagerService call load/unload plugins API so that
client of DRM framework does not have to manage plug-in load/unload.
- Trivial fix in DrmManagerClient.java is also incorporated.
Changes are made by Sony Corporation.
Change-Id: If62b47fa0360718fdc943e6e6143671d7db26adc
In two places involving locking, reordered the code so that the lock
acquisition is performed outside of the `try` block and everything
else that needs to run while the lock is locked *within* the `try`
block.
Change-Id: I3dad2c4bbf60b219fc6db2aa35e2ed296cb39128