114 Commits

Author SHA1 Message Date
destradaa
ea8a8a6076 Update location framework to accept raw data from GPS HAL.
Change-Id: Ib4feca004b53fa89dcece4299974ab08913455a0
2014-07-11 12:20:39 -07:00
Jinsuk Kim
284c31b92e Update HdmiControlService JNI to the change in HAL definition
Change-Id: Iab235785c4d0242ab5845d1f8ad62d78770ff9c4
2014-07-11 07:26:45 +09:00
Paul Jensen
6bc2c2c34f Convert Vpn from NetworkStateTracker to NetworkAgent.
This eliminates the need for the ConnectivityService.VpnCallback class.
This requires shifting VPNs to the new "network" netd API.
VpnService.protect() is modified to no longer go through ConnectivityService.
NetworkCapabilities is extended to add a transport type for VPNs and a
capability requiring a non-VPN (so the default NetworkRequest isn't satisfied
by a VPN).

bug:15409918
Change-Id: Ic4498f1961582208add6f375ad16ce376ee9eb95
2014-07-10 20:39:33 +00:00
Andres Morales
68d4acd205 Service for reading and writing blocks to PST partition
Permits apps with permission
android.permission.ACCESS_PERSISTENT_PARTITION to obtain
a read and write data blocks to the PST partition.

Only one block ever exists at one time in PST. When
a client writes another block, the previous one is
overwritten.

This permits storing a block of data that will live
across factory resets.

Change-Id: I8f23df3531f3c0512118eb4b7530eff8a8e81c83
2014-07-09 16:27:17 -07:00
Wonsik Kim
1e47ff9f8f Merge "Implement support for buffer producer profile" 2014-07-02 20:35:42 +00:00
Wonsik Kim
0b2691b687 Implement support for buffer producer profile
Bug: 15177117
Change-Id: I7776a8b2959281f10cba742ab75f15f80f6feecf
2014-07-08 15:52:00 +09:00
Jungshik Jang
42230728b8 Add port number to hot plug event handler.
This is to remove a TODO about adding port number to
jni interface.

Bug: 15844074
Change-Id: I4dba0879527035a4cabad6cc80e359e6c1fd39b0
2014-07-08 14:05:59 +09:00
Mike Reed
4a9c3891d4 kNative_8888_SkColorType is now kN32_SkColorType
Change-Id: I13421a21de611203c62c1c1c36570a8cc803907b
2014-07-07 15:47:55 -04:00
Wonsik Kim
839ae5f460 TIF: Let TvInputHal handle multiple streams
Bug: 15579918
Change-Id: Iad972c36d675fb99b5950bcecf5925e660272cb4
2014-07-07 14:36:26 +09:00
Jinsuk Kim
ba147582b1 Remove the usage of TX_STATUS in HdmiControlService
Reflects the change to come in CEC HAL

Change-Id: I3a64e19bbdd8067855911ef11653fe64049b8880
2014-07-03 08:26:44 +00:00
Wonsik Kim
9e922ca970 Fix native calls to null pointer
Since DEVICE_AVAILABLE event fires right after initialization, it
could happen before TvInputHal.mPtr is set, which causes calls to
null pointer. Fix the bug by allowing TvInputHal to wait for mPtr to
be set before calling native methods.

Change-Id: Id07f15130beb69f77c16bf3c735285c31ae4a3a4
2014-06-23 14:06:19 +09:00
Mike Reed
b933055cf3 stop using (deprecated) SkBitmap::Config
Change-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b
2014-06-20 10:28:37 -04:00
Wonsik Kim
a358b53e1d TvInputHardware: Add HDMI port ID
Bug: 15570939
Change-Id: I957804124fa5e417de8c98c6d41332609097d995
2014-06-19 10:35:33 +09:00
Wonsik Kim
d7c29189aa TvInputHardware: Integration with audio framework changes
TvInputHardwareManager detects AudioPort specified by tv_input and
connect source to sink via AudioManager.createAudioPatch().

Bug: 15177175
Change-Id: I2252eb0df2d8287889ed28cc7d76dc1a659fd08b
2014-06-19 10:35:33 +09:00
Jinsuk Kim
63dd3bb360 Fixed a wrong path to HdmiPortInfo class
This fixes a JNI error for HdmiCecController

