History log of /frameworks/base/media/java/android/media/tv/TvInputManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a3a601082b88ee057aa71421e45cb00041ecfff 04-May-2016 Dongwon Kang <dwkang@google.com> Revert "TIF: add signal detection feature for HW inputs"

This reverts commit 102d0b7b6970523ca7040e30d4e4fd1a349a01cc.

Change-Id: I50a66d7bd1baaea134ddd6638c3cfe65860e681d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
ddf44fc7efac3e2ae25d07781230d3a73a786788 28-Apr-2016 Dongwon Kang <dwkang@google.com> Merge "TIF: Change invalid error code to RECORDING_ERROR_UNKNOWN" into nyc-dev
150923ac6adf3f618e9e1ac9d4d600a9c66bd812 25-Apr-2016 Dongwon Kang <dwkang@google.com> TIF: Change invalid error code to RECORDING_ERROR_UNKNOWN

Bug: 28146354
Change-Id: Ida6525b77abf3cd8988fb948ce41645d6983fa95
/frameworks/base/media/java/android/media/tv/TvInputManager.java
0751a83a99dc4481533ed706a942b8bb9caf8834 25-Apr-2016 Dongwon Kang <dwkang@google.com> Merge "TIF: Be consistent with argument name for startRecording" into nyc-dev
0cb5244e52590214ddc16dd5fc1030b5baf04726 22-Apr-2016 Dongwon Kang <dwkang@google.com> TIF: Be consistent with argument name for startRecording

Change-Id: Icb0125049cc92c5664e0810cdb86f1cb0903405f
/frameworks/base/media/java/android/media/tv/TvInputManager.java
ee564881d99eeca24e1ef4b59ca6dab4d30a90d9 16-Apr-2016 Dongwon Kang <dwkang@google.com> TIF: Address API review comments

- Remove TIS.updateTvInputInfo and unhide TIM.updateTvInputInfo
- Add more doc on RECORDING_ERROR_UNKNOWN

Bug: 28146354
Change-Id: I581ef17b60e0933f5c07df3f398d15b890b2e29d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
abaa3395e94754563fb4b07d077e5e87d41f6a17 14-Apr-2016 Jae Seo <jaeseo@google.com> Merge "TIF: Update documentation on time shifting start/current position" into nyc-dev
4e3ded556100f674ccba0d0e40adcbd0d30f9b23 14-Apr-2016 Jae Seo <jaeseo@google.com> TIF: Update documentation on time shifting start/current position

Now that we use the same set of API for both time shifting and
recording, the descriptions should be updated to support both use cases.

Bug: 28067038
Change-Id: I036446eca373ca27005f74b008a259f27b7c5f61
/frameworks/base/media/java/android/media/tv/TvInputManager.java
cdfbc488c675a9800dfc8f15aec24b65a7558d29 13-Apr-2016 Jae Seo <jaeseo@google.com> TIF: More annotations

Bug: 20980990
Change-Id: I5bbdc19703aa15bffe2f2f900be63cbfe9f639ae
/frameworks/base/media/java/android/media/tv/TvInputManager.java
775e3c288e264399f25ea0ca7e19ac037e5c95b5 31-Mar-2016 Dongwon Kang <dwkang@google.com> TIF: Update javadoc with a better wording

Change-Id: I656c8a94e9d0e5b3ee9ab2b948d51573f5c4e1b2
/frameworks/base/media/java/android/media/tv/TvInputManager.java
8904a1a1df404149be94ee7df600eda1de177ff4 31-Mar-2016 Dongwon Kang <dwkang@google.com> Merge "TIF: Address comments on hardware manager related system APIs" into nyc-dev
5557bef5e47fb7a70cd2be03384863ad9f9c5a14 21-Mar-2016 Dongwon Kang <dwkang@google.com> TIF: Add more class documentation on TvInputManager

Bug: 25726241
Change-Id: Ib3ff49f2d9f7a3bdcee4b97f89da193fe05d663c
/frameworks/base/media/java/android/media/tv/TvInputManager.java
0632d8ae71418bea092f9f2c7e62118213e7cc78 18-Mar-2016 Dongwon Kang <dwkang@google.com> TIF: Address comments on hardware manager related system APIs

Bug: 25726241
Change-Id: I0a3e7e8cf494d897fc04528ba719faa4150b9207
/frameworks/base/media/java/android/media/tv/TvInputManager.java
3b9be6700fd631e25559693820d03389f8de3893 18-Mar-2016 Jae Seo <jaeseo@google.com> TIF: Annotate constants

Bug: 20980990
Change-Id: I3fac9f19cc705c9d94d2ff24075830f2d65588c8
/frameworks/base/media/java/android/media/tv/TvInputManager.java
841ad718c141852e4119ee0fd787b85404cef015 17-Mar-2016 Dongwon Kang <dwkang@google.com> TIF: Remove TvInputManager.Session from system API

Originally this API is expected to be used some use cases which don't
fit TvView well. e.g. background recording. Removing this from system api
in favor of TvRecodingClient which is introduced in N.

Bug: 25726241
Change-Id: If45fc3e2c5382e7b9e8abf42effebd76fd84b25d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
89813b8162d84c5736d375e6a3018edcae4c97b9 14-Mar-2016 Dongwon Kang <dwkang@google.com> TIF: Add annotations for the system APIs which requires permissions

Bug: 25726241
Change-Id: I2c1c8fb04c7299f9010c7f3ed0aca2e4f1e8b7bd
/frameworks/base/media/java/android/media/tv/TvInputManager.java
c53962d4ede82a03b62f0c8bb86bd0da090a15eb 02-Mar-2016 Jeff Sharkey <jsharkey@android.com> When system server goes down, crash apps more.

