SendKeyAction is one of FeatureAction classes that handles HDMI-CEC UCP/UCP
(User Control Pressed/Release) command transmission flow mechanism.
Change-Id: Iede8479103330c1f9db516218c6a94d09ef6b7f4
Vendor id and osd name can be cached in be reused
later.
Along with this, fix a bug on HotplugDetectionAction.
Change-Id: I0583a9c266eed4281a99a59b1301f41b3e155505
In order to transfer some keyevent to other device
we need to have a logic to translate Android keycode
to Hdmi CEC keycode and vice versa.
HdmiCecKeyTranslater handles bidirectional keycode translation.
Basically it assumes bijection between android key code to
a pair of cec keycode and its optional param.
KeycodeEntry of HdmiCecKeycodeTranslate handles a mapping of it.
Note that all available mappings have no parameterized mapping.
If new Android keycode is defined for parameterized cec keycode,
entry should be added.
Change-Id: I287082a0a6ef5eb6f0916044b78179fe3fdfbece
1. Rename getNetworkPrefixLength to getPrefixLength. Update all
callers in frameworks/base and add a shim method and a TODO
for the rest.
2. @hide isSameAddressAs. It doesn't add much, and it's just
one-liner that callers can implement if they want.
3. Fix the alignment of the initial paragraph (<ul> should have
been </ul>).
4. Remove the documentation that talks about creating
LinkAddresses, since there's no public API for creating them.
With these changes I think LinkAddress is fine as a public API.
Bug: 15142362
Change-Id: Iaf3b1db577745bb68a9e1dd7f96d666dd3f3ec7c
This change uses IpPrefix only in the public API and continues
to use LinkAddress for everything else. It does not change the
callers to use the new APIs, with the exception of changing
all current uses of getDestination to getDestinationLinkAddress
to make room for the new getDestination method that returns an
IpPrefix.
Based on Sreeram's earlier change:
https://googleplex-android-review.git.corp.google.com/#/c/477874/
but a bit simplified and with a bit more documentation.
Bug: 15142362
Bug: 13885501
Change-Id: Ib4cd96b22cbff4ea31bb26a7853989f50da8de4e
The IME-related system dialogs should be placed over any window
owned by the current IME. However, the framework has taken only
the main window of the current IME has been taken into account.
As a result, the system has not been able to show its IME-related
dialog properly layer when the IME is showing its own dialog.
This CL addresses the above issue.
BUG: 5809660
Change-Id: I205321c7ed42516f36a4bf29dd6a159ac34fd5ec
MDMs in the managed profile needs to be able to call
DPM.isApplicationBlocked without the INTERACT_ACROSS_USERS
permission. DevicePolicyManager checks for appropriate
PROFILE_OWNER permission and then removes callerId, so this
change is needed to prevent a spurious security exception.
Bug: 14400206
Change-Id: Idd1bda6bb234f6cb7cb78a885ae2d7cc5cca4890
(cherry picked from commit c11c67b3e117b4fec3245f87b6d510461c1f8323)
HDMI bus for CEC is quite slow and it may cause conflict
or timeout during device discovery stage or hot-plug
detection stage. However, some static information, such
as physical address, vendor id or osd name are usually
sent automatically when a device is connected, and
almost never change after updated.
Change-Id: I4df9d27ef1af04ee35d63a764580fed07c32d15d
Change definition of FLAG_ACTIVITY_NEW_DOCUMENT from
FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET to
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET alone.
Also add new documentLaunchMode of "never" to allow activity
writers to keep their activity from being launched in document mode.
Fixes bug 15468528.
Change-Id: Ied11adf97e85c5d3f99f4c0bbbb4a2905dcfb24e
LocationManagerService normally doesn't provide location to background users.
With managed profiles, there are more than one foreground users and they both
need to get location when in the foreground. So LMS will now compare the caller
against all foreground users and provide location if valid.
Bug: 14671472
Change-Id: If3baabfc5a3ab3f2f081d7fc28f35d840d5f1489
Bug: 14993295
Hooks up a ConnectivityManager.NetworkActiveListener.
Previously was using 3 locks where 1 would suffice,
negligible to no performance issues b/c most of the previous locks
were nested.
Added OnNetworkActiveListener so that the ConnectivityController can kick of
tasks when it knows that the network is active.
Fixed some bugs that stopped timecontroller from executing tasks.
Requesting a retry will not add a deadline to that task. However backed-off
tasks are run as soon as they are ready, subject to their constraints.
Added receiver to listen for package removal and user removal, which will
delete any outstanding jobs for that uid.
Change-Id: I4c4523af558b927f19b8a215878fcc7198abb93f
This CL introduces a sequence number to avoid redundant IPCs
between IMM and IMMS. The basic concept is that:
1. IMMS maintains a sequence number for #notifyUserAction.
2. IMMS increases the sequence number whenever the current
IME/subtype is changed.
3. IMMS notifies the new sequence number to IMM.
4. IMM maintains the last sent sequence number and the next
sequence number. IMM should call #notifyUserAction only
once per particular sequence number.
5. IMMS ignores #notifyUserAction if the specified sequence
number is not the expected one.
BUG: 7043015
Change-Id: I19ad8542659bc092b92ee13eb9f1d68ddd4b815a
Fixes an issue that TV input is disabled forever after package upgrade,
when it's upgraded while in use. The root cause is as below:
- Package is killed while upgrade.
- Service disconnects, and tries to rebind for reconnecting, but bind fails
because service is not available temporarily. Still ServiceState.mBound is
set to true.
- Should rebind next when callback is registered or new session is created,
but doesn't because ServiceState is already marked bound.
Bug: 14981201
Change-Id: Ia5b0acb33f1247064213024438f114bc40238648