Change-Id: I8ce987dfa3126ecffd455a964c01d27fb9aa01eb
2014-06-13 14:46:17 +09:00
Jinsuk Kim
0340bbc89f RoutingControlAction for HdmiControlService
Routing control action is initiated in various cases, such as manual
TV input port switching, routing change of a different CEC switch,
and so on. The action determines the device to be a new active source.

Change-Id: I1efcd6ff1919dd94d6fa0e0ffa6e430c48d4e9c6
2014-06-12 23:40:05 +00:00
Jinsuk Kim
a6ce7708d6 DeviceSelectAction for HdmiControlService
DeviceSelectAction is the main handler for the API deviceSelect() which is
used to choose a new active source among logical devices on the bus.

Change-Id: I77582a1f873423fc316d89f67a89a867461a76b2
2014-06-12 23:06:29 +00:00
Jungshik Jang
092b445ef8 Move message handling logic to local device instead of service.
Local device is in charge of handling incoming messages
and for some messages such as <set menum language> or
<report physical address> each device has slightly different
behavior. Instread of checking destination address and
local device status from service, this change leaves it
to each local device.
Note that some messages are still left on service
and will be refactored in the following changes.

Along with this, following changes are included.
1. add missing jin interfaces
  set_option
  set_audio_return_channel
  is_connected
  Note that get_port_info is under review of jinsuk's change
2. if tv device receives <Report Physical Address>,
  starts NewDeviceAction.
3. add constants variables related to new interfaces.
4. add two helper methods for physical address and vendor
  id handling

Change-Id: I9c9d04744bc09fbf38431ecfa6e77097b0618a37
2014-06-12 10:53:36 +09:00
destradaa
96a14701c0 IPv6 support for GPS HAL.
Change-Id: Iacaf3ab86009975ba07e1a13dbe539cf47c5a6f7
2014-06-10 11:14:31 -07:00
Ed Heyl
5adb67d4ce merge 4ce22057, regen api/current.txt
Change-Id: I39186b5c4d41753c729c5d1ee7ee96b03a45c514
2014-06-09 10:41:21 -07:00
Jinsuk Kim
3f48068d78 Remove HdmiCecService
The service is replaced with HdmiControlService. Removing all the related
classes and the initialization of the service.

Change-Id: Ic7baaddffb9873613ddd1096e874f226da983939
2014-06-09 07:55:47 +09:00
destradaa
5ce66d8dcc Re-work the initialization of FLP HAL to make isSupported() static.
b/14839888

Change-Id: Ib5973586fd8a2d4a1e5fd09cf82dd4f4493398d0
2014-06-03 11:09:00 -07:00
Jae Seo
4c9e57f156 resolved conflicts for merge of ebe661c4 to master
Change-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4
2014-06-03 17:06:58 +00:00
Jae Seo
d5cc4a281e Put TV Input Framework under android.media.tv, including TvContract
Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
2014-06-02 11:02:52 -07:00
Florin Malita
9ec2eabe5a Merge "Add a native Canvas wrapper." 2014-06-02 13:37:11 +00:00
Jinsuk Kim
e74282b70b DO NOT MERGE: Stop publishing HdmiCecService, start publishing HdmiControlService
HdmiCecService will soon be deprecated and replaced with HdmiControlService.
Stopped publishing the service, and turned the corresponding manager to
stub so that it will do nothing but print out a warning msg instead.

Will help the app transition to the new service in the meantime. Once
the migration is finished, will gut out all the HdmiCecService/
HdmiCecManager stuff.

Change-Id: Ic34a69c4fb99f4e5a2c8323538195204ab16a545
2014-06-02 11:02:51 +09:00
Jungshik Jang
c47e26ca2f DO NOT MERGE: Add cec message handler to hdmi cec jni implementation
Notification for incoming cec message can be issued
from any thread but jni can call java method
in the thread that jni knows like service thread.
So this change delegates incoming message to
jni-friendly thread, service thread by exploit
looper of service thread.

Change-Id: If3b141d917df3e209912af1778eb509777199969
2014-06-02 10:55:50 +09:00
Florin Malita
5c3d927e17 Add a native Canvas wrapper.
Instead of storing a direct SkCanvas reference, Canvas now tracks
an opaque native wrapper class. The native wrapper can be used to
store additional info for emulating deprecated Skia features
(at this point it only stores a canvas).