Apps making calls into the system server may end up persisting
internal state or making security decisions based on the perceived
success or failure of a call, or the default values returned.

The reality is that if the system process just died, init will be
along shortly to kill all running apps, so we should have no problem
rethrowing the RemoteException as a RuntimeException.

Bug: 27364859
Change-Id: Ife0bcb079636c88d54c44d17eb580409fd79028b
/frameworks/base/media/java/android/media/tv/TvInputManager.java
b55c7517ba4b2c2959a0bc4d37536e7e3c8283c9 01-Mar-2016 Dongwon Kang <dwkang@google.com> TIF: Address API review comments

Bug: 27386052
Change-Id: I242819e0817723e247b8fe646d534899ab50af76
/frameworks/base/media/java/android/media/tv/TvInputManager.java
a6d34ee8b4cbcda514274272188414f5ef107450 24-Feb-2016 Jae Seo <jaeseo@google.com> TIF: Define activity action to set up channel sources

Bug: 24776978
Change-Id: Ib176217bb896fa10db73c5aa8568171b9f6e2fe7
/frameworks/base/media/java/android/media/tv/TvInputManager.java
dee3cfe897b8cc49a3374807bd61647d429f706f 20-Feb-2016 Jae Seo <jaeseo@google.com> Enable to set canRecord and tunerCount statically

Bug: 27276122
Change-Id: I61d07cfdbe13e4484ccaf5cdcf0796f08c78e2a8
/frameworks/base/media/java/android/media/tv/TvInputManager.java
aa5605ffee270ef8802c5d9dc8df8ce71e377f55 13-Feb-2016 Jae Seo <jaeseo@google.com> TIF: Rename setTvInputInfo to updateTvInputInfo

As TvInputInfo includes many complex objects as fields, it is not
practical to check whether an existing TvInputInfo has actually
"changed" by using simple comparisons when a new TvInputInfo object is
set by a TV input service.
This code change renames
- setTvInputInfo to updateTvInputInfo
- onTvInputInfoChanged to onTvInputInfoUpdated
to indicate that the callback is mechanically invoked whenever
updateTvInputInfo method is called.

Change-Id: Ia351b3591d0ed9da962311546f0ba51158e6478e
/frameworks/base/media/java/android/media/tv/TvInputManager.java
25c9c5edab42d6c9e9e0469ab04fb7ff87704d1c 11-Feb-2016 Jae Seo <jaeseo@google.com> TIF: Separate service connection errors from recording errors

Also clarify the expected behaviors when an error has occurred in a
recording session.

Bug: 27110861
Change-Id: I811197e45ea94b1b0e151d534a1f030a84b89d10
/frameworks/base/media/java/android/media/tv/TvInputManager.java
e3c11e842937f50f54c9d82363f33338dc9e261b 09-Feb-2016 Jae Seo <jaeseo@google.com> TIF: Rename connect()/disconnect() and remove unnecessary methods

Bug: 26969670
Change-Id: Iee7d1af2eecc11bb28a8d9d7e377b4754a37095c
/frameworks/base/media/java/android/media/tv/TvInputManager.java
4eee6a73e476cd2d82a69f3a535628901047f140 06-Feb-2016 Jae Seo <jaeseo@google.com> TIF: Allow the application to indicate a TV program to record

Bug: 26962040
Change-Id: I2f062a4621c8a9a6765543826ba2cd607f1468d4
/frameworks/base/media/java/android/media/tv/TvInputManager.java
631052954d71cd3daa9af196242e9ec754657fee 29-Jan-2016 Jae Seo <jaeseo@google.com> TIF: Unhide TvInputCallback.onInputUpdated()

Needed to load proper resources when the TV input app is updated

Bug: 26851344
Change-Id: If3d143a254a9585e90ab1d91abcdb68bf39eaa9f
/frameworks/base/media/java/android/media/tv/TvInputManager.java
c2a89510ddda390d6d53ff24dd20d257fcd2379e 28-Jan-2016 Jae Seo <jaeseo@google.com> TIF: Notify of a change to TvInputInfo regardless of service connection

Also removed unnecessary input ID in various methods

Change-Id: I50a2da924e9442312ccf16278e9123f837ec8942
/frameworks/base/media/java/android/media/tv/TvInputManager.java
a826d0172aae5e91d633ffe606059a2355fbf7e5 18-Jan-2016 Jae Seo <jaeseo@google.com> TIF: Recording API

Bug: 23786643
Change-Id: Ie26e8944312048bc865b4506aa49fced15360fe4
/frameworks/base/media/java/android/media/tv/TvInputManager.java
102d0b7b6970523ca7040e30d4e4fd1a349a01cc 26-Nov-2015 Wonsik Kim <wonsik@google.com> TIF: add signal detection feature for HW inputs

Bug: 23820259
Change-Id: If7f03b49f7510ec405dfc4fb2b6f709b8c8b820d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
37099a082f7e0b106e22cc59fa92ba6a3656ebb2 22-Jun-2015 Jae Seo <jaeseo@google.com> Merge "TIF: Minor code improvement" into mnc-dev
777718220cdacb82e984c7ea8915e36ea203e5a2 22-Jun-2015 Jae Seo <jaeseo@google.com> TIF: Use equals() instead of '==' for String comparisons

Change-Id: Iea6e3d5f5146e2e3a37c52db5a0a9706540ddb23
/frameworks/base/media/java/android/media/tv/TvInputManager.java
6e4cbfd2e5ffb739269e5e4affc2b6894bc4090e 22-Jun-2015 Jae Seo <jaeseo@google.com> TIF: Minor code improvement

