Change Bluetooth HID Profile Name (1/6)

Make the Bluetooth HID profile name consistent with the Bluetooth HID service
name.

BluetoothInputHost → BluetoothHidDevice
BluetoothInputDevice → BluetoothHidHost
IBluetoothInputHost → IBluetoothHidDevice
IBluetoothInputDevice → IBluetoothHidHost
BluetoothProfile.INPUT_HOST → BluetoothProfile.HID_DEVICE
BluetoothProfile.INPUT_DEVICE → BluetoothProfile.HID_HOST

(Cherry-picked from commit c26c76c63d933f8057f795d05624f91b811c8c71)
Merged-In: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
Bug: 68055651
Test: make
Change-Id: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
diff --git a/Android.mk b/Android.mk
index 5fd323f..d6b2e0f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -129,7 +129,7 @@
 	../../system/bt/binder/android/bluetooth/IBluetoothHeadsetPhone.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothHealth.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothHealthCallback.aidl \
-	../../system/bt/binder/android/bluetooth/IBluetoothInputDevice.aidl \
+	../../system/bt/binder/android/bluetooth/IBluetoothHidHost.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothPan.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothManager.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothManagerCallback.aidl \
@@ -140,7 +140,7 @@
 	../../system/bt/binder/android/bluetooth/IBluetoothSap.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothStateChangeCallback.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothHeadsetClient.aidl \
-	../../system/bt/binder/android/bluetooth/IBluetoothInputHost.aidl \
+	../../system/bt/binder/android/bluetooth/IBluetoothHidDevice.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothHidDeviceCallback.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothGatt.aidl \
 	../../system/bt/binder/android/bluetooth/IBluetoothGattCallback.aidl \
diff --git a/config/compiled-classes-phone b/config/compiled-classes-phone
index 063276d..68e7c8f 100644
--- a/config/compiled-classes-phone
+++ b/config/compiled-classes-phone
@@ -710,9 +710,9 @@
 android.bluetooth.BluetoothHeadset$2
 android.bluetooth.BluetoothHeadset$3
 android.bluetooth.BluetoothHealthAppConfiguration
-android.bluetooth.BluetoothInputDevice
-android.bluetooth.BluetoothInputDevice$1
-android.bluetooth.BluetoothInputDevice$2
+android.bluetooth.BluetoothHidHost
+android.bluetooth.BluetoothHidHost$1
+android.bluetooth.BluetoothHidHost$2
 android.bluetooth.BluetoothInputStream
 android.bluetooth.BluetoothManager
 android.bluetooth.BluetoothMap
@@ -755,9 +755,9 @@
 android.bluetooth.IBluetoothHealth
 android.bluetooth.IBluetoothHealth$Stub
 android.bluetooth.IBluetoothHealthCallback
