Don't show modifier keys when HW qwerty keyboard is present
... and rename layout_keyboard to layout_modifier_keys
Bug: N/A
Test: use with hw keyboard
Change-Id: Id8f542ae2618a652881b18c2d222810efdc6fba4
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index 0f62984..54a3500 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -135,7 +135,7 @@
.getRootView()
.setOnApplyWindowInsetsListener(
(v, insets) -> {
- updateKeyboardContainerVisibility();
+ updateModifierKeysVisibility();
return insets;
});
// if installer is launched, it will be handled in onActivityResult
@@ -284,7 +284,7 @@
mAccessibilityManager.isEnabled()
? View.GONE
: View.VISIBLE;
- updateKeyboardContainerVisibility();
+ updateModifierKeysVisibility();
}
}
});
@@ -384,14 +384,15 @@
connectToTerminalService();
}
- private void updateKeyboardContainerVisibility() {
- boolean imeVisible =
- this.getWindow()
- .getDecorView()
- .getRootWindowInsets()
- .isVisible(WindowInsets.Type.ime());
- View keyboardContainer = findViewById(R.id.keyboard_container);
- keyboardContainer.setVisibility(!imeVisible ? View.GONE : View.VISIBLE);
+ private void updateModifierKeysVisibility() {
+ boolean imeShown =
+ getWindow().getDecorView().getRootWindowInsets().isVisible(WindowInsets.Type.ime());
+ boolean hasHwQwertyKeyboard =
+ getResources().getConfiguration().keyboard == Configuration.KEYBOARD_QWERTY;
+ boolean showModifierKeys = imeShown && !hasHwQwertyKeyboard;
+
+ View modifierKeys = findViewById(R.id.modifier_keys);
+ modifierKeys.setVisibility(showModifierKeys ? View.VISIBLE : View.GONE);
}
@Override
diff --git a/android/TerminalApp/res/layout/activity_headless.xml b/android/TerminalApp/res/layout/activity_headless.xml
index 0bcfbea..b4a65cc 100644
--- a/android/TerminalApp/res/layout/activity_headless.xml
+++ b/android/TerminalApp/res/layout/activity_headless.xml
@@ -59,7 +59,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
- <include layout="@layout/layout_keyboard" />
+ <include layout="@layout/layout_modifier_keys" />
</LinearLayout>
</FrameLayout>
diff --git a/android/TerminalApp/res/layout/layout_keyboard.xml b/android/TerminalApp/res/layout/layout_modifier_keys.xml
similarity index 98%
rename from android/TerminalApp/res/layout/layout_keyboard.xml
rename to android/TerminalApp/res/layout/layout_modifier_keys.xml
index d8b7e11..ff0b341 100644
--- a/android/TerminalApp/res/layout/layout_keyboard.xml
+++ b/android/TerminalApp/res/layout/layout_modifier_keys.xml
@@ -17,7 +17,7 @@
<!--TODO(b/376813452): we might want tablet UI for that-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/keyboard_container"
+ android:id="@+id/modifier_keys"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
@@ -79,4 +79,4 @@
android:id="@+id/btn_pgdn"
android:text="@string/btn_pgdn_text" />
</LinearLayout>
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>