- Removed unnecessary 'final' keywords for private methods
- Removed unnecessary interface modifiers
- Added a missing ‘final’ keyword
- Simplified if statements
- Removed Javadoc links pointing to itself
- Removed redundant conditional expressions
- Removed unnecessary return statements
- Replaced explicit types with <>
- Removed an unnecessary unboxing
- Removed a redundant initializer
- Fixed typos

Change-Id: I1d137fda70192b33dd00e92ab01396519135ab39
/frameworks/base/media/java/android/media/tv/TvInputManager.java
40c5c7dcdc9f39100833e86884d86fb7643ffa4b 21-Jun-2015 Jae Seo <jaeseo@google.com> TIF: Fix a typo

Change-Id: Iae3b359369a86224767493149b11d83ba2810ec5
/frameworks/base/media/java/android/media/tv/TvInputManager.java
093d994965bef197fb676731fc50f6f6f630b8fe 06-Jun-2015 Jae Seo <jaeseo@google.com> TIF: Replace explicit types with <>

Also removed unnecessary boxing/unboxing

Change-Id: I97ef6b7f369cac97a133180773be96463f2a813d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
38b3257b7c0d80d282f1a1f7e1dd9c47e77c1081 05-Jun-2015 Jae Seo <jaeseo@google.com> TIF: Convert fields to local variables

Change-Id: Ide6c5ad36229410f30f7929c6dd511945d48aa6f
/frameworks/base/media/java/android/media/tv/TvInputManager.java
4b34cc77630112d00e9a87498d05f5f8803a9ff6 16-May-2015 Jae Seo <jaeseo@google.com> TIF: Pass the playback params as a whole

Bug: 21172914
Change-Id: I2d89f267d8d83b14b5d436304aa0ff82490211d8
/frameworks/base/media/java/android/media/tv/TvInputManager.java
ed6586a569ddf2cf67014bbf51f8126dff116ca8 15-May-2015 Jae Seo <jaeseo@google.com> TIF: Remove incorrect audio mode check

Bug: 21170680
Change-Id: If50181294d7b2977d8e0735ae4d118943e0aad60
/frameworks/base/media/java/android/media/tv/TvInputManager.java
58739e758428f3b880f8e67161f57c59aa06d496 24-Apr-2015 Jaesung Chung <jaesung@google.com> TIF: Add DVB device handling to TvInputManagerService

Added an API to pass an open file descriptor of DVB devices and
addressed the security issue of setting the permissions on DVB devices
to 0666.

Bug: 20436120
Change-Id: I4649e76084f3356ec22b7e776fb87c6a8fdc00d6
/frameworks/base/media/java/android/media/tv/TvInputManager.java
a90338396c90f19b062b696cdb1ffcb8600755b2 12-Mar-2015 Jae Seo <jaeseo@google.com> TIF: Rename requestUnblockContent to unblockContent

The method TvView.requestUnblockContent doesn't match the name of the
corresponding method in TvInputService, onUnblockContent, hence changed
the name to make it consistent with the current naming scheme.
This change deprecated the requestUnblockContent method as the first
step.

Bug: 19337627
Change-Id: I530209c4dca66305da90ffded7199fa3c1c1780c
/frameworks/base/media/java/android/media/tv/TvInputManager.java
606c8a396558e9714159db4969340af170677172 23-Apr-2015 Jae Seo <jaeseo@google.com> TIF: Unhide the surface layout API

Also fixed some comments to make them more consistent with now public
API.

Bug: 20254168
Change-Id: I62fcdace742603ffd3756c5188c8cf37ccf964ba
/frameworks/base/media/java/android/media/tv/TvInputManager.java
936c040ec445afad98ec16fc634ae6573eceefbb 05-May-2015 Jae Seo <jaeseo@google.com> TIF: Make all the parameters for UNRATED null

UNRATED is equivalent to Java null in its meaning and usage, thus it is
not appropriate to use non-trivial strings such as "com.android.tv" and
"UNRATED" to create this constant. Replaced them with the string "null",
which is commonly used in other parts of Android and also modified the
documentation to clarify its usage.

Bug: 19102311
Change-Id: I28ac8da3584eb2cc6dfd7284e2b88873fd4e9d13
/frameworks/base/media/java/android/media/tv/TvInputManager.java
b73868ddf8e627beb32c488ee8ed6341b96ebc61 28-Apr-2015 Dongwon Kang <dwkang@google.com> TIF: add new audio modes to the timeShiftSetPlaybackRate() javadoc.

Bug: 20509313
Change-Id: I762bb74ae2a1688e1bc6cdbf6bf5a8b931ae0689
/frameworks/base/media/java/android/media/tv/TvInputManager.java
de08be8f79ea40f3dffae9edff4227704a5c0a3a 24-Apr-2015 Jae Seo <jaeseo@google.com> TIF: Use Preconditions.checkNotNull for null checking

Bug: 19941047
Change-Id: Ib2b5d86d21ecc48888f9343a0e8f16b08fef6925
/frameworks/base/media/java/android/media/tv/TvInputManager.java
c8b7356434f665c494504661a943323c0bbe702e 23-Apr-2015 Jae Seo <jaeseo@google.com> TIF: Start using the @NonNull annotation

Added the @NonNull annotation to the code where null check is required

