Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c22dbb69 authored by Wonsik Kim's avatar Wonsik Kim
Browse files

Revert "Revert "Add physical TV input handling to TvInputManagerService""

This reverts commit 1940e197a8de186df5edf0b78e0907ae539bd215.

Bug: 14118245, Bug: 15197740
Change-Id: Ia308f16d2ed8ec55112a4d21c180ccb97e8d7c6a
parent 41b170d6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -216,6 +216,8 @@ LOCAL_SRC_FILES += \
	core/java/android/service/wallpaper/IWallpaperEngine.aidl \
	core/java/android/service/wallpaper/IWallpaperService.aidl \
	core/java/android/tv/ITvInputClient.aidl \
	core/java/android/tv/ITvInputHardware.aidl \
	core/java/android/tv/ITvInputHardwareCallback.aidl \
	core/java/android/tv/ITvInputManager.aidl \
	core/java/android/tv/ITvInputService.aidl \
	core/java/android/tv/ITvInputServiceCallback.aidl \
+46 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.tv;

import android.tv.TvStreamConfig;
import android.view.KeyEvent;
import android.view.Surface;

/**
 * TvInputService representing a physical port should connect to HAL through this interface.
 * Framework will take care of communication among system services including TvInputManagerService,
 * HdmiControlService, AudioService, etc.
 *
 * @hide
 */
interface ITvInputHardware {
    /**
     * Make the input render on the surface according to the config. In case of HDMI, this will
     * trigger CEC commands for adjusting active HDMI source. Returns true on success.
     */
    boolean setSurface(in Surface surface, in TvStreamConfig config);
    /**
     * Set volume for this stream via AudioGain. (TBD)
     */
    void setVolume(float volume);

    /**
     * Dispatch key event to HDMI service. The events would be automatically converted to
     * HDMI CEC commands. If the hardware is not representing an HDMI port, this method will fail.
     */
    boolean dispatchKeyEventToHdmi(in KeyEvent event);
}
+27 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.tv;

import android.tv.TvStreamConfig;

/**
 * @hide
 */
oneway interface ITvInputHardwareCallback {
    void onReleased();
    void onStreamConfigChanged(in TvStreamConfig[] configs);
}
+9 −0
Original line number Diff line number Diff line
@@ -19,7 +19,10 @@ package android.tv;
import android.content.ComponentName;
import android.graphics.Rect;
import android.net.Uri;
import android.tv.ITvInputHardware;
import android.tv.ITvInputHardwareCallback;
import android.tv.ITvInputClient;
import android.tv.TvInputHardwareInfo;
import android.tv.TvInputInfo;
import android.view.Surface;

@@ -46,4 +49,10 @@ interface ITvInputManager {
            int userId);
    void relayoutOverlayView(in IBinder sessionToken, in Rect frame, int userId);
    void removeOverlayView(in IBinder sessionToken, int userId);

    // For TV input hardware binding
    List<TvInputHardwareInfo> getHardwareList();
    ITvInputHardware acquireTvInputHardware(int deviceId, in ITvInputHardwareCallback callback,
            int userId);
    void releaseTvInputHardware(int deviceId, in ITvInputHardware hardware, int userId);
}
+20 −0
Original line number Diff line number Diff line
/*
 *
 * Copyright 2014, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.tv;

parcelable TvInputHardwareInfo;
Loading