This previous frame size computation code had two incorrect
assumptions:
1/ the ADTS frame length value already contains the header size
2/ the ADTS header is not of fixed size: it is 2 bytes bigger
if it contains the CRC value.
For 1/, the code worked because when the header size was added
to the frame size, the + operator is of stronger precedence
than the ? operator, so the size added was always 0 (instead
of ADTS_HEADER_LENGTH.
For 2/, the code worked as long as there was no CRC in the ADTS
data.
The fix consists in:
- documenting what the frame length computation code returns
- fixing the frame length computation
- when computing the frame length, also returning the header
size so the correct data can be sent to the decoder.
Change-Id: I92df72a9e531f594f762e63d62f9dee7b0109904
This integrates a new version of TransportControlView into LockScreen
and adds plumbing to handle new AudioService events to show/hide the view
and updates the required assets for all devices.
Updated to use new AudioManager API. Since the current API only supports
one RCD, the handler now lives in TransportControlView.
Change-Id: I220d4dd760bef35bd84209adc3c5829bf5bc9a2c
5158104: com.android.contacts: java.lang.IllegalStateException:
Can not perform this action after onSaveInstanceState at
android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1201)
The ViewPager can just commit without worrying about a state loss,
since it can correctly reconstruct its state later.
4981556: Fragment.mImmediateActivity doesn't get restored on orientation change
I am giving up on this thing; I just don't see how it can actually
be correct. So now instead of getting an exception about a dup
add/remove at point of the add/remove call, this will happen later when
processing the transaction.
Also add an API for controlling the visibility of menus, which ViewPager
can use to have the correct menus shows. And add a method to get the
name of a back stack entry.
Change-Id: Idcba14cfa2a172545a7a2a2c466cb49ceb789619
3GPP2 uses the local timezone for timestamps in SMS messages.
Use the local timezone instead of UTC when decoding bearer data.
Bug: 5123883
Change-Id: Iec25bcbb7862f0794ead80b6923c815b68bdd2a5
Move Bluetooth remove service record handler to the app main thread.
This removes the dependency of caller thread that constructs the
BluetoothAdapter singleton instance. The caller thread could stop while
BluetoothAdapter singleton exists but lose the handler context.
Make the BluetoothService.removeServiceRecord return quickly without
blocking on native call.
bug 4999443
Change-Id: I302534baa381f4aca8192e1e4a9ea21793b07ba6
New broadcast that is dispatched immediately after connectivity
changes have been handled by ConnectivityService, bypassing any
applicable CONNECTIVITY_CHANGE_DELAY.
Also protect CONNECTIVITY_CHANGE broadcasts, since they should only
be sent by system.
Bug: 5198167
Change-Id: I75f1fb44b21da1879f0ab960bcaa481126d70fde
- make the ellipsizing condition easier to read
- allow ellipsizing only and only if
- not MARQUEE
- single line
- END only on the last visible line when multiple lines
Change-Id: I6b08e4a735ebc4875a208f0538d9cf937240316e
On devices that do not require showing lock before unlock, we now only create
just the unlock screen. In addition to simplifying the code, this also
prevents keeping around a potentially unusued lock screen and saves ~1MB
in the system process on devices with only a secure lockscreen.
Change-Id: I533f2692b44a7991d4850cecc874c76166e7ce71
The interpretation of BT NREC by AudioFlinger to enable
or disable AEC and NS was wrong: NREC to ON (default) means
the phone (Audio Gateway) must enable local AEC and NS.
Change-Id: I88a264e7fc9831c43bbace4f6b585baec73f2006
This is a set of changes to allow for splitting off the Profile
concept in the Contacts Provider into a separate database:
- Removed the ALLOW_PROFILE parameter, as it is no longer possible
to combine profile data with contacts data in a single query.
- Added profile sync state as a separate table.
- Clarified status update API usage to indicate that profile updates
need to either be done for a specific data ID or using a new
profile-specific URI.
- Added constant and API for determining whether an ID falls within
the profile ID-space.
Bug 5204577
Change-Id: Ia0f8c6b490845100dd6d44e5e01a3b27346f077e
Long press to select, the action popup (Paste) is displayed.
A second long press moves the selection (selection mode is still on),
but the action popup's location was not updated.
Change-Id: I2ac133e608dbca35ec0236b47b42f029623fc303
There was a bug in an InputMethod app, where popups for the keys
would not pop-down again. The problem was that they were being
marked INVISIBLE, but the new invalidation logic noop'd the
invalidate() call that used to take place. Adding to that was logic
in setFlags() that only invalidated a parent for parents that are
instanceof ViewGroup. In this case, the parent is a ViewRootImpl.
Fix is to call invalidateChild() on the parent if it's not a ViewGroup.
Change-Id: I2c2352072d383cee1367ea7ee6c2207077721fd5
This change updates the MediaDump test to use the new
MediaPlayer#setSurface method in place of MediaPlayer#setTexture, which
will be removed.
Change-Id: I33f59705c728f0884452d45cf83cb5b80f66a95a
This change updates HTML5VideoView to use the new MediaPlayer#setSurface
method rather than MediaPlayer#setTexture, which is going to be removed.
Change-Id: Ia4c8c822bd4735caf95f3f295485d60f016577c1
When we first ported wpa_supplicant 0.8, we had a work around
to fix the supplicant state change behavior from the driver.
Remove the work around since the driver behavior is fixed.
Bug: 5195278
Change-Id: I320f21ab01704931a3def6214b0cc40f214a688e
This change unhides the Surface constructor that creates a Surface that
pushes frames to a SurfaceTexture.
Change-Id: I2e587afc52c9838d25b8681cae7421734b3e7b6e