aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-08-25 18:26:11 +0900
committerTadashi G. Takaoka <takaoka@google.com>2014-08-27 19:20:38 +0900
commit37beaf1529a61228d6240736937789e5622b29ed (patch)
tree3ed20e882c7d9d1fb2a6d8a7ca939437e7019f64 /java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
parent97681ebdf16dd94b7ed0607342cc2750fb96a641 (diff)
downloadlatinime-37beaf1529a61228d6240736937789e5622b29ed.tar.gz
latinime-37beaf1529a61228d6240736937789e5622b29ed.tar.xz
latinime-37beaf1529a61228d6240736937789e5622b29ed.zip
Simplify onComputeInsets of LatinIME
This CL expands SoftInputWindow to the entire screen. Thus a key review backing view is eliminated and onComputeInsets() gets simplified too. Bug: 17212702 Bug: 10841052 Bug: 10541453 Change-Id: I2d859f4e4698c64cabe399000821f13bab729996
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java b/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
index f9d853493..dd122b634 100644
--- a/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ViewLayoutUtils.java
@@ -19,7 +19,10 @@ package com.android.inputmethod.latin.utils;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
+import android.view.Window;
+import android.view.WindowManager;
import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import android.widget.RelativeLayout;
public final class ViewLayoutUtils {
@@ -51,4 +54,40 @@ public final class ViewLayoutUtils {
marginLayoutParams.setMargins(x, y, 0, 0);
}
}
+
+ public static void updateLayoutHeightOf(final Window window, final int layoutHeight) {
+ final WindowManager.LayoutParams params = window.getAttributes();
+ if (params.height != layoutHeight) {
+ params.height = layoutHeight;
+ window.setAttributes(params);
+ }
+ }
+
+ public static void updateLayoutHeightOf(final View view, final int layoutHeight) {
+ final ViewGroup.LayoutParams params = view.getLayoutParams();
+ if (params.height != layoutHeight) {
+ params.height = layoutHeight;
+ view.setLayoutParams(params);
+ }
+ }
+
+ public static void updateLayoutGravityOf(final View view, final int layoutGravity) {
+ final ViewGroup.LayoutParams lp = view.getLayoutParams();
+ if (lp instanceof LinearLayout.LayoutParams) {
+ final LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)lp;
+ if (params.gravity != layoutGravity) {
+ params.gravity = layoutGravity;
+ view.setLayoutParams(params);
+ }
+ } else if (lp instanceof FrameLayout.LayoutParams) {
+ final FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)lp;
+ if (params.gravity != layoutGravity) {
+ params.gravity = layoutGravity;
+ view.setLayoutParams(params);
+ }
+ } else {
+ throw new IllegalArgumentException("Layout parameter doesn't have gravity: "
+ + lp.getClass().getName());
+ }
+ }
}