Some notes:

* all native handle -> SkCanvas conversions are routed through a
  handful of native utility methods.
* safeCanvasSwap() refactored as a lower level setNativeBitmp() - which
  is what clients need.
* removed unused get_thread_msec() (Canvas.cpp)

Change-Id: I715a5a6f1e1621c1cfc1e510ae4f2ea15cf11114
2014-05-30 16:11:04 -04:00
Jinsuk Kim
8692fc68a4 Stop publishing HdmiCecService, start publishing HdmiControlService
HdmiCecService will soon be deprecated and replaced with HdmiControlService.
Stopped publishing the service, and turned the corresponding manager to
stub so that it will do nothing but print out a warning msg instead.

Will help the app transition to the new service in the meantime. Once
the migration is finished, will gut out all the HdmiCecService/
HdmiCecManager stuff.

Change-Id: Ic34a69c4fb99f4e5a2c8323538195204ab16a545
2014-05-29 21:09:43 +00:00
Jungshik Jang
4085d0ef62 Add cec message handler to hdmi cec jni implementation
Notification for incoming cec message can be issued
from any thread but jni can call java method
in the thread that jni knows like service thread.
So this change delegates incoming message to
jni-friendly thread, service thread by exploit
looper of service thread.

Change-Id: If3b141d917df3e209912af1778eb509777199969
2014-05-28 18:01:24 +09:00
Wonsik Kim
c22dbb6919 Revert "Revert "Add physical TV input handling to TvInputManagerService""
This reverts commit 1940e197a8de186df5edf0b78e0907ae539bd215.

Bug: 14118245, Bug: 15197740
Change-Id: Ia308f16d2ed8ec55112a4d21c180ccb97e8d7c6a
2014-05-27 01:33:50 +00:00
Jungshik Jang
be9cd8eb3f Add ARC commands
ARC, Audio Return Channel is newly introduced in HDMI CEC 1.4.
Here is a list of new command
<Initiate ARC>
<Report ARC Initiated>
<Report ARC Terminated>
<Request ARC Initiation>
<Request ARC Termination>
<Terminate ARC>

Along with it replaced <Get OSD Name> with <Give OSD Name>
which is renamed in CEC 1.4.

Change-Id: If4a7aedef839c8413a8e3b5f66f3df0c7234104b
2014-05-15 20:21:43 +09:00
Florin Malita
531fecca1c Merge "Encapsulate Canvas.mNativeCanvas" 2014-05-07 22:44:47 +00:00
Florin Malita
c677675e9c Encapsulate Canvas.mNativeCanvas
Currently, the native canvas is accessed/manipulated from several
unrelated classes.

In order to facilitate SaveFlags emulation, this CL encapsulates
the field and refactors its external users.

Two main changes:

* new getNativeCanvas() getter for use in Java-level clients.
* JNI canvas swappers (GraphicsBuffers, Surface, TextureView &
  AssetAtlasService) are refactored based on the exising/equivalent
  safeCanvasSwap() Canvas method.

Change-Id: I966bd4898f0838fb3699e226d3d3d51e0224ea97
2014-05-06 21:07:19 -04:00
Jungshik Jang
a9095ba488 Implement more native api for Hdmi cec.
HAL interface for CEC has more apis that haven't
connected with HdmiCecController.
Here is a list of apis.

1. addLogicalAddress
2. clearLogicalAddress
3. getPhysicalAddress
4. getVersion
5. getVendorId

Verified that it does not affect to other components in nakasi

Change-Id: I535bde47c43dd25bbede002c0a2aefbe86779076
2014-05-07 00:36:26 +00:00
Jungshik Jang
97babdc92b Fix unmatched jni method name.
It breaks systemserver

Change-Id: Iecc5600d64a273c4bbf51bd8fd779a79a3dab107
2014-05-02 13:21:15 +09:00
Jungshik Jang
e9c77c88ea Implement native send and receive logic for HdmiCecController.
This change includes native jni implementation for
incoming and outgoing message of CEC.
For incoming message, native layer converts it into three
pieces, source address (initiator), destination address (follower)
and data body which includes opcode. In Java layer, it is delegated to
main io thread. For now all messages are rejected by sending <Feature Abort>
to initiator.
For outoging message, all messages are sent to io thread and it delegates
it into native layer. Native logic converts it into cec_message and
pass it to HAL so that HAL performs sending message.
In order to handle <Feature Abort> message, added [Abort reason] which is
defined in hdmi_cec.h.

