Commit Graph

616 Commits

Author SHA1 Message Date
Justin Koh
1e822a8fe1 Merge "Hide HDMI CEC from KKWT DO NOT MERGE" into klp-modular-dev 2014-05-05 22:38:26 +00:00
Justin Koh
f8a10d775e Merge "Hide getRequiredPermission in android.hardware.Sensor DO NOT MERGE" into klp-modular-dev 2014-05-05 22:38:17 +00:00
Justin Koh
e5238f53f0 Hide HDMI CEC from KKWT DO NOT MERGE
Hide HDMI CEC from KKWT.
Bug: 14116162

Change-Id: I086a5e51bd848a5097ccb0c47900fde30db2e7aa
2014-05-05 22:19:19 +00:00
Justin Koh
e647dd354e Hide UsbDevice changes in KKWT DO NOT MERGE
Hide UsbDevice changes in KKWT.
Bug: 14116162

Change-Id: I1582b9d536b243fa18beca6fdd8f379f9e32e137
2014-05-05 22:19:05 +00:00
Justin Koh
618f30db3e Hide getRequiredPermission in android.hardware.Sensor DO NOT MERGE
Hide getRequiredPermission in android.hardware.Sensor.
Bug: 14116162

Change-Id: I1e5c8361f6d0710c5da78d9506f70fa40a814b92
2014-05-05 14:51:55 -07:00
Jeff Brown
92207df753 Add support for dynamically setting the virtual display surface.
Previously, the surface that backs a virtual display had to be set
at the time when the display was created.  This change now makes
it possible to set or remove the surface later.  The virtual display
is treated as if it were "off" while no surface is attached to it.

Change-Id: Ib4fdbbb8b4ee79f0fb9ceb648f9bda4a8fa6a2ca
2014-04-16 18:45:05 -07:00
Aravind Akella
cd4c1c714c Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev 2014-04-11 19:32:38 +00:00
Jinsuk Kim
b11f250e09 Merge "Delegate HdmiCecService method impl to HdmiCecDevice subclass" into klp-modular-dev 2014-04-11 09:38:23 +00:00
Jinsuk Kim
61791075f4 Delegate HdmiCecService method impl to HdmiCecDevice subclass
Most of the methods in the interface IHdmiCecService should be implemented
based on the device type. This CL makes a change such that the HdmiCecDevice
just has stub methods that should be overriden by subclasses.

Other changes:
  - Fixed a bug of <Inactive Source> not sending its physical address
    in its message body. Also the command should have been sent to TV
    only rather than broadcast.

  - Put back sendGiveDevicePowerStatus interface method. It allows the client
    to keep track of the other device(like TV) power status more closely.
    Devices goes through the status from standby -> transient to on -> on
    but the CEC spec doesn't require that they broacast it actively.

    The restored method can be used to let the playback device to get
    up-to-date power status of TV/display when it is booting up.

    This method should work the same across all the device types. So it was
    implemented in the service, not delegated to HdmiCecDevice.

  - Send <Report Physical Address> when a new logical device is registered,
    which is required by CEC spec: "it should report the association between
    its logical and physical address by broadcasting <Report Physical
    Address>

Change-Id: Iac1d2cf5783d947f2dcd6965a54670fbdb8e6a63
2014-04-11 18:35:01 +09:00
Jeff Brown
037c33eae7 Plumb display power state through display manager.
Declare a new method, Display.getState() to retrieve the actual
power state of a display.

Improved documentation for Intent.ACTION_SCREEN_ON and
Intent.ACTION_SCREEN_OFF to clarify what they really mean in
terms of the interactive state of the device.

Deprecated PowerManager.isScreenOn() and replaced it with
PowerManager.isInteractive() with a more suggestive name and
better documentation.

Redirect display power state changes to go through the display
manager first and only then head over to the power manager for
legacy compatibility.

Eliminated the bright here and woke here policy flags since they
were unused.  Simplified the input dispatch policy somewhat.

Ensure that screen wake locks are respected up until the point
when dozing really begins.

Fixed a regression in DreamService where onDreamingStarted
might be called before onWindowAttached.

Bug: 13133142
Bug: 13472578
Bug: 13929355
Bug: 13760290
Change-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0
2014-04-10 20:46:14 -07:00
Aravind Akella
cd9a7bb3ba Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
This reverts commit 819239e5be.

Change-Id: I4bbb222e5c9dc65aed03aa28fd9e0f00fe335819
2014-04-11 00:05:24 +00:00
Jeff Brown
ad9ef191f5 Move display power controller to display manager service. (DO NOT MERGE)
This refactoring is in preparation for enabling the display manager
to have more control over the blanking state of individual displays.
There are no functional changes.  Some bits will be cleaned up in
a subsequent patch.