Bug: 19941047
Change-Id: I9fd1f4c7ea4679c03bf831d90804488282a1c5d4
/frameworks/base/media/java/android/media/tv/TvInputManager.java
c30327cbb3f3826c3276953a73e10e47d4b5872e 24-Apr-2015 Dongwon Kang <dwkang@google.com> Merge "TIF: use <p> tag in a consistent way."
0610e12733875a267f59d87a2a68aebbf486066e 23-Apr-2015 Dongwon Kang <dwkang@google.com> TIF: use <p> tag in a consistent way.

Bug: 20340510
Change-Id: I2422646f01542f571d033ee363df58e0906f3514
/frameworks/base/media/java/android/media/tv/TvInputManager.java
4bf607b00c14c031e991ac9dc0ad49b9249c9162 23-Apr-2015 Dongwon Kang <dwkang@google.com> TIF: start using @Nullable annotation.

Added @Nullable annotation when the javadoc sprcifies the return value
or argument can be null.

Bug: 19941047
Change-Id: I823189a242fae10ca14788fee9747bf5d59f5eb3
/frameworks/base/media/java/android/media/tv/TvInputManager.java
82fce64530d19a4da1c02d424fb2515feafe6a70 21-Apr-2015 Jae Seo <jaeseo@google.com> TIF: Fix incorrect uses of INPUT_STATE_XXX

Also changed TvInputManager.getTvInputState to return
INPUT_STATE_DISCONNECTED for removed inputs and fixed documentation.

Bug: 18563677, Bug: 20435950
Change-Id: Idb81cee852b797eb3f5113d68468905f327928e7
/frameworks/base/media/java/android/media/tv/TvInputManager.java
ff1f29e1b112e68d16908b1a89225315089f8e50 08-Apr-2015 Dongwon Kang <dwkang@google.com> TIF: add a video unavailable constant for audio program case.

Bug: 20019339
Change-Id: Ife3452486c065e6c5809f0cd2bb87794c4279312
/frameworks/base/media/java/android/media/tv/TvInputManager.java
465f0d6aa36f2f1db88603aa487bcba9f5af068d 07-Apr-2015 Jae Seo <jaeseo@google.com> TIF: Redefine time shift status and change callback and position APIs

Also added/modified the documentation and addressed feedback from the
previous CL.

Change-Id: I046970cd0d2688886039d37a332bbe11bc5a4b0f
/frameworks/base/media/java/android/media/tv/TvInputManager.java
6f0240cf63fe62b0af2c7d5112f9881d1e167bfc 01-Apr-2015 Dongwon Kang <dwkang@google.com> TIF: Add time shift APIs.

Change-Id: I4faecd99d9e565c7228fc4b9da99e2adf1e67f19
/frameworks/base/media/java/android/media/tv/TvInputManager.java
7cfe00f69380573e9c989bbbc614930c279f2291 02-Dec-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: fix a race condition when TvInputManager is initialized" into lmp-mr1-dev
993f81e2380da210c27e1e957ac1bdca3a99100a 27-Nov-2014 Dongwon Kang <dwkang@google.com> TIF: fix a race condition when TvInputManager is initialized

Currently, TvInputManagerService notifies the initial state of each
input via TvInputManagetCallback#onInputStateChanged after TvInputManager
is created. However, this is racy because the client may call methods
like getTvInputState() before the initialization.

This patch makes sure that the client gets the control when the initialization
finishes completely.

Bug: 18419452
Change-Id: I5d8141c20984013e68f2809120710c670557c9ad
/frameworks/base/media/java/android/media/tv/TvInputManager.java
4e389e557efb7806b73d2059d46e2809c1a9f83d 28-Nov-2014 Sungsoo Lim <sungsoo@google.com> Missing Javadoc update while API review

Bug: 18550989
Change-Id: I766986fd429d58064fca6262a1c650cbcb19bddf
/frameworks/base/media/java/android/media/tv/TvInputManager.java
90e733385d466acd87730676c83c080a17ff495f 08-Nov-2014 Wonsik Kim <wonsik@google.com> TIF: enhance documentation for TvInputManager.getAvailableStreamConfigs()

Bug: 18283466
Change-Id: Ibb5d45c02a327e0b3e837ad3ec3603fa1623ff7b
/frameworks/base/media/java/android/media/tv/TvInputManager.java
6320fc490fe73b089cdccfc617e4b09f31f5d203 22-Oct-2014 Jae Seo <jaeseo@google.com> TIF: Notify of size change of the video in TvView

Put the necessary plumbing in place to notify of size change of the
video in TvView.
Put together the track related logic in TvInputManager.Session.
Protected track information with a lock.

Also modified debugging messages more consistently and fixed minor
warnings in TvView.

Bug: 17635300
Change-Id: I8d267d8a11056b5ccee1dacbf2d3391be16f811e
/frameworks/base/media/java/android/media/tv/TvInputManager.java
db8f7ab752de641b147015a2b4a134913fbcb594 11-Sep-2014 Youngsang Cho <youngsang@google.com> Fix build breakage

Change-Id: Ic52e2d767f3adfedfa4e78aa2510d480c537c857
/frameworks/base/media/java/android/media/tv/TvInputManager.java
19ba61affbc0c4a4454abc6cf09f70ea428d1a62 02-Sep-2014 Chulwoo Lee <chulwoo@google.com> Notify of the update of TvInputInfo

The TvInputInfo is updated when
1. the package is reinstalled.
2. the media on which a newer version of TV inputs exists become
available.
3. the media on which a newer version of TV inputs exists become
unavailable.

