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

Commit e0925b6c authored by Jae Seo's avatar Jae Seo Committed by Android Git Automerger
Browse files

am 3957091b: Initial round of Television Input Framework

* commit '3957091b':
  Initial round of Television Input Framework
parents 7e4c9609 3957091b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -197,6 +197,12 @@ LOCAL_SRC_FILES += \
	core/java/android/service/wallpaper/IWallpaperConnection.aidl \
	core/java/android/service/wallpaper/IWallpaperEngine.aidl \
	core/java/android/service/wallpaper/IWallpaperService.aidl \
	core/java/android/tv/ITvInputClient.aidl \
	core/java/android/tv/ITvInputManager.aidl \
	core/java/android/tv/ITvInputService.aidl \
	core/java/android/tv/ITvInputServiceCallback.aidl \
	core/java/android/tv/ITvInputSession.aidl \
	core/java/android/tv/ITvInputSessionCallback.aidl \
	core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl\
	core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl\
	core/java/android/view/accessibility/IAccessibilityManager.aidl \
+1 −0
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framew
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/services_intermediates)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates/src/media/java/android/media/IMedia*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates/src/core/java/android/view/IMagnificationCallbacks*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates/src/core/java/android/tv/)

# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+56 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ package android {
    field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
    field public static final java.lang.String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
    field public static final java.lang.String BIND_TRUST_AGENT_SERVICE = "android.permission.BIND_TRUST_AGENT_SERVICE";
    field public static final java.lang.String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
    field public static final java.lang.String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
    field public static final java.lang.String BIND_WALLPAPER = "android.permission.BIND_WALLPAPER";
    field public static final java.lang.String BLUETOOTH = "android.permission.BLUETOOTH";
@@ -6497,6 +6498,7 @@ package android.content {
    field public static final java.lang.String STORAGE_SERVICE = "storage";
    field public static final java.lang.String TELEPHONY_SERVICE = "phone";
    field public static final java.lang.String TEXT_SERVICES_MANAGER_SERVICE = "textservices";
    field public static final java.lang.String TV_INPUT_SERVICE = "tv_input";
    field public static final java.lang.String UI_MODE_SERVICE = "uimode";
    field public static final java.lang.String USB_SERVICE = "usb";
    field public static final java.lang.String USER_SERVICE = "user";
@@ -27614,6 +27616,60 @@ package android.transition {
}
package android.tv {
  public final class TvInputInfo implements android.os.Parcelable {
    method public int describeContents();
    method public android.content.ComponentName getComponent();
    method public java.lang.String getId();
    method public java.lang.String getPackageName();
    method public java.lang.String getServiceName();
    method public java.lang.CharSequence loadLabel(android.content.pm.PackageManager);
    method public void writeToParcel(android.os.Parcel, int);
  }
  public final class TvInputManager {
    method public void createSession(android.content.ComponentName, android.tv.TvInputManager.SessionCreateCallback, android.os.Handler);
    method public boolean getAvailability(android.content.ComponentName);
    method public java.util.List<android.tv.TvInputInfo> getTvInputList();
    method public void registerListener(android.content.ComponentName, android.tv.TvInputManager.TvInputListener, android.os.Handler);
    method public void unregisterListener(android.content.ComponentName, android.tv.TvInputManager.TvInputListener);
  }
  public static final class TvInputManager.Session {
    method public void release();
    method public void setSurface(android.view.Surface);
    method public void setVolume(float);
    method public void tune(android.net.Uri);
  }
  public static abstract interface TvInputManager.SessionCreateCallback {
    method public abstract void onSessionCreated(android.tv.TvInputManager.Session);
  }
  public static abstract class TvInputManager.TvInputListener {
    ctor public TvInputManager.TvInputListener();
    method public void onAvailabilityChanged(android.content.ComponentName, boolean);
  }
  public abstract class TvInputService extends android.app.Service {
    ctor public TvInputService();
    method public final android.os.IBinder onBind(android.content.Intent);
    method public abstract android.tv.TvInputService.TvInputSessionImpl onCreateSession();
    method public final void setAvailable(boolean);
    field public static final java.lang.String SERVICE_INTERFACE = "android.tv.TvInputService";
  }
  public static abstract class TvInputService.TvInputSessionImpl {
    ctor public TvInputService.TvInputSessionImpl();
    method public abstract void onRelease();
    method public abstract boolean onSetSurface(android.view.Surface);
    method public abstract void onSetVolume(float);
    method public abstract boolean onTune(android.net.Uri);
  }
}
package android.util {
  public class AndroidException extends java.lang.Exception {
+9 −0
Original line number Diff line number Diff line
@@ -103,6 +103,8 @@ import android.os.storage.StorageManager;
import android.print.IPrintManager;
import android.print.PrintManager;
import android.telephony.TelephonyManager;
import android.tv.ITvInputManager;
import android.tv.TvInputManager;
import android.content.ClipboardManager;
import android.util.AndroidRuntimeException;
import android.util.ArrayMap;
@@ -629,6 +631,13 @@ class ContextImpl extends Context {
                return new TrustManager(b);
            }
        });

        registerService(TV_INPUT_SERVICE, new ServiceFetcher() {
            public Object createService(ContextImpl ctx) {
                IBinder iBinder = ServiceManager.getService(TV_INPUT_SERVICE);
                ITvInputManager service = ITvInputManager.Stub.asInterface(iBinder);
                return new TvInputManager(service, UserHandle.myUserId());
            }});
    }

    static ContextImpl getImpl(Context context) {
+10 −0
Original line number Diff line number Diff line
@@ -2608,6 +2608,16 @@ public abstract class Context {
     */
    public static final String TRUST_SERVICE = "trust";

    /**
     * Use with {@link #getSystemService} to retrieve a
     * {@link android.tv.TvInputManager} for interacting with TV inputs on the
     * device.
     *
     * @see #getSystemService
     * @see android.tv.TvInputManager
     */
    public static final String TV_INPUT_SERVICE = "tv_input";

    /**
     * Determine whether the given permission is allowed for a particular
     * process and user ID running in the system.
Loading