-android.bluetooth.IBluetoothInputDevice
-android.bluetooth.IBluetoothInputDevice$Stub
-android.bluetooth.IBluetoothInputDevice$Stub$Proxy
+android.bluetooth.IBluetoothHidHost
+android.bluetooth.IBluetoothHidHost$Stub
+android.bluetooth.IBluetoothHidHost$Stub$Proxy
 android.bluetooth.IBluetoothManager
 android.bluetooth.IBluetoothManager$Stub
 android.bluetooth.IBluetoothManager$Stub$Proxy
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 84765f6..17ae907 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -2104,8 +2104,8 @@
         } else if (profile == BluetoothProfile.AVRCP_CONTROLLER) {
             BluetoothAvrcpController avrcp = new BluetoothAvrcpController(context, listener);
             return true;
-        } else if (profile == BluetoothProfile.INPUT_DEVICE) {
-            BluetoothInputDevice iDev = new BluetoothInputDevice(context, listener);
+        } else if (profile == BluetoothProfile.HID_HOST) {
+            BluetoothHidHost iDev = new BluetoothHidHost(context, listener);
             return true;
         } else if (profile == BluetoothProfile.PAN) {
             BluetoothPan pan = new BluetoothPan(context, listener);
@@ -2128,8 +2128,8 @@
         } else if (profile == BluetoothProfile.MAP_CLIENT) {
             BluetoothMapClient mapClient = new BluetoothMapClient(context, listener);
             return true;
-        } else if (profile == BluetoothProfile.INPUT_HOST) {
-            BluetoothInputHost iHost = new BluetoothInputHost(context, listener);
+        } else if (profile == BluetoothProfile.HID_DEVICE) {
+            BluetoothHidDevice hidDevice = new BluetoothHidDevice(context, listener);
             return true;
         } else {
             return false;
@@ -2167,8 +2167,8 @@
                 BluetoothAvrcpController avrcp = (BluetoothAvrcpController) proxy;
                 avrcp.close();
                 break;
-            case BluetoothProfile.INPUT_DEVICE:
-                BluetoothInputDevice iDev = (BluetoothInputDevice) proxy;
+            case BluetoothProfile.HID_HOST:
+                BluetoothHidHost iDev = (BluetoothHidHost) proxy;
                 iDev.close();
                 break;
             case BluetoothProfile.PAN:
@@ -2207,9 +2207,9 @@
                 BluetoothMapClient mapClient = (BluetoothMapClient) proxy;
                 mapClient.close();
                 break;
-            case BluetoothProfile.INPUT_HOST:
-                BluetoothInputHost iHost = (BluetoothInputHost) proxy;
-                iHost.close();
+            case BluetoothProfile.HID_DEVICE:
+                BluetoothHidDevice hidDevice = (BluetoothHidDevice) proxy;
+                hidDevice.close();
                 break;
         }
     }
diff --git a/core/java/android/bluetooth/BluetoothInputHost.java b/core/java/android/bluetooth/BluetoothHidDevice.java
similarity index 93%
rename from core/java/android/bluetooth/BluetoothInputHost.java
rename to core/java/android/bluetooth/BluetoothHidDevice.java
index e18d9d1..179f36d 100644
--- a/core/java/android/bluetooth/BluetoothInputHost.java
+++ b/core/java/android/bluetooth/BluetoothHidDevice.java
@@ -33,9 +33,9 @@
 /**
  * @hide
  */