BUG: 17349383
Change-Id: I983058b13678bd8ecf7d766dc8bdac5fed7df4a0
/frameworks/base/media/java/android/media/tv/TvInputManager.java
9127e4580c618bc1afae5c2c280f5a271f7a7635 10-Sep-2014 Jae Seo <jaeseo@google.com> TIF: Enable inflating class android.media.tv.TvView on non-TV devices

Needed to pass the CTS for those devices.

Bug: 17455222
Change-Id: Ief9a76835418906d9e8e06d4e5ddc71a3370055d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
2778f5a7bd7c45861b6f2fc5639509e327495a4a 04-Sep-2014 Jae Seo <jaeseo@google.com> API review: android.media.tv

TvInputInfo
- Renamed getIntentForSettingsActivity to createSettingsIntent.
- Renamed getIntentForSetupActivity to createSetupIntent.
- Changed the value of EXTRA_INPUT_ID from inputId to
android.media.tv.extra.INPUT_ID.
- Removed @hiden from CREATOR.

TvInputManager
- Renamed TvInputListener to TvInputCallback.
- Renamed registerListener to registerCallback.
- Renamed unregisterListener to unregisterCallback.
- Changed the value of ACTION_BLOCKED_RATINGS_CHANGED from
android.media.tv.TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED
to android.media.tv.action.BLOCKED_RATINGS_CHANGED.
- Changed the value of ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED from
android.media.tv.TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
to android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED.
- Changed the value of ACTION_QUERY_CONTENT_RATING_SYSTEMS from
android.media.tv.TvInputManager.ACTION_QUERY_CONTENT_RATING_SYSTEMS
to android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS.
- Changed the value of META_DATA_CONTENT_RATING_SYSTEMS from
android.media.tv.TvInputManager.META_DATA_CONTENT_RATING_SYSTEMS
to android.media.tv.metadata.CONTENT_RATING_SYSTEMS.

TvView
- Renamed TvInputListener to TvInputCallback.
- Renamed setTvInputListener to setCallback.

Bug: 17389538
Change-Id: I3dceee3db67862d77b183aef0da4fd3a8681ab1b
/frameworks/base/media/java/android/media/tv/TvInputManager.java
d71c691bc56ef4c5c3cf6b4cabcc450d6b1820c0 01-Sep-2014 Wonsik Kim <wonsik@google.com> TIF: add SystemApi's for ITvInputHardware related methods

Bug: 17322530
Change-Id: I813d865bc9a77d1d381e52188afac5c5c75a2968
/frameworks/base/media/java/android/media/tv/TvInputManager.java
9c165d6e9a2f085fbdc87b9221f2d52d851b2652 25-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Enable applications to register custom content rating systems

A recent change that moved the string resource for the system supported
content ratings from the framework to the TV app led to a need for
allowing the TV app to publish its own content rating systems. This
change added an intent action and a metadata key to be used by the TV
input manager service for querying available content rating systems,
similarly to the way InputManager defined ACTION_QUERY_KEYBOARD_LAYOUTS
and META_DATA_KEYBOARD_LAYOUTS for custom keyboard layouts. Applications
now can register their own rating systems simply by declaring a
broadcast receiver in their manifests.

Bug: 17167287, Bug: 17114406
Change-Id: I1808c624014b603ea709714737c2a880714bdc0a
/frameworks/base/media/java/android/media/tv/TvInputManager.java
984d99b584b4d24c160a8725e1624c68ac70f122 26-Aug-2014 Chulwoo Lee <chulwoo@google.com> Fix checking trackId

BUG: 17261638
Change-Id: I141b7c9de1289c49f29d2f1e1ac534045abb333d
/frameworks/base/media/java/android/media/tv/TvInputManager.java
15c56aac985bc8d75f38fb4ecb92dda12d2ca06c 18-Aug-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Call setMain(false) when session is released.

Also, rename setMainTvView() and setMainSession() to setMain(), except
ITvInputManager.

Change-Id: I586e3fd42720f07a75d6f31b1ee955ce5c29dd68
/frameworks/base/media/java/android/media/tv/TvInputManager.java
a42be3c95021c5fb7e4ac0a8fbfc542f841f44dd 19-Aug-2014 Jaewan Kim <jaewan@google.com> Fix NPE when passing null TvContentRating

Change-Id: I80b0ca60b1623356fd39015521b50ae9f1eaef07
/frameworks/base/media/java/android/media/tv/TvInputManager.java
5b1caaf7d8408bf0ce78d8d7a36f4649dda17797 19-Aug-2014 Jae Seo <jaeseo@google.com> TIF: Fix some comment warnings

Also fixed some other obvious warnings from Eclipse

Bug: 16876068
Change-Id: Ic9c44caf3fd53e965043aa96039d5f3a5655eaff
/frameworks/base/media/java/android/media/tv/TvInputManager.java
df9f0a321e0cb2958c9d170395a0367a106fa0e6 06-Aug-2014 Terry Heo <terryheo@google.com> TIF: Add system API 'isSingleSessionActive()'

Bug: 16498558
Change-Id: I4f815f431051dbf786216d2b04e9737be451a508
/frameworks/base/media/java/android/media/tv/TvInputManager.java
ff04ae757a5542d2d5633e75b7adacc4fce1ce7e 02-Jul-2014 Youngsang Cho <youngsang@google.com> Add a method in TIS to relayout SurfaceView

Bug: 15389458
Change-Id: I7f740141e7cf59fea5d321099652e65bc9e5f7d1
/frameworks/base/media/java/android/media/tv/TvInputManager.java
e377ea5de67aaca36c86ac8971ce0a9126c5af20 06-Aug-2014 Dongwon Kang <dwkang@google.com> Merge "TIF: Rearchitecting TvInputPassthroughWrapperService." into lmp-dev
10d285ac06b3d3060c7d90d3dc196d4ac8367467 31-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Make selected tracks identifiable

