package com.letv.android.remotedevice;

import android.app.PendingIntent;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;
import java.util.List;

public interface RemoteDeviceManager extends IInterface {

    public static abstract class Stub extends Binder implements RemoteDeviceManager {
        private static final String DESCRIPTOR = "com.letv.android.remotedevice.RemoteDeviceManager";
        static final int TRANSACTION_captureScreen = 10;
        static final int TRANSACTION_deletePackage = 17;
        static final int TRANSACTION_getCurrentPlayState = 14;
        static final int TRANSACTION_getDeviceInfo = 3;
        static final int TRANSACTION_getDeviceList = 2;
        static final int TRANSACTION_getInstalledPackages = 16;
        static final int TRANSACTION_getLastUsedDevice = 4;
        static final int TRANSACTION_playMedia = 13;
        static final int TRANSACTION_queryLauncherActivities = 15;
        static final int TRANSACTION_registerDeviceCallback = 5;
        static final int TRANSACTION_scanDevices = 1;
        static final int TRANSACTION_sendBroadcast = 12;
        static final int TRANSACTION_sendControlAction = 7;
        static final int TRANSACTION_sendFileToDevice = 9;
        static final int TRANSACTION_sendInputText = 8;
        static final int TRANSACTION_startActivity = 11;
        static final int TRANSACTION_unregisterDeviceCallback = 6;

        private static class Proxy implements RemoteDeviceManager {
            private final IBinder mRemote;

            Proxy(IBinder remote) {
                this.mRemote = remote;
            }

            public IBinder asBinder() {
                return this.mRemote;
            }

            public String getInterfaceDescriptor() {
                return Stub.DESCRIPTOR;
            }

            public void scanDevices(PendingIntent resultIntent) throws RemoteException {
                Parcel _data = Parcel.obtain();
                Parcel _reply = Parcel.obtain();
                try {
                    _data.writeInterfaceToken(Stub.DESCRIPTOR);
                    if (resultIntent != null) {
                        _data.writeInt(1);
                        resultIntent.writeToParcel(_data, 0);
                    } else {
                        _data.writeInt(0);
                    }
                    this.mRemote.transact(1, _data, _reply, 0);
                    ExceptionUtils.readExceptionFromParcel(_reply);
                } finally {
                    _reply.recycle();
                    _data.recycle();
                }
            }

            public List<DeviceInfo> getDevice