/
Lime.java
343 lines (274 loc) · 17.5 KB
/
Lime.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
/*
*
* *
* ** Copyright 2015, The LimeIME Open Source Project
* **
* ** Project Url: http://github.com/lime-ime/limeime/
* ** http://android.toload.net/
* **
* ** This program is free software: you can redistribute it and/or modify
* ** it under the terms of the GNU General Public License as published by
* ** the Free Software Foundation, either version 3 of the License, or
* ** (at your option) any later version.
* *
* ** This program is distributed in the hope that it will be useful,
* ** but WITHOUT ANY WARRANTY; without even the implied warranty of
* ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* ** GNU General Public License for more details.
* *
* ** You should have received a copy of the GNU General Public License
* ** along with this program. If not, see <http://www.gnu.org/licenses/>.
* *
*
*/
package net.toload.main.hd;
import android.os.Environment;
import java.text.DecimalFormat;
/**
* Created by Art Hung on 2015/4/24.
*/
public class Lime {
// Database Setting
final public static String DATABASE_NAME = "lime.db";
final public static String DATABASE_EXT = ".db";
final public static String DATABASE_DEVICE_FOLDER = Environment.getDataDirectory() + "/data/net.toload.main.hd/databases";
final public static String DATABASE_DECOMPRESS_FOLDER_SDCARD = Environment.getExternalStorageDirectory() + "/limehd/databases";
final public static String DATABASE_FOLDER_EXTERNAL = Environment.getExternalStorageDirectory() + "/limehd/";
final public static String DATABASE_BACKUP_NAME = "backup.zip";
final public static String DATABASE_CLOUD_TEMP = "cloudtemp.zip";
// Input Method Editor Online Database Location
// https://github.com/hosoyu/LimeStudio/raw/master/Database/array.zip
public static final String LIME_OLD_VERSION_URL = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/limeime/LIMEHD_391_334.apk";
public static final String LIME_NEWS_CONTENT = "lime_news_content";
public static final String LIME_NEWS_CONTENT_URL = "https://github.com/lime-ime/limeime/raw/master/Resources/Message/content.html";
public static final String separator = java.io.File.separator;
public static final String DATABASE_IM_TEMP = "temp.zip";
public static final String DATABASE_OPENFOUNDRY_URL_BASED = "https://www.openfoundry.org/websvn/filedetails.php?repname=limeime&path=%2F";
public static final String DATABASE_CLOUD_URL_BASED = "https://github.com/lime-ime/limeime/raw/master/Database/";
public static final String DATABASE_CLOUD_IM_WB = DATABASE_CLOUD_URL_BASED + "wb.zip";
public static final String DATABASE_OPENFOUNDRY_IM_WB = DATABASE_OPENFOUNDRY_URL_BASED + "wb.zip";
public static final String DATABASE_CLOUD_IM_WB_KEYBOARD = "wb";
public static final String DATABASE_CLOUD_IM_PINYINGB = DATABASE_CLOUD_URL_BASED + "pinyingb.zip";
public static final String DATABASE_OPENFOUNDRY_IM_PINYINGB = DATABASE_OPENFOUNDRY_URL_BASED + "pinyingb.zip";
public static final String DATABASE_CLOUD_IM_PINYINGB_KEYBOARD = "lime";
public static final String DATABASE_CLOUD_IM_PINYIN = DATABASE_CLOUD_URL_BASED + "pinyin.zip";
public static final String DATABASE_OPENFOUNDRY_IM_PINYIN = DATABASE_OPENFOUNDRY_URL_BASED + "pinyin.zip";
public static final String DATABASE_CLOUD_IM_PINYIN_KEYBOARD = "lime";
public static final String DATABASE_CLOUD_IM_PHONETICCOMPLETE_BIG5 = DATABASE_CLOUD_URL_BASED + "phoneticcompletebig5.zip";
public static final String DATABASE_OPENFOUNDRY_IM_PHONETICCOMPLETE_BIG5 = DATABASE_OPENFOUNDRY_URL_BASED + "phoneticcompletebig5.zip";
public static final String DATABASE_CLOUD_IM_PHONETICCOMPLETE = DATABASE_CLOUD_URL_BASED + "phoneticcomplete.zip";
public static final String DATABASE_OPENFOUNDRY_IM_PHONETICCOMPLETE = DATABASE_OPENFOUNDRY_URL_BASED + "phoneticcomplete.zip";
public static final String DATABASE_CLOUD_IM_PHONETIC_BIG5 = DATABASE_CLOUD_URL_BASED + "phoneticbig5.zip";
public static final String DATABASE_OPENFOUNDRY_IM_PHONETIC_BIG5 = DATABASE_OPENFOUNDRY_URL_BASED + "phoneticbig5.zip";
public static final String DATABASE_CLOUD_IM_PHONETIC = DATABASE_CLOUD_URL_BASED + "phonetic.zip";
public static final String DATABASE_OPENFOUNDRY_IM_PHONETIC = DATABASE_OPENFOUNDRY_URL_BASED + "phonetic.zip";
public static final String DATABASE_CLOUD_IM_PHONETIC_KEYBOARD = "phonetic";
public static final String DATABASE_CLOUD_IM_EZ = DATABASE_CLOUD_URL_BASED + "ez.zip";
public static final String DATABASE_OPENFOUNDRY_IM_EZ = DATABASE_OPENFOUNDRY_URL_BASED + "ez.zip";
public static final String DATABASE_CLOUD_IM_EZ_KEYBOARD = "ez";
public static final String DATABASE_CLOUD_IM_ECJHK = DATABASE_CLOUD_URL_BASED + "ecjhk.zip";
public static final String DATABASE_OPENFOUNDRY_IM_ECJHK = DATABASE_OPENFOUNDRY_URL_BASED + "ecjhk.zip";
public static final String DATABASE_CLOUD_IM_ECJHK_KEYBOARD = "cj";
public static final String DATABASE_CLOUD_IM_ECJ = DATABASE_CLOUD_URL_BASED + "ecj.zip";
public static final String DATABASE_OPENFOUNDRY_IM_ECJ = DATABASE_OPENFOUNDRY_URL_BASED + "ecj.zip";
public static final String DATABASE_CLOUD_IM_ECJ_KEYBOARD = "cj";
public static final String DATABASE_CLOUD_IM_DAYI = DATABASE_CLOUD_URL_BASED + "dayi.zip";
public static final String DATABASE_OPENFOUNDRY_IM_DAYI = DATABASE_OPENFOUNDRY_URL_BASED + "dayi.zip";
public static final String DATABASE_CLOUD_IM_DAYIUNI = DATABASE_CLOUD_URL_BASED + "dayiuni.zip";
public static final String DATABASE_OPENFOUNDRY_IM_DAYIUNI = DATABASE_OPENFOUNDRY_URL_BASED + "dayiuni.zip";
public static final String DATABASE_CLOUD_IM_DAYIUNIP = DATABASE_CLOUD_URL_BASED + "dayiunip.zip";
public static final String DATABASE_OPENFOUNDRY_IM_DAYIUNIP = DATABASE_OPENFOUNDRY_URL_BASED + "dayiunip.zip";
public static final String DATABASE_CLOUD_IM_DAYI_KEYBOARD = "dayisym";
public static final String DATABASE_CLOUD_IM_CJHK = DATABASE_CLOUD_URL_BASED + "cjhk.zip";
public static final String DATABASE_OPENFOUNDRY_IM_CJHK = DATABASE_OPENFOUNDRY_URL_BASED + "cjhk.zip";
public static final String DATABASE_CLOUD_IM_CJHK_KEYBOARD = "cj";
public static final String DATABASE_CLOUD_IM_SCJ = DATABASE_CLOUD_URL_BASED + "scj.zip";
public static final String DATABASE_OPENFOUNDRY_IM_SCJ = DATABASE_OPENFOUNDRY_URL_BASED + "scj.zip";
public static final String DATABASE_CLOUD_IM_SCJ_KEYBOARD = "limenum";
public static final String DATABASE_CLOUD_IM_CJ5 = DATABASE_CLOUD_URL_BASED + "cj5.zip";
public static final String DATABASE_OPENFOUNDRY_IM_CJ5 = DATABASE_OPENFOUNDRY_URL_BASED + "cj5.zip";
public static final String DATABASE_CLOUD_IM_CJ5_KEYBOARD = "cj";
public static final String DATABASE_CLOUD_IM_CJ_BIG5 = DATABASE_CLOUD_URL_BASED + "cjbig5.zip";
public static final String DATABASE_OPENFOUNDRY_IM_CJ_BIG5 = DATABASE_OPENFOUNDRY_URL_BASED + "cjbig5.zip";
public static final String DATABASE_CLOUD_IM_CJ = DATABASE_CLOUD_URL_BASED + "cj.zip";
public static final String DATABASE_OPENFOUNDRY_IM_CJ = DATABASE_OPENFOUNDRY_URL_BASED + "cj.zip";
public static final String DATABASE_CLOUD_IM_CJ_KEYBOARD = "cj";
public static final String DATABASE_CLOUD_IM_ARRAY10 = DATABASE_CLOUD_URL_BASED + "array10.zip";
public static final String DATABASE_OPENFOUNDRY_IM_ARRAY10 = DATABASE_OPENFOUNDRY_URL_BASED + "array10.zip";
public static final String DATABASE_CLOUD_IM_ARRAY10_KEYBOARD = "phonenum";
public static final String DATABASE_CLOUD_IM_ARRAY = DATABASE_CLOUD_URL_BASED + "array.zip";
public static final String DATABASE_OPENFOUNDRY_IM_ARRAY = DATABASE_OPENFOUNDRY_URL_BASED + "array.zip";
public static final String DATABASE_CLOUD_IM_ARRAY_KEYBOARD = "arraynum";
public static final String DATABASE_CLOUD_IM_HS = DATABASE_CLOUD_URL_BASED + "hs.zip";
public static final String DATABASE_OPENFOUNDRY_IM_HS = DATABASE_OPENFOUNDRY_URL_BASED + "hs.zip";
public static final String DATABASE_CLOUD_IM_HS_V1 = DATABASE_CLOUD_URL_BASED + "hs1.zip";
public static final String DATABASE_OPENFOUNDRY_IM_HS_V1 = DATABASE_OPENFOUNDRY_URL_BASED + "hs1.zip";
public static final String DATABASE_CLOUD_IM_HS_V2 = DATABASE_CLOUD_URL_BASED + "hs2.zip";
public static final String DATABASE_OPENFOUNDRY_IM_HS_V2 = DATABASE_OPENFOUNDRY_URL_BASED + "hs2.zip";
public static final String DATABASE_CLOUD_IM_HS_V3 = DATABASE_CLOUD_URL_BASED + "hs3.zip";
public static final String DATABASE_OPENFOUNDRY_IM_HS_V3 = DATABASE_OPENFOUNDRY_URL_BASED + "hs3.zip";
public static final String DATABASE_CLOUD_IM_HS_KEYBOARD = "hs";
// Database Tables and columns
public static final String DB_TABLE_IMTABLE2 = "imtable2";
public static final String DB_TABLE_IMTABLE3 = "imtable3";
public static final String DB_TABLE_IMTABLE4 = "imtable4";
public static final String DB_TABLE_IMTABLE5 = "imtable5";
public static final String DB_TABLE_IMTABLE6 = "imtable6";
public static final String DB_TABLE_IMTABLE7 = "imtable7";
public static final String DB_TABLE_IMTABLE8 = "imtable8";
public static final String DB_TABLE_IMTABLE9 = "imtable9";
public static final String DB_TABLE_IMTABLE10 = "imtable10";
public static final String DB_TABLE_ARRAY = "array";
public static final String DB_TABLE_ARRAY10 = "array10";
public static final String DB_TABLE_CJ = "cj";
public static final String DB_TABLE_CJ5 = "cj5";
public static final String DB_TABLE_CUSTOM = "custom";
public static final String DB_TABLE_DAYI = "dayi";
public static final String DB_TABLE_ECJ = "ecj";
public static final String DB_TABLE_EZ = "ez";
public static final String DB_TABLE_HS = "hs";
public static final String DB_TABLE_PHONETIC = "phonetic";
public static final String DB_TABLE_PINYIN = "pinyin";
public static final String DB_TABLE_SCJ = "scj";
public static final String DB_TABLE_WB = "wb";
public static final String IM_ARRAY = "array";
public static final String IM_ARRAY10 = "array10";
public static final String IM_CJ_BIG5 = "cjbig5";
public static final String IM_CJ = "cj";
public static final String IM_CJHK = "cjhk";
public static final String IM_CJ5 = "cj5";
public static final String IM_CUSTOM = "custom";
public static final String IM_DAYI = "dayi";
public static final String IM_DAYIUNI = "dayiuni";
public static final String IM_DAYIUNIP = "dayiunip";
public static final String IM_ECJ = "ecj";
public static final String IM_ECJHK = "ecjhk";
public static final String IM_EZ = "ez";
public static final String IM_HS = "hs";
public static final String IM_HS_V1 = "hs1";
public static final String IM_HS_V2 = "hs2";
public static final String IM_HS_V3 = "hs3";
public static final String IM_PHONETIC = "phonetic";
public static final String IM_PHONETIC_ADV = "phoneticadv";
public static final String IM_PHONETIC_BIG5 = "phoneticbig5";
public static final String IM_PHONETIC_ADV_BIG5 = "phoneticadvbig5";
public static final String IM_PINYIN = "pinyin";
public static final String IM_PINYINGB = "pinyin";
public static final String IM_SCJ = "scj";
public static final String IM_WB = "wb";
public static final String DB_COLUMN_ID = "_id";
public static final String DB_COLUMN_CODE = "code";
public static final String DB_COLUMN_CODE3R = "code3r";
public static final String DB_COLUMN_WORD = "word";
public static final String DB_COLUMN_RELATED = "related";
public static final String DB_COLUMN_SCORE = "score";
public static final String DB_COLUMN_BASESCORE = "basescore";
public static final String DB_IM = "im";
public static final String DB_IM_COLUMN_ID = "_id";
public static final String DB_IM_COLUMN_CODE = "code";
public static final String DB_IM_COLUMN_TITLE = "title";
public static final String DB_IM_COLUMN_DESC = "desc";
public static final String DB_IM_COLUMN_KEYBOARD = "keyboard";
public static final String DB_IM_COLUMN_DISABLE = "disable";
public static final String DB_IM_COLUMN_SELKEY = "selkey";
public static final String DB_IM_COLUMN_ENDKEY = "endkey";
public static final String DB_IM_COLUMN_SPACESTYLE = "spacestyle";
public static final String DB_RELATED = "related";
public static final String DB_RELATED_COLUMN_ID = "_id";
public static final String DB_RELATED_COLUMN_PWORD = "pword";
public static final String DB_RELATED_COLUMN_CWORD = "cword";
public static final String DB_RELATED_COLUMN_BASESCORE = "basescore";
public static final String DB_RELATED_COLUMN_USERSCORE = "score";
public static final String DB_KEYBOARD = "keyboard";
public static final String DB_KEYBOARD_COLUMN_ID = "_id";
public static final String DB_KEYBOARD_COLUMN_CODE = "code";
public static final String DB_KEYBOARD_COLUMN_NAME = "name";
public static final String DB_KEYBOARD_COLUMN_DESC = "desc";
public static final String DB_KEYBOARD_COLUMN_TYPE = "type";
public static final String DB_KEYBOARD_COLUMN_IMAGE = "image";
public static final String DB_KEYBOARD_COLUMN_IMKB = "imkb";
public static final String DB_KEYBOARD_COLUMN_IMSHIFTKB = "imshiftkb";
public static final String DB_KEYBOARD_COLUMN_ENGKB = "engkb";
public static final String DB_KEYBOARD_COLUMN_ENGSHIFTKB = "engshiftkb";
public static final String DB_KEYBOARD_COLUMN_SYMBOLKB = "symbolkb";
public static final String DB_KEYBOARD_COLUMN_SYMBOLSHIFTKB = "symbolshiftkb";
public static final String DB_KEYBOARD_COLUMN_DEFAULTKB = "defaultkb";
public static final String DB_KEYBOARD_COLUMN_DEFAULTSHIFTKB = "defaultshiftkb";
public static final String DB_KEYBOARD_COLUMN_EXTENDEDKB = "extendedkb";
public static final String DB_KEYBOARD_COLUMN_EXTENDEDSHIFTKB = "extendedshiftkb";
public static final String DB_KEYBOARD_COLUMN_DISABLE = "disable";
public static final String DB_TOTAL_COUNT ="count";
public static final String IM_TYPE_NAME = "name";
public static final String IM_TYPE_SOURCE = "source";
public static final String IM_TYPE_AMOUNT = "amount";
public static final String IM_TYPE_IMPORT = "import";
public static final String IM_TYPE_KEYBOARD = "keyboard";
public static final String IM_TYPE_SELKEY = "selkey";
public static final String IM_TYPE_ENDKEY = "endkey";
public static final String IM_TYPE_SPACESTYLE = "spacestyle";
public static final int IM_MANAGE_DISPLAY_AMOUNT = 100;
public static final String DB_CHECK_RELATED_USERSCORE = "db_user_score_check";
// Cloud Backup/Restore
// Dropbox
public static final String DATABASE_DOWNLOAD_STATUS = "database_download_status";
public final static String ACCOUNT_PREFS_NAME = "prefs";
public final static String ACCESS_KEY_NAME = "ACCESS_KEY";
public final static String ACCESS_SECRET_NAME = "ACCESS_SECRET";
public static final String BACKUP = "backup";
public static final String RESTORE = "restore";
public static final String GOOGLE = "GOOGLE";
public static final String GOOGLE_ACCOUNT_NAME = "GOOGLE_ACCOUNT_NAME";
public static final String GOOGLE_BACKUP_FILENAME = "limedatabasebackup.zip";
public static final String LOCAL = "LOCAL";
public static final String DROPBOX = "DROPBOX";
public static final String DROPBOX_TYPE = "DROPBOX_TYPE";
// old dropbox key paris
public final static String DROPBOX_APP_KEY = "keuuzhfc6efjf6t";
public final static String DROPBOX_APP_SECRET = "4y8fy4rqk8rofd8";
//public static final String DROPBOX_APP_KEY = "1a85ahrq8uh60r7";
//public static final String DROPBOX_APP_SECRET = "l3yyjll7ef3vfb3";
public static final String DROPBOX_ACCESS_TOKEN = "DROPBOX_ACCESS_TOKEN";
public static final String DROPBOX_REQUEST_FLAG = "DROPBOX_REQUEST_FLAG";
public static final String DEVICE = "device";
public static final int GOOGLE_RETRIEVE_MAXIMUM = 500;
public static final float HALF_ALPHA_VALUE = .5f;
public static final float NORMAL_ALPHA_VALUE = 1f;
public static final String SHARE_TYPE_TXT = "text/plain";
public static final String SHARE_TYPE_ZIP = "application/zip";
public static final String IMPORT_TEXT = "import_text";
public static final String SUPPORT_FILE_EXT_TXT = "txt";
public static final String SUPPORT_FILE_EXT_LIME = "lime";
public static final String SUPPORT_FILE_EXT_LIMEDB = "limedb";
public static final String SUPPORT_FILE_EXT_CIN= "cin";
public static final String EXPORT_FILENAME_RELATED = "lime.related";
// Emoji Parameter
public static final int EMOJI_EN = 1;
public static final int EMOJI_TW = 2;
public static final int EMOJI_CN = 3;
public static final String EMOJI_FIELD_TAG= "tag";
public static final String EMOJI_FIELD_VALUE= "value";
// AD
public static final String VPON_BANNER_ID = "8a8081824cfe92fa014d3707f493630b";
// Payment
public static final String PAYMENT_FLAG = "PAYMENT_FLAG";
public static final int PAYMENT_REQUEST_CODE = 1001;
// Global Utility Methods
public static String format(int number){
try {
DecimalFormat df = new DecimalFormat("###,###,###,###,###,###,##0");
return df.format(number);
}catch(Exception e){
e.printStackTrace();
return "0";
}
}
public static String formatSqlValue(String value){
if(value != null) {
value = value.replaceAll("\"", "\"\"");
value = value.replaceAll("'", "\\\'");
return value;
}else{
return "";
}
}
}