-public final class BluetoothInputHost implements BluetoothProfile {
+public final class BluetoothHidDevice implements BluetoothProfile {
 
-    private static final String TAG = BluetoothInputHost.class.getSimpleName();
+    private static final String TAG = BluetoothHidDevice.class.getSimpleName();
 
     /**
      * Intent used to broadcast the change in connection state of the Input
@@ -57,7 +57,7 @@
      */
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
     public static final String ACTION_CONNECTION_STATE_CHANGED =
-            "android.bluetooth.inputhost.profile.action.CONNECTION_STATE_CHANGED";
+            "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED";
 
     /**
      * Constants representing device subclass.
@@ -113,7 +113,7 @@
 
     private ServiceListener mServiceListener;
 
-    private volatile IBluetoothInputHost mService;
+    private volatile IBluetoothHidDevice mService;
 
     private BluetoothAdapter mAdapter;
 
@@ -205,23 +205,23 @@
     private final ServiceConnection mConnection = new ServiceConnection() {
         public void onServiceConnected(ComponentName className, IBinder service) {
             Log.d(TAG, "onServiceConnected()");
-            mService = IBluetoothInputHost.Stub.asInterface(service);
+            mService = IBluetoothHidDevice.Stub.asInterface(service);
             if (mServiceListener != null) {
-                mServiceListener.onServiceConnected(BluetoothProfile.INPUT_HOST,
-                        BluetoothInputHost.this);
+                mServiceListener.onServiceConnected(BluetoothProfile.HID_DEVICE,
+                        BluetoothHidDevice.this);
             }
         }
         public void onServiceDisconnected(ComponentName className) {
             Log.d(TAG, "onServiceDisconnected()");
             mService = null;
             if (mServiceListener != null) {
-                mServiceListener.onServiceDisconnected(BluetoothProfile.INPUT_HOST);
+                mServiceListener.onServiceDisconnected(BluetoothProfile.HID_DEVICE);
             }
         }
     };
 
-    BluetoothInputHost(Context context, ServiceListener listener) {
-        Log.v(TAG, "BluetoothInputHost");
+    BluetoothHidDevice(Context context, ServiceListener listener) {
+        Log.v(TAG, "BluetoothHidDevice");
 
         mContext = context;
         mServiceListener = listener;
@@ -240,7 +240,7 @@
     }
 
     boolean doBind() {
-        Intent intent = new Intent(IBluetoothInputHost.class.getName());
+        Intent intent = new Intent(IBluetoothHidDevice.class.getName());
         ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
         intent.setComponent(comp);
         if (comp == null || !mContext.bindServiceAsUser(intent, mConnection, 0,
@@ -285,7 +285,7 @@
     public List<BluetoothDevice> getConnectedDevices() {
         Log.v(TAG, "getConnectedDevices()");
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 return service.getConnectedDevices();
@@ -306,7 +306,7 @@
     public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) {
         Log.v(TAG, "getDevicesMatchingConnectionStates(): states=" + Arrays.toString(states));
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 return service.getDevicesMatchingConnectionStates(states);
@@ -327,7 +327,7 @@
     public int getConnectionState(BluetoothDevice device) {
         Log.v(TAG, "getConnectionState(): device=" + device);
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 return service.getConnectionState(device);
@@ -367,7 +367,7 @@
             return false;
         }
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 BluetoothHidDeviceAppConfiguration config =
@@ -401,7 +401,7 @@
 
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.unregisterApp(config);
@@ -426,7 +426,7 @@
     public boolean sendReport(BluetoothDevice device, int id, byte[] data) {
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.sendReport(device, id, data);
@@ -454,7 +454,7 @@
 
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.replyReport(device, type, id, data);
@@ -480,7 +480,7 @@
 
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.reportError(device, error);
@@ -504,7 +504,7 @@
 
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.unplug(device);
@@ -529,7 +529,7 @@
 
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.connect(device);
@@ -553,7 +553,7 @@
 
         boolean result = false;
 
-        final IBluetoothInputHost service = mService;
+        final IBluetoothHidDevice service = mService;
         if (service != null) {
             try {
                 result = service.disconnect(device);
diff --git a/core/java/android/bluetooth/BluetoothInputDevice.java b/core/java/android/bluetooth/BluetoothHidHost.java
similarity index 91%
rename from core/java/android/bluetooth/BluetoothInputDevice.java
rename to core/java/android/bluetooth/BluetoothHidHost.java
index 3261576..8ad0f9d 100644
--- a/core/java/android/bluetooth/BluetoothInputDevice.java
+++ b/core/java/android/bluetooth/BluetoothHidHost.java
@@ -35,16 +35,16 @@
  * This class provides the public APIs to control the Bluetooth Input
  * Device Profile.
  *
- * <p>BluetoothInputDevice is a proxy object for controlling the Bluetooth
+ * <p>BluetoothHidHost is a proxy object for controlling the Bluetooth
  * Service via IPC. Use {@link BluetoothAdapter#getProfileProxy} to get
- * the BluetoothInputDevice proxy object.
+ * the BluetoothHidHost proxy object.
  *
  * <p>Each method is protected with its appropriate permission.
  *
  * @hide
  */
-public final class BluetoothInputDevice implements BluetoothProfile {
-    private static final String TAG = "BluetoothInputDevice";
+public final class BluetoothHidHost implements BluetoothProfile {
+    private static final String TAG = "BluetoothHidHost";
     private static final boolean DBG = true;
     private static final boolean VDBG = false;
 
@@ -177,52 +177,52 @@
      * @hide
      */
     public static final String EXTRA_PROTOCOL_MODE =
-            "android.bluetooth.BluetoothInputDevice.extra.PROTOCOL_MODE";
+            "android.bluetooth.BluetoothHidHost.extra.PROTOCOL_MODE";
 
     /**
      * @hide
      */
     public static final String EXTRA_REPORT_TYPE =
-            "android.bluetooth.BluetoothInputDevice.extra.REPORT_TYPE";
+            "android.bluetooth.BluetoothHidHost.extra.REPORT_TYPE";
 
     /**
      * @hide
      */
     public static final String EXTRA_REPORT_ID =
-            "android.bluetooth.BluetoothInputDevice.extra.REPORT_ID";
+            "android.bluetooth.BluetoothHidHost.extra.REPORT_ID";
 
     /**
      * @hide
      */
     public static final String EXTRA_REPORT_BUFFER_SIZE =
-            "android.bluetooth.BluetoothInputDevice.extra.REPORT_BUFFER_SIZE";
+            "android.bluetooth.BluetoothHidHost.extra.REPORT_BUFFER_SIZE";
 
     /**
      * @hide
      */
-    public static final String EXTRA_REPORT = "android.bluetooth.BluetoothInputDevice.extra.REPORT";
+    public static final String EXTRA_REPORT = "android.bluetooth.BluetoothHidHost.extra.REPORT";
 
     /**
      * @hide
      */
-    public static final String EXTRA_STATUS = "android.bluetooth.BluetoothInputDevice.extra.STATUS";
+    public static final String EXTRA_STATUS = "android.bluetooth.BluetoothHidHost.extra.STATUS";
 
     /**
      * @hide
      */
     public static final String EXTRA_VIRTUAL_UNPLUG_STATUS =
-            "android.bluetooth.BluetoothInputDevice.extra.VIRTUAL_UNPLUG_STATUS";
+            "android.bluetooth.BluetoothHidHost.extra.VIRTUAL_UNPLUG_STATUS";
 
     /**
      * @hide
      */
     public static final String EXTRA_IDLE_TIME =
-            "android.bluetooth.BluetoothInputDevice.extra.IDLE_TIME";
+            "android.bluetooth.BluetoothHidHost.extra.IDLE_TIME";
 
     private Context mContext;
     private ServiceListener mServiceListener;
     private BluetoothAdapter mAdapter;
-    private volatile IBluetoothInputDevice mService;
+    private volatile IBluetoothHidHost mService;
 
     private final IBluetoothStateChangeCallback mBluetoothStateChangeCallback =
             new IBluetoothStateChangeCallback.Stub() {
@@ -254,10 +254,10 @@
             };
 
     /**
-     * Create a BluetoothInputDevice proxy object for interacting with the local
+     * Create a BluetoothHidHost proxy object for interacting with the local
      * Bluetooth Service which handles the InputDevice profile
      */
-    /*package*/ BluetoothInputDevice(Context context, ServiceListener l) {
+    /*package*/ BluetoothHidHost(Context context, ServiceListener l) {
         mContext = context;
         mServiceListener = l;
         mAdapter = BluetoothAdapter.getDefaultAdapter();
@@ -275,7 +275,7 @@
     }
 
     boolean doBind() {
-        Intent intent = new Intent(IBluetoothInputDevice.class.getName());
+        Intent intent = new Intent(IBluetoothHidHost.class.getName());
         ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
         intent.setComponent(comp);
         if (comp == null || !mContext.bindServiceAsUser(intent, mConnection, 0,
@@ -331,7 +331,7 @@
      */
     public boolean connect(BluetoothDevice device) {
         if (DBG) log("connect(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.connect(device);
@@ -371,7 +371,7 @@
      */
     public boolean disconnect(BluetoothDevice device) {
         if (DBG) log("disconnect(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.disconnect(device);
@@ -390,7 +390,7 @@
     @Override
     public List<BluetoothDevice> getConnectedDevices() {
         if (VDBG) log("getConnectedDevices()");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled()) {
             try {
                 return service.getConnectedDevices();
@@ -409,7 +409,7 @@
     @Override
     public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) {
         if (VDBG) log("getDevicesMatchingStates()");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled()) {
             try {
                 return service.getDevicesMatchingConnectionStates(states);
@@ -428,7 +428,7 @@
     @Override
     public int getConnectionState(BluetoothDevice device) {
         if (VDBG) log("getState(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.getConnectionState(device);
@@ -458,7 +458,7 @@
      */
     public boolean setPriority(BluetoothDevice device, int priority) {
         if (DBG) log("setPriority(" + device + ", " + priority + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             if (priority != BluetoothProfile.PRIORITY_OFF
                     && priority != BluetoothProfile.PRIORITY_ON) {
@@ -490,7 +490,7 @@
      */
     public int getPriority(BluetoothDevice device) {
         if (VDBG) log("getPriority(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.getPriority(device);
@@ -506,11 +506,11 @@
     private final ServiceConnection mConnection = new ServiceConnection() {
         public void onServiceConnected(ComponentName className, IBinder service) {
             if (DBG) Log.d(TAG, "Proxy object connected");
-            mService = IBluetoothInputDevice.Stub.asInterface(Binder.allowBlocking(service));
+            mService = IBluetoothHidHost.Stub.asInterface(Binder.allowBlocking(service));
 
             if (mServiceListener != null) {
-                mServiceListener.onServiceConnected(BluetoothProfile.INPUT_DEVICE,
-                        BluetoothInputDevice.this);
+                mServiceListener.onServiceConnected(BluetoothProfile.HID_HOST,
+                        BluetoothHidHost.this);
             }
         }
 
@@ -518,7 +518,7 @@
             if (DBG) Log.d(TAG, "Proxy object disconnected");
             mService = null;
             if (mServiceListener != null) {
-                mServiceListener.onServiceDisconnected(BluetoothProfile.INPUT_DEVICE);
+                mServiceListener.onServiceDisconnected(BluetoothProfile.HID_HOST);
             }
         }
     };
@@ -542,7 +542,7 @@
      */
     public boolean virtualUnplug(BluetoothDevice device) {
         if (DBG) log("virtualUnplug(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.virtualUnplug(device);
@@ -568,7 +568,7 @@
      */
     public boolean getProtocolMode(BluetoothDevice device) {
         if (VDBG) log("getProtocolMode(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.getProtocolMode(device);
@@ -592,7 +592,7 @@
      */
     public boolean setProtocolMode(BluetoothDevice device, int protocolMode) {
         if (DBG) log("setProtocolMode(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.setProtocolMode(device, protocolMode);
@@ -623,7 +623,7 @@
             log("getReport(" + device + "), reportType=" + reportType + " reportId=" + reportId
                     + "bufferSize=" + bufferSize);
         }
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.getReport(device, reportType, reportId, bufferSize);
@@ -649,7 +649,7 @@
      */
     public boolean setReport(BluetoothDevice device, byte reportType, String report) {
         if (VDBG) log("setReport(" + device + "), reportType=" + reportType + " report=" + report);
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.setReport(device, reportType, report);
@@ -674,7 +674,7 @@
      */
     public boolean sendData(BluetoothDevice device, String report) {
         if (DBG) log("sendData(" + device + "), report=" + report);
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.sendData(device, report);
@@ -698,7 +698,7 @@
      */
     public boolean getIdleTime(BluetoothDevice device) {
         if (DBG) log("getIdletime(" + device + ")");
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.getIdleTime(device);
@@ -723,7 +723,7 @@
      */
     public boolean setIdleTime(BluetoothDevice device, byte idleTime) {
         if (DBG) log("setIdletime(" + device + "), idleTime=" + idleTime);
-        final IBluetoothInputDevice service = mService;
+        final IBluetoothHidHost service = mService;
         if (service != null && isEnabled() && isValidDevice(device)) {
             try {
                 return service.setIdleTime(device, idleTime);
diff --git a/core/java/android/bluetooth/BluetoothProfile.java b/core/java/android/bluetooth/BluetoothProfile.java
index bc8fa84..46a230b 100644
--- a/core/java/android/bluetooth/BluetoothProfile.java
+++ b/core/java/android/bluetooth/BluetoothProfile.java
@@ -73,11 +73,11 @@
     public static final int HEALTH = 3;
 
     /**
-     * Input Device Profile
+     * HID Host
      *
      * @hide
      */
-    public static final int INPUT_DEVICE = 4;
+    public static final int HID_HOST = 4;
 
     /**
      * PAN Profile
@@ -152,11 +152,11 @@
     public static final int MAP_CLIENT = 18;
 
     /**
-     * Input Host
+     * HID Device
      *
      * @hide
      */
-    public static final int INPUT_HOST = 19;
+    public static final int HID_DEVICE = 19;
 
     /**
      * Max profile ID. This value should be updated whenever a new profile is added to match
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 74bb618..00c08c2 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -9347,7 +9347,7 @@
          * Get the key that retrieves a bluetooth Input Device's priority.
          * @hide
          */
-        public static final String getBluetoothInputDevicePriorityKey(String address) {
+        public static final String getBluetoothHidHostPriorityKey(String address) {
             return BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX + address.toUpperCase(Locale.ROOT);
         }
 
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 29f67a8..fc61a15 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -190,7 +190,7 @@
     <protected-broadcast
         android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
     <protected-broadcast
-        android:name="android.bluetooth.inputhost.profile.action.CONNECTION_STATE_CHANGED" />
+        android:name="android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED" />
     <protected-broadcast
         android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
     <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
diff --git a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothStressTest.java b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothStressTest.java
index 31ce95e..4b32cea 100644
--- a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothStressTest.java
+++ b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothStressTest.java
@@ -256,13 +256,13 @@
         mTestUtils.unpair(mAdapter, device);
         mTestUtils.pair(mAdapter, device, BluetoothTestRunner.sDevicePairPasskey,
                 BluetoothTestRunner.sDevicePairPin);
-        mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.INPUT_DEVICE, null);
+        mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.HID_HOST, null);
 
         for (int i = 0; i < iterations; i++) {
             mTestUtils.writeOutput("connectInput iteration " + (i + 1) + " of " + iterations);
-            mTestUtils.connectProfile(mAdapter, device, BluetoothProfile.INPUT_DEVICE,
+            mTestUtils.connectProfile(mAdapter, device, BluetoothProfile.HID_HOST,
                     String.format("connectInput(device=%s)", device));
-            mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.INPUT_DEVICE,
+            mTestUtils.disconnectProfile(mAdapter, device, BluetoothProfile.HID_HOST,
                     String.format("disconnectInput(device=%s)", device));
         }
 
diff --git a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java
index ee15978..ada0366 100644
--- a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java
+++ b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java
@@ -227,8 +227,8 @@
                 case BluetoothProfile.HEADSET:
                     mConnectionAction = BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED;
                     break;
-                case BluetoothProfile.INPUT_DEVICE:
-                    mConnectionAction = BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED;
+                case BluetoothProfile.HID_HOST:
+                    mConnectionAction = BluetoothHidHost.ACTION_CONNECTION_STATE_CHANGED;
                     break;
                 case BluetoothProfile.PAN:
                     mConnectionAction = BluetoothPan.ACTION_CONNECTION_STATE_CHANGED;
@@ -322,8 +322,8 @@
                     case BluetoothProfile.HEADSET:
                         mHeadset = (BluetoothHeadset) proxy;
                         break;
-                    case BluetoothProfile.INPUT_DEVICE:
-                        mInput = (BluetoothInputDevice) proxy;
+                    case BluetoothProfile.HID_HOST:
+                        mInput = (BluetoothHidHost) proxy;
                         break;
                     case BluetoothProfile.PAN:
                         mPan = (BluetoothPan) proxy;
@@ -342,7 +342,7 @@
                     case BluetoothProfile.HEADSET:
                         mHeadset = null;
                         break;
-                    case BluetoothProfile.INPUT_DEVICE:
+                    case BluetoothProfile.HID_HOST:
                         mInput = null;
                         break;
                     case BluetoothProfile.PAN:
@@ -362,7 +362,7 @@
     private Context mContext;
     private BluetoothA2dp mA2dp = null;
     private BluetoothHeadset mHeadset = null;
-    private BluetoothInputDevice mInput = null;
+    private BluetoothHidHost mInput = null;
     private BluetoothPan mPan = null;
 
     /**
@@ -894,7 +894,7 @@
      * @param adapter The BT adapter.
      * @param device The remote device.
      * @param profile The profile to connect. One of {@link BluetoothProfile#A2DP},
-     * {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#INPUT_DEVICE}.
+     * {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#HID_HOST}.
      * @param methodName The method name to printed in the logs.  If null, will be
      * "connectProfile(profile=&lt;profile&gt;, device=&lt;device&gt;)"
      */
@@ -935,8 +935,8 @@
                     assertTrue(((BluetoothA2dp)proxy).connect(device));
                 } else if (profile == BluetoothProfile.HEADSET) {
                     assertTrue(((BluetoothHeadset)proxy).connect(device));
-                } else if (profile == BluetoothProfile.INPUT_DEVICE) {
-                    assertTrue(((BluetoothInputDevice)proxy).connect(device));
+                } else if (profile == BluetoothProfile.HID_HOST) {
+                    assertTrue(((BluetoothHidHost)proxy).connect(device));
                 }
                 break;
             default:
@@ -975,7 +975,7 @@
      * @param adapter The BT adapter.
      * @param device The remote device.
      * @param profile The profile to disconnect. One of {@link BluetoothProfile#A2DP},
-     * {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#INPUT_DEVICE}.
+     * {@link BluetoothProfile#HEADSET}, or {@link BluetoothProfile#HID_HOST}.
      * @param methodName The method name to printed in the logs.  If null, will be
      * "connectProfile(profile=&lt;profile&gt;, device=&lt;device&gt;)"
      */
@@ -1010,8 +1010,8 @@
                     assertTrue(((BluetoothA2dp)proxy).disconnect(device));
                 } else if (profile == BluetoothProfile.HEADSET) {
                     assertTrue(((BluetoothHeadset)proxy).disconnect(device));
-                } else if (profile == BluetoothProfile.INPUT_DEVICE) {
-                    assertTrue(((BluetoothInputDevice)proxy).disconnect(device));
+                } else if (profile == BluetoothProfile.HID_HOST) {
+                    assertTrue(((BluetoothHidHost)proxy).disconnect(device));
                 }
                 break;
             case BluetoothProfile.STATE_DISCONNECTED:
@@ -1237,7 +1237,7 @@
         long s = System.currentTimeMillis();
         while (System.currentTimeMillis() - s < CONNECT_DISCONNECT_PROFILE_TIMEOUT) {
             state = mPan.getConnectionState(device);
-            if (state == BluetoothInputDevice.STATE_DISCONNECTED
+            if (state == BluetoothHidHost.STATE_DISCONNECTED
                     && (receiver.getFiredFlags() & mask) == mask) {
                 long finish = receiver.getCompletedTime();
                 if (start != -1 && finish != -1) {
@@ -1255,7 +1255,7 @@
         int firedFlags = receiver.getFiredFlags();
         removeReceiver(receiver);
         fail(String.format("%s timeout: state=%d (expected %d), flags=0x%x (expected 0x%s)",
-                methodName, state, BluetoothInputDevice.STATE_DISCONNECTED, firedFlags, mask));
+                methodName, state, BluetoothHidHost.STATE_DISCONNECTED, firedFlags, mask));
     }
 
     /**
@@ -1404,7 +1404,7 @@
         String[] actions = {
                 BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED,
                 BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED,
-                BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED};
+                BluetoothHidHost.ACTION_CONNECTION_STATE_CHANGED};
         ConnectProfileReceiver receiver = new ConnectProfileReceiver(device, profile,
                 expectedFlags);
         addReceiver(receiver, actions);
@@ -1443,7 +1443,7 @@
                     return mHeadset;
                 }
                 break;
-            case BluetoothProfile.INPUT_DEVICE:
+            case BluetoothProfile.HID_HOST:
                 if (mInput != null) {
                     return mInput;
                 }
@@ -1469,7 +1469,7 @@
                     sleep(POLL_TIME);
                 }
                 return mHeadset;
-            case BluetoothProfile.INPUT_DEVICE:
+            case BluetoothProfile.HID_HOST:
                 while (mInput == null && System.currentTimeMillis() - s < CONNECT_PROXY_TIMEOUT) {
                     sleep(POLL_TIME);
                 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java
index a9e8db5..0cc2706 100755
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java
@@ -19,7 +19,7 @@
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothInputDevice;
+import android.bluetooth.BluetoothHidHost;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.util.Log;
@@ -35,7 +35,7 @@
     private static final String TAG = "HidProfile";
     private static boolean V = true;
 
-    private BluetoothInputDevice mService;
+    private BluetoothHidHost mService;
     private boolean mIsProfileReady;
 
     private final LocalBluetoothAdapter mLocalAdapter;
@@ -53,7 +53,7 @@
 
         public void onServiceConnected(int profile, BluetoothProfile proxy) {
             if (V) Log.d(TAG,"Bluetooth service connected");
-            mService = (BluetoothInputDevice) proxy;
+            mService = (BluetoothHidHost) proxy;
             // We just bound to the service, so refresh the UI for any connected HID devices.
             List<BluetoothDevice> deviceList = mService.getConnectedDevices();
             while (!deviceList.isEmpty()) {
@@ -87,7 +87,7 @@
         mDeviceManager = deviceManager;
         mProfileManager = profileManager;
         adapter.getProfileProxy(context, new InputDeviceServiceListener(),
-                BluetoothProfile.INPUT_DEVICE);
+                BluetoothProfile.HID_HOST);
     }
 
     public boolean isConnectable() {
@@ -190,7 +190,7 @@
         if (V) Log.d(TAG, "finalize()");
         if (mService != null) {
             try {
-                BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.INPUT_DEVICE,
+                BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.HID_HOST,
                                                                        mService);
                 mService = null;
             }catch (Throwable t) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
index 0750dc7..9cda669 100755
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java
@@ -21,9 +21,9 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothHeadset;
 import android.bluetooth.BluetoothHeadsetClient;
+import android.bluetooth.BluetoothHidHost;
 import android.bluetooth.BluetoothMap;
 import android.bluetooth.BluetoothMapClient;
-import android.bluetooth.BluetoothInputDevice;
 import android.bluetooth.BluetoothPan;
 import android.bluetooth.BluetoothPbapClient;
 import android.bluetooth.BluetoothProfile;
@@ -123,7 +123,7 @@
         // Always add HID and PAN profiles
         mHidProfile = new HidProfile(context, mLocalAdapter, mDeviceManager, this);
         addProfile(mHidProfile, HidProfile.NAME,
-                BluetoothInputDevice.ACTION_CONNECTION_STATE_CHANGED);
+                BluetoothHidHost.ACTION_CONNECTION_STATE_CHANGED);
 
         mPanProfile = new PanProfile(context);
         addPanProfile(mPanProfile, PanProfile.NAME,