A recent change on the multi-track API surfaced an issue that it's hard to
identify selected tracks from the list of tracks obtained from
TvView.getTracks() method, especially when two or more tracks convey the same
track information (e.g. two English stereo audio tracks with the same sample
rate). This change introduced a new public method getId() in TvTrackInfo that
returns an ID with which one can identify the tracks uniquely. It also led to
minor signature changes across the multi-track API to make it more
developer-friendly in both application and TV input service developers'
perspectives.

Change-Id: I226f75e697b0ce52b44db7471660f6d9f646f6f9
/frameworks/base/media/java/android/media/tv/TvInputManager.java
1f81b1040f40a3233981f34268b11e5c9ad9f34c 05-Aug-2014 Dongwon Kang <dwkang@google.com> TIF: make the documentation consistent.

Change-Id: Iaf93c8753c43fa128b464cea3f63a38fb7b3c8b3
/frameworks/base/media/java/android/media/tv/TvInputManager.java
bd2fa2c02d916a9b6c62f8fd8701d779c00bd68d 25-Jul-2014 Dongwon Kang <dwkang@google.com> TIF: Rearchitecting TvInputPassthroughWrapperService.

This change addresses the following issues raised in the API review:

TvInputPassthroughWrapperService needs to be rearchitected:
-- Create a nested class (possibly called RemoteTvInput) inside TvInputService that
represents remote connection to the underlying physical TV input (HDMI).
RemoteTvInput which will need to have additional method like createRemoteSession.
-- This class has methods to control that remote input, and a callback so TvInputService
to observe state changes.
-- Add TvInputService.onGetParentInputId() (no argument) which returns null by default.
-- Extend TvInputService.onCreateSession(String inputId, RemoteTvInput parent) to pass
in the RemoteTvInput requested by onGetParentInputId(), if any.

Bug: 16542165
Change-Id: Ic6b0c9b5d770c9d1f9377061af8dcb6bae0cb9dc
/frameworks/base/media/java/android/media/tv/TvInputManager.java
2d99826605d8f18d71b5a4696cdf2f6909adab44 01-Aug-2014 Sungsoo Lim <sungsoo@google.com> Merge "TIF: Use XML file for representing TvContentRating" into lmp-dev
5c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5 29-Jul-2014 Sungsoo Lim <sungsoo@google.com> TIF: Use XML file for representing TvContentRating

This change addresses the following API council feedback.