Bug: 13133142
Change-Id: Ib811835e8757449c7899ac61807029baaf998161
2014-04-08 20:41:46 -07:00
Etienne Le Grand
819239e5be Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
This reverts commit fd53d8352a.

Change-Id: I1c6322d1d992147bb5ef201238374966128c1a61
2014-04-05 04:47:14 +00:00
Etienne Le Grand
fd53d8352a Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
Change-Id: I16e5da68f860494e24cca64075be76fad02617bc
2014-04-04 16:31:08 -07:00
Jinsuk Kim
60b17cc094 Use build property for CEC device OSD name
Previously OSD name was based on device type. This CL makes it
independent of device type. CEC spec says "A device that implements
more than one type of CEC functionality should respond with the same
OSD name for each logical address. It is recommended that the name
refers to the complete physical product rather than the individual
CEC functionality".

Now the default name comes from system build property. I removed
setOsdName() from aidl for now since it won't be in use.

Change-Id: I3c9fb877fad4bc5efef56268d155a3f37a865fc2
2014-04-03 07:59:27 +09:00
Jinsuk Kim
b1dca1624d Merge "Maintain display power status for playback device" into klp-modular-dev 2014-04-02 22:39:41 +00:00
Jinsuk Kim
4e90fcd190 Maintain display power status for playback device
With this CL, the power status of TV/display is keep tracked of
by hdmi cec server part, specfically HdmiCecDevicePlayback.
Turned the HdmiCecDevice to abstract class from which classes of
concrete device type(HdmiCecDevicePlayback, HdmiCecDeviceTV) are
inherited. The display power status code is put in HdmiCecDevicePlayback
only. HdmiCecDeviceTv will have its own logic that manages power status of
devices connected to it. For now it only has a bare minimum code.
Will be worked on in follow up CLs.

Other changes:

    - Replaced sendGiveDevicePowerStatus() with isTvOn() so that the status
      can be queried by clients.

    - Defensively check the availability of HdmiCecService so that
      HdmiCecManager.getClient() returns null in case the service couldn't
      be initialized. This ensures clients of the service gets the nulled-out
      HdmiCecClient when called in the state/configuration where the service
      is not available, thus proceed accordingly.

Change-Id: Idaf69e73cfbd639c0b40b1bd4b6146f011246180
2014-04-02 14:46:14 +09:00
Eino-Ville Talvala
55a1e78fbd am 1555cec2: am ecad0541: Merge "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values" into klp-dev
* commit '1555cec2e5452c6d4583dfd3deffbb28ebd886fe':
  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values
2014-03-25 20:11:12 +00:00
Eino-Ville Talvala
1555cec2e5 am ecad0541: Merge "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values" into klp-dev
* commit 'ecad0541a6e90b98ad96456c4e6992121ee8a789':
  DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values
2014-03-25 19:01:45 +00:00
Jinsuk Kim
fbcd503645 Add HdmiCecManager
Introduces HdmiCecManager/HdmiCecClient to provide apps/system components
with the way to access HdmiCecService via Context.getSystemService(HDMI_CEC_SERVICE).

Change-Id: I39da071a328074a4b7b049947943688bd7779c26
2014-03-24 08:19:39 +09:00
Igor Murashkin
965bed1c2c DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values
Bug: 12609188
Change-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da
2014-03-22 01:36:54 +00:00
Jinsuk Kim
c61f4dd744 Merge "Add HDMI-CEC service" into klp-modular-dev 2014-03-21 02:32:38 +00:00
Jinsuk Kim
4f512fb451 Add HDMI-CEC service
This CL adds a system service handling HDMI-CEC protocol. The service
is equipped with the capability sending/receiving HDMI-CEC messages

Not all the messages are in place. Currently it has messages to support
a few features only, as follows:

- One touch play
- System information
- Routing control (partially - active source status maintenance only)
- Device OSD transfer
- Power status

It will be extended to cover the wider usages in the follow up CLs.

The CEC standard version referenced in the implementation is 1.3a.

Change-Id: Ifed0b02f52ebf098eddb3bd0987efbf353b7e8fe
2014-03-20 16:40:22 +09:00
RoboErik
ca9eef6203 b/12068020 Make kb layouts only unique to vendor/product. Do not merge
This is a cherry-pick of https://googleplex-android-review.git.corp.google.com/#/c/399886/

