Loading core/java/android/hardware/input/IInputManager.aidl +6 −5 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.hardware.input; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.KeyboardLayout; import android.hardware.input.IInputDevicesChangedListener; import android.os.IBinder; Loading @@ -41,13 +42,13 @@ interface IInputManager { // Keyboard layouts configuration. KeyboardLayout[] getKeyboardLayouts(); KeyboardLayout getKeyboardLayout(String keyboardLayoutDescriptor); String getCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor); void setCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor, String getCurrentKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier); void setCurrentKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier, String keyboardLayoutDescriptor); String[] getKeyboardLayoutsForInputDevice(String inputDeviceDescriptor); void addKeyboardLayoutForInputDevice(String inputDeviceDescriptor, String[] getKeyboardLayoutsForInputDevice(in InputDeviceIdentifier identifier); void addKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier, String keyboardLayoutDescriptor); void removeKeyboardLayoutForInputDevice(String inputDeviceDescriptor, void removeKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier, String keyboardLayoutDescriptor); // Registers an input devices changed listener. Loading core/java/android/hardware/input/InputDeviceIdentifier.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 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.hardware.input; parcelable InputDeviceIdentifier; core/java/android/hardware/input/InputDeviceIdentifier.java 0 → 100644 +82 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 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.hardware.input; import android.os.Parcel; import android.os.Parcelable; /** * Wrapper for passing identifying information for input devices. * * @hide */ public final class InputDeviceIdentifier implements Parcelable { private final String mDescriptor; private final int mVendorId; private final int mProductId; public InputDeviceIdentifier(String descriptor, int vendorId, int productId) { this.mDescriptor = descriptor; this.mVendorId = vendorId; this.mProductId = productId; } private InputDeviceIdentifier(Parcel src) { mDescriptor = src.readString(); mVendorId = src.readInt(); mProductId = src.readInt(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mDescriptor); dest.writeInt(mVendorId); dest.writeInt(mProductId); } public String getDescriptor() { return mDescriptor; } public int getVendorId() { return mVendorId; } public int getProductId() { return mProductId; } public static final Parcelable.Creator<InputDeviceIdentifier> CREATOR = new Parcelable.Creator<InputDeviceIdentifier>() { @Override public InputDeviceIdentifier createFromParcel(Parcel source) { return new InputDeviceIdentifier(source); } @Override public InputDeviceIdentifier[] newArray(int size) { return new InputDeviceIdentifier[size]; } }; } core/java/android/hardware/input/InputManager.java +42 −42 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import android.os.ServiceManager; import android.os.Vibrator; Loading Loading @@ -373,20 +375,17 @@ public final class InputManager { } /** * Gets the current keyboard layout descriptor for the specified input device. * * @param inputDeviceDescriptor The input device descriptor. * @return The keyboard layout descriptor, or null if no keyboard layout has been set. * Gets the current keyboard layout descriptor for the specified input * device. * * @param identifier Identifier for the input device * @return The keyboard layout descriptor, or null if no keyboard layout has * been set. * @hide */ public String getCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor) { if (inputDeviceDescriptor == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } public String getCurrentKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier) { try { return mIm.getCurrentKeyboardLayoutForInputDevice(inputDeviceDescriptor); return mIm.getCurrentKeyboardLayoutForInputDevice(identifier); } catch (RemoteException ex) { Log.w(TAG, "Could not get current keyboard layout for input device.", ex); return null; Loading @@ -394,28 +393,29 @@ public final class InputManager { } /** * Sets the current keyboard layout descriptor for the specified input device. * Sets the current keyboard layout descriptor for the specified input * device. * <p> * This method may have the side-effect of causing the input device in question * to be reconfigured. * This method may have the side-effect of causing the input device in * question to be reconfigured. * </p> * * @param inputDeviceDescriptor The input device descriptor. * @param keyboardLayoutDescriptor The keyboard layout descriptor to use, must not be null. * * @param identifier The identifier for the input device. * @param keyboardLayoutDescriptor The keyboard layout descriptor to use, * must not be null. * @hide */ public void setCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor, public void setCurrentKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier, String keyboardLayoutDescriptor) { if (inputDeviceDescriptor == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); if (identifier == null) { throw new IllegalArgumentException("identifier must not be null"); } if (keyboardLayoutDescriptor == null) { throw new IllegalArgumentException("keyboardLayoutDescriptor must not be null"); } try { mIm.setCurrentKeyboardLayoutForInputDevice(inputDeviceDescriptor, mIm.setCurrentKeyboardLayoutForInputDevice(identifier, keyboardLayoutDescriptor); } catch (RemoteException ex) { Log.w(TAG, "Could not set current keyboard layout for input device.", ex); Loading @@ -423,20 +423,20 @@ public final class InputManager { } /** * Gets all keyboard layout descriptors that are enabled for the specified input device. * Gets all keyboard layout descriptors that are enabled for the specified * input device. * * @param inputDeviceDescriptor The input device descriptor. * @param identifier The identifier for the input device. * @return The keyboard layout descriptors. * * @hide */ public String[] getKeyboardLayoutsForInputDevice(String inputDeviceDescriptor) { if (inputDeviceDescriptor == null) { public String[] getKeyboardLayoutsForInputDevice(InputDeviceIdentifier identifier) { if (identifier == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } try { return mIm.getKeyboardLayoutsForInputDevice(inputDeviceDescriptor); return mIm.getKeyboardLayoutsForInputDevice(identifier); } catch (RemoteException ex) { Log.w(TAG, "Could not get keyboard layouts for input device.", ex); return ArrayUtils.emptyArray(String.class); Loading @@ -446,18 +446,18 @@ public final class InputManager { /** * Adds the keyboard layout descriptor for the specified input device. * <p> * This method may have the side-effect of causing the input device in question * to be reconfigured. * This method may have the side-effect of causing the input device in * question to be reconfigured. * </p> * * @param inputDeviceDescriptor The input device descriptor. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to add. * * @param identifier The identifier for the input device. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to * add. * @hide */ public void addKeyboardLayoutForInputDevice(String inputDeviceDescriptor, public void addKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier, String keyboardLayoutDescriptor) { if (inputDeviceDescriptor == null) { if (identifier == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } if (keyboardLayoutDescriptor == null) { Loading @@ -465,7 +465,7 @@ public final class InputManager { } try { mIm.addKeyboardLayoutForInputDevice(inputDeviceDescriptor, keyboardLayoutDescriptor); mIm.addKeyboardLayoutForInputDevice(identifier, keyboardLayoutDescriptor); } catch (RemoteException ex) { Log.w(TAG, "Could not add keyboard layout for input device.", ex); } Loading @@ -474,18 +474,18 @@ public final class InputManager { /** * Removes the keyboard layout descriptor for the specified input device. * <p> * This method may have the side-effect of causing the input device in question * to be reconfigured. * This method may have the side-effect of causing the input device in * question to be reconfigured. * </p> * * @param inputDeviceDescriptor The input device descriptor. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to remove. * * @param identifier The identifier for the input device. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to * remove. * @hide */ public void removeKeyboardLayoutForInputDevice(String inputDeviceDescriptor, public void removeKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier, String keyboardLayoutDescriptor) { if (inputDeviceDescriptor == null) { if (identifier == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } if (keyboardLayoutDescriptor == null) { Loading @@ -493,7 +493,7 @@ public final class InputManager { } try { mIm.removeKeyboardLayoutForInputDevice(inputDeviceDescriptor, keyboardLayoutDescriptor); mIm.removeKeyboardLayoutForInputDevice(identifier, keyboardLayoutDescriptor); } catch (RemoteException ex) { Log.w(TAG, "Could not remove keyboard layout for input device.", ex); } Loading core/java/android/view/InputDevice.java +53 −37 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.view; import android.content.Context; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -49,6 +50,7 @@ public final class InputDevice implements Parcelable { private final int mVendorId; private final int mProductId; private final String mDescriptor; private final InputDeviceIdentifier mIdentifier; private final boolean mIsExternal; private final int mSources; private final int mKeyboardType; Loading Loading @@ -361,6 +363,7 @@ public final class InputDevice implements Parcelable { mKeyCharacterMap = keyCharacterMap; mHasVibrator = hasVibrator; mHasButtonUnderPad = hasButtonUnderPad; mIdentifier = new InputDeviceIdentifier(descriptor, vendorId, productId); } private InputDevice(Parcel in) { Loading @@ -377,6 +380,7 @@ public final class InputDevice implements Parcelable { mKeyCharacterMap = KeyCharacterMap.CREATOR.createFromParcel(in); mHasVibrator = in.readInt() != 0; mHasButtonUnderPad = in.readInt() != 0; mIdentifier = new InputDeviceIdentifier(mDescriptor, mVendorId, mProductId); for (;;) { int axis = in.readInt(); Loading Loading @@ -440,6 +444,18 @@ public final class InputDevice implements Parcelable { return mControllerNumber; } /** * The set of identifying information for type of input device. This * information can be used by the system to configure appropriate settings * for the device. * * @return The identifier object for this device * @hide */ public InputDeviceIdentifier getIdentifier() { return mIdentifier; } /** * Gets a generation number for this input device. * The generation number is incremented whenever the device is reconfigured and its Loading Loading
core/java/android/hardware/input/IInputManager.aidl +6 −5 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.hardware.input; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.KeyboardLayout; import android.hardware.input.IInputDevicesChangedListener; import android.os.IBinder; Loading @@ -41,13 +42,13 @@ interface IInputManager { // Keyboard layouts configuration. KeyboardLayout[] getKeyboardLayouts(); KeyboardLayout getKeyboardLayout(String keyboardLayoutDescriptor); String getCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor); void setCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor, String getCurrentKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier); void setCurrentKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier, String keyboardLayoutDescriptor); String[] getKeyboardLayoutsForInputDevice(String inputDeviceDescriptor); void addKeyboardLayoutForInputDevice(String inputDeviceDescriptor, String[] getKeyboardLayoutsForInputDevice(in InputDeviceIdentifier identifier); void addKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier, String keyboardLayoutDescriptor); void removeKeyboardLayoutForInputDevice(String inputDeviceDescriptor, void removeKeyboardLayoutForInputDevice(in InputDeviceIdentifier identifier, String keyboardLayoutDescriptor); // Registers an input devices changed listener. Loading
core/java/android/hardware/input/InputDeviceIdentifier.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 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.hardware.input; parcelable InputDeviceIdentifier;
core/java/android/hardware/input/InputDeviceIdentifier.java 0 → 100644 +82 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 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.hardware.input; import android.os.Parcel; import android.os.Parcelable; /** * Wrapper for passing identifying information for input devices. * * @hide */ public final class InputDeviceIdentifier implements Parcelable { private final String mDescriptor; private final int mVendorId; private final int mProductId; public InputDeviceIdentifier(String descriptor, int vendorId, int productId) { this.mDescriptor = descriptor; this.mVendorId = vendorId; this.mProductId = productId; } private InputDeviceIdentifier(Parcel src) { mDescriptor = src.readString(); mVendorId = src.readInt(); mProductId = src.readInt(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mDescriptor); dest.writeInt(mVendorId); dest.writeInt(mProductId); } public String getDescriptor() { return mDescriptor; } public int getVendorId() { return mVendorId; } public int getProductId() { return mProductId; } public static final Parcelable.Creator<InputDeviceIdentifier> CREATOR = new Parcelable.Creator<InputDeviceIdentifier>() { @Override public InputDeviceIdentifier createFromParcel(Parcel source) { return new InputDeviceIdentifier(source); } @Override public InputDeviceIdentifier[] newArray(int size) { return new InputDeviceIdentifier[size]; } }; }
core/java/android/hardware/input/InputManager.java +42 −42 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import android.os.ServiceManager; import android.os.Vibrator; Loading Loading @@ -373,20 +375,17 @@ public final class InputManager { } /** * Gets the current keyboard layout descriptor for the specified input device. * * @param inputDeviceDescriptor The input device descriptor. * @return The keyboard layout descriptor, or null if no keyboard layout has been set. * Gets the current keyboard layout descriptor for the specified input * device. * * @param identifier Identifier for the input device * @return The keyboard layout descriptor, or null if no keyboard layout has * been set. * @hide */ public String getCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor) { if (inputDeviceDescriptor == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } public String getCurrentKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier) { try { return mIm.getCurrentKeyboardLayoutForInputDevice(inputDeviceDescriptor); return mIm.getCurrentKeyboardLayoutForInputDevice(identifier); } catch (RemoteException ex) { Log.w(TAG, "Could not get current keyboard layout for input device.", ex); return null; Loading @@ -394,28 +393,29 @@ public final class InputManager { } /** * Sets the current keyboard layout descriptor for the specified input device. * Sets the current keyboard layout descriptor for the specified input * device. * <p> * This method may have the side-effect of causing the input device in question * to be reconfigured. * This method may have the side-effect of causing the input device in * question to be reconfigured. * </p> * * @param inputDeviceDescriptor The input device descriptor. * @param keyboardLayoutDescriptor The keyboard layout descriptor to use, must not be null. * * @param identifier The identifier for the input device. * @param keyboardLayoutDescriptor The keyboard layout descriptor to use, * must not be null. * @hide */ public void setCurrentKeyboardLayoutForInputDevice(String inputDeviceDescriptor, public void setCurrentKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier, String keyboardLayoutDescriptor) { if (inputDeviceDescriptor == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); if (identifier == null) { throw new IllegalArgumentException("identifier must not be null"); } if (keyboardLayoutDescriptor == null) { throw new IllegalArgumentException("keyboardLayoutDescriptor must not be null"); } try { mIm.setCurrentKeyboardLayoutForInputDevice(inputDeviceDescriptor, mIm.setCurrentKeyboardLayoutForInputDevice(identifier, keyboardLayoutDescriptor); } catch (RemoteException ex) { Log.w(TAG, "Could not set current keyboard layout for input device.", ex); Loading @@ -423,20 +423,20 @@ public final class InputManager { } /** * Gets all keyboard layout descriptors that are enabled for the specified input device. * Gets all keyboard layout descriptors that are enabled for the specified * input device. * * @param inputDeviceDescriptor The input device descriptor. * @param identifier The identifier for the input device. * @return The keyboard layout descriptors. * * @hide */ public String[] getKeyboardLayoutsForInputDevice(String inputDeviceDescriptor) { if (inputDeviceDescriptor == null) { public String[] getKeyboardLayoutsForInputDevice(InputDeviceIdentifier identifier) { if (identifier == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } try { return mIm.getKeyboardLayoutsForInputDevice(inputDeviceDescriptor); return mIm.getKeyboardLayoutsForInputDevice(identifier); } catch (RemoteException ex) { Log.w(TAG, "Could not get keyboard layouts for input device.", ex); return ArrayUtils.emptyArray(String.class); Loading @@ -446,18 +446,18 @@ public final class InputManager { /** * Adds the keyboard layout descriptor for the specified input device. * <p> * This method may have the side-effect of causing the input device in question * to be reconfigured. * This method may have the side-effect of causing the input device in * question to be reconfigured. * </p> * * @param inputDeviceDescriptor The input device descriptor. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to add. * * @param identifier The identifier for the input device. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to * add. * @hide */ public void addKeyboardLayoutForInputDevice(String inputDeviceDescriptor, public void addKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier, String keyboardLayoutDescriptor) { if (inputDeviceDescriptor == null) { if (identifier == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } if (keyboardLayoutDescriptor == null) { Loading @@ -465,7 +465,7 @@ public final class InputManager { } try { mIm.addKeyboardLayoutForInputDevice(inputDeviceDescriptor, keyboardLayoutDescriptor); mIm.addKeyboardLayoutForInputDevice(identifier, keyboardLayoutDescriptor); } catch (RemoteException ex) { Log.w(TAG, "Could not add keyboard layout for input device.", ex); } Loading @@ -474,18 +474,18 @@ public final class InputManager { /** * Removes the keyboard layout descriptor for the specified input device. * <p> * This method may have the side-effect of causing the input device in question * to be reconfigured. * This method may have the side-effect of causing the input device in * question to be reconfigured. * </p> * * @param inputDeviceDescriptor The input device descriptor. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to remove. * * @param identifier The identifier for the input device. * @param keyboardLayoutDescriptor The descriptor of the keyboard layout to * remove. * @hide */ public void removeKeyboardLayoutForInputDevice(String inputDeviceDescriptor, public void removeKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier, String keyboardLayoutDescriptor) { if (inputDeviceDescriptor == null) { if (identifier == null) { throw new IllegalArgumentException("inputDeviceDescriptor must not be null"); } if (keyboardLayoutDescriptor == null) { Loading @@ -493,7 +493,7 @@ public final class InputManager { } try { mIm.removeKeyboardLayoutForInputDevice(inputDeviceDescriptor, keyboardLayoutDescriptor); mIm.removeKeyboardLayoutForInputDevice(identifier, keyboardLayoutDescriptor); } catch (RemoteException ex) { Log.w(TAG, "Could not remove keyboard layout for input device.", ex); } Loading
core/java/android/view/InputDevice.java +53 −37 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.view; import android.content.Context; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -49,6 +50,7 @@ public final class InputDevice implements Parcelable { private final int mVendorId; private final int mProductId; private final String mDescriptor; private final InputDeviceIdentifier mIdentifier; private final boolean mIsExternal; private final int mSources; private final int mKeyboardType; Loading Loading @@ -361,6 +363,7 @@ public final class InputDevice implements Parcelable { mKeyCharacterMap = keyCharacterMap; mHasVibrator = hasVibrator; mHasButtonUnderPad = hasButtonUnderPad; mIdentifier = new InputDeviceIdentifier(descriptor, vendorId, productId); } private InputDevice(Parcel in) { Loading @@ -377,6 +380,7 @@ public final class InputDevice implements Parcelable { mKeyCharacterMap = KeyCharacterMap.CREATOR.createFromParcel(in); mHasVibrator = in.readInt() != 0; mHasButtonUnderPad = in.readInt() != 0; mIdentifier = new InputDeviceIdentifier(mDescriptor, mVendorId, mProductId); for (;;) { int axis = in.readInt(); Loading Loading @@ -440,6 +444,18 @@ public final class InputDevice implements Parcelable { return mControllerNumber; } /** * The set of identifying information for type of input device. This * information can be used by the system to configure appropriate settings * for the device. * * @return The identifier object for this device * @hide */ public InputDeviceIdentifier getIdentifier() { return mIdentifier; } /** * Gets a generation number for this input device. * The generation number is incremented whenever the device is reconfigured and its Loading