- Remove all constants from TvContentRating. Instead this class becomes a
general parser for a tuple of "rating domain"+type+subtype(s).
- Instead of constants in the API, the rating definitions should come from
parsed XML meta-data tied to a TvInputService entry in the AndroidManifest.
This XML should define a ranked order of the rating constants along with
@string references for displaying in the Settings UI. Mention that the
"rating domain" should be scoped similar to a package name, for example
"com.youtube.ratings".
- For system-defined rating types (like US, Korea, etc) we should parse this
same XML format, but it may come from a hard-coded XML resource (since they
aren't tied to a single TvInputService.)
- Thoroughly document the built-in supported types in javadoc on TvContentRating.

Change-Id: I0a9526c73c8ca67fd0eeac63f3c63c05657a45e3
/frameworks/base/media/java/android/media/tv/TvInputManager.java
1a6b25eabcc1fb66e6e8d76f91fd413e18b793a9 09-Jul-2014 Sungsoo Lim <sungsoo@google.com> TIF: Add a parameter (Bundle params) of tune method

- tune(Uri, Bundle) is added as a system API.

Bug: 15809017
Change-Id: I50bc9b510f469ac3c157f095ccfe27d1cd1d9854
/frameworks/base/media/java/android/media/tv/TvInputManager.java
d5ce9759524740cfb02638fd1d7b44315957b422 25-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Make TvTrackInfo methods more explicit.

This change addresses the following API council feedback:

TvTrackInfo:
-- Remove all KEY_/VALUE_ constants, and replace with explicit,
strongly-typed accessor methods.
-- Add additional Bundle getExtras() method (in addition to the explicit
types); most of the time this Bundle will be null.

Bug: 16542165
Change-Id: Ie48cb170b2bbf07d9460fdc8ed77d7db01799772
/frameworks/base/media/java/android/media/tv/TvInputManager.java
783645e99f909ffc7a2d5d2fca9324cc0e9b7362 28-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Merge TvParentalControlManager into TvInputManager

This change addresses the following API council feedback.

TvParentalControlManager:
-- Replace the listener interface with a broadcast Intent with well-known
action, something like ACTION_BLOCKED_RATINGS_CHANGED.
-- TvParentalControlManager goes away, and two remaining methods move to
TvInputManager.

== Implementation changes ==
-- The user-selected rating preferences should be stored in an XML file, and
loaded at boot by your internal system service. It should _not_ be stored in
a Secure/Global setting.

Bug: 16542165
Change-Id: I278df963576652ec9163a66c1ef99419fcdb36c2
/frameworks/base/media/java/android/media/tv/TvInputManager.java
6e62a1508cb7a5efcdde2ae9e51672fea4296dca 29-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Use more consistent constant names

Change-Id: Iee7cbbba621e4174c9fdaedc86d3830ca9f46cfe
/frameworks/base/media/java/android/media/tv/TvInputManager.java
4c52697dbed682a19dacc78b0c08931ea8dbc6b5 21-Jul-2014 Ji-Hwan Lee <jihwan@google.com> TIF: Support HDMI-CEC active source management

Add system API TvView.setMain() and TvInputService.onSetMain().

Bug: 15994065
Change-Id: I60ac24659453ca616380993c4accd8c17e714639
/frameworks/base/media/java/android/media/tv/TvInputManager.java
c086a3df3b28996cd10ebe42c5f59035d054aa0d 18-Jun-2014 Terry Heo <terryheo@google.com> Add a frame capture API of TV input

- Added new permission CAPTURE_TV_INPUT

Bug: 15736756
Change-Id: I2ae8b2e3f5b1ad1d525854ed89ab2043cf66acbe
/frameworks/base/media/java/android/media/tv/TvInputManager.java
15bbf3b220fdd22df62f2bfa04452f4cdf11d2bb 21-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Use @SystemApi for APIs that we intend to open to OEMs

Bug: 16374058
Change-Id: Ifdf8188d3791e7e8ab6cc0a30696bde24b16ac5c
/frameworks/base/media/java/android/media/tv/TvInputManager.java
a759b111a1c9cb00284038f8a1554bf29709b952 19-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add sendAppPrivateCommand()

Added a way to send a private command from the application to the TV
input. This can be used to provide domain-specific features that are
only known between certain TV inputs and their clients.

Change-Id: I7548311a64147b8ff27562ec680b941e2ec10bc0
/frameworks/base/media/java/android/media/tv/TvInputManager.java
9bf671f8ee72b156f16fcf05a3d1c6e093ecba67 18-Jul-2014 Sungsoo Lim <sungsoo@google.com> TIF: revise API names

- TvInputManager: TvInputCallback -> TvInputListenter
- TvParentalControlManager: ParentalControlCallback -> ParentalControlListener
- TvView: unblockContent -> requestUnblockContent

Change-Id: I58220e86a4e59ee7d8f28fab833f09cd603b1e38
/frameworks/base/media/java/android/media/tv/TvInputManager.java
bbcd206a798c8c2845200daf7a2d4cb7b29056f3 19-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add a way to notify whether the current program content is allowed

Now we have a complete set of API to tell the entire cases (allowed and
blocked), which makes possible for the application to rely more on
actions taken by TV input services transferring the responsibility for
parental control.

Bug: 13172379
Change-Id: I7b0dcf16b870782c76a428a1dac6ef1a528b7d40
/frameworks/base/media/java/android/media/tv/TvInputManager.java
6f306e21f4d0b62866d8622b4d4698f6d76de2b2 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Add unblock content" into lmp-dev
903d6b72cd572665309633e925485464d08bb25a 16-Jul-2014 Jaewan Kim <jaewan@google.com> TIF: Add unblock content

When a TV content is blocked by the parental control settings,
TV input service will notify TV to request user's PIN code verification.

If the verification succeeds, TV input service will be notified back
that content is unblocked so it can keep playing the content.

Bug: 13172379
Change-Id: I7b31d762eb54612c4d8779ee133211f32fb73b05
/frameworks/base/media/java/android/media/tv/TvInputManager.java
8e6b51b0fb810ac990c863cc0579e2b2700ab7d6 15-Jul-2014 Jaewan Kim <jaewan@google.com> TIF: Add onInputAdded and onInputRemoved

Bug: 16166859
Change-Id: I51bd87aded3e8619e36be200009e924e73cd348e
/frameworks/base/media/java/android/media/tv/TvInputManager.java
c66ca1267cfa4aca70d3dceaf5962ff77ee030b3 18-Jul-2014 Youngsang Cho <youngsang@google.com> Merge "TIF: Add a notification for surface change from TvView to TvInputService" into lmp-dev
b375805f3b1672e68d1511565af4700e5fa8491d 13-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add a method to get TvInputInfo for a given TV input

This is going to be needed by applications to get information about the
inputs that are just added thus not included in the previously retrieved
input list.

Bug: 16166859, Bug: 15838097
Change-Id: Icecd03fcea208a0c4d41caab1eec64e574f40877
/frameworks/base/media/java/android/media/tv/TvInputManager.java
e821d711db1799dc51661a3ed6188f3cd942bae7 16-Jul-2014 Youngsang Cho <youngsang@google.com> TIF: Add a notification for surface change from TvView to TvInputService

Bug: 15447352
Change-Id: I3e91609c5eb03be84cc7c88507457b9e74750de8
/frameworks/base/media/java/android/media/tv/TvInputManager.java
6057102dbb746593a7d59cf377c969b62e38c664 15-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add TvParentalControlManager

Each TV input service is now required to query the system whether the
user is allowed to watch the current program before showing it to the
user if the parental control is turned on, which can be checked by
calling TvParentalControlManager.isEnabled(). Whether the TV input
service should block the content or not is determined by invoking
TvParentalControlManager.isRatingBlocked() with the content rating for
the current program. Then the TvParentalControlManager makes a judgment
based on the user blocked ratings stored in the secure settings and
returns the result. If the rating in question turns out to be blocked,
the TV input service must immediately block the content and call this
method with the content rating of the current program to prompt the PIN
verification screen.

Each TV input service also needs to continuously listen to any changes
made to the parental control settings by registering a
TvParentalControlManager.ParentalControlCallback() to the manager and
immediately reevaluate the current program with the new parental control
settings.

Bug: 13172379
Change-Id: I8e1900d4b8d28c56798986d5c3906bd418ab97ac
/frameworks/base/media/java/android/media/tv/TvInputManager.java
969167dc05a6485a32d160895871cff46fd81884 24-Jun-2014 Wonsik Kim <wonsik@google.com> TIF: Revisit availability changes

Bug: 15838097, Bug: 15973274
Change-Id: Ida060696cb6222c8ced576d86c100c25d94dc5c0
/frameworks/base/media/java/android/media/tv/TvInputManager.java
9b08edff236fc68d836eccfaa1a5f028dc390cec 04-Jul-2014 Dongwon Kang <dwkang@google.com> do not merge. Implement onVideoAvailable/Unavailable in TIF.

Use cases:
- VIDEO_UNAVAILABLE_REASON_TUNE: to show spinner on channel change.
- VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: to show a message and spinner on weak TV signal.
- VIDEO_UNAVAILABLE_REASON_BUFFERING: to show spinner on buffering.
- VIDEO_UNAVAILABLE_REASON_UNKNOWN: to show spinner.

Bug: 14126559
Change-Id: Ide2b68c74bd96d4ea1b9d85ab099a277253d05c7
(cherry picked from commit 1edfd8eb985ee41095c60f4aaf7029f56abff614)
/frameworks/base/media/java/android/media/tv/TvInputManager.java
2c1c31c7ae9bd972b974a5cc2d8b0942746af612 10-Jul-2014 Jae Seo <jaeseo@google.com> TIF: Add a way to enable/disable caption

This is required to handle the case that an application wants to turn
on/off the caption explicitly (e.g. TvView in PIP). TV input service
implementation must respond to the request immediately to avoid any
legal implication since the captioning is imposed by the law in many
countries.

Bug: 14121898
Change-Id: I9600debae709fdc99065d7a0138ae69d1dffc9ba
/frameworks/base/media/java/android/media/tv/TvInputManager.java
1f213914c45c23c653f721690da2ce0718e63139 02-Jul-2014 Dongwon Kang <dwkang@google.com> Support multiple tracks in TV Input framework.

Added API: getTracks/selectTrack/unselectTrack/onTrackInfoChanged
(onVideo/Audio/ClosedCaptionStreamChanged callbacks are removed in favor of onTrackInfoChanged)
Use cases: audio and closed caption track selection
Background: go/tif-multi-track

Bug:14073704, Bug:14121898, Bug: 16049453
Change-Id: I199ed16f690d4e757da0bb30c8bc8222a6fa1d7a
/frameworks/base/media/java/android/media/tv/TvInputManager.java
b93ccca6139a7ee2dba5c110e5f8213a2bd231e5 26-Jun-2014 Dongwon Kang <dwkang@google.com> Add onChannelRetuned callback in TV Input Framework.

Use cases:
- Channel change from STB which is bound to a TV input.

Bug: 14126559
Change-Id: Icddab61be6cb11162c03960fdb41fee8504bcd61
/frameworks/base/media/java/android/media/tv/TvInputManager.java
dc952584e37fca96ad0e02e13b2438038fef6bef 17-Jun-2014 Sungsoo Lim <sungsoo@google.com> Print a warning message instead of throwing IllegalStateException

In TvInputManager.java, when postSessionReleased() is called but
onSessionReleased() is not called yet, mToken is null, and it's not
an illegal state.

Bug: 15095124
Change-Id: Icd2a84ae350d9979e3cef4dbd3a73699e05e7c2a
/frameworks/base/media/java/android/media/tv/TvInputManager.java
b8a64416e5e7cf39fd899fa600a940b0ef3c15fd 04-Jun-2014 Jae Seo <jaeseo@google.com> TIF: Address the feedback from the API review - 2/3

This change addresses the following comments from the council:
- Change the TvView API to be tune(String inputId, Uri channelUri) and
reset()
- @hide TvInputSession class, including createSession() and
SessionCallback
- Define a listener interface specific to TvView, allowing you to hide
the session details and keep the API simpler. Add
setTvInputListener().

Bug: 15345342
Change-Id: I931662841b41d862ebc4a700ccb245889a5f87a5
/frameworks/base/media/java/android/media/tv/TvInputManager.java
782f7345471072b630e58c7abd3579b0015273b1 03-Jun-2014 Jae Seo <jaeseo@google.com> TIF: Address the feedback from the API review - 1/3

This change addresses the following comments from the council:
- Change TvView.setVolume() --> setStreamVolume()
- Surface only TvInputInfo.getServiceInfo() instead of the separate
getPackage/getService/getComponent calls. However, keep loadLabel()
at the top level.
- @hide register/unregisterListener() for the preview, since it binds
out to each service.
- TvInputService should document which permission it should protect
itself with.
- Remove TvInputService.setAvailable() for third-party developers.
- Change class name TvInputSessionImpl --> Session
- Change callback name to onSetStreamVolume() to match earlier change

Bug: 15345342
Change-Id: I3ce5cba7dad2622b78d16c408f81c4b0eba837a4
/frameworks/base/media/java/android/media/tv/TvInputManager.java
a3be12a236aef0d9c4ff1274075f1e7899d29153 02-Jun-2014 Dongwon Kang <dwkang@google.com> Add onAudioStreamChanged and onClosedCaptionStreamChanged callbacks from TIS to application.

Bug: 14628404
Change-Id: I40abf647e9d608c2c793d007fd2fe0d511535bdd
/frameworks/base/media/java/android/media/tv/TvInputManager.java
d5cc4a281e7ce29d1e8687ff3394b57a3a549260 31-May-2014 Jae Seo <jaeseo@google.com> Put TV Input Framework under android.media.tv, including TvContract

Bug: 15345342
Change-Id: I665ca23f0f074ce29cb2e047109b209178532107
/frameworks/base/media/java/android/media/tv/TvInputManager.java