Instead of storing a kb layout per device descriptor (which is expected
to be unique), store it for each vendor/product. This way we can keep
a consistent layout between identical but physically different keyboards.

There are some corner cases this is expected to fail on, namely devices
that incorrectly have the same vendor/product id. Devices that don't
define a vendor/product id will continue to use the descriptor to store
layout files.

Change-Id: I1f2508561992080459310d5a644dad65a9c24f1a
2014-03-12 13:21:08 -07:00
Jeff Brown
38f96e5020 Add support for injecting events into ActivityContainers. (DO NOT MERGE)
Modified ActivityView to inject touch events it receives back into
its activity container.  The container then injects the event into
the input system along with the display id of the underlying virtual
display.

Enhanced the input system to support concurrent dispatch of touch
events on multiple displays which is required for this to work.

Change-Id: I9cf1870db3be6f99a52ed9a1e3ceafe42c940093
2014-02-11 14:43:04 -08:00
Jeff Brown
4ccb823a9f Refactor display manager service to new pattern.
Transform DisplayManagerService into a SystemService and start cleaning
up other local services that it uses from window manager and input manager.

Clean up service thread initialization.

Remove unnecessary static variables from ActivityManagerService.

It's starting to become clear that we really need a better way to manage
service dependencies.  Boot phases don't quite cut it.

Change-Id: If319dbd7cbfbd4812fe55ece969e818d4b20755b
2014-01-16 22:16:42 -08:00
Jeff Brown
b6d9eb875a Merge "Add flag to force public virtual display to show own content." into klp-modular-dev 2014-01-09 02:12:59 +00:00
Mike Lockwood
12ec2e6d71 am 99206593: am 9607d78f: Merge "Added missing USB device descriptor fields needed for intent filters"
* commit '992065938a95e5273b22dea009b8581bcc693e61':
  Added missing USB device descriptor fields needed for intent filters
2014-01-08 08:01:42 -08:00
Mike Lockwood
9607d78f51 Merge "Added missing USB device descriptor fields needed for intent filters" 2014-01-08 15:56:13 +00:00
Narayan Kamath
71cdc73d28 am 53acc7ae: am f5598210: Merge "AArch64: Use long for pointers in hardware classes"
* commit '53acc7ae00ba921e8c7afb9415dbf473785a3be6':
  AArch64: Use long for pointers in hardware classes
2014-01-08 03:58:17 -08:00
Ashok Bhat
4838e33812 AArch64: Use long for pointers in hardware classes
For storing pointers, long is used in hardware classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Icdeb67f9273fb2d8f6d88ca68d7f7d0950796fc1
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-08 10:17:21 +00:00
Jeff Brown
d14c8c9039 Add flag to force public virtual display to show own content.
Change-Id: I1039f2ef3154169ec90411a4c7ba2c94629f72c4
2014-01-07 19:30:07 -08:00
Katie McCormick
484b57a565 am 9d0a88bd: Merge "Doc updates: Javadoc fixes" into klp-docs
* commit '9d0a88bd4e07deac01d7759b70cdf160456be1c0':
  Doc updates: Javadoc fixes
2013-11-26 21:58:18 +00:00
Katie McCormick
f2ef28d840 Doc updates: Javadoc fixes
Change-Id: I82381056f9f13e53ab8a0525f5a53bf98674c052
2013-11-26 13:52:48 -08:00
Jeff Brown
ce468a35b3 Stop wifi display discovery when no longer needed.
Keep track of how many clients are requesting scans and scan
continuously until all of them are gone then explicitly terminate the
scan instead of letting it time out as before.

Suspend wifi display scans while connecting or connected to a remote
display.  This is handled by both the display manager and media router
since neither has complete information about what is happening.
Much of this code will no longer be needed once wifi display support
is integrated directly into the media router service.

Ensure that we don't attempt to scan or connect to wifi displays
while the wifi display feature is off.

Infer when a connection attempt fails and unselect the wifi display
route automatically so it doesn't appear to be connecting forever.

Fix issues around correctly canceling and retrying connection attempts.
Often we would cancel but not retry.

Improved connection reliability somewhat.  It seems that discovery must
already be in progress in order for a connection attempt to succeed.

Ensure QuickSettings uses exactly the same logic as the MediaRouteButton
to determine when the remote display tile should be made visible.

Bug: 11717053
Change-Id: I18afc977b0e8c26204b8c96adaa79f05225f7b6e
2013-11-21 19:32:59 -08:00
Jeff Brown
af574183c2 Disallow applications from initiating cast screen.
Only allow the system ui and settings to connect to a remote display.
To do this, we essentially hide the remote displays from applications
by using the ROUTE_TYPE_REMOTE_DISPLAY then add permission checks
around the operations that connect to them.

