aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-08-07 03:35:06 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-08-07 03:35:06 -0700
commitf6872b36017fd289af5d65caf0e04bfd671b9524 (patch)
treec3fc5e38c33de642ddd8e5f5748d53e858c4b018 /java/src/com/android/inputmethod/latin/utils
parent3cbcdd3a1420686d88d69661c7188eacd31c2e9f (diff)
parent15b80c4ec264d8fcc457988bc695453093e6f577 (diff)
downloadlatinime-f6872b36017fd289af5d65caf0e04bfd671b9524.tar.gz
latinime-f6872b36017fd289af5d65caf0e04bfd671b9524.tar.xz
latinime-f6872b36017fd289af5d65caf0e04bfd671b9524.zip
am 15b80c4e: Merge "Add ResouceUtils.getDefaultKeyboardHeight"
* commit '15b80c4ec264d8fcc457988bc695453093e6f577': Add ResouceUtils.getDefaultKeyboardHeight
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ResourceUtils.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java b/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java
index ffec57548..22c92446a 100644
--- a/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ResourceUtils.java
@@ -20,10 +20,12 @@ import android.content.res.Resources;
import android.content.res.TypedArray;
import android.os.Build;
import android.text.TextUtils;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import com.android.inputmethod.annotations.UsedForTesting;
+import com.android.inputmethod.latin.R;
import java.util.ArrayList;
import java.util.HashMap;
@@ -215,6 +217,35 @@ public final class ResourceUtils {
return null;
}
+ public static int getDefaultKeyboardWidth(final Resources res) {
+ final DisplayMetrics dm = res.getDisplayMetrics();
+ return dm.widthPixels;
+ }
+
+ public static int getDefaultKeyboardHeight(final Resources res) {
+ final DisplayMetrics dm = res.getDisplayMetrics();
+ final String keyboardHeightString = getDeviceOverrideValue(res, R.array.keyboard_heights);
+ final float keyboardHeight;
+ if (TextUtils.isEmpty(keyboardHeightString)) {
+ keyboardHeight = res.getDimension(R.dimen.keyboardHeight);
+ } else {
+ keyboardHeight = Float.parseFloat(keyboardHeightString) * dm.density;
+ }
+ final float maxKeyboardHeight = res.getFraction(
+ R.fraction.maxKeyboardHeight, dm.heightPixels, dm.heightPixels);
+ float minKeyboardHeight = res.getFraction(
+ R.fraction.minKeyboardHeight, dm.heightPixels, dm.heightPixels);
+ if (minKeyboardHeight < 0.0f) {
+ // Specified fraction was negative, so it should be calculated against display
+ // width.
+ minKeyboardHeight = -res.getFraction(
+ R.fraction.minKeyboardHeight, dm.widthPixels, dm.widthPixels);
+ }
+ // Keyboard height will not exceed maxKeyboardHeight and will not be less than
+ // minKeyboardHeight.
+ return (int)Math.max(Math.min(keyboardHeight, maxKeyboardHeight), minKeyboardHeight);
+ }
+
public static boolean isValidFraction(final float fraction) {
return fraction >= 0.0f;
}