Skip to content

Commit 9eb138e

Browse files
committed
refactor(setup/Config): reduce context parameter usages
1 parent 2c9bc2f commit 9eb138e

File tree

7 files changed

+108
-92
lines changed

7 files changed

+108
-92
lines changed

app/src/main/java/com/osfans/trime/Rime.java

+17-17
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919
package com.osfans.trime;
2020

2121
import android.content.Context;
22+
import android.text.TextUtils;
2223
import androidx.annotation.NonNull;
2324
import com.osfans.trime.ime.core.Trime;
2425
import com.osfans.trime.setup.Config;
26+
import com.osfans.trime.util.DataUtils;
2527
import java.io.File;
2628
import java.util.ArrayList;
2729
import java.util.HashMap;
@@ -279,7 +281,7 @@ public static String getComposingText() {
279281
}
280282

281283
public Rime(Context context, boolean full_check) {
282-
init(context, full_check);
284+
init(full_check);
283285
self = this;
284286
}
285287

@@ -296,12 +298,15 @@ private static boolean getStatus() {
296298
return get_status(mStatus);
297299
}
298300

299-
private static void init(Context context, boolean full_check) {
301+
private static void init(boolean full_check) {
300302
mOnMessage = false;
301303

304+
final String sharedDataDir = DataUtils.getSharedDataDir();
305+
final String userDataDir = DataUtils.getUserDataDir();
306+
302307
// Initialize librime APIs
303-
setup(Config.get(context).getSharedDataDir(), Config.get(context).getUserDataDir());
304-
initialize(Config.get(context).getSharedDataDir(), Config.get(context).getUserDataDir());
308+
setup(sharedDataDir, userDataDir);
309+
initialize(sharedDataDir, userDataDir);
305310

306311
check(full_check);
307312
set_notification_handler();
@@ -490,7 +495,7 @@ public static boolean selectSchema(int id) {
490495

491496
public static Rime get(Context context, boolean full_check) {
492497
if (self == null) {
493-
if (full_check) Config.deployOpencc(context);
498+
if (full_check) Config.deployOpencc();
494499
self = new Rime(context, full_check);
495500
}
496501
return self;
@@ -517,31 +522,26 @@ public static void RimeSetCaretPos(int caret_pos) {
517522
public static void onMessage(String message_type, String message_value) {
518523
mOnMessage = true;
519524
Timber.i("message: [%s] %s", message_type, message_value);
520-
Trime trime = Trime.getService();
525+
final Trime trime = Trime.getService();
521526
switch (message_type) {
522527
case "schema":
523528
initSchema();
524-
if (trime != null) {
525-
trime.initKeyboard();
526-
}
529+
trime.initKeyboard();
527530
break;
528531
case "option":
529532
getStatus();
530533
getContexts(); // 切換中英文、簡繁體時更新候選
531-
if (trime != null) {
532-
boolean value = !message_value.startsWith("!");
533-
String option = message_value.substring(value ? 0 : 1);
534-
trime.onOptionChanged(option, value);
535-
}
534+
final boolean value = !message_value.startsWith("!");
535+
final String option = message_value.substring(value ? 0 : 1);
536+
trime.onOptionChanged(option, value);
536537
break;
537538
}
538539
mOnMessage = false;
539540
}
540541

541542
public static String openccConvert(String line, String name) {
542-
if (name != null && name.length() > 0) {
543-
Trime trime = Trime.getService();
544-
File f = new File(Config.get(trime).getResDataDir("opencc"), name);
543+
if (!TextUtils.isEmpty(name)) {
544+
final File f = new File(DataUtils.getAssetsDir("opencc"), name);
545545
if (f.exists()) return opencc_convert(line, f.getAbsolutePath());
546546
}
547547
return line;

app/src/main/java/com/osfans/trime/ime/keyboard/InputFeedbackManager.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ class InputFeedbackManager(
4646
val hapticsPerformed = if (vibrationDuration < 0) {
4747
ims.window?.window?.decorView?.performHapticFeedback(
4848
HapticFeedbackConstants.KEYBOARD_TAP,
49-
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING)
49+
HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING
50+
)
5051
} else {
5152
false
5253
}

app/src/main/java/com/osfans/trime/ime/keyboard/Keyboard.java

+16-8
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,22 @@ public Keyboard(Context context, String name) {
232232
final int defaultKeyPressOffsetY = YamlUtils.INSTANCE.getInt(m, "key_press_offset_y", 0);
233233

234234
final Key key = new Key(context, this, mk);
235-
key.setKey_text_offset_x(YamlUtils.INSTANCE.getPixel(mk, "key_text_offset_x", defaultKeyTextOffsetX));
236-
key.setKey_text_offset_y(YamlUtils.INSTANCE.getPixel(mk, "key_text_offset_y", defaultKeyTextOffsetY));
237-
key.setKey_symbol_offset_x(YamlUtils.INSTANCE.getPixel(mk, "key_symbol_offset_x", defaultKeySymbolOffsetX));
238-
key.setKey_symbol_offset_y(YamlUtils.INSTANCE.getPixel(mk, "key_symbol_offset_y", defaultKeySymbolOffsetY));
239-
key.setKey_hint_offset_x(YamlUtils.INSTANCE.getPixel(mk, "key_hint_offset_x", defaultKeyHintOffsetX));
240-
key.setKey_hint_offset_y(YamlUtils.INSTANCE.getPixel(mk, "key_hint_offset_y", defaultKeyHintOffsetY));
241-
key.setKey_press_offset_x(YamlUtils.INSTANCE.getInt(mk, "key_press_offset_x", defaultKeyPressOffsetX));
242-
key.setKey_press_offset_y(YamlUtils.INSTANCE.getInt(mk, "key_press_offset_y", defaultKeyPressOffsetY));
235+
key.setKey_text_offset_x(
236+
YamlUtils.INSTANCE.getPixel(mk, "key_text_offset_x", defaultKeyTextOffsetX));
237+
key.setKey_text_offset_y(
238+
YamlUtils.INSTANCE.getPixel(mk, "key_text_offset_y", defaultKeyTextOffsetY));
239+
key.setKey_symbol_offset_x(
240+
YamlUtils.INSTANCE.getPixel(mk, "key_symbol_offset_x", defaultKeySymbolOffsetX));
241+
key.setKey_symbol_offset_y(
242+
YamlUtils.INSTANCE.getPixel(mk, "key_symbol_offset_y", defaultKeySymbolOffsetY));
243+
key.setKey_hint_offset_x(
244+
YamlUtils.INSTANCE.getPixel(mk, "key_hint_offset_x", defaultKeyHintOffsetX));
245+
key.setKey_hint_offset_y(
246+
YamlUtils.INSTANCE.getPixel(mk, "key_hint_offset_y", defaultKeyHintOffsetY));
247+
key.setKey_press_offset_x(
248+
YamlUtils.INSTANCE.getInt(mk, "key_press_offset_x", defaultKeyPressOffsetX));
249+
key.setKey_press_offset_y(
250+
YamlUtils.INSTANCE.getInt(mk, "key_press_offset_y", defaultKeyPressOffsetY));
243251

244252
key.setX(x);
245253
key.setY(y);

app/src/main/java/com/osfans/trime/settings/components/ResetAssetsDialog.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ import com.osfans.trime.R
77
import com.osfans.trime.setup.Config
88

99
/** 顯示輸入法內置數據列表,並回廠選中的數據 */
10-
class ResetAssetsDialog(private val context: Context) {
10+
class ResetAssetsDialog(context: Context) {
1111
private val config = Config.get(context)
1212
/** 內置數據列表 */
13-
private var assetItems: Array<String?> = Config.list(context, "rime")
13+
private var assetItems: Array<String>? = context.assets.list("rime")
1414

1515
/** 列表勾選狀態 */
16-
private var checkedStatus: BooleanArray = BooleanArray(assetItems.size)
16+
private var checkedStatus: BooleanArray = BooleanArray(assetItems!!.size)
1717

1818
/** 回廠對話框 */
1919
val resetDialog: AlertDialog
@@ -34,9 +34,9 @@ class ResetAssetsDialog(private val context: Context) {
3434

3535
private fun selectAssets() {
3636
var res = true
37-
for (i in assetItems.indices) {
37+
for (i in assetItems?.indices!!) {
3838
res = if (checkedStatus[i]) {
39-
config.copyFileOrDir(context, assetItems[i], true)
39+
config.copyFileOrDir(assetItems!![i], true)
4040
} else false
4141
}
4242
ToastUtils.showShort(

app/src/main/java/com/osfans/trime/settings/components/ThemePickerDialog.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class ThemePickerDialog(
3636
constructor(context: Context) : this(context, null)
3737
init {
3838
val themeFile = config.theme + ".yaml"
39-
themeKeys = Config.getThemeKeys(context, true)
39+
themeKeys = Config.getThemeKeys(true)
4040
themeKeys.sort()
4141
checkedId = themeKeys.binarySearch(themeFile)
4242

@@ -113,6 +113,6 @@ class ThemePickerDialog(
113113

114114
private fun onPostExecute() {
115115
progressDialog.dismiss()
116-
Trime.getService()?.initKeyboard() // 實時生效
116+
Trime.getService().initKeyboard() // 實時生效
117117
}
118118
}

0 commit comments

Comments
 (0)