As a bonus, this may actually save power on devices since applications
that use MediaRouter will not longer be performing discover on
remote display routes at all.

Bug: 11257292
Change-Id: I9ea8c568df4df5a0f0cf3d0f11b39c87e2110795
2013-11-15 00:29:43 -08:00
Eino-Ville Talvala
7a31310439 Camera2: Add support for partial result metadata quirk
- Add new CaptureListener.onCapturePartial() callback for receiving
  partial result metadata sooner than the full result metadata will be sent
  in onCaptureComplete().
- Add hidden keys for the partial result quirk
- Dispatch results to onCapturePartial based on the partial result quirk

All additions are hidden for now.

Bug: 11115603
Change-Id: Ie9a3be640f147257ae22e5b5edf0974bddc1cb85
2013-11-11 13:47:46 -08:00
Ruben Brunk
e73b41b27f camera2: Remove prior repeating request when setting.
Bug: 11579778
Change-Id: Idb10662413ff5ee939adbdeab68a97cb34750fac
2013-11-07 19:30:43 -08:00
Ruben Brunk
decfe95fce gcam: Avoid leaking repeating CaptureRequests.
Bug: 11352359
Change-Id: I598416c08c0a7c3e5a8054a4d80ed29d82870bd2
2013-10-31 15:33:46 -07:00
Aravind Akella
31d14ce57c Fix for ClassCastException in SystemSensorManager.
Bug: 11068858
Change-Id: I074798a6978b91766b37dec32f2683d8e4adf5d3
2013-10-23 15:09:13 -07:00
Zhijun He
6355103bca Merge "Camera2: filter bad faces" into klp-dev 2013-10-16 23:39:24 +00:00
Zhijun He
844b3520cc Camera2: filter bad faces
Filter bad face score and ids.

Bug: 11257538
Change-Id: I9beb042e8c0d2f08a3efcd2877deee036b80482f
2013-10-16 16:13:50 -07:00
Scott Main
cc2195bb56 some javadoc improvements for virtual display and
new meta tag name

Change-Id: If9caba425f825652468a0f3e868f71ed1a778fb1
2013-10-16 14:08:07 -07:00
Zhijun He
58216c2650 Camera2: return CaptureResult.STATISTICS_FACES
Changes included in this CL:

- remove the WAR for face detect mode null case.
- make the sanity check assert to warnings.
- make number of faces to be the minimal length of face metadata array length to
avoid out of bound access, since we relax the sanity check.

Bug: 11206459
Change-Id: Ifd9f7f79617039c1b3ad631f202b48076d775e09
2013-10-15 07:46:53 -07:00
Eino-Ville Talvala
615b75f335 Camera2: Fix face rectangle coordinate mapping, and use Key.equals
- Faces are reported differently from other rectangles, so the mapping
  has to be specialized for them

- Use Key.equals for key comparison.

Bug: 11206459
Change-Id: I9a2a408dad981c2911048191ec30977020953146
2013-10-14 18:20:43 -07:00
Eino-Ville Talvala
cd92588528 DO NOT MERGE: Hide new camera API.
Not yet ready.

Bug: 11141002

Change-Id: I4704bffb9ba36af47a66dc5b49cbba00be623aae
2013-10-11 19:26:08 +00:00
Aravind Akella
d9b09fa97e Merge "Fix registerListener and flush bugs." into klp-dev 2013-10-11 02:05:53 +00:00
Aravind Akella
4bdc37d315 Fix registerListener and flush bugs.
1) Fix registerListener to return false when called with a Trigger sensor. Correct java documentation.
2) Remove reservedFlags and FlushCompleteListener parameters from the public API.
3) Create SensorEventListener2 which extends SensorEventListener and has the onFlushCompleted callback.
3) Change flush(Sensor) API to flush(SensorEventListener).

Change-Id: I56ce4e0b6e329483e129a14ad7e8a0cd35665ffe
Bug: 10894703
2013-10-09 19:00:22 -07:00
Eino-Ville Talvala
7b01c5c4d2 Camera2: Properly copy over user tag when cloning requests
Bug: 11141002
Change-Id: Icc5c4150a6796d705f5c6c3bd1322597fc986af2
2013-10-08 19:46:02 -07:00
Alex Ray
69c66f4203 Merge "camera2: describe non-full hw level optional tag entries" into klp-dev 2013-10-07 23:25:24 +00:00