SerialManager: provides access to serial ports
SerialPort: for reading and writing data to and from serial ports
IO with both array based and direct ByteBuffers is supported.
Accessing serial ports requires android.permission.SERIAL_PORT permission
Each platform must configure list of supported serial ports in the
config_serialPorts resource overlay
(this is needed to prevent apps from accidentally accessing the bluetooth
or other system UARTs).
In addition, the platform uevent.rc file must set the owner to the
/dev/tty* files to "system" so the framework can access the port.
Change-Id: I6afa78ceacf08486aaebced4156ecd2e33051879
Signed-off-by: Mike Lockwood <lockwood@android.com>
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
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
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
Bug: 5220835
It is possible to call setProperty before webcore has initialized.
In that case, the content invalidate is unnecessary as there is no
content to invalidate, so just ignore the request.
Change-Id: I52471a1739443ba8f1e514a5908678552246d80b