Change-Id: If9fd74745f476105e5cfae964e39c78bae69d3e2
2014-04-30 14:29:04 +09:00
Michael Wright
15c32f2699 Merge "Move key attribute information into KeyEvent." 2014-04-29 22:31:06 +00:00
Jinsuk Kim
c79224e4b7 am 60037302: am 8fe27e88: Merge "Move logical address allocation logic into native service from HAL" into klp-modular-dev
* commit '60037302208be033442cc3f3c50a25c7064ebbd1':
  Move logical address allocation logic into native service from HAL
2014-04-29 21:38:19 +00:00
Jinsuk Kim
6003730220 am 8fe27e88: Merge "Move logical address allocation logic into native service from HAL" into klp-modular-dev
* commit '8fe27e881851921a90882f7d4da142bf936c5549':
  Move logical address allocation logic into native service from HAL
2014-04-29 21:35:01 +00:00
Michael Wright
337d9d2edc Move key attribute information into KeyEvent.
This consolidates all of the information that was in the native
KeyEvent and the KeyLayout files into the managed KeyEvent class.

It also moves the definition for all of the key names to the native
side, rather than having them in both places.

Change-Id: I172e3b554e7eb52c79ae2ec406ef4332e8b25ffa
2014-04-28 14:33:40 -07:00
Jungshik Jang
0792d37385 Implement skeleton of new HDMI Control Service.
HdmiCecService is a system service handling HDMI-CEC features
and command. Recently we found out that industry has more
requirements to support HDMI-CEC. Also, MHL is another
standard should be in our pocket. Basically, MHL is
a standard to support communication between mobile device
and TV or Av device. As CEC is a control standard over HDMI
cable, MHL has control channel for peer device.
There behavior is very similiar. Both have commands that
can change Tv's current input and can send/receive key
to other device to control other deivce or TV.

In order to cover both CEC and MHL, current HdmiCecService
implementation has limitation. We had several
session of discussion and decided to refactor
HdmiCecService into HdmiControlService.
For each standard it will have separate controller instance
like HdmiCecController and HdmiMhlController.

In this change I didn't touch original HdmiCecService
because some component, like cast receiver, uses HdmiCecService.
For a while we will keep HdmiCecService until HdmiControlService
accomodates all features of HdmiCecService.

Change-Id: I5485280ab803dbf071d898bfbe34be0b11ce7958
2014-04-25 08:37:51 +09:00
Jinsuk Kim
cbafd1b3ea Move logical address allocation logic into native service from HAL
Logical address logic is independent from hardware, and the algorithm is
standardized in the spec. Moved the logic to service so that all HAL
implementations doesn't have to duplicated logic inside.

Related change in HAL definition is in:
https://googleplex-android-review.git.corp.google.com/#/c/447951/

Change-Id: I9699309719f3214fc2dbdf219faad484c0c1c5bf
2014-04-21 07:42:35 +09:00
Jinsuk Kim
4bdcd299da am 55dab4dd: am b11f250e: Merge "Delegate HdmiCecService method impl to HdmiCecDevice subclass" into klp-modular-dev
* commit '55dab4dd3b5b56ade91c012d688b581b6cbdebdf':
  Delegate HdmiCecService method impl to HdmiCecDevice subclass
2014-04-11 09:43:37 +00:00
Jinsuk Kim
55dab4dd3b am b11f250e: Merge "Delegate HdmiCecService method impl to HdmiCecDevice subclass" into klp-modular-dev
* commit 'b11f250e09195d1ab250c93bfed0b31ed3a40f3d':
  Delegate HdmiCecService method impl to HdmiCecDevice subclass
2014-04-11 09:40:46 +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
4e5c089ef3 resolved conflicts for merge of 337e764d to master
Change-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26
2014-04-11 01:33:20 -07:00
Jeff Brown
337e764deb am f24687e2: Merge "Plumb display power state through display manager." into klp-modular-dev
* commit 'f24687e2731811fd0e3803b691fd47a659f89329':
  Plumb display power state through display manager.
2014-04-11 03:49:37 +00: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