Loading core/java/android/hardware/input/IInputManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,8 @@ interface IInputManager { // Registers an input devices changed listener. void registerInputDevicesChangedListener(IInputDevicesChangedListener listener); // Queries whether the device is currently in tablet mode int isInTabletMode(); // Registers a tablet mode change listener void registerTabletModeChangedListener(ITabletModeChangedListener listener); Loading core/java/android/hardware/input/InputManager.java +45 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.hardware.input; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import android.annotation.IntDef; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.content.Context; Loading @@ -39,6 +40,8 @@ import android.util.SparseArray; import android.view.InputDevice; import android.view.InputEvent; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; Loading Loading @@ -179,6 +182,31 @@ public final class InputManager { */ public static final int INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH = 2; // see InputDispatcher.h /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef({SWITCH_STATE_UNKNOWN, SWITCH_STATE_OFF, SWITCH_STATE_ON}) public @interface SwitchState {} /** * Switch State: Unknown. * * The system has yet to report a valid value for the switch. * @hide */ public static final int SWITCH_STATE_UNKNOWN = -1; /** * Switch State: Off. * @hide */ public static final int SWITCH_STATE_OFF = 0; /** * Switch State: On. * @hide */ public static final int SWITCH_STATE_ON = 1; private InputManager(IInputManager im) { mIm = im; } Loading Loading @@ -338,6 +366,23 @@ public final class InputManager { return -1; } /** * Queries whether the device is in tablet mode. * * @return The tablet switch state which is one of {@link #SWITCH_STATE_UNKNOWN}, * {@link #SWITCH_STATE_OFF} or {@link #SWITCH_STATE_ON}. * @hide */ @SwitchState public int isInTabletMode() { try { return mIm.isInTabletMode(); } catch (RemoteException ex) { Log.w(TAG, "Could not get tablet mode state", ex); return SWITCH_STATE_UNKNOWN; } } /** * Register a tablet mode changed listener. * Loading core/res/AndroidManifest.xml +3 −2 Original line number Diff line number Diff line Loading @@ -2059,10 +2059,11 @@ <permission android:name="android.permission.SET_KEYBOARD_LAYOUT" android:protectionLevel="signature" /> <!-- Allows an application to monitor changes in tablet mode. <!-- Allows an application to query tablet mode state and monitor changes in it. <p>Not for use by third-party applications. @hide --> <permission android:name="android.permission.TABLET_MODE_LISTENER" <permission android:name="android.permission.TABLET_MODE" android:protectionLevel="signature" /> <!-- Allows an application to request installing packages. Apps Loading core/res/res/values/config.xml +4 −0 Original line number Diff line number Diff line Loading @@ -2322,4 +2322,8 @@ <!-- Allow the gesture to double tap the power button twice to start the camera while the device is non-interactive. --> <bool name="config_cameraDoubleTapPowerGestureEnabled">true</bool> <!-- The BT name of the keyboard packaged with the device. If this is defined, SystemUI will automatically try to pair with it when the device exits tablet mode. --> <string translatable="false" name="config_packagedKeyboardName"></string> </resources> core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2330,4 +2330,6 @@ <java-symbol type="bool" name="config_cameraDoubleTapPowerGestureEnabled" /> <java-symbol type="drawable" name="platlogo_m" /> <java-symbol type="string" name="config_packagedKeyboardName" /> </resources> Loading
core/java/android/hardware/input/IInputManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,8 @@ interface IInputManager { // Registers an input devices changed listener. void registerInputDevicesChangedListener(IInputDevicesChangedListener listener); // Queries whether the device is currently in tablet mode int isInTabletMode(); // Registers a tablet mode change listener void registerTabletModeChangedListener(ITabletModeChangedListener listener); Loading
core/java/android/hardware/input/InputManager.java +45 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.hardware.input; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; import android.annotation.IntDef; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.content.Context; Loading @@ -39,6 +40,8 @@ import android.util.SparseArray; import android.view.InputDevice; import android.view.InputEvent; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; Loading Loading @@ -179,6 +182,31 @@ public final class InputManager { */ public static final int INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH = 2; // see InputDispatcher.h /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef({SWITCH_STATE_UNKNOWN, SWITCH_STATE_OFF, SWITCH_STATE_ON}) public @interface SwitchState {} /** * Switch State: Unknown. * * The system has yet to report a valid value for the switch. * @hide */ public static final int SWITCH_STATE_UNKNOWN = -1; /** * Switch State: Off. * @hide */ public static final int SWITCH_STATE_OFF = 0; /** * Switch State: On. * @hide */ public static final int SWITCH_STATE_ON = 1; private InputManager(IInputManager im) { mIm = im; } Loading Loading @@ -338,6 +366,23 @@ public final class InputManager { return -1; } /** * Queries whether the device is in tablet mode. * * @return The tablet switch state which is one of {@link #SWITCH_STATE_UNKNOWN}, * {@link #SWITCH_STATE_OFF} or {@link #SWITCH_STATE_ON}. * @hide */ @SwitchState public int isInTabletMode() { try { return mIm.isInTabletMode(); } catch (RemoteException ex) { Log.w(TAG, "Could not get tablet mode state", ex); return SWITCH_STATE_UNKNOWN; } } /** * Register a tablet mode changed listener. * Loading
core/res/AndroidManifest.xml +3 −2 Original line number Diff line number Diff line Loading @@ -2059,10 +2059,11 @@ <permission android:name="android.permission.SET_KEYBOARD_LAYOUT" android:protectionLevel="signature" /> <!-- Allows an application to monitor changes in tablet mode. <!-- Allows an application to query tablet mode state and monitor changes in it. <p>Not for use by third-party applications. @hide --> <permission android:name="android.permission.TABLET_MODE_LISTENER" <permission android:name="android.permission.TABLET_MODE" android:protectionLevel="signature" /> <!-- Allows an application to request installing packages. Apps Loading
core/res/res/values/config.xml +4 −0 Original line number Diff line number Diff line Loading @@ -2322,4 +2322,8 @@ <!-- Allow the gesture to double tap the power button twice to start the camera while the device is non-interactive. --> <bool name="config_cameraDoubleTapPowerGestureEnabled">true</bool> <!-- The BT name of the keyboard packaged with the device. If this is defined, SystemUI will automatically try to pair with it when the device exits tablet mode. --> <string translatable="false" name="config_packagedKeyboardName"></string> </resources>
core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -2330,4 +2330,6 @@ <java-symbol type="bool" name="config_cameraDoubleTapPowerGestureEnabled" /> <java-symbol type="drawable" name="platlogo_m" /> <java-symbol type="string" name="config_packagedKeyboardName" /> </resources>