Skip to content

Commit 5d50910

Browse files
committed
Move getDimensionOrFraction to Utilities class
1 parent f9be01f commit 5d50910

4 files changed

Lines changed: 32 additions & 27 deletions

File tree

app/src/main/java/io/github/yawnoc/Utilities.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
import android.content.Context;
1111
import android.content.Intent;
1212
import android.content.SharedPreferences;
13+
import android.content.res.TypedArray;
1314
import android.net.Uri;
1415
import android.provider.Settings;
16+
import android.util.TypedValue;
1517
import android.view.inputmethod.InputMethodManager;
1618

1719
import java.util.HashMap;
@@ -41,6 +43,29 @@ public static <V, K> Map<V, K> invertMap(Map<K, V> forwardMap) {
4143
return inverseMap;
4244
}
4345

46+
public static int getDimensionOrFraction(
47+
final TypedArray array,
48+
final int attributeIndex,
49+
final int baseValue,
50+
final int defaultValue
51+
)
52+
{
53+
final TypedValue value = array.peekValue(attributeIndex);
54+
if (value == null) {
55+
return defaultValue;
56+
}
57+
switch (value.type) {
58+
case TypedValue.TYPE_DIMENSION:
59+
return array.getDimensionPixelOffset(attributeIndex, defaultValue);
60+
case TypedValue.TYPE_FRACTION:
61+
return Math.round(
62+
array.getFraction(attributeIndex, baseValue, baseValue, defaultValue)
63+
);
64+
default:
65+
return defaultValue;
66+
}
67+
}
68+
4469
public static String loadPreferenceString(
4570
final Context context,
4671
final String preferenceFileName,

app/src/main/java/io/github/yawnoc/strokeinput/Key.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import android.content.res.XmlResourceParser;
2626
import android.util.Xml;
2727

28+
import static io.github.yawnoc.Utilities.getDimensionOrFraction;
29+
2830
/*
2931
An individual key.
3032
*/
@@ -161,14 +163,14 @@ else if (valueTextShifted == null) {
161163
);
162164

163165
width =
164-
Keyboard.getDimensionOrFraction(
166+
getDimensionOrFraction(
165167
attributesArray,
166168
R.styleable.Keyboard_keyWidth,
167169
grandparentKeyboard.screenWidth,
168170
parentRow.keyWidth
169171
);
170172
height =
171-
Keyboard.getDimensionOrFraction(
173+
getDimensionOrFraction(
172174
attributesArray,
173175
R.styleable.Keyboard_keyHeight,
174176
grandparentKeyboard.screenHeight,

app/src/main/java/io/github/yawnoc/strokeinput/Keyboard.java

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@
2727
import android.graphics.Color;
2828
import android.util.DisplayMetrics;
2929
import android.util.Log;
30-
import android.util.TypedValue;
3130
import android.util.Xml;
3231

3332
import java.util.ArrayList;
3433
import java.util.List;
3534

35+
import static io.github.yawnoc.Utilities.getDimensionOrFraction;
36+
3637
/*
3738
A container that holds rows of keys, to be declared in a layout XML.
3839
*/
@@ -260,27 +261,4 @@ private void parseKeyboardAttributes(
260261
attributesArray.recycle();
261262
}
262263

263-
public static int getDimensionOrFraction(
264-
final TypedArray array,
265-
final int attributeIndex,
266-
final int baseValue,
267-
final int defaultValue
268-
)
269-
{
270-
final TypedValue value = array.peekValue(attributeIndex);
271-
if (value == null) {
272-
return defaultValue;
273-
}
274-
switch (value.type) {
275-
case TypedValue.TYPE_DIMENSION:
276-
return array.getDimensionPixelOffset(attributeIndex, defaultValue);
277-
case TypedValue.TYPE_FRACTION:
278-
return Math.round(
279-
array.getFraction(attributeIndex, baseValue, baseValue, defaultValue)
280-
);
281-
default:
282-
return defaultValue;
283-
}
284-
}
285-
286264
}

app/src/main/java/io/github/yawnoc/strokeinput/Row.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import android.content.res.XmlResourceParser;
2626
import android.util.Xml;
2727

28-
import static io.github.yawnoc.strokeinput.Keyboard.getDimensionOrFraction;
28+
import static io.github.yawnoc.Utilities.getDimensionOrFraction;
2929

3030
/*
3131
A container that holds keys.

0 commit comments

Comments
 (0)