Compare commits
523 Commits
dev_6.5.3
...
语音房_6.6.4_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f22f8fcb4b | ||
|
|
cf749d85c6 | ||
|
|
5ca13b770c | ||
|
|
a036e5eff6 | ||
|
|
926a1a3cb6 | ||
|
|
85ccbcccae | ||
| 0a6b210a76 | |||
| 43d1abbae0 | |||
| 4a5e581978 | |||
| 8a7b65955c | |||
|
|
3445ee2a56 | ||
| cf2274195f | |||
|
|
aad607ace8 | ||
| 17506f6cbf | |||
|
|
418073f07e | ||
|
|
319295de57 | ||
| 30bdf83724 | |||
| fbb801bf62 | |||
|
|
44601c74b4 | ||
| 2808e41288 | |||
| 05aea2448f | |||
| 34986d6897 | |||
| 924afce81e | |||
| 48dcfd4a04 | |||
|
|
163ab1c80d | ||
| e06f944def | |||
|
|
a5d546d1d1 | ||
| 1304ec6cde | |||
|
|
f46d14ce28 | ||
| e2005582fe | |||
| a56a5849fe | |||
|
|
1495bfee99 | ||
| 19eecd7022 | |||
|
|
d415efde35 | ||
| 61ee585ae9 | |||
|
|
7b103aaf7c | ||
|
|
9eba98f709 | ||
| dea3264577 | |||
|
|
42cfcce1dc | ||
|
|
f697e650a8 | ||
|
|
ac78268a85 | ||
|
|
9d543f2211 | ||
| d001712067 | |||
|
|
dc28a3d81e | ||
| 728dec9d97 | |||
|
|
f65c698602 | ||
|
|
215a2f8927 | ||
|
|
a21352302b | ||
|
|
0b3ebdfc30 | ||
|
|
f10657f89c | ||
|
|
0dc1009661 | ||
|
|
302b789970 | ||
|
|
bd9c8c2265 | ||
| 58ace7d613 | |||
|
|
c723e14182 | ||
|
|
3982afb0d3 | ||
|
|
280920d5f0 | ||
|
|
e25980cec8 | ||
|
|
e353638ec1 | ||
|
|
65a3a64d7d | ||
| b10312118b | |||
|
|
419b5d08b4 | ||
|
|
b146f93029 | ||
|
|
ef34a6cf4f | ||
|
|
213319d5d3 | ||
|
|
ddb4e98afd | ||
|
|
8dbc0dad7a | ||
| cdf3c4e411 | |||
|
|
446dc271d6 | ||
|
|
ecca9b7b8b | ||
|
|
331b55a5ab | ||
|
|
f8ac4617ed | ||
|
|
d0b7b065b2 | ||
| 53e6cb5a70 | |||
|
|
ad79190a61 | ||
|
|
5895fa8d71 | ||
|
|
48886374d5 | ||
|
|
32d0fe497d | ||
|
|
6347473d0c | ||
| 6df819f3b1 | |||
| 39fbe90e8b | |||
|
|
3396ca63d0 | ||
| 8c5ae3b61a | |||
|
|
484891cfe7 | ||
|
|
5c00e065d2 | ||
|
|
2857bb09a2 | ||
|
|
79c1c01003 | ||
| a2864187ed | |||
| ef76b2c7e4 | |||
|
|
05e7c4ffdd | ||
|
|
b4b1efe730 | ||
| 0c7ae4e4f7 | |||
|
|
b35d5d242e | ||
| b8264997f4 | |||
|
|
2ab1b31a94 | ||
|
|
9dba41c22f | ||
|
|
f1645cf72c | ||
|
|
cd35b9e40f | ||
|
|
33bce43737 | ||
|
|
1f8025599b | ||
|
|
7c44f09803 | ||
|
|
0b89ac21e8 | ||
|
|
238181deca | ||
|
|
71a7b47d42 | ||
|
|
59446d2518 | ||
|
|
8a8a7a8326 | ||
|
|
089b1881f1 | ||
|
|
7b1f3ddd79 | ||
|
|
56ae033523 | ||
|
|
f772a64507 | ||
|
|
8c75317ddc | ||
|
|
256c19a09e | ||
|
|
82c1d15ca5 | ||
|
|
aff5a178a0 | ||
|
|
04b1764f7b | ||
|
|
076f7130c8 | ||
|
|
b7842d5ac9 | ||
|
|
eb5aebda51 | ||
|
|
6990bd13ed | ||
|
|
c18af48fbb | ||
|
|
68e6f5df1b | ||
|
|
dc46ffc5b6 | ||
|
|
c58a5a9a55 | ||
|
|
e2ee742091 | ||
|
|
bcc86a899c | ||
|
|
b60031d2d0 | ||
|
|
54aa5fee67 | ||
|
|
816fd21fbc | ||
|
|
92e6b563e4 | ||
|
|
d7bc2615d6 | ||
|
|
21473b1d69 | ||
|
|
9bdee649d8 | ||
|
|
f1a8cd3a68 | ||
|
|
a39005b1a9 | ||
|
|
ec1197e5da | ||
|
|
45372f37b8 | ||
|
|
df93b9495a | ||
|
|
86d730cdf1 | ||
|
|
f356446c03 | ||
|
|
bf7bc6b786 | ||
|
|
6a3c15e3e7 | ||
|
|
07d3b190e2 | ||
|
|
27b316d39b | ||
|
|
f928fcd4bc | ||
|
|
adcafc7e16 | ||
|
|
b191dfb1be | ||
|
|
192b0cb417 | ||
|
|
a2435cbe95 | ||
|
|
8925d478da | ||
|
|
926de0463c | ||
|
|
993b09b853 | ||
|
|
e6c8495158 | ||
|
|
e15953dc64 | ||
|
|
4ff529ace9 | ||
|
|
530622c72c | ||
|
|
7f38739ddc | ||
|
|
bc549d52f6 | ||
|
|
14f0de093e | ||
|
|
51457738d2 | ||
|
|
d8a0427791 | ||
|
|
8abf92d42c | ||
|
|
fc2d700a31 | ||
|
|
867029fa3a | ||
|
|
52e199b901 | ||
|
|
c5d537fb4d | ||
|
|
e081f1e058 | ||
|
|
7bedf93dd5 | ||
|
|
000929fd02 | ||
|
|
3e5ba2ba19 | ||
|
|
a25ce2034f | ||
|
|
1625135d0c | ||
|
|
add3589683 | ||
|
|
45a5d6ad61 | ||
|
|
7b62409bf1 | ||
|
|
45ad8a9810 | ||
|
|
a788c347de | ||
|
|
c3d4cb8d62 | ||
|
|
916a1447f0 | ||
|
|
b2ee091c03 | ||
|
|
cf169e9a4e | ||
|
|
ea0ff70595 | ||
|
|
ce37918745 | ||
|
|
260b615d2b | ||
|
|
45566001a7 | ||
|
|
12482b6624 | ||
|
|
2d7684a5c8 | ||
|
|
c1d6b67322 | ||
|
|
69c0d5f28a | ||
|
|
d541a4d506 | ||
|
|
4b46c72f5a | ||
|
|
e191fb82a3 | ||
|
|
32ebfa719d | ||
|
|
c94f549531 | ||
|
|
6d98afa319 | ||
| 20ccb37ccf | |||
|
|
79fa6be313 | ||
|
|
210e755fed | ||
| a6faf12ff6 | |||
|
|
e2148c3f31 | ||
|
|
869ca75464 | ||
|
|
ce48a7dcf0 | ||
|
|
866024ae95 | ||
| b40abb9bc0 | |||
|
|
37217e529e | ||
|
|
eedbbb5304 | ||
| 4b3b47b65f | |||
| c015459cf1 | |||
| 326ced4646 | |||
| 18970c22cf | |||
| 00db8a00c7 | |||
|
|
0756dd9560 | ||
| f3195bbcf8 | |||
| 4e4b5f90bb | |||
| 3150489384 | |||
| 9ff382e35b | |||
| bcd8f7af52 | |||
| 3595b89672 | |||
| 6e8842d30d | |||
| 7b5cd9b797 | |||
| 9ec241f2a3 | |||
| a876018b0a | |||
| ea397af123 | |||
| a475e5dc2f | |||
| 54258c3f13 | |||
| d383a08013 | |||
|
|
fed6289f67 | ||
|
|
9b301eba25 | ||
| d1edf6bdd8 | |||
|
|
7ca8694aed | ||
|
|
406c67bf3a | ||
|
|
d643df72bc | ||
| a3dacf1f59 | |||
| 37605f46b7 | |||
|
|
a4895df622 | ||
| fc63cbbf50 | |||
| b7ba717cb9 | |||
| 0c5ef0befe | |||
|
|
84d4423069 | ||
|
|
0721ff4f37 | ||
| a5b0ee757c | |||
|
|
82fd35305a | ||
| e89e82483b | |||
| 57bda40a82 | |||
|
|
93aa8e55e5 | ||
| 2e907bc1ed | |||
| 8d984951c3 | |||
|
|
dd6600a89e | ||
|
|
233469c7e4 | ||
| 357ece2ebe | |||
|
|
72e9633045 | ||
|
|
7a31ca52da | ||
|
|
33930f3e32 | ||
| 8e19ddcc99 | |||
|
|
1a58311e26 | ||
| 9360e5438c | |||
| fa8d8a7421 | |||
|
|
bebf0820ca | ||
| e1f4e8dde4 | |||
| 2b59b1b4fe | |||
| cee1476ab1 | |||
| 20a6bae5ff | |||
| b6732adfd2 | |||
| bec031688e | |||
| 7f11195ede | |||
| d4ff9c3072 | |||
| 0a442e7df9 | |||
| 52f1a78e36 | |||
|
|
6bcaf2ba9c | ||
|
|
75b176a81e | ||
|
|
3de972d12c | ||
|
|
95252f2f02 | ||
|
|
3b351ffad8 | ||
| 2332255b37 | |||
|
|
90c2f3e2da | ||
|
|
644615ffc0 | ||
|
|
345c9067aa | ||
|
|
c20312b982 | ||
|
|
643568f63b | ||
|
|
f03ba293b5 | ||
| a2f954b28a | |||
| d4549793d1 | |||
|
|
5da8855948 | ||
|
|
348dca8474 | ||
|
|
5afed0ee43 | ||
|
|
d065726274 | ||
|
|
8f9d558043 | ||
| c594364574 | |||
|
|
68140c8a3a | ||
| 5a4001c858 | |||
|
|
d5953bd651 | ||
|
|
17a2f5e091 | ||
|
|
b2297b062e | ||
| b53472de28 | |||
|
|
9bce235817 | ||
|
|
60ce5572cf | ||
|
|
3761cad653 | ||
|
|
2a276503b5 | ||
| fd0ad36a58 | |||
| 41c8783b53 | |||
|
|
7226add482 | ||
| 09e5f9b984 | |||
| 83ee1f94df | |||
|
|
7e1b054a98 | ||
|
|
9e0c437af5 | ||
|
|
ad26ae7db8 | ||
|
|
84230e517e | ||
| 9818a1af74 | |||
| f91ba79c5c | |||
|
|
0ea9ffc2e8 | ||
|
|
defb5fdd02 | ||
| b443fdd683 | |||
|
|
c11c66f56f | ||
|
|
a618bee6b7 | ||
| 399bedb874 | |||
|
|
3b6e2d47f4 | ||
|
|
96daf73a5c | ||
|
|
55cbd0ff5b | ||
|
|
a3ab9ff03e | ||
|
|
92ed82ea2a | ||
|
|
6d262d0c94 | ||
|
|
ce1174a88c | ||
|
|
2406e9bede | ||
| 9b3a011499 | |||
|
|
7859e7cb29 | ||
|
|
1fd36e3ba0 | ||
| ec3722b7d0 | |||
|
|
35917a5848 | ||
|
|
7ea6bb570d | ||
|
|
43f95260e6 | ||
|
|
54a4c0b590 | ||
|
|
2057a3575f | ||
|
|
aa809ebaf4 | ||
|
|
dffa71e346 | ||
|
|
fea46aab1f | ||
|
|
e032e0807b | ||
|
|
24ed313f60 | ||
|
|
02b70d559d | ||
|
|
7a26e81f67 | ||
| d07439efcf | |||
|
|
7bca817633 | ||
|
|
bad2b3689a | ||
| 3cc9b90151 | |||
|
|
e32e6f95b0 | ||
|
|
2162645da1 | ||
|
|
af17c85366 | ||
|
|
20c00e2896 | ||
|
|
44b95cb1c6 | ||
| 40e744a533 | |||
|
|
82ccd2d89c | ||
|
|
994bd2a3aa | ||
| 3ab91a74d1 | |||
|
|
d899975495 | ||
| dbbe753492 | |||
|
|
017320ac09 | ||
| 7ce0bb3a7c | |||
|
|
a78d5b4aba | ||
| 37fd1e9f47 | |||
|
|
97ad28ba62 | ||
| 3304e8f673 | |||
| e7daabe588 | |||
| d912ad6119 | |||
|
|
dfeb1c246b | ||
|
|
9588619b73 | ||
|
|
6ba71508ca | ||
| c8f443c105 | |||
|
|
ebcfddf450 | ||
| e43fb5e479 | |||
|
|
0c096dcafc | ||
|
|
545c69ff8b | ||
| bf8d88608d | |||
|
|
45c256cbbb | ||
|
|
fb1d6c0688 | ||
| fe921e25bb | |||
|
|
d5ca010ec7 | ||
|
|
04259472a1 | ||
|
|
d6032a0a0a | ||
|
|
4a7790d968 | ||
|
|
49810407ce | ||
|
|
fa086dc5cb | ||
|
|
3f8d6ed4af | ||
|
|
986902886a | ||
|
|
8ed7595aec | ||
|
|
b78fef6adc | ||
| fae0d01dc2 | |||
| 9a8bc0505d | |||
| e31fa0310c | |||
| 2705342e18 | |||
| 1bdf3a2ba3 | |||
|
|
5afa3bd30b | ||
|
|
54458bd0c0 | ||
| c53b9a6064 | |||
| 92d4130c45 | |||
|
|
a353e51ba8 | ||
|
|
0646f245b6 | ||
| 7e3ca79a01 | |||
| dfeb3a78c1 | |||
| e32d450ca1 | |||
| f29766731c | |||
| 736592b4e1 | |||
| 3108c898c2 | |||
| dd2f3db16a | |||
| 8af231e526 | |||
| fdbbc3b224 | |||
| 1e4b0bb536 | |||
| 4729f93515 | |||
|
|
3376a57f9d | ||
|
|
410fcb5895 | ||
|
|
9b62ab6011 | ||
|
|
62aa1d63df | ||
|
|
034f2dba5d | ||
|
|
aee1d6cad4 | ||
| 9b01ae4d82 | |||
| 16f23519b1 | |||
| 9bfed0bc7b | |||
|
|
bc0ed26377 | ||
|
|
0d14ce5aee | ||
|
|
4a7423a5b9 | ||
|
|
0a4425d705 | ||
| d4c2ef71cb | |||
|
|
7184b147d9 | ||
| 39e9670cff | |||
|
|
7d7535935a | ||
|
|
dd657e9918 | ||
| 09cef4ade6 | |||
| 7038681f8c | |||
| 6cf68838f8 | |||
| c3a08974d1 | |||
|
|
20c25a51ef | ||
|
|
9dfb772224 | ||
|
|
f5f68f16b7 | ||
|
|
7672cea263 | ||
| 0a02b39c12 | |||
|
|
e786ae16c2 | ||
|
|
1d447b0a90 | ||
|
|
4918f9ba20 | ||
|
|
124b18dcb0 | ||
|
|
f55e9c0cfe | ||
|
|
84c43f74bc | ||
|
|
674346b6de | ||
|
|
64f40d52da | ||
|
|
75e342975c | ||
|
|
dd4172fc3d | ||
| 6b7a98dbc3 | |||
| 640dea5c53 | |||
| a907897239 | |||
| 3807ff8916 | |||
| 36b85c15f5 | |||
| 3e91068866 | |||
|
|
4d61c7e176 | ||
|
|
c6d9dbc118 | ||
| 6743ec3cf6 | |||
|
|
addab80997 | ||
|
|
9081ba4cd6 | ||
|
|
12bedd630e | ||
|
|
003c7f9e12 | ||
|
|
9089e96856 | ||
| 60c14f720d | |||
|
|
c139b03417 | ||
| b3fb6e62ae | |||
| 613185db40 | |||
|
|
291492f2d0 | ||
|
|
cbe91c84e9 | ||
| f417e4ead8 | |||
|
|
08bc6d554a | ||
|
|
895a1c6951 | ||
| b9f1474362 | |||
|
|
58508ca0ae | ||
|
|
5736265388 | ||
|
|
e68d20252a | ||
| 44b4b06592 | |||
| fb7551f7d0 | |||
|
|
40455fffc9 | ||
| 195035c456 | |||
| 492003ff01 | |||
| 17c2e7f795 | |||
| 1a3d66553c | |||
| 710cddd3a7 | |||
| da7ebb2663 | |||
| 6a6696f355 | |||
| 368b002db6 | |||
| 501a7b482b | |||
|
|
279575d80b | ||
| 3bf594d0b5 | |||
| 5f33fa38f6 | |||
| e0312eedd1 | |||
| 69d8feb9a9 | |||
| 500588c842 | |||
| 0a70da82f0 | |||
| abbb8c524c | |||
| 1334d173cf | |||
| f3ff37aea7 | |||
| 9741be743c | |||
| f54054283c | |||
| fd06243c22 | |||
| cef94a248e | |||
| beb566b294 | |||
|
|
6889828c00 | ||
| 9c57f0bd96 | |||
| a1c96cfd0f | |||
|
|
1198a8f1d8 | ||
| a255d1f2b5 | |||
| 53ce1c703e | |||
| 3f9e95ce7d | |||
|
|
8e07d4523f | ||
| 29ddc54303 | |||
| ae9c050ae6 | |||
| 7b61e8c562 | |||
|
|
23a396864f | ||
| af8052f65b | |||
| 6603a2dbb5 | |||
| f3a0b4d145 | |||
| 0c99324904 | |||
| 8d077e8062 | |||
|
|
3aaafdbbbe | ||
|
|
f4016089a1 | ||
| c53757c64b | |||
| c8c4352284 | |||
|
|
cd2e176f0a | ||
| e6d92ffc86 | |||
| ea0a3375e4 | |||
| 34c569ecb5 | |||
| a041450766 | |||
| e9488df780 |
@@ -55,8 +55,8 @@ public class FURenderer extends IFURenderer {
|
|||||||
private FURenderKit mFURenderKit;
|
private FURenderKit mFURenderKit;
|
||||||
|
|
||||||
/* AI道具*/
|
/* AI道具*/
|
||||||
private String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle";
|
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle";
|
||||||
private String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle";
|
public static String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle";
|
||||||
|
|
||||||
/* GL 线程 ID */
|
/* GL 线程 ID */
|
||||||
private Long mGlThreadId = 0L;
|
private Long mGlThreadId = 0L;
|
||||||
|
|||||||
@@ -314,6 +314,35 @@ public class FileUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String copyAssetsFile(Context context, String assetsPath, String fileName, String saveFileDir) {
|
||||||
|
File fileDir = new File(saveFileDir);
|
||||||
|
if (!fileDir.exists()) {
|
||||||
|
fileDir.mkdirs();
|
||||||
|
}
|
||||||
|
File file = new File(fileDir, fileName);
|
||||||
|
if (file.exists()) {
|
||||||
|
return file.getAbsolutePath();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
InputStream inputStream = context.getAssets().open(assetsPath);
|
||||||
|
FileOutputStream fos = new FileOutputStream(file);
|
||||||
|
BufferedInputStream bis = new BufferedInputStream(inputStream);
|
||||||
|
BufferedOutputStream bos = new BufferedOutputStream(fos);
|
||||||
|
byte[] byteArray = new byte[1024];
|
||||||
|
int bytes = bis.read(byteArray);
|
||||||
|
while (bytes > 0) {
|
||||||
|
bos.write(byteArray, 0, bytes);
|
||||||
|
bos.flush();
|
||||||
|
bytes = bis.read(byteArray);
|
||||||
|
}
|
||||||
|
bos.close();
|
||||||
|
fos.close();
|
||||||
|
return file.getAbsolutePath();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取Uri文件绝对路径
|
* 获取Uri文件绝对路径
|
||||||
@@ -522,6 +551,7 @@ public class FileUtils {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 遍历一个文件夹获取改文件夹下所有文件名
|
* 遍历一个文件夹获取改文件夹下所有文件名
|
||||||
|
*
|
||||||
* @param path
|
* @param path
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -563,7 +593,7 @@ public class FileUtils {
|
|||||||
* @param path String
|
* @param path String
|
||||||
* @return Boolean
|
* @return Boolean
|
||||||
*/
|
*/
|
||||||
public static Boolean checkIsVideo(Context context,String path) {
|
public static Boolean checkIsVideo(Context context, String path) {
|
||||||
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
|
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
|
||||||
try {
|
try {
|
||||||
retriever.setDataSource(context, Uri.fromFile(new File(path)));
|
retriever.setDataSource(context, Uri.fromFile(new File(path)));
|
||||||
|
|||||||
@@ -1,96 +1,96 @@
|
|||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string name="camera_dialog_title">警告</string>
|
<string name="camera_dialog_title">警告</string>
|
||||||
<string name="sorry_no_permission">抱歉,你所使用的证书权限或SDK不包括该功能。</string>
|
<string name="sorry_no_permission">抱歉,你所使用的證書權限或SDK不包括該功能。</string>
|
||||||
<string name="camera_dialog_message">相机权限被禁用或者相机被别的应用占用!</string>
|
<string name="camera_dialog_message">相機權限被禁用或者相機被別的應用佔用!</string>
|
||||||
<string name="camera_dialog_open">重试</string>
|
<string name="camera_dialog_open">重試</string>
|
||||||
<string name="camera_dialog_back">退出</string>
|
<string name="camera_dialog_back">退出</string>
|
||||||
|
|
||||||
<string name="fu_base_debug">Resolution:\n\t%dX%d\nFPS: %d\nRender time:\n\t%dms</string>
|
<string name="fu_base_debug">Resolution:\n\t%dX%d\nFPS: %d\nRender time:\n\t%dms</string>
|
||||||
<string name="save_photo_success">保存照片成功!</string>
|
<string name="save_photo_success">保存照片成功!</string>
|
||||||
<string name="save_video_success">保存视频成功!</string>
|
<string name="save_video_success">保存視頻成功!</string>
|
||||||
<string name="save_video_failed">保存视频失败!</string>
|
<string name="save_video_failed">保存視頻失敗!</string>
|
||||||
<string name="save_video_too_short">视频太短啦!</string>
|
<string name="save_video_too_short">視頻太短啦!</string>
|
||||||
<string name="save_video_wait">视频处理中请稍等</string>
|
<string name="save_video_wait">視頻處理中請稍等</string>
|
||||||
<string name="fu_base_is_tracking_text">未检测到人脸</string>
|
<string name="fu_base_is_tracking_text">未檢測到人臉</string>
|
||||||
<string name="fu_base_incomplete_face_text">人脸不全</string>
|
<string name="fu_base_incomplete_face_text">人臉不全</string>
|
||||||
<string name="fu_base_input_type_single">单输入</string>
|
<string name="fu_base_input_type_single">單輸入</string>
|
||||||
<string name="fu_base_input_type_double">双输入</string>
|
<string name="fu_base_input_type_double">雙輸入</string>
|
||||||
|
|
||||||
<string name="beauty_box_heavy_blur_fine">磨皮</string>
|
<string name="beauty_box_heavy_blur_fine">磨皮</string>
|
||||||
<string name="beauty_box_color_level">美白</string>
|
<string name="beauty_box_color_level">美白</string>
|
||||||
<string name="beauty_box_red_level">红润</string>
|
<string name="beauty_box_red_level">紅潤</string>
|
||||||
<string name="beauty_box_sharpen">锐化</string>
|
<string name="beauty_box_sharpen">銳化</string>
|
||||||
<string name="beauty_box_eye_bright">亮眼</string>
|
<string name="beauty_box_eye_bright">亮眼</string>
|
||||||
<string name="beauty_box_tooth_whiten">美牙</string>
|
<string name="beauty_box_tooth_whiten">美牙</string>
|
||||||
<string name="beauty_box_eye_enlarge">大眼</string>
|
<string name="beauty_box_eye_enlarge">大眼</string>
|
||||||
<string name="beauty_box_eye_circle">圆眼</string>
|
<string name="beauty_box_eye_circle">圓眼</string>
|
||||||
<string name="beauty_box_cheek_natural">自然</string>
|
<string name="beauty_box_cheek_natural">自然</string>
|
||||||
<string name="beauty_box_cheek_goddess">女神</string>
|
<string name="beauty_box_cheek_goddess">女神</string>
|
||||||
<string name="beauty_box_cheek_long_face">长脸</string>
|
<string name="beauty_box_cheek_long_face">長臉</string>
|
||||||
<string name="beauty_box_cheek_round_face">圆脸</string>
|
<string name="beauty_box_cheek_round_face">圓臉</string>
|
||||||
<string name="beauty_box_cheek_thinning">瘦脸</string>
|
<string name="beauty_box_cheek_thinning">瘦臉</string>
|
||||||
<string name="beauty_box_cheek_v">V脸</string>
|
<string name="beauty_box_cheek_v">V臉</string>
|
||||||
<string name="beauty_box_cheek_narrow">窄脸</string>
|
<string name="beauty_box_cheek_narrow">窄臉</string>
|
||||||
<string name="beauty_box_cheek_short">短脸</string>
|
<string name="beauty_box_cheek_short">短臉</string>
|
||||||
<string name="beauty_box_cheek_small">小脸</string>
|
<string name="beauty_box_cheek_small">小臉</string>
|
||||||
<string name="beauty_box_intensity_chin">下巴</string>
|
<string name="beauty_box_intensity_chin">下巴</string>
|
||||||
<string name="beauty_box_intensity_forehead">额头</string>
|
<string name="beauty_box_intensity_forehead">額頭</string>
|
||||||
<string name="beauty_box_intensity_nose">瘦鼻</string>
|
<string name="beauty_box_intensity_nose">瘦鼻</string>
|
||||||
<string name="beauty_box_intensity_mouth">嘴型</string>
|
<string name="beauty_box_intensity_mouth">嘴型</string>
|
||||||
<string name="beauty_box_cheekbones">瘦颧骨</string>
|
<string name="beauty_box_cheekbones">瘦顴骨</string>
|
||||||
<string name="beauty_box_lower_jaw">瘦下颌骨</string>
|
<string name="beauty_box_lower_jaw">瘦下頜骨</string>
|
||||||
<string name="beauty_radio_skin_beauty">美肤</string>
|
<string name="beauty_radio_skin_beauty">美膚</string>
|
||||||
<string name="beauty_radio_face_shape">美型</string>
|
<string name="beauty_radio_face_shape">美型</string>
|
||||||
<string name="beauty_radio_filter">滤镜</string>
|
<string name="beauty_radio_filter">濾鏡</string>
|
||||||
<string name="beauty_radio_style">风格推荐</string>
|
<string name="beauty_radio_style">風格推薦</string>
|
||||||
<string name="beauty_micro_pouch">去黑眼圈</string>
|
<string name="beauty_micro_pouch">去黑眼圈</string>
|
||||||
<string name="beauty_micro_nasolabial">去法令纹</string>
|
<string name="beauty_micro_nasolabial">去法令紋</string>
|
||||||
<string name="beauty_micro_smile">微笑嘴角</string>
|
<string name="beauty_micro_smile">微笑嘴角</string>
|
||||||
<string name="beauty_brow_height">眉毛上下</string>
|
<string name="beauty_brow_height">眉毛上下</string>
|
||||||
<string name="beauty_brow_space">眉间距</string>
|
<string name="beauty_brow_space">眉間距</string>
|
||||||
<string name="beauty_micro_canthus">开眼角</string>
|
<string name="beauty_micro_canthus">開眼角</string>
|
||||||
<string name="beauty_micro_philtrum">缩人中</string>
|
<string name="beauty_micro_philtrum">縮人中</string>
|
||||||
<string name="beauty_micro_long_nose">长鼻</string>
|
<string name="beauty_micro_long_nose">長鼻</string>
|
||||||
<string name="beauty_micro_eye_space">眼距</string>
|
<string name="beauty_micro_eye_space">眼距</string>
|
||||||
<string name="beauty_micro_eye_rotate">眼睛角度</string>
|
<string name="beauty_micro_eye_rotate">眼睛角度</string>
|
||||||
|
|
||||||
<string name="makeup_radio_lipstick">口红</string>
|
<string name="makeup_radio_lipstick">口紅</string>
|
||||||
<string name="makeup_radio_blusher">腮红</string>
|
<string name="makeup_radio_blusher">腮紅</string>
|
||||||
<string name="makeup_radio_eyebrow">眉毛</string>
|
<string name="makeup_radio_eyebrow">眉毛</string>
|
||||||
<string name="makeup_radio_eye_shadow">眼影</string>
|
<string name="makeup_radio_eye_shadow">眼影</string>
|
||||||
<string name="makeup_radio_eye_liner">眼线</string>
|
<string name="makeup_radio_eye_liner">眼線</string>
|
||||||
<string name="makeup_radio_eyelash">睫毛</string>
|
<string name="makeup_radio_eyelash">睫毛</string>
|
||||||
<string name="makeup_radio_contact_lens">美瞳</string>
|
<string name="makeup_radio_contact_lens">美瞳</string>
|
||||||
<string name="makeup_radio_foundation">粉底</string>
|
<string name="makeup_radio_foundation">粉底</string>
|
||||||
<string name="makeup_radio_highlight">高光</string>
|
<string name="makeup_radio_highlight">高光</string>
|
||||||
<string name="makeup_radio_shadow">阴影</string>
|
<string name="makeup_radio_shadow">陰影</string>
|
||||||
<string name="makeup_radio_remove">卸妆</string>
|
<string name="makeup_radio_remove">卸妝</string>
|
||||||
<string name="makeup_customize">自定义</string>
|
<string name="makeup_customize">自定義</string>
|
||||||
<string name="makeup_peach_blossom">桃花</string>
|
<string name="makeup_peach_blossom">桃花</string>
|
||||||
<string name="makeup_boyfriend">男友</string>
|
<string name="makeup_boyfriend">男友</string>
|
||||||
<string name="makeup_clear">清透</string>
|
<string name="makeup_clear">清透</string>
|
||||||
<string name="makeup_grapefruit">西柚</string>
|
<string name="makeup_grapefruit">西柚</string>
|
||||||
<string name="select_data_photo">选择图片</string>
|
<string name="select_data_photo">選擇圖片</string>
|
||||||
<string name="select_data_video">选择视频</string>
|
<string name="select_data_video">選擇視頻</string>
|
||||||
<string name="select_data_title">请从相册中选择图片或视频</string>
|
<string name="select_data_title">請從相冊中選擇圖片或視頻</string>
|
||||||
<string name="image_file_does_not_exist">所选图片文件不存在。</string>
|
<string name="image_file_does_not_exist">所選圖片文件不存在。</string>
|
||||||
<string name="video_file_does_not_exist">所选视频文件不存在。</string>
|
<string name="video_file_does_not_exist">所選視頻文件不存在。</string>
|
||||||
|
|
||||||
<string name="future_warrior">张嘴试试</string>
|
<string name="future_warrior">張嘴試試</string>
|
||||||
<string name="jet_mask">鼓腮帮子</string>
|
<string name="jet_mask">鼓腮幫子</string>
|
||||||
<string name="sdx2">皱眉试试</string>
|
<string name="sdx2">皺眉試試</string>
|
||||||
<string name="luhantongkuan_ztt_fu">眨一眨眼</string>
|
<string name="luhantongkuan_ztt_fu">眨一眨眼</string>
|
||||||
<string name="qingqing_ztt_fu">嘟嘴试试</string>
|
<string name="qingqing_ztt_fu">嘟嘴試試</string>
|
||||||
<string name="xiaobianzi_zh_fu">微笑触发</string>
|
<string name="xiaobianzi_zh_fu">微笑觸發</string>
|
||||||
<string name="xiaoxueshen_ztt_fu">吹气触发</string>
|
<string name="xiaoxueshen_ztt_fu">吹氣觸發</string>
|
||||||
<string name="hez_ztt_fu">张嘴试试</string>
|
<string name="hez_ztt_fu">張嘴試試</string>
|
||||||
<string name="push_hand">推出手掌</string>
|
<string name="push_hand">推出手掌</string>
|
||||||
<string name="fu_lm_koreaheart">单手手指比心</string>
|
<string name="fu_lm_koreaheart">單手手指比心</string>
|
||||||
<string name="ssd_thread_six">比个六</string>
|
<string name="ssd_thread_six">比個六</string>
|
||||||
<string name="ssd_thread_cute">双拳靠近脸颊卖萌</string>
|
<string name="ssd_thread_cute">雙拳靠近臉頰賣萌</string>
|
||||||
|
|
||||||
<string name="origin">原图</string>
|
<string name="origin">原圖</string>
|
||||||
<string name="bailiang_1">白亮 1</string>
|
<string name="bailiang_1">白亮 1</string>
|
||||||
<string name="bailiang_2">白亮 2</string>
|
<string name="bailiang_2">白亮 2</string>
|
||||||
<string name="bailiang_3">白亮 3</string>
|
<string name="bailiang_3">白亮 3</string>
|
||||||
@@ -109,23 +109,23 @@
|
|||||||
<string name="xiaoqingxin_3">小清新 3</string>
|
<string name="xiaoqingxin_3">小清新 3</string>
|
||||||
<string name="xiaoqingxin_4">小清新 4</string>
|
<string name="xiaoqingxin_4">小清新 4</string>
|
||||||
<string name="xiaoqingxin_6">小清新 6</string>
|
<string name="xiaoqingxin_6">小清新 6</string>
|
||||||
<string name="lengsediao_1">冷色调 1</string>
|
<string name="lengsediao_1">冷色調 1</string>
|
||||||
<string name="lengsediao_2">冷色调 2</string>
|
<string name="lengsediao_2">冷色調 2</string>
|
||||||
<string name="lengsediao_3">冷色调 3</string>
|
<string name="lengsediao_3">冷色調 3</string>
|
||||||
<string name="lengsediao_4">冷色调 4</string>
|
<string name="lengsediao_4">冷色調 4</string>
|
||||||
<string name="lengsediao_7">冷色调 7</string>
|
<string name="lengsediao_7">冷色調 7</string>
|
||||||
<string name="lengsediao_8">冷色调 8</string>
|
<string name="lengsediao_8">冷色調 8</string>
|
||||||
<string name="lengsediao_11">冷色调 11</string>
|
<string name="lengsediao_11">冷色調 11</string>
|
||||||
<string name="nuansediao_1">暖色调 1</string>
|
<string name="nuansediao_1">暖色調 1</string>
|
||||||
<string name="nuansediao_2">暖色调 2</string>
|
<string name="nuansediao_2">暖色調 2</string>
|
||||||
<string name="gexing_1">个性 1</string>
|
<string name="gexing_1">個性 1</string>
|
||||||
<string name="gexing_2">个性 2</string>
|
<string name="gexing_2">個性 2</string>
|
||||||
<string name="gexing_3">个性 3</string>
|
<string name="gexing_3">個性 3</string>
|
||||||
<string name="gexing_4">个性 4</string>
|
<string name="gexing_4">個性 4</string>
|
||||||
<string name="gexing_5">个性 5</string>
|
<string name="gexing_5">個性 5</string>
|
||||||
<string name="gexing_7">个性 7</string>
|
<string name="gexing_7">個性 7</string>
|
||||||
<string name="gexing_10">个性 10</string>
|
<string name="gexing_10">個性 10</string>
|
||||||
<string name="gexing_11">个性 11</string>
|
<string name="gexing_11">個性 11</string>
|
||||||
<string name="heibai_1">黑白 1</string>
|
<string name="heibai_1">黑白 1</string>
|
||||||
<string name="heibai_2">黑白 2</string>
|
<string name="heibai_2">黑白 2</string>
|
||||||
<string name="heibai_3">黑白 3</string>
|
<string name="heibai_3">黑白 3</string>
|
||||||
@@ -138,14 +138,14 @@
|
|||||||
<string name="ziran_6">自然 6</string>
|
<string name="ziran_6">自然 6</string>
|
||||||
<string name="ziran_7">自然 7</string>
|
<string name="ziran_7">自然 7</string>
|
||||||
<string name="ziran_8">自然 8</string>
|
<string name="ziran_8">自然 8</string>
|
||||||
<string name="zhiganhui_1">质感灰 1</string>
|
<string name="zhiganhui_1">質感灰 1</string>
|
||||||
<string name="zhiganhui_2">质感灰 2</string>
|
<string name="zhiganhui_2">質感灰 2</string>
|
||||||
<string name="zhiganhui_3">质感灰 3</string>
|
<string name="zhiganhui_3">質感灰 3</string>
|
||||||
<string name="zhiganhui_4">质感灰 4</string>
|
<string name="zhiganhui_4">質感灰 4</string>
|
||||||
<string name="zhiganhui_5">质感灰 5</string>
|
<string name="zhiganhui_5">質感灰 5</string>
|
||||||
<string name="zhiganhui_6">质感灰 6</string>
|
<string name="zhiganhui_6">質感灰 6</string>
|
||||||
<string name="zhiganhui_7">质感灰 7</string>
|
<string name="zhiganhui_7">質感灰 7</string>
|
||||||
<string name="zhiganhui_8">质感灰 8</string>
|
<string name="zhiganhui_8">質感灰 8</string>
|
||||||
<string name="mitao_1">蜜桃 1</string>
|
<string name="mitao_1">蜜桃 1</string>
|
||||||
<string name="mitao_2">蜜桃 2</string>
|
<string name="mitao_2">蜜桃 2</string>
|
||||||
<string name="mitao_3">蜜桃 3</string>
|
<string name="mitao_3">蜜桃 3</string>
|
||||||
@@ -155,85 +155,85 @@
|
|||||||
<string name="mitao_7">蜜桃 7</string>
|
<string name="mitao_7">蜜桃 7</string>
|
||||||
<string name="mitao_8">蜜桃 8</string>
|
<string name="mitao_8">蜜桃 8</string>
|
||||||
|
|
||||||
<string name="beauty_face_style_none">无</string>
|
<string name="beauty_face_style_none">無</string>
|
||||||
<string name="beauty_face_style_1">风格 1</string>
|
<string name="beauty_face_style_1">風格 1</string>
|
||||||
<string name="beauty_face_style_2">风格 2</string>
|
<string name="beauty_face_style_2">風格 2</string>
|
||||||
<string name="beauty_face_style_3">风格 3</string>
|
<string name="beauty_face_style_3">風格 3</string>
|
||||||
<string name="beauty_face_style_4">风格 4</string>
|
<string name="beauty_face_style_4">風格 4</string>
|
||||||
<string name="beauty_face_style_5">风格 5</string>
|
<string name="beauty_face_style_5">風格 5</string>
|
||||||
<string name="beauty_face_style_6">风格 6</string>
|
<string name="beauty_face_style_6">風格 6</string>
|
||||||
<string name="beauty_face_style_7">风格 7</string>
|
<string name="beauty_face_style_7">風格 7</string>
|
||||||
<string name="beauty_face_style_toast">使用%s先取消“风格推荐”</string>
|
<string name="beauty_face_style_toast">使用%s先取消“風格推薦”</string>
|
||||||
|
|
||||||
<string name="poster_take_photo">对准线框 正脸拍摄</string>
|
<string name="poster_take_photo">對準線框 正臉拍攝</string>
|
||||||
<string name="poster_change_face_error">替换失败</string>
|
<string name="poster_change_face_error">替換失敗</string>
|
||||||
<string name="poster_template_face_none">未识别模板的人脸,请重新选择模板</string>
|
<string name="poster_template_face_none">未識別模板的人臉,請重新選擇模板</string>
|
||||||
<string name="dialog_no_track_face">未检测到人脸,请重新拍摄</string>
|
<string name="dialog_no_track_face">未檢測到人臉,請重新拍攝</string>
|
||||||
<string name="dialog_no_incomplete_face">人脸不全,请重新拍摄</string>
|
<string name="dialog_no_incomplete_face">人臉不全,請重新拍攝</string>
|
||||||
<string name="dialog_face_rotation_not_valid">人脸偏转角度过大,请正脸拍摄。</string>
|
<string name="dialog_face_rotation_not_valid">人臉偏轉角度過大,請正臉拍攝。</string>
|
||||||
<string name="dialog_got">知道啦</string>
|
<string name="dialog_got">知道啦</string>
|
||||||
<string name="tip_dual_face">检测到多人,请选择一人进行换脸</string>
|
<string name="tip_dual_face">檢測到多人,請選擇一人進行換臉</string>
|
||||||
|
|
||||||
<string name="animoji_filter">Animoji</string>
|
<string name="animoji_filter">Animoji</string>
|
||||||
<string name="cartoon_filter">动漫滤镜</string>
|
<string name="cartoon_filter">動漫濾鏡</string>
|
||||||
|
|
||||||
<string name="delete_avatar_model">删除模型</string>
|
<string name="delete_avatar_model">刪除模型</string>
|
||||||
<string name="new_avatar_model">新建模型</string>
|
<string name="new_avatar_model">新建模型</string>
|
||||||
<string name="edit_avatar_model">编辑模型</string>
|
<string name="edit_avatar_model">編輯模型</string>
|
||||||
|
|
||||||
<string name="avatar_face_hair">发型</string>
|
<string name="avatar_face_hair">髮型</string>
|
||||||
<string name="avatar_face_face">脸型</string>
|
<string name="avatar_face_face">臉型</string>
|
||||||
<string name="avatar_face_eye">眼睛</string>
|
<string name="avatar_face_eye">眼睛</string>
|
||||||
<string name="avatar_face_lip">嘴唇</string>
|
<string name="avatar_face_lip">嘴唇</string>
|
||||||
<string name="avatar_face_nose">鼻子</string>
|
<string name="avatar_face_nose">鼻子</string>
|
||||||
|
|
||||||
<string name="avatar_face_length">脸型长度</string>
|
<string name="avatar_face_length">臉型長度</string>
|
||||||
<string name="avatar_face_width">脸颊宽度</string>
|
<string name="avatar_face_width">臉頰寬度</string>
|
||||||
<string name="avatar_chin_width">下颚宽度</string>
|
<string name="avatar_chin_width">下顎寬度</string>
|
||||||
<string name="avatar_chin_height">下巴高低</string>
|
<string name="avatar_chin_height">下巴高低</string>
|
||||||
<string name="avatar_eye_position">眼睛位置</string>
|
<string name="avatar_eye_position">眼睛位置</string>
|
||||||
<string name="avatar_eye_corner_height">眼角高度</string>
|
<string name="avatar_eye_corner_height">眼角高度</string>
|
||||||
<string name="avatar_eye_height">眼睛高低</string>
|
<string name="avatar_eye_height">眼睛高低</string>
|
||||||
<string name="avatar_eye_width">眼睛宽窄</string>
|
<string name="avatar_eye_width">眼睛寬窄</string>
|
||||||
<string name="avatar_nose_position">鼻子位置</string>
|
<string name="avatar_nose_position">鼻子位置</string>
|
||||||
<string name="avatar_nose_width">鼻翼宽窄</string>
|
<string name="avatar_nose_width">鼻翼寬窄</string>
|
||||||
<string name="avatar_nose_height">鼻头高低</string>
|
<string name="avatar_nose_height">鼻頭高低</string>
|
||||||
<string name="avatar_mouth_position">嘴部位置</string>
|
<string name="avatar_mouth_position">嘴部位置</string>
|
||||||
<string name="avatar_up_lip_thickness">上唇厚度</string>
|
<string name="avatar_up_lip_thickness">上唇厚度</string>
|
||||||
<string name="avatar_down_lip_thickness">下唇厚度</string>
|
<string name="avatar_down_lip_thickness">下唇厚度</string>
|
||||||
<string name="avatar_lip_width">嘴唇宽度</string>
|
<string name="avatar_lip_width">嘴唇寬度</string>
|
||||||
<string name="model_empty_tip">你还没有创建过模型哦</string>
|
<string name="model_empty_tip">你還沒有創建過模型哦</string>
|
||||||
<string name="dialog_reset_avatar_model">是否将所有参数恢复到默认值?</string>
|
<string name="dialog_reset_avatar_model">是否將所有參數恢復到默認值?</string>
|
||||||
<string name="avatar_face_customize">自定义</string>
|
<string name="avatar_face_customize">自定義</string>
|
||||||
<string name="avatar_save_succeed">保存成功</string>
|
<string name="avatar_save_succeed">保存成功</string>
|
||||||
|
|
||||||
<string name="live_photo_back_not_save">返回后当前操作将不会被保存哦</string>
|
<string name="live_photo_back_not_save">返回后當前操作將不會被保存哦</string>
|
||||||
<string name="live_photo_btn_delete">删除</string>
|
<string name="live_photo_btn_delete">刪除</string>
|
||||||
<string name="live_photo_btn_cancel">取消</string>
|
<string name="live_photo_btn_cancel">取消</string>
|
||||||
<string name="live_photo_btn_delete_">删除(%d)</string>
|
<string name="live_photo_btn_delete_">刪除(%d)</string>
|
||||||
<string name="live_photo_delete_effect">删除道具</string>
|
<string name="live_photo_delete_effect">刪除道具</string>
|
||||||
<string name="live_photo__delete_all">全选</string>
|
<string name="live_photo__delete_all">全選</string>
|
||||||
<string name="live_photo_empty_list_tip">你还没有创建过道具哦</string>
|
<string name="live_photo_empty_list_tip">你還沒有創建過道具哦</string>
|
||||||
<string name="confirm">确定</string>
|
<string name="confirm">確定</string>
|
||||||
<string name="cancel">取消</string>
|
<string name="cancel">取消</string>
|
||||||
<string name="dialog_confirm_delete">确定删除所选中的道具?</string>
|
<string name="dialog_confirm_delete">確定刪除所選中的道具?</string>
|
||||||
<string name="toast_delete_succeed">删除成功</string>
|
<string name="toast_delete_succeed">刪除成功</string>
|
||||||
<string name="toast_delete_failed">删除失败</string>
|
<string name="toast_delete_failed">刪除失敗</string>
|
||||||
<string name="live_photo_save_succeed">道具保存成功</string>
|
<string name="live_photo_save_succeed">道具保存成功</string>
|
||||||
<string name="recover">恢复</string>
|
<string name="recover">恢復</string>
|
||||||
|
|
||||||
<string name="makeup_lip_fog">雾面</string>
|
<string name="makeup_lip_fog">霧面</string>
|
||||||
<string name="makeup_lip_moist1">润泽Ⅰ</string>
|
<string name="makeup_lip_moist1">潤澤Ⅰ</string>
|
||||||
<string name="makeup_lip_moist2">润泽Ⅱ</string>
|
<string name="makeup_lip_moist2">潤澤Ⅱ</string>
|
||||||
<string name="makeup_lip_pearl">珠光</string>
|
<string name="makeup_lip_pearl">珠光</string>
|
||||||
<string name="makeup_lip_bitelip">咬唇</string>
|
<string name="makeup_lip_bitelip">咬唇</string>
|
||||||
<string name="makeup_blusher_apple">苹果肌</string>
|
<string name="makeup_blusher_apple">蘋果肌</string>
|
||||||
<string name="makeup_blusher_fan">扇形</string>
|
<string name="makeup_blusher_fan">扇形</string>
|
||||||
<string name="makeup_blusher_eye_corner">眼角</string>
|
<string name="makeup_blusher_eye_corner">眼角</string>
|
||||||
<string name="makeup_blusher_slight_drunk">微醺</string>
|
<string name="makeup_blusher_slight_drunk">微醺</string>
|
||||||
<string name="makeup_highlight_one">高光 I</string>
|
<string name="makeup_highlight_one">高光 I</string>
|
||||||
<string name="makeup_highlight_two">高光 II</string>
|
<string name="makeup_highlight_two">高光 II</string>
|
||||||
<string name="makeup_shadow_one">阴影 I</string>
|
<string name="makeup_shadow_one">陰影 I</string>
|
||||||
<string name="makeup_pupil_1">蜜糖</string>
|
<string name="makeup_pupil_1">蜜糖</string>
|
||||||
<string name="makeup_pupil_2">奶茶</string>
|
<string name="makeup_pupil_2">奶茶</string>
|
||||||
<string name="makeup_pupil_3">水波</string>
|
<string name="makeup_pupil_3">水波</string>
|
||||||
@@ -241,106 +241,106 @@
|
|||||||
<string name="makeup_pupil_5">孔雀</string>
|
<string name="makeup_pupil_5">孔雀</string>
|
||||||
<string name="makeup_pupil_6">星河</string>
|
<string name="makeup_pupil_6">星河</string>
|
||||||
<string name="makeup_pupil_7">落目</string>
|
<string name="makeup_pupil_7">落目</string>
|
||||||
<string name="makeup_pupil_8">极光</string>
|
<string name="makeup_pupil_8">極光</string>
|
||||||
<string name="makeup_eyebrow_willow">柳叶眉</string>
|
<string name="makeup_eyebrow_willow">柳恭弘=叶 恭弘眉</string>
|
||||||
<string name="makeup_eyebrow_wild">野生眉</string>
|
<string name="makeup_eyebrow_wild">野生眉</string>
|
||||||
<string name="makeup_eyebrow_classical">古典眉</string>
|
<string name="makeup_eyebrow_classical">古典眉</string>
|
||||||
<string name="makeup_eyebrow_standard">标准眉</string>
|
<string name="makeup_eyebrow_standard">標準眉</string>
|
||||||
<string name="makeup_eye_shadow_single">单色眼影</string>
|
<string name="makeup_eye_shadow_single">單色眼影</string>
|
||||||
<string name="makeup_eye_shadow_double1">双色眼影 I</string>
|
<string name="makeup_eye_shadow_double1">雙色眼影 I</string>
|
||||||
<string name="makeup_eye_shadow_double2">双色眼影 II</string>
|
<string name="makeup_eye_shadow_double2">雙色眼影 II</string>
|
||||||
<string name="makeup_eye_shadow_double3">双色眼影 III</string>
|
<string name="makeup_eye_shadow_double3">雙色眼影 III</string>
|
||||||
<string name="makeup_eye_shadow_triple1">三色眼影 I</string>
|
<string name="makeup_eye_shadow_triple1">三色眼影 I</string>
|
||||||
<string name="makeup_eye_shadow_triple2">三色眼影 II</string>
|
<string name="makeup_eye_shadow_triple2">三色眼影 II</string>
|
||||||
<string name="makeup_eyelash_natural1">自然型 I</string>
|
<string name="makeup_eyelash_natural1">自然型 I</string>
|
||||||
<string name="makeup_eyelash_natural2">自然型 II</string>
|
<string name="makeup_eyelash_natural2">自然型 II</string>
|
||||||
<string name="makeup_eyelash_thick1">浓密型 I</string>
|
<string name="makeup_eyelash_thick1">濃密型 I</string>
|
||||||
<string name="makeup_eyelash_thick2">浓密型 II</string>
|
<string name="makeup_eyelash_thick2">濃密型 II</string>
|
||||||
<string name="makeup_eyelash_exaggerate1">夸张型 I</string>
|
<string name="makeup_eyelash_exaggerate1">誇張型 I</string>
|
||||||
<string name="makeup_eyelash_exaggerate2">夸张型 II</string>
|
<string name="makeup_eyelash_exaggerate2">誇張型 II</string>
|
||||||
<string name="makeup_eye_linear_cat">猫眼</string>
|
<string name="makeup_eye_linear_cat">貓眼</string>
|
||||||
<string name="makeup_eye_linear_drooping">下垂眼</string>
|
<string name="makeup_eye_linear_drooping">下垂眼</string>
|
||||||
<string name="makeup_eye_linear_pull_open">拉开眼距</string>
|
<string name="makeup_eye_linear_pull_open">拉開眼距</string>
|
||||||
<string name="makeup_eye_linear_pull_close">拉近眼距</string>
|
<string name="makeup_eye_linear_pull_close">拉近眼距</string>
|
||||||
<string name="makeup_eye_linear_long">长眼</string>
|
<string name="makeup_eye_linear_long">長眼</string>
|
||||||
<string name="makeup_eye_linear_circular">圆眼</string>
|
<string name="makeup_eye_linear_circular">圓眼</string>
|
||||||
|
|
||||||
<string name="makeup_combination_diadiatu">嗲嗲兔</string>
|
<string name="makeup_combination_diadiatu">嗲嗲兔</string>
|
||||||
<string name="makeup_combination_dongling">冻龄</string>
|
<string name="makeup_combination_dongling">凍齡</string>
|
||||||
<string name="makeup_combination_guofeng">国风</string>
|
<string name="makeup_combination_guofeng">國風</string>
|
||||||
<string name="makeup_combination_hunxie">混血</string>
|
<string name="makeup_combination_hunxie">混血</string>
|
||||||
<string name="makeup_combination_sexy">性感</string>
|
<string name="makeup_combination_sexy">性感</string>
|
||||||
<string name="makeup_combination_sweet">甜美</string>
|
<string name="makeup_combination_sweet">甜美</string>
|
||||||
<string name="makeup_combination_neighbor">邻家</string>
|
<string name="makeup_combination_neighbor">鄰家</string>
|
||||||
<string name="makeup_combination_occident">欧美</string>
|
<string name="makeup_combination_occident">歐美</string>
|
||||||
<string name="makeup_combination_charming">妩媚</string>
|
<string name="makeup_combination_charming">嫵媚</string>
|
||||||
<string name="makeup_combination_jianling">减龄</string>
|
<string name="makeup_combination_jianling">減齡</string>
|
||||||
<string name="makeup_combination_nuandong">暖冬</string>
|
<string name="makeup_combination_nuandong">暖冬</string>
|
||||||
<string name="makeup_combination_hongfeng">红枫</string>
|
<string name="makeup_combination_hongfeng">紅楓</string>
|
||||||
<string name="makeup_combination_shaonv">少女</string>
|
<string name="makeup_combination_shaonv">少女</string>
|
||||||
<string name="makeup_combination_ziyun">紫韵</string>
|
<string name="makeup_combination_ziyun">紫韻</string>
|
||||||
<string name="makeup_combination_yanshimao">厌世猫</string>
|
<string name="makeup_combination_yanshimao">厭世貓</string>
|
||||||
<string name="makeup_combination_renyu">人鱼</string>
|
<string name="makeup_combination_renyu">人魚</string>
|
||||||
<string name="makeup_combination_chuqiu">初秋</string>
|
<string name="makeup_combination_chuqiu">初秋</string>
|
||||||
<string name="makeup_combination_qianzhihe">千纸鹤</string>
|
<string name="makeup_combination_qianzhihe">千紙鶴</string>
|
||||||
<string name="makeup_combination_chaomo">超模</string>
|
<string name="makeup_combination_chaomo">超模</string>
|
||||||
<string name="makeup_combination_chuju">雏菊</string>
|
<string name="makeup_combination_chuju">雛菊</string>
|
||||||
<string name="makeup_combination_gangfeng">港风</string>
|
<string name="makeup_combination_gangfeng">港風</string>
|
||||||
<string name="makeup_combination_rose">Rose</string>
|
<string name="makeup_combination_rose">Rose</string>
|
||||||
|
|
||||||
<string name="slimming">瘦身</string>
|
<string name="slimming">瘦身</string>
|
||||||
<string name="long_legs">长腿</string>
|
<string name="long_legs">長腿</string>
|
||||||
<string name="thin_waist">细腰</string>
|
<string name="thin_waist">細腰</string>
|
||||||
<string name="beautify_shoulder">美肩</string>
|
<string name="beautify_shoulder">美肩</string>
|
||||||
<string name="beautify_hip_slim">美臀</string>
|
<string name="beautify_hip_slim">美臀</string>
|
||||||
<string name="beautify_head_slim">小头</string>
|
<string name="beautify_head_slim">小頭</string>
|
||||||
<string name="beautify_leg_thin_slim">瘦腿</string>
|
<string name="beautify_leg_thin_slim">瘦腿</string>
|
||||||
<string name="toast_not_detect_body">未检测到人体</string>
|
<string name="toast_not_detect_body">未檢測到人體</string>
|
||||||
<string name="pta_human_full_body">全身驱动</string>
|
<string name="pta_human_full_body">全身驅動</string>
|
||||||
<string name="pta_human_half_body">半身驱动</string>
|
<string name="pta_human_half_body">半身驅動</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="select_data_photo_or_video">载入图片或视频</string>
|
<string name="select_data_photo_or_video">載入圖片或視頻</string>
|
||||||
<string name="toast_not_detect_gesture">未检测到手势</string>
|
<string name="toast_not_detect_gesture">未檢測到手勢</string>
|
||||||
|
|
||||||
<string name="bg_seg_green_graphic">抠像</string>
|
<string name="bg_seg_green_graphic">摳像</string>
|
||||||
<string name="bg_seg_green_background">背景</string>
|
<string name="bg_seg_green_background">背景</string>
|
||||||
<string name="bg_seg_green_key_color">关键颜色</string>
|
<string name="bg_seg_green_key_color">關鍵顏色</string>
|
||||||
<string name="bg_seg_green_similarity">相似度</string>
|
<string name="bg_seg_green_similarity">相似度</string>
|
||||||
<string name="bg_seg_green_smooth">平滑</string>
|
<string name="bg_seg_green_smooth">平滑</string>
|
||||||
<string name="bg_seg_green_alpha">祛色度</string>
|
<string name="bg_seg_green_alpha">祛色度</string>
|
||||||
<string name="bg_seg_green_safe_area">安全区域</string>
|
<string name="bg_seg_green_safe_area">安全區域</string>
|
||||||
<string name="bg_seg_green_science">科技</string>
|
<string name="bg_seg_green_science">科技</string>
|
||||||
<string name="bg_seg_green_beach">沙滩</string>
|
<string name="bg_seg_green_beach">沙灘</string>
|
||||||
<string name="bg_seg_green_classroom">教室</string>
|
<string name="bg_seg_green_classroom">教室</string>
|
||||||
<string name="bg_seg_green_forest">森林</string>
|
<string name="bg_seg_green_forest">森林</string>
|
||||||
<string name="bg_seg_green_ink">水墨画</string>
|
<string name="bg_seg_green_ink">水墨畫</string>
|
||||||
<string name="dialog_guide_bg_seg_green">请使用纯色背景拍摄,推荐绿色幕布效果最佳</string>
|
<string name="dialog_guide_bg_seg_green">請使用純色背景拍攝,推薦綠色幕布效果最佳</string>
|
||||||
<string name="dialog_i_know">我知道了</string>
|
<string name="dialog_i_know">我知道了</string>
|
||||||
|
|
||||||
<string name="download_error">下载失败</string>
|
<string name="download_error">下載失敗</string>
|
||||||
<string name="back">返回</string>
|
<string name="back">返回</string>
|
||||||
|
|
||||||
<string name="safe_area_tips">白色区域为安全区域,不参与绿幕抠像</string>
|
<string name="safe_area_tips">白色區域為安全區域,不參与綠幕摳像</string>
|
||||||
|
|
||||||
<string name="brow_height_tips">眉毛上下功能仅支持在高端机上使用</string>
|
<string name="brow_height_tips">眉毛上下功能僅支持在高端機上使用</string>
|
||||||
<string name="brow_space_tips">眉间距功能仅支持在高端机上使用</string>
|
<string name="brow_space_tips">眉間距功能僅支持在高端機上使用</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="home_function_name_beauty">美颜</string>
|
<string name="home_function_name_beauty">美顏</string>
|
||||||
<string name="home_function_name_makeup">美妆</string>
|
<string name="home_function_name_makeup">美妝</string>
|
||||||
<string name="home_function_name_sticker">贴纸</string>
|
<string name="home_function_name_sticker">貼紙</string>
|
||||||
<string name="home_function_name_beauty_body">美体</string>
|
<string name="home_function_name_beauty_body">美體</string>
|
||||||
|
|
||||||
<string name="toast_not_detect_face">未检测到人脸</string>
|
<string name="toast_not_detect_face">未檢測到人臉</string>
|
||||||
<string name="toast_not_detect_face_or_body">未检测到人脸或人体</string>
|
<string name="toast_not_detect_face_or_body">未檢測到人臉或人體</string>
|
||||||
|
|
||||||
<string name="makeup_combination_naicha">奶茶</string>
|
<string name="makeup_combination_naicha">奶茶</string>
|
||||||
<string name="makeup_combination_dousha">豆沙</string>
|
<string name="makeup_combination_dousha">豆沙</string>
|
||||||
<string name="makeup_combination_chaoa">超A</string>
|
<string name="makeup_combination_chaoa">超A</string>
|
||||||
<string name="home_function_name_big_head">搞笑大头</string>
|
<string name="home_function_name_big_head">搞笑大頭</string>
|
||||||
<string name="home_function_name_animoji">Animoji</string>
|
<string name="home_function_name_animoji">Animoji</string>
|
||||||
<string name="home_function_name_fine_sticker">精品贴纸</string>
|
<string name="home_function_name_fine_sticker">精品貼紙</string>
|
||||||
<string name="dialog_reset">重置</string>
|
<string name="dialog_reset">重置</string>
|
||||||
<string name="menu_diy">自定義</string>
|
<string name="menu_diy">自定義</string>
|
||||||
|
|
||||||
|
|||||||
@@ -16,33 +16,33 @@
|
|||||||
<string name="fu_base_input_type_single">SingleInput</string>
|
<string name="fu_base_input_type_single">SingleInput</string>
|
||||||
<string name="fu_base_input_type_double">DualInput</string>
|
<string name="fu_base_input_type_double">DualInput</string>
|
||||||
|
|
||||||
<string name="beauty_box_heavy_blur_fine">Fine smooth</string>
|
<string name="beauty_box_heavy_blur_fine">Buffing</string>
|
||||||
<string name="beauty_box_color_level">Whiten</string>
|
<string name="beauty_box_color_level">Skin Tone</string>
|
||||||
<string name="beauty_box_red_level">Ruddy</string>
|
<string name="beauty_box_red_level">Rosy</string>
|
||||||
<string name="beauty_box_sharpen">Sharpen</string>
|
<string name="beauty_box_sharpen">Sharpen</string>
|
||||||
<string name="beauty_box_eye_bright">Eye brighten</string>
|
<string name="beauty_box_eye_bright">Brighen</string>
|
||||||
<string name="beauty_box_tooth_whiten">Tooth whiten</string>
|
<string name="beauty_box_tooth_whiten">Whiten</string>
|
||||||
<string name="beauty_box_eye_enlarge">Eye enlarge</string>
|
<string name="beauty_box_eye_enlarge">Enlarge</string>
|
||||||
<string name="beauty_box_eye_circle">Eye round</string>
|
<string name="beauty_box_eye_circle">Round</string>
|
||||||
<string name="beauty_box_cheek_natural">Natural</string>
|
<string name="beauty_box_cheek_natural">Origin</string>
|
||||||
<string name="beauty_box_cheek_goddess">Goddess</string>
|
<string name="beauty_box_cheek_goddess">Goddess</string>
|
||||||
<string name="beauty_box_cheek_long_face">Long face</string>
|
<string name="beauty_box_cheek_long_face">Long face</string>
|
||||||
<string name="beauty_box_cheek_round_face">Round face</string>
|
<string name="beauty_box_cheek_round_face">Round face</string>
|
||||||
<string name="beauty_box_cheekbones">Cheekbone</string>
|
<string name="beauty_box_cheekbones">Cheek</string>
|
||||||
<string name="beauty_box_lower_jaw">Jawbone</string>
|
<string name="beauty_box_lower_jaw">Jaw</string>
|
||||||
<string name="beauty_box_cheek_thinning">Cheek thin</string>
|
<string name="beauty_box_cheek_thinning">Lower Width</string>
|
||||||
<string name="beauty_box_cheek_v">V face</string>
|
<string name="beauty_box_cheek_v">V Shape</string>
|
||||||
<string name="beauty_box_cheek_narrow">CheekNarrow</string>
|
<string name="beauty_box_cheek_narrow">Upper Width</string>
|
||||||
<string name="beauty_box_cheek_short">Cheek short</string>
|
<string name="beauty_box_cheek_short">Short Face</string>
|
||||||
<string name="beauty_box_cheek_small">Cheek small</string>
|
<string name="beauty_box_cheek_small">Size Face</string>
|
||||||
<string name="beauty_box_intensity_chin">Chin</string>
|
<string name="beauty_box_intensity_chin">Chin Length</string>
|
||||||
<string name="beauty_box_intensity_forehead">Forehead</string>
|
<string name="beauty_box_intensity_forehead">Hairline</string>
|
||||||
<string name="beauty_box_intensity_nose">Nose</string>
|
<string name="beauty_box_intensity_nose">Nose Size</string>
|
||||||
<string name="beauty_box_intensity_mouth">Mouth</string>
|
<string name="beauty_box_intensity_mouth">Mouth Size</string>
|
||||||
<string name="beauty_radio_skin_beauty">Skin</string>
|
<string name="beauty_radio_skin_beauty">Skincare</string>
|
||||||
<string name="beauty_radio_face_shape">Reshape</string>
|
<string name="beauty_radio_face_shape">Beauty type</string>
|
||||||
<string name="beauty_radio_filter">Filter</string>
|
<string name="beauty_radio_filter">Filter</string>
|
||||||
<string name="beauty_radio_style">Presets</string>
|
<string name="beauty_radio_style">Style recommend</string>
|
||||||
<string name="makeup_radio_lipstick">Lipstick</string>
|
<string name="makeup_radio_lipstick">Lipstick</string>
|
||||||
<string name="makeup_radio_blusher">Blush</string>
|
<string name="makeup_radio_blusher">Blush</string>
|
||||||
<string name="makeup_radio_eyebrow">Eyebrow</string>
|
<string name="makeup_radio_eyebrow">Eyebrow</string>
|
||||||
@@ -59,16 +59,16 @@
|
|||||||
<string name="makeup_boyfriend">Boyfriend</string>
|
<string name="makeup_boyfriend">Boyfriend</string>
|
||||||
<string name="makeup_clear">Clear</string>
|
<string name="makeup_clear">Clear</string>
|
||||||
<string name="makeup_grapefruit">Grapefruit</string>
|
<string name="makeup_grapefruit">Grapefruit</string>
|
||||||
<string name="beauty_micro_pouch">Circle</string>
|
<string name="beauty_micro_pouch">Dark Circles</string>
|
||||||
<string name="beauty_micro_nasolabial">Wrinkles</string>
|
<string name="beauty_micro_nasolabial">Laugh Line</string>
|
||||||
<string name="beauty_micro_smile">Smile</string>
|
<string name="beauty_micro_smile">Smile</string>
|
||||||
<string name="beauty_brow_height">Brow height</string>
|
<string name="beauty_brow_height">Brow Position</string>
|
||||||
<string name="beauty_brow_space">Brow space</string>
|
<string name="beauty_brow_space">Brow Distance</string>
|
||||||
<string name="beauty_micro_canthus">Canthus</string>
|
<string name="beauty_micro_canthus">Inner Corner</string>
|
||||||
<string name="beauty_micro_philtrum">Philtrum</string>
|
<string name="beauty_micro_philtrum">Mouth Position</string>
|
||||||
<string name="beauty_micro_long_nose">Length</string>
|
<string name="beauty_micro_long_nose">Nose Lift</string>
|
||||||
<string name="beauty_micro_eye_space">Eye distance</string>
|
<string name="beauty_micro_eye_space">Eye Distance</string>
|
||||||
<string name="beauty_micro_eye_rotate">Slant</string>
|
<string name="beauty_micro_eye_rotate">Eye Upturn</string>
|
||||||
<string name="beauty_face_style_none">None</string>
|
<string name="beauty_face_style_none">None</string>
|
||||||
<string name="beauty_face_style_1">Style 1</string>
|
<string name="beauty_face_style_1">Style 1</string>
|
||||||
<string name="beauty_face_style_2">Style 2</string>
|
<string name="beauty_face_style_2">Style 2</string>
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
<string name="beauty_face_style_5">Style 5</string>
|
<string name="beauty_face_style_5">Style 5</string>
|
||||||
<string name="beauty_face_style_6">Style 6</string>
|
<string name="beauty_face_style_6">Style 6</string>
|
||||||
<string name="beauty_face_style_7">Style 7</string>
|
<string name="beauty_face_style_7">Style 7</string>
|
||||||
<string name="beauty_face_style_toast">To use %s, cancel \'Presets\' first.</string>
|
<string name="beauty_face_style_toast">To use %s, cancel \'Style recommend\' first.</string>
|
||||||
|
|
||||||
<string name="select_data_photo">Photo</string>
|
<string name="select_data_photo">Photo</string>
|
||||||
<string name="select_data_video">Video</string>
|
<string name="select_data_video">Video</string>
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
package com.yunbao.faceunity;
|
package com.yunbao.faceunity;
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Example local unit test, which will execute on the development machine (host).
|
* Example local unit test, which will execute on the development machine (host).
|
||||||
@@ -10,8 +7,5 @@ import static org.junit.Assert.*;
|
|||||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
*/
|
*/
|
||||||
public class ExampleUnitTest {
|
public class ExampleUnitTest {
|
||||||
@Test
|
|
||||||
public void addition_isCorrect() {
|
|
||||||
assertEquals(4, 2 + 2);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
24
IAP6Helper/build.gradle
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
apply plugin: 'com.android.library'
|
||||||
|
android {
|
||||||
|
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||||
|
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||||
|
defaultConfig {
|
||||||
|
minSdkVersion minSdkVersion
|
||||||
|
|
||||||
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
consumerProguardFiles "consumer-rules.pro"
|
||||||
|
versionCode versionCode
|
||||||
|
versionName versionName
|
||||||
|
targetSdkVersion targetSdkVersion
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
}
|
||||||
25
IAP6Helper/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# By default, the flags in this file are appended to flags specified
|
||||||
|
# in C:\Users\sbkim\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt
|
||||||
|
# You can edit the include path and order by changing the proguardFiles
|
||||||
|
# directive in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# Add any project specific keep options here:
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Uncomment this to preserve the line number information for
|
||||||
|
# debugging stack traces.
|
||||||
|
#-keepattributes SourceFile,LineNumberTable
|
||||||
|
|
||||||
|
# If you keep the line number information, uncomment this to
|
||||||
|
# hide the original source file name.
|
||||||
|
#-renamesourcefileattribute SourceFile
|
||||||
38
IAP6Helper/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<manifest
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.samsung.android.sdk.iap.lib"
|
||||||
|
android:versionCode="601000004"
|
||||||
|
android:versionName="6.1.0">
|
||||||
|
<!-- version code [Major/Minor/Bug fix release/Build number ] : x xx xxx xxx -->
|
||||||
|
|
||||||
|
<application>
|
||||||
|
<!-- IAP 라이브러리 내 Activity 선언 시작-->
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name="com.samsung.android.sdk.iap.lib.activity.DialogActivity"
|
||||||
|
android:theme="@style/Theme.Empty"
|
||||||
|
android:configChanges="orientation|screenSize"/>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name="com.samsung.android.sdk.iap.lib.activity.CheckPackageActivity"
|
||||||
|
android:theme="@style/Theme.Empty"
|
||||||
|
android:configChanges="orientation|screenSize"/>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name="com.samsung.android.sdk.iap.lib.activity.AccountActivity"
|
||||||
|
android:theme="@style/Theme.Transparent"
|
||||||
|
android:configChanges="orientation|screenSize"/>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name="com.samsung.android.sdk.iap.lib.activity.PaymentActivity"
|
||||||
|
android:theme="@style/Theme.Empty"
|
||||||
|
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|keyboard|keyboardHidden|locale|uiMode|fontScale|density"/>
|
||||||
|
|
||||||
|
<!-- IAP 라이브러리 내 Activity 선언 끝-->
|
||||||
|
</application>
|
||||||
|
|
||||||
|
<queries>
|
||||||
|
<package android:name="com.sec.android.app.samsungapps" />
|
||||||
|
</queries>
|
||||||
|
|
||||||
|
</manifest>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.samsung.android.iap;
|
||||||
|
|
||||||
|
import com.samsung.android.iap.IAPServiceCallback;
|
||||||
|
|
||||||
|
interface IAPConnector {
|
||||||
|
|
||||||
|
boolean requestCmd(IAPServiceCallback callback, in Bundle bundle);
|
||||||
|
|
||||||
|
boolean unregisterCallback(IAPServiceCallback callback);
|
||||||
|
|
||||||
|
///////////////////////////// IAP 5.0
|
||||||
|
Bundle getProductsDetails(String packageName, String itemIds, int pagingIndex, int mode);
|
||||||
|
|
||||||
|
Bundle getOwnedList(String packageName, String itemType, int pagingIndex, int mode);
|
||||||
|
|
||||||
|
Bundle consumePurchasedItems(String packageName, String purchaseIds, int mode);
|
||||||
|
|
||||||
|
Bundle requestServiceAPI(String packageName, String requestId, String extraData);
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.samsung.android.iap;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
interface IAPServiceCallback {
|
||||||
|
oneway void responseCallback(in Bundle bundle);
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.activity;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-03-06.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class AccountActivity extends Activity {
|
||||||
|
private static final String TAG = AccountActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
IapHelper mIapHelper = null;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
mIapHelper = IapHelper.getInstance(this);
|
||||||
|
// ====================================================================
|
||||||
|
// 1. If IAP package is installed and valid, start SamsungAccount
|
||||||
|
// authentication activity to start purchase.
|
||||||
|
// ====================================================================
|
||||||
|
Log.i(TAG, "Samsung Account Login...");
|
||||||
|
HelperUtil.startAccountActivity(this);
|
||||||
|
// ====================================================================
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int _requestCode, int _resultCode, Intent intent) {
|
||||||
|
Log.i(TAG, "onActivityResult>> requestCode : " + _requestCode + ", resultCode : " + _resultCode);
|
||||||
|
switch (_requestCode) {
|
||||||
|
case HelperDefine.REQUEST_CODE_IS_ACCOUNT_CERTIFICATION:
|
||||||
|
Log.i(TAG, "REQUEST_CODE_IS_ACCOUNT_CERTIFICATION Result : " + _resultCode);
|
||||||
|
// 1) If SamsungAccount authentication is succeed
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
if (RESULT_OK == _resultCode) {
|
||||||
|
// bind to IAPService
|
||||||
|
// --------------------------------------------------------
|
||||||
|
Runnable runProcess = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
mIapHelper.bindIapService();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
runProcess.run();
|
||||||
|
|
||||||
|
finish();
|
||||||
|
overridePendingTransition(0, 0);
|
||||||
|
// --------------------------------------------------------
|
||||||
|
}
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
// 2) If SamsungAccount authentication is cancelled
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
else {
|
||||||
|
// Runnable runProcess = new Runnable() {
|
||||||
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// if(mIapHelper.getServiceProcess() != null)
|
||||||
|
// mIapHelper.getServiceProcess().onEndProcess();
|
||||||
|
// else
|
||||||
|
// mIapHelper.dispose();
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// if(runProcess!=null)
|
||||||
|
// runProcess.run();
|
||||||
|
// else
|
||||||
|
mIapHelper.dispose();
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,233 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.activity;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.PurchaseVo;
|
||||||
|
|
||||||
|
|
||||||
|
public abstract class BaseActivity extends Activity {
|
||||||
|
private static final String TAG = BaseActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
protected ErrorVo mErrorVo = new ErrorVo();
|
||||||
|
private Dialog mProgressDialog = null;
|
||||||
|
protected PurchaseVo mPurchaseVo = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper Class between IAPService and 3rd Party Application
|
||||||
|
*/
|
||||||
|
IapHelper mIapHelper = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flag value to show successful pop-up. Error pop-up appears whenever it fails or not.
|
||||||
|
*/
|
||||||
|
protected boolean mShowErrorDialog = true;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
// 1. IapHelper Instance creation
|
||||||
|
// To test on development, set mode to test mode using
|
||||||
|
// use HelperDefine.OperationMode.OPERATION_MODE_TEST or
|
||||||
|
// HelperDefine.OperationMode.OPERATION_MODE_TEST_FAILURE constants.
|
||||||
|
// ====================================================================
|
||||||
|
mIapHelper = IapHelper.getInstance(this);
|
||||||
|
// ====================================================================
|
||||||
|
|
||||||
|
// 2. This activity is invisible excepting progress bar as default.
|
||||||
|
// ====================================================================
|
||||||
|
try {
|
||||||
|
Toast.makeText(this,
|
||||||
|
R.string.dream_sapps_body_authenticating_ing,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setErrorVo(ErrorVo _errorVo) {
|
||||||
|
mErrorVo = _errorVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkAppsPackage(Activity _activity) {
|
||||||
|
// 1. If Galaxy Store is installed
|
||||||
|
// ====================================================================
|
||||||
|
if (HelperUtil.isInstalledAppsPackage(this)) {
|
||||||
|
// 1) If Galaxy Store is enabled
|
||||||
|
// ================================================================
|
||||||
|
if (!HelperUtil.isEnabledAppsPackage(this)) {
|
||||||
|
HelperUtil.showEnableGalaxyStoreDialog(_activity);
|
||||||
|
// ================================================================
|
||||||
|
// 2) If Galaxy Store is valid
|
||||||
|
// ================================================================
|
||||||
|
} else if (HelperUtil.isValidAppsPackage(this)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
// Set error to notify result to third-party application
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
final String ERROR_ISSUER_IAP_CLIENT = "IC";
|
||||||
|
final int ERROR_CODE_INVALID_GALAXY_STORE = 10002;
|
||||||
|
String errorString = String.format(
|
||||||
|
getString(
|
||||||
|
R.string.dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss),
|
||||||
|
"", "", ERROR_ISSUER_IAP_CLIENT + ERROR_CODE_INVALID_GALAXY_STORE);
|
||||||
|
mErrorVo.setError(HelperDefine.IAP_PAYMENT_IS_CANCELED, errorString);
|
||||||
|
HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||||
|
}
|
||||||
|
// ================================================================
|
||||||
|
|
||||||
|
// ====================================================================
|
||||||
|
// 2. If Galaxy Store is not installed
|
||||||
|
// ====================================================================
|
||||||
|
} else {
|
||||||
|
HelperUtil.installAppsPackage(this);
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dispose IapHelper {@link PaymentActivity} To do that, preDestory must be invoked at first in onDestory of each child activity
|
||||||
|
*/
|
||||||
|
protected void preDestory() {
|
||||||
|
// 1. Invoke dispose Method to unbind service and release inprogress flag
|
||||||
|
// ====================================================================
|
||||||
|
if (mIapHelper != null) {
|
||||||
|
mIapHelper.dispose();
|
||||||
|
mIapHelper = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
// 1. dismiss ProgressDialog
|
||||||
|
// ====================================================================
|
||||||
|
try {
|
||||||
|
if (mProgressDialog != null) {
|
||||||
|
mProgressDialog.dismiss();
|
||||||
|
mProgressDialog = null;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finish() {
|
||||||
|
super.finish();
|
||||||
|
overridePendingTransition(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void finishPurchase(Intent _intent) {
|
||||||
|
// 1. If there is bundle passed from IAP
|
||||||
|
// ====================================================================
|
||||||
|
if (_intent != null && _intent.getExtras() != null) {
|
||||||
|
Bundle extras = _intent.getExtras();
|
||||||
|
mErrorVo.setError(
|
||||||
|
extras.getInt(HelperDefine.KEY_NAME_STATUS_CODE),
|
||||||
|
extras.getString(HelperDefine.KEY_NAME_ERROR_STRING),
|
||||||
|
extras.getString(HelperDefine.KEY_NAME_ERROR_DETAILS, ""));
|
||||||
|
|
||||||
|
// 1) If the purchase is successful,
|
||||||
|
// ----------------------------------------------------------------
|
||||||
|
if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE) {
|
||||||
|
mPurchaseVo = new PurchaseVo(extras.getString(
|
||||||
|
HelperDefine.KEY_NAME_RESULT_OBJECT));
|
||||||
|
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_NONE,
|
||||||
|
getString(R.string.dream_sapps_body_your_purchase_is_complete));
|
||||||
|
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------
|
||||||
|
// 2) If the purchase is failed
|
||||||
|
// ----------------------------------------------------------------
|
||||||
|
else {
|
||||||
|
Log.e(TAG, "finishPurchase: " + mErrorVo.dump());
|
||||||
|
if (mShowErrorDialog) {
|
||||||
|
HelperUtil.showIapErrorDialog(
|
||||||
|
this,
|
||||||
|
getString(R.string.dream_ph_pheader_couldnt_complete_purchase),
|
||||||
|
mErrorVo.getErrorString(),
|
||||||
|
mErrorVo.getErrorDetailsString(),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
null);
|
||||||
|
} else {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
// 2. If there is no bundle passed from IAP
|
||||||
|
// ====================================================================
|
||||||
|
else {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
|
||||||
|
if (mShowErrorDialog) {
|
||||||
|
HelperUtil.showIapErrorDialog(
|
||||||
|
this,
|
||||||
|
getString(R.string.dream_ph_pheader_couldnt_complete_purchase),
|
||||||
|
getString(R.string.mids_sapps_pop_unknown_error_occurred),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
null);
|
||||||
|
} else {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void cancelPurchase(Intent intent) {
|
||||||
|
if (intent != null) {
|
||||||
|
Bundle extras = intent.getExtras();
|
||||||
|
if (extras != null) {
|
||||||
|
mErrorVo.setError(
|
||||||
|
extras.getInt(
|
||||||
|
HelperDefine.KEY_NAME_STATUS_CODE,
|
||||||
|
HelperDefine.IAP_PAYMENT_IS_CANCELED),
|
||||||
|
extras.getString(
|
||||||
|
HelperDefine.KEY_NAME_ERROR_STRING,
|
||||||
|
getString(R.string.mids_sapps_pop_payment_canceled)),
|
||||||
|
extras.getString(HelperDefine.KEY_NAME_ERROR_DETAILS, ""));
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_PAYMENT_IS_CANCELED,
|
||||||
|
getString(R.string.mids_sapps_pop_payment_canceled));
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.activity;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-03-07.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class CheckPackageActivity extends Activity {
|
||||||
|
private static final String TAG = CheckPackageActivity.class.getSimpleName();
|
||||||
|
private boolean mFinishFlag = true;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
mFinishFlag = true;
|
||||||
|
Intent intent = getIntent();
|
||||||
|
if (intent != null) {
|
||||||
|
Bundle extras = intent.getExtras();
|
||||||
|
if (extras != null) {
|
||||||
|
int DialogType = extras.getInt("DialogType");
|
||||||
|
switch (DialogType) {
|
||||||
|
case HelperDefine.DIALOG_TYPE_INVALID_PACKAGE: {
|
||||||
|
HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||||
|
mFinishFlag = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HelperDefine.DIALOG_TYPE_DISABLE_APPLICATION: {
|
||||||
|
HelperUtil.showEnableGalaxyStoreDialog(this);
|
||||||
|
mFinishFlag = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HelperDefine.DIALOG_TYPE_APPS_DETAIL: {
|
||||||
|
HelperUtil.showUpdateGalaxyStoreDialog(this);
|
||||||
|
mFinishFlag = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (mFinishFlag) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
IapHelper.getInstance(getApplicationContext()).dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.activity;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.ActivityNotFoundException;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-03-05.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class DialogActivity extends Activity {
|
||||||
|
private static final String TAG = DialogActivity.class.getSimpleName();
|
||||||
|
private String mExtraString = "";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
Intent intent = getIntent();
|
||||||
|
if (intent != null) {
|
||||||
|
Bundle extras = intent.getExtras();
|
||||||
|
if (extras != null) {
|
||||||
|
if (HelperDefine.DIALOG_TYPE_NOTIFICATION == extras.getInt("DialogType")) {
|
||||||
|
String title = extras.getString("Title");
|
||||||
|
String message = extras.getString("Message");
|
||||||
|
HelperUtil.showIapErrorDialog(
|
||||||
|
this,
|
||||||
|
title,
|
||||||
|
message,
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.activity;
|
||||||
|
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.res.Configuration;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||||
|
|
||||||
|
public class PaymentActivity extends BaseActivity {
|
||||||
|
private static final String TAG = PaymentActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
private String mItemId = null;
|
||||||
|
private String mPassThroughParam = "";
|
||||||
|
private int mMode;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
Intent intent = getIntent();
|
||||||
|
if (intent != null && intent.getExtras() != null
|
||||||
|
&& intent.getExtras().containsKey("ItemId")) {
|
||||||
|
Bundle extras = intent.getExtras();
|
||||||
|
mItemId = extras.getString("ItemId");
|
||||||
|
mPassThroughParam = extras.getString("PassThroughParam");
|
||||||
|
mShowErrorDialog = extras.getBoolean("ShowErrorDialog", true);
|
||||||
|
mMode = extras.getInt("OperationMode", HelperDefine.OperationMode.OPERATION_MODE_PRODUCTION.getValue());
|
||||||
|
} else {
|
||||||
|
Toast.makeText(this,
|
||||||
|
R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase,
|
||||||
|
Toast.LENGTH_LONG).show();
|
||||||
|
|
||||||
|
// Set error to pass result to third-party application
|
||||||
|
// ----------------------------------------------------------------
|
||||||
|
mErrorVo.setError(HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
getString(R.string.mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase));
|
||||||
|
// ----------------------------------------------------------------
|
||||||
|
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (checkAppsPackage(this)) {
|
||||||
|
startPaymentActivity();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.preDestory();
|
||||||
|
if (isFinishing()) {
|
||||||
|
OnPaymentListener onPaymentListener =
|
||||||
|
HelperListenerManager.getInstance().getOnPaymentListener();
|
||||||
|
HelperListenerManager.getInstance().setOnPaymentListener(null);
|
||||||
|
if (null != onPaymentListener) {
|
||||||
|
onPaymentListener.onPayment(mErrorVo, mPurchaseVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(Configuration newConfig) {
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int _requestCode, int _resultCode, Intent _intent) {
|
||||||
|
switch (_requestCode) {
|
||||||
|
case HelperDefine.REQUEST_CODE_IS_IAP_PAYMENT: {
|
||||||
|
if (_resultCode == RESULT_OK) {
|
||||||
|
finishPurchase(_intent);
|
||||||
|
}
|
||||||
|
else if (_resultCode == RESULT_CANCELED) {
|
||||||
|
Log.e(TAG, "Payment is canceled.");
|
||||||
|
cancelPurchase(_intent);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case HelperDefine.REQUEST_CODE_IS_ENABLE_APPS: {
|
||||||
|
if (checkAppsPackage(this)) {
|
||||||
|
startPaymentActivity();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startPaymentActivity() {
|
||||||
|
if (mIapHelper == null) {
|
||||||
|
Log.e(TAG, "Fail to get IAP Helper instance");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Context context = this.getApplicationContext();
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putString(HelperDefine.KEY_NAME_THIRD_PARTY_NAME, context.getPackageName());
|
||||||
|
bundle.putString(HelperDefine.KEY_NAME_ITEM_ID, mItemId);
|
||||||
|
if (mPassThroughParam != null) {
|
||||||
|
bundle.putString(HelperDefine.KEY_NAME_PASSTHROUGH_ID, mPassThroughParam);
|
||||||
|
}
|
||||||
|
bundle.putInt(HelperDefine.KEY_NAME_OPERATION_MODE, mMode);
|
||||||
|
bundle.putString(HelperDefine.KEY_NAME_VERSION_CODE, HelperDefine.HELPER_VERSION);
|
||||||
|
|
||||||
|
ComponentName com = new ComponentName(HelperDefine.GALAXY_PACKAGE_NAME,
|
||||||
|
HelperDefine.IAP_PACKAGE_NAME + ".activity.PaymentMethodListActivity");
|
||||||
|
|
||||||
|
Intent intent = new Intent(Intent.ACTION_MAIN);
|
||||||
|
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||||
|
intent.setComponent(com);
|
||||||
|
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
|
||||||
|
if (intent.resolveActivity(context.getPackageManager()) != null) {
|
||||||
|
startActivityForResult(intent, HelperDefine.REQUEST_CODE_IS_IAP_PAYMENT);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,213 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.dialog;
|
||||||
|
|
||||||
|
import android.app.ActionBar;
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.app.DialogFragment;
|
||||||
|
import android.content.res.Configuration;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.text.method.LinkMovementMethod;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.util.TypedValue;
|
||||||
|
import android.view.Gravity;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
|
||||||
|
public class BaseDialogFragment extends DialogFragment implements View.OnClickListener {
|
||||||
|
private static final String TAG = BaseDialogFragment.class.getSimpleName();
|
||||||
|
|
||||||
|
private int dialogWidth;
|
||||||
|
private String title;
|
||||||
|
private CharSequence message;
|
||||||
|
private String messageExtra = "";
|
||||||
|
private String positiveBtnText;
|
||||||
|
private String negativeBtnText;
|
||||||
|
private OnClickListener positiveButtonListener = null;
|
||||||
|
private OnClickListener negativeButtonListener = null;
|
||||||
|
|
||||||
|
public static final String IAP_DIALOG_TAG = "IAP_dialog";
|
||||||
|
|
||||||
|
public interface OnClickListener {
|
||||||
|
void onClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
dialogWidth = getDialogWidth();
|
||||||
|
getDialog().getWindow().setLayout(dialogWidth, ActionBar.LayoutParams.WRAP_CONTENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroyView() {
|
||||||
|
if (getDialog() != null && getRetainInstance()) {
|
||||||
|
getDialog().setDismissMessage(null);
|
||||||
|
}
|
||||||
|
super.onDestroyView();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
|
View view;
|
||||||
|
if (isDarkMode()) {
|
||||||
|
view = getActivity().getLayoutInflater().inflate(R.layout.dialog_dark, null);
|
||||||
|
} else {
|
||||||
|
view = getActivity().getLayoutInflater().inflate(R.layout.dialog_light, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
((TextView) view.findViewById(R.id.dialog_title)).setText(title);
|
||||||
|
((TextView) view.findViewById(R.id.dialog_message)).setText(message);
|
||||||
|
((TextView) view.findViewById(R.id.dialog_message)).setLinksClickable(true);
|
||||||
|
((TextView) view.findViewById(R.id.dialog_message)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
|
||||||
|
if (messageExtra == null || messageExtra.isEmpty()) {
|
||||||
|
view.findViewById(R.id.dialog_message_extra).setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
((TextView) view.findViewById(R.id.dialog_message_extra))
|
||||||
|
.setText(getString(R.string.ids_com_body_error_code_c) + " " + messageExtra);
|
||||||
|
view.findViewById(R.id.dialog_message_extra).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
((Button) view.findViewById(R.id.dialog_ok_btn)).setText(positiveBtnText);
|
||||||
|
view.findViewById(R.id.dialog_ok_btn).setOnClickListener(this);
|
||||||
|
|
||||||
|
if (negativeButtonListener == null) {
|
||||||
|
view.findViewById(R.id.dialog_cancel_btn).setVisibility(View.GONE);
|
||||||
|
view.findViewById(R.id.dialog_btn_padding).setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
((Button) view.findViewById(R.id.dialog_cancel_btn)).setText(negativeBtnText);
|
||||||
|
view.findViewById(R.id.dialog_cancel_btn).setVisibility(View.VISIBLE);
|
||||||
|
view.findViewById(R.id.dialog_cancel_btn).setOnClickListener(this);
|
||||||
|
view.findViewById(R.id.dialog_btn_padding).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
Dialog dialog = new Dialog(getActivity(), R.style.Theme_DialogTransparent);
|
||||||
|
dialog.setContentView(view);
|
||||||
|
dialog.setCancelable(false);
|
||||||
|
dialog.setCanceledOnTouchOutside(false);
|
||||||
|
|
||||||
|
dialog.getWindow().setGravity(Gravity.BOTTOM);
|
||||||
|
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
|
||||||
|
TypedValue dimValue = new TypedValue();
|
||||||
|
if (isDarkMode()) {
|
||||||
|
getResources().getValue(R.integer.dim_dark, dimValue, true);
|
||||||
|
} else {
|
||||||
|
getResources().getValue(R.integer.dim_light, dimValue, true);
|
||||||
|
}
|
||||||
|
dialog.getWindow().setDimAmount(dimValue.getFloat());
|
||||||
|
|
||||||
|
return dialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(Configuration newConfig) {
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
dialogWidth = getDialogWidth();
|
||||||
|
getDialog().getWindow().setLayout(dialogWidth, ActionBar.LayoutParams.WRAP_CONTENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseDialogFragment setDialogTitle(String _title) {
|
||||||
|
if (!TextUtils.isEmpty(_title)) {
|
||||||
|
this.title = _title;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseDialogFragment setDialogMessageText(CharSequence _message) {
|
||||||
|
if (!TextUtils.isEmpty(_message)) {
|
||||||
|
this.message = _message;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseDialogFragment setDialogMessageExtra(String _extra) {
|
||||||
|
if (!TextUtils.isEmpty(_extra)) {
|
||||||
|
this.messageExtra = _extra;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseDialogFragment setDialogPositiveButton(String _positiveBtnText, final OnClickListener listener) {
|
||||||
|
if (!TextUtils.isEmpty(_positiveBtnText)) {
|
||||||
|
positiveBtnText = _positiveBtnText;
|
||||||
|
} else {
|
||||||
|
positiveBtnText = (String) getText(android.R.string.ok);
|
||||||
|
}
|
||||||
|
if (listener != null) {
|
||||||
|
positiveButtonListener = listener;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseDialogFragment setDialogNegativeButton(String _negativeBtnText, final OnClickListener listener) {
|
||||||
|
if (!TextUtils.isEmpty(_negativeBtnText)) {
|
||||||
|
negativeBtnText = _negativeBtnText;
|
||||||
|
}
|
||||||
|
if (listener != null) {
|
||||||
|
negativeButtonListener = listener;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (v.getId() == R.id.dialog_ok_btn) {
|
||||||
|
Runnable OkBtnRunnable = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
positiveButtonListener.onClick();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
OkBtnRunnable.run();
|
||||||
|
} else if (v.getId() == R.id.dialog_cancel_btn) {
|
||||||
|
Runnable CancelBtnRunnable = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
negativeButtonListener.onClick();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
CancelBtnRunnable.run();
|
||||||
|
}
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getDialogWidth() {
|
||||||
|
TypedValue outValue = new TypedValue();
|
||||||
|
getResources().getValue(R.integer.dialog_width_percentage, outValue, true);
|
||||||
|
float ratio = outValue.getFloat();
|
||||||
|
int width = (int) (getResources().getDisplayMetrics().widthPixels * ratio);
|
||||||
|
return width;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isDarkMode() {
|
||||||
|
try {
|
||||||
|
// getContext() requires M OS or higher version
|
||||||
|
int nightModeFlags = 0;
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
|
nightModeFlags = getContext().getResources().getConfiguration().uiMode &
|
||||||
|
Configuration.UI_MODE_NIGHT_MASK;
|
||||||
|
}
|
||||||
|
switch (nightModeFlags) {
|
||||||
|
case Configuration.UI_MODE_NIGHT_YES:
|
||||||
|
return true;
|
||||||
|
case Configuration.UI_MODE_NIGHT_NO:
|
||||||
|
case Configuration.UI_MODE_NIGHT_UNDEFINED:
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,192 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2017-07-17.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class HelperDefine {
|
||||||
|
public static final String HELPER_VERSION = "6.1.0.004";
|
||||||
|
// IAP Signature HashCode - Used to validate IAP package
|
||||||
|
// ========================================================================
|
||||||
|
public static final int APPS_SIGNATURE_HASHCODE = 0x79998D13;
|
||||||
|
public static final int APPS_PACKAGE_VERSION = 450301000;
|
||||||
|
public static final int APPS_PACKAGE_VERSION_GO = 510130000;
|
||||||
|
public static final int APPS_PACKAGE_VERSION_INDIA = 660107000;
|
||||||
|
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// Name of IAP Package and Service
|
||||||
|
// ========================================================================
|
||||||
|
public static final String GALAXY_PACKAGE_NAME = "com.sec.android.app.samsungapps";
|
||||||
|
public static final String IAP_PACKAGE_NAME = "com.samsung.android.iap";
|
||||||
|
public static final String IAP_SERVICE_NAME =
|
||||||
|
"com.samsung.android.iap.service.IAPService";
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// result code for binding to IAPService
|
||||||
|
// ========================================================================
|
||||||
|
public static final int IAP_RESPONSE_RESULT_OK = 0;
|
||||||
|
public static final int IAP_RESPONSE_RESULT_UNAVAILABLE = 2;
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// BUNDLE KEY
|
||||||
|
// ========================================================================
|
||||||
|
public static final String KEY_NAME_THIRD_PARTY_NAME = "THIRD_PARTY_NAME";
|
||||||
|
public static final String KEY_NAME_STATUS_CODE = "STATUS_CODE";
|
||||||
|
public static final String KEY_NAME_ERROR_STRING = "ERROR_STRING";
|
||||||
|
public static final String KEY_NAME_ERROR_DETAILS = "ERROR_DETAILS";
|
||||||
|
public static final String KEY_NAME_ITEM_ID = "ITEM_ID";
|
||||||
|
public static final String KEY_NAME_PASSTHROUGH_ID = "PASSTHROUGH_ID";
|
||||||
|
public static final String KEY_NAME_RESULT_LIST = "RESULT_LIST";
|
||||||
|
public static final String KEY_NAME_OPERATION_MODE = "OPERATION_MODE";
|
||||||
|
public static final String KEY_NAME_RESULT_OBJECT = "RESULT_OBJECT";
|
||||||
|
public static final String KEY_NAME_VERSION_CODE = "VERSION_CODE";
|
||||||
|
public static final String NEXT_PAGING_INDEX = "NEXT_PAGING_INDEX";
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// Item Type
|
||||||
|
// ========================================================================
|
||||||
|
public static final String PRODUCT_TYPE_ITEM = "item";
|
||||||
|
public static final String PRODUCT_TYPE_SUBSCRIPTION = "subscription";
|
||||||
|
public static final String PRODUCT_TYPE_ALL = "all";
|
||||||
|
|
||||||
|
// Define request code to IAPService.
|
||||||
|
// ========================================================================
|
||||||
|
public static final int REQUEST_CODE_IS_IAP_PAYMENT = 1;
|
||||||
|
public static final int REQUEST_CODE_IS_ACCOUNT_CERTIFICATION = 2;
|
||||||
|
public static final int REQUEST_CODE_IS_ENABLE_APPS = 3;
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// Define dialog type to DialogActivity
|
||||||
|
public static final int DIALOG_TYPE_NONE = 0;
|
||||||
|
public static final int DIALOG_TYPE_NOTIFICATION = 1;
|
||||||
|
public static final int DIALOG_TYPE_INVALID_PACKAGE = 2;
|
||||||
|
public static final int DIALOG_TYPE_DISABLE_APPLICATION = 3;
|
||||||
|
public static final int DIALOG_TYPE_APPS_DETAIL = 4;
|
||||||
|
|
||||||
|
// Define request parameter to IAPService
|
||||||
|
// ========================================================================
|
||||||
|
public static final int PASSTHROGUH_MAX_LENGTH = 255;
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// Define status code notify to 3rd-party application
|
||||||
|
// ========================================================================
|
||||||
|
/**
|
||||||
|
* Success
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_NONE = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Payment is cancelled
|
||||||
|
*/
|
||||||
|
final public static int IAP_PAYMENT_IS_CANCELED = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IAP initialization error
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_INITIALIZATION = -1000;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IAP need to be upgraded
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_NEED_APP_UPGRADE = -1001;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Common error
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_COMMON = -1002;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Repurchase NON-CONSUMABLE item
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_ALREADY_PURCHASED = -1003;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When PaymentMethodList Activity is called without Bundle data
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_WHILE_RUNNING = -1004;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* does not exist item or item group id
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_PRODUCT_DOES_NOT_EXIST = -1005;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* After purchase request not received the results can not be determined whether to buy. So, the confirmation of purchase list is needed.
|
||||||
|
*/
|
||||||
|
final public static int IAP_ERROR_CONFIRM_INBOX = -1006;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error when item group id does not exist
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_ITEM_GROUP_DOES_NOT_EXIST = -1007;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error when network is not available
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_NETWORK_NOT_AVAILABLE = -1008;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IOException
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_IOEXCEPTION_ERROR = -1009;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SocketTimeoutException
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_SOCKET_TIMEOUT = -1010;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ConnectTimeoutException
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_CONNECT_TIMEOUT = -1011;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Item is not for sale in the country
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_NOT_EXIST_LOCAL_PRICE = -1012;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IAP is not serviced in the country
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_NOT_AVAILABLE_SHOP = -1013;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SA not logged in
|
||||||
|
*/
|
||||||
|
public static final int IAP_ERROR_NEED_SA_LOGIN = -1014;
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* initial state
|
||||||
|
*/
|
||||||
|
protected static final int STATE_TERM = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* state of bound to IAPService successfully
|
||||||
|
*/
|
||||||
|
protected static final int STATE_BINDING = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* state of InitIapTask successfully finished
|
||||||
|
*/
|
||||||
|
protected static final int STATE_READY = 2;
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
// IAP Operation Mode
|
||||||
|
// ========================================================================
|
||||||
|
public enum OperationMode {
|
||||||
|
OPERATION_MODE_TEST_FAILURE(-1),
|
||||||
|
OPERATION_MODE_PRODUCTION(0),
|
||||||
|
OPERATION_MODE_TEST(1);
|
||||||
|
|
||||||
|
final private int value;
|
||||||
|
OperationMode(int value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
public int getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ========================================================================
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2017-08-29.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class HelperListenerManager {
|
||||||
|
private static HelperListenerManager mInstance = null;
|
||||||
|
|
||||||
|
private OnGetProductsDetailsListener mOnGetProductsDetailsListener = null;
|
||||||
|
private OnGetOwnedListListener mOnGetOwnedListListener = null;
|
||||||
|
private OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null;
|
||||||
|
private OnPaymentListener mOnPaymentListener = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HelperListenerManager singleton reference method
|
||||||
|
*/
|
||||||
|
public static HelperListenerManager getInstance() {
|
||||||
|
if (mInstance == null) {
|
||||||
|
mInstance = new HelperListenerManager();
|
||||||
|
}
|
||||||
|
return mInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void destroy() {
|
||||||
|
mInstance = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HelperListenerManager constructor
|
||||||
|
*/
|
||||||
|
private HelperListenerManager() {
|
||||||
|
mOnGetProductsDetailsListener = null;
|
||||||
|
mOnGetOwnedListListener = null;
|
||||||
|
mOnConsumePurchasedItemsListener = null;
|
||||||
|
mOnPaymentListener = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register {@link OnGetProductsDetailsListener} callback interface to be invoked when {@link GetProductsDetailsTask} has been finished.
|
||||||
|
*
|
||||||
|
* @param _onGetProductsDetailsListener
|
||||||
|
*/
|
||||||
|
public void setOnGetProductsDetailsListener(OnGetProductsDetailsListener _onGetProductsDetailsListener) {
|
||||||
|
mOnGetProductsDetailsListener = _onGetProductsDetailsListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OnGetProductsDetailsListener getOnGetProductsDetailsListener() {
|
||||||
|
return mOnGetProductsDetailsListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register {@link OnGetOwnedListListener} callback interface to be invoked when {@link GetOwnedListTask} has been finished.
|
||||||
|
*
|
||||||
|
* @param _onGetOwnedListListener
|
||||||
|
*/
|
||||||
|
public void setOnGetOwnedListListener(OnGetOwnedListListener _onGetOwnedListListener) {
|
||||||
|
mOnGetOwnedListListener = _onGetOwnedListListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OnGetOwnedListListener getOnGetOwnedListListener() {
|
||||||
|
return mOnGetOwnedListListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register {@link OnConsumePurchasedItemsListener} callback interface to be invoked when {@link ConsumePurchasedItemsTask} has been finished.
|
||||||
|
*
|
||||||
|
* @param _onConsumePurchasedItemsListener
|
||||||
|
*/
|
||||||
|
public void setOnConsumePurchasedItemsListener(OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener) {
|
||||||
|
mOnConsumePurchasedItemsListener = _onConsumePurchasedItemsListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OnConsumePurchasedItemsListener getOnConsumePurchasedItemsListener() {
|
||||||
|
return mOnConsumePurchasedItemsListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register a callback interface to be invoked when Purchase Process has been finished.
|
||||||
|
*
|
||||||
|
* @param _onPaymentListener
|
||||||
|
*/
|
||||||
|
public void setOnPaymentListener(OnPaymentListener _onPaymentListener) {
|
||||||
|
mOnPaymentListener = _onPaymentListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public OnPaymentListener getOnPaymentListener() {
|
||||||
|
return mOnPaymentListener;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,335 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.pm.Signature;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.text.Html;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.activity.BaseActivity;
|
||||||
|
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2017-08-17.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class HelperUtil {
|
||||||
|
private static final String TAG = HelperUtil.class.getSimpleName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show a dialog
|
||||||
|
*
|
||||||
|
* @param activity The activity adding the fragment that displays a dialog
|
||||||
|
* @param title The title to display
|
||||||
|
* @param message The message to display
|
||||||
|
* @param positiveListener The listener to be invoked when the positive button of the dialog is pressed
|
||||||
|
* @param negativeListener The listener to be invoked when the negative button of the dialog is pressed
|
||||||
|
*/
|
||||||
|
public static void showIapErrorDialog(
|
||||||
|
final Activity activity,
|
||||||
|
String title,
|
||||||
|
String message,
|
||||||
|
final BaseDialogFragment.OnClickListener positiveListener,
|
||||||
|
final BaseDialogFragment.OnClickListener negativeListener) {
|
||||||
|
showIapErrorDialog(activity, title, message, "", positiveListener, negativeListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show a dialog
|
||||||
|
*
|
||||||
|
* @param activity The activity adding the fragment that displays a dialog
|
||||||
|
* @param title The title to display
|
||||||
|
* @param message The message to display
|
||||||
|
* @param messageExtra The extra message to display
|
||||||
|
* @param positiveListener The listener to be invoked when the positive button of the dialog is pressed
|
||||||
|
* @param negativeListener The listener to be invoked when the negative button of the dialog is pressed
|
||||||
|
*/
|
||||||
|
public static void showIapErrorDialog(
|
||||||
|
final Activity activity,
|
||||||
|
String title,
|
||||||
|
String message,
|
||||||
|
String messageExtra,
|
||||||
|
final BaseDialogFragment.OnClickListener positiveListener,
|
||||||
|
final BaseDialogFragment.OnClickListener negativeListener) {
|
||||||
|
new BaseDialogFragment()
|
||||||
|
.setDialogTitle(title)
|
||||||
|
.setDialogMessageText(message)
|
||||||
|
.setDialogMessageExtra(messageExtra)
|
||||||
|
.setDialogPositiveButton(activity.getString(android.R.string.ok), positiveListener)
|
||||||
|
.setDialogNegativeButton(activity.getString(android.R.string.cancel), negativeListener)
|
||||||
|
.show(activity.getFragmentManager(), BaseDialogFragment.IAP_DIALOG_TAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show a dialog to update the Galaxy Store
|
||||||
|
*
|
||||||
|
* @param activity The activity adding the fragment that displays a dialog
|
||||||
|
*/
|
||||||
|
public static void showUpdateGalaxyStoreDialog(final Activity activity) {
|
||||||
|
// TODO: both title and message will be changed as UX Guide
|
||||||
|
new BaseDialogFragment()
|
||||||
|
.setDialogTitle(activity.getString(R.string.dream_ph_pheader_couldnt_complete_purchase))
|
||||||
|
.setDialogMessageText(activity.getString(
|
||||||
|
R.string.dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store))
|
||||||
|
.setDialogPositiveButton(
|
||||||
|
activity.getString(android.R.string.ok),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
goGalaxyStoreDetailPage(activity.getApplicationContext());
|
||||||
|
activity.finish();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setDialogNegativeButton(
|
||||||
|
activity.getString(android.R.string.cancel),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
activity.finish();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show(activity.getFragmentManager(), BaseDialogFragment.IAP_DIALOG_TAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show a dialog to enable the Galaxy Store
|
||||||
|
*
|
||||||
|
* @param activity The activity adding the fragment that displays a dialog
|
||||||
|
*/
|
||||||
|
public static void showEnableGalaxyStoreDialog(final Activity activity) {
|
||||||
|
// TODO: both title and message will be changed as UX Guide
|
||||||
|
new BaseDialogFragment()
|
||||||
|
.setDialogTitle(activity.getString(R.string.dream_ph_pheader_couldnt_complete_purchase))
|
||||||
|
.setDialogMessageText(
|
||||||
|
activity.getString(R.string.dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings))
|
||||||
|
.setDialogPositiveButton(
|
||||||
|
activity.getString(android.R.string.ok),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||||||
|
intent.setData(Uri.parse("package:" + HelperDefine.GALAXY_PACKAGE_NAME));
|
||||||
|
activity.startActivityForResult(intent, HelperDefine.REQUEST_CODE_IS_ENABLE_APPS);
|
||||||
|
|
||||||
|
activity.finish();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setDialogNegativeButton(
|
||||||
|
activity.getString(android.R.string.cancel),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
activity.finish();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show(activity.getFragmentManager(), BaseDialogFragment.IAP_DIALOG_TAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show a dialog to notice that the Galaxy Store is invalid
|
||||||
|
*
|
||||||
|
* @param activity The activity adding the fragment that displays a dialog
|
||||||
|
*/
|
||||||
|
public static void showInvalidGalaxyStoreDialog(final Activity activity) {
|
||||||
|
final String ERROR_ISSUER_IAP_CLIENT = "IC";
|
||||||
|
final int ERROR_CODE_INVALID_GALAXY_STORE = 10002;
|
||||||
|
|
||||||
|
String source = String.format(
|
||||||
|
activity.getString(
|
||||||
|
R.string.dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss),
|
||||||
|
"<a href=\"http://help.content.samsung.com\">", "</a>",
|
||||||
|
ERROR_ISSUER_IAP_CLIENT + ERROR_CODE_INVALID_GALAXY_STORE);
|
||||||
|
|
||||||
|
CharSequence errorMessage;
|
||||||
|
// fromHtml(String) was deprecated in N OS
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
|
||||||
|
errorMessage = Html.fromHtml(source);
|
||||||
|
} else {
|
||||||
|
errorMessage = Html.fromHtml(source, Html.FROM_HTML_MODE_LEGACY);
|
||||||
|
}
|
||||||
|
new BaseDialogFragment()
|
||||||
|
.setDialogTitle(activity.getString(R.string.dream_ph_pheader_couldnt_complete_purchase))
|
||||||
|
.setDialogMessageText(errorMessage)
|
||||||
|
.setDialogMessageExtra(ERROR_ISSUER_IAP_CLIENT + ERROR_CODE_INVALID_GALAXY_STORE)
|
||||||
|
.setDialogPositiveButton(
|
||||||
|
activity.getString(android.R.string.ok),
|
||||||
|
new BaseDialogFragment.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick() {
|
||||||
|
activity.finish();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show(activity.getFragmentManager(), BaseDialogFragment.IAP_DIALOG_TAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void goGalaxyStoreDetailPage(Context context) {
|
||||||
|
// Link of Galaxy Store for IAP install
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
Uri appsDeepLink = Uri.parse("samsungapps://StoreVersionInfo/");
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.setData(appsDeepLink);
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
|
||||||
|
Intent.FLAG_ACTIVITY_CLEAR_TOP |
|
||||||
|
Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
} else {
|
||||||
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
|
||||||
|
Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (intent.resolveActivity(context.getPackageManager()) != null) {
|
||||||
|
context.startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check that Galaxy Store is installed
|
||||||
|
*
|
||||||
|
* @param _context Context
|
||||||
|
* @return If it is true Galaxy Store is installed. otherwise, not installed.
|
||||||
|
*/
|
||||||
|
static public boolean isInstalledAppsPackage(Context _context) {
|
||||||
|
PackageManager pm = _context.getPackageManager();
|
||||||
|
try {
|
||||||
|
PackageInfo packageInfo = pm.getPackageInfo(HelperDefine.GALAXY_PACKAGE_NAME, PackageManager.GET_META_DATA);
|
||||||
|
int versionType = packageInfo.versionCode / 100000000;
|
||||||
|
Log.i(TAG, "isInstalledAppsPackage : " + packageInfo.versionCode + ", " + versionType);
|
||||||
|
switch (versionType) {
|
||||||
|
case 4: {
|
||||||
|
return packageInfo.versionCode >= HelperDefine.APPS_PACKAGE_VERSION;
|
||||||
|
}
|
||||||
|
case 5: {
|
||||||
|
return true;
|
||||||
|
// return packageInfo.versionCode >= HelperDefine.APPS_PACKAGE_VERSION_GO;
|
||||||
|
}
|
||||||
|
case 6: {
|
||||||
|
return packageInfo.versionCode >= HelperDefine.APPS_PACKAGE_VERSION_INDIA;
|
||||||
|
}
|
||||||
|
// Unverified version
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static public boolean isEnabledAppsPackage(Context context) {
|
||||||
|
//// TODO: 2017-08-16 Make sure the status is normal
|
||||||
|
int status = context.getPackageManager().getApplicationEnabledSetting(HelperDefine.GALAXY_PACKAGE_NAME);
|
||||||
|
Log.i(TAG, "isEnabledAppsPackage: status " + status);
|
||||||
|
return !((status == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) || (status == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* check validation of installed Galaxy Store in your device
|
||||||
|
*
|
||||||
|
* @param _context
|
||||||
|
* @return If it is true Galaxy Store is valid. otherwise, is not valid.
|
||||||
|
*/
|
||||||
|
static public boolean isValidAppsPackage(Context _context) {
|
||||||
|
boolean result = true;
|
||||||
|
try {
|
||||||
|
Signature[] sigs = _context.getPackageManager().getPackageInfo(
|
||||||
|
HelperDefine.GALAXY_PACKAGE_NAME,
|
||||||
|
PackageManager.GET_SIGNATURES).signatures;
|
||||||
|
if (sigs[0].hashCode() != HelperDefine.APPS_SIGNATURE_HASHCODE) {
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SamsungAccount authentication
|
||||||
|
*
|
||||||
|
* @param _activity
|
||||||
|
*/
|
||||||
|
static public boolean startAccountActivity(final Activity _activity) {
|
||||||
|
ComponentName com = new ComponentName(HelperDefine.GALAXY_PACKAGE_NAME,
|
||||||
|
HelperDefine.IAP_PACKAGE_NAME + ".activity.AccountActivity");
|
||||||
|
Context context = _activity.getApplicationContext();
|
||||||
|
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.setComponent(com);
|
||||||
|
|
||||||
|
if (intent.resolveActivity(context.getPackageManager()) != null) {
|
||||||
|
_activity.startActivityForResult(intent,
|
||||||
|
HelperDefine.REQUEST_CODE_IS_ACCOUNT_CERTIFICATION);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* go to about page of Galaxy Store in order to install IAP package.
|
||||||
|
*/
|
||||||
|
static public void installAppsPackage(final BaseActivity _activity) {
|
||||||
|
// Set error in order to notify result to third-party application.
|
||||||
|
// ====================================================================
|
||||||
|
ErrorVo errorVo = new ErrorVo();
|
||||||
|
_activity.setErrorVo(errorVo);
|
||||||
|
|
||||||
|
errorVo.setError(
|
||||||
|
HelperDefine.IAP_PAYMENT_IS_CANCELED,
|
||||||
|
_activity.getString(R.string.mids_sapps_pop_payment_canceled));
|
||||||
|
// ====================================================================
|
||||||
|
|
||||||
|
// Show information dialog
|
||||||
|
// ====================================================================
|
||||||
|
showUpdateGalaxyStoreDialog(_activity);
|
||||||
|
// ====================================================================
|
||||||
|
}
|
||||||
|
|
||||||
|
static public int checkAppsPackage(Context _context) {
|
||||||
|
// 1. If Galaxy Store is installed
|
||||||
|
// ====================================================================
|
||||||
|
if (HelperUtil.isInstalledAppsPackage(_context)) {
|
||||||
|
// 1) If Galaxy Store is enabled
|
||||||
|
// ================================================================
|
||||||
|
if (!HelperUtil.isEnabledAppsPackage(_context)) {
|
||||||
|
return HelperDefine.DIALOG_TYPE_DISABLE_APPLICATION;
|
||||||
|
// ================================================================
|
||||||
|
// 2) If Galaxy Store is valid
|
||||||
|
// ================================================================
|
||||||
|
} else if (HelperUtil.isValidAppsPackage(_context)) {
|
||||||
|
return HelperDefine.DIALOG_TYPE_NONE;
|
||||||
|
} else {
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
// show alert dialog if Galaxy Store is invalid
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
return HelperDefine.DIALOG_TYPE_INVALID_PACKAGE;
|
||||||
|
// ------------------------------------------------------------
|
||||||
|
}
|
||||||
|
// ================================================================
|
||||||
|
|
||||||
|
// ====================================================================
|
||||||
|
// 2. If Galaxy Store is not installed
|
||||||
|
// ====================================================================
|
||||||
|
} else {
|
||||||
|
// When user click the OK button on the dialog,
|
||||||
|
// go to Galaxy Store Detail page
|
||||||
|
// ====================================================================
|
||||||
|
return HelperDefine.DIALOG_TYPE_APPS_DETAIL;
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,642 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper;
|
||||||
|
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.ServiceConnection;
|
||||||
|
import android.os.AsyncTask.Status;
|
||||||
|
import android.os.IBinder;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.util.Base64;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.iap.IAPConnector;
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.activity.CheckPackageActivity;
|
||||||
|
import com.samsung.android.sdk.iap.lib.activity.PaymentActivity;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.BaseService;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.ConsumePurchasedItems;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.OwnedProduct;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.ProductsDetails;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class IapHelper extends HelperDefine {
|
||||||
|
private static final String TAG = IapHelper.class.getSimpleName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When you release a application, this Mode must be set to {@link HelperDefine.OperationMode.OPERATION_MODE_PRODUCTION}
|
||||||
|
* Please double-check this mode before release.
|
||||||
|
*/
|
||||||
|
private int mMode = HelperDefine.OperationMode.OPERATION_MODE_PRODUCTION.getValue();
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
private Context mContext = null;
|
||||||
|
|
||||||
|
private IAPConnector mIapConnector = null;
|
||||||
|
private ServiceConnection mServiceConn = null;
|
||||||
|
|
||||||
|
// AsyncTask for API
|
||||||
|
// ========================================================================
|
||||||
|
private GetProductsDetailsTask mGetProductsDetailsTask = null;
|
||||||
|
private GetOwnedListTask mGetOwnedListTask = null;
|
||||||
|
private ConsumePurchasedItemsTask mConsumePurchasedItemsTask = null;
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
private ArrayList<BaseService> mServiceQueue = new ArrayList<BaseService>();
|
||||||
|
private BaseService mCurrentService = null;
|
||||||
|
|
||||||
|
// API listener
|
||||||
|
private HelperListenerManager mListenerInstance = null;
|
||||||
|
|
||||||
|
private static IapHelper mInstance = null;
|
||||||
|
|
||||||
|
// State of IAP Service
|
||||||
|
// ========================================================================
|
||||||
|
private int mState = HelperDefine.STATE_TERM;
|
||||||
|
private final static Object mOperationLock = new Object();
|
||||||
|
static boolean mOperationRunningFlag = false;
|
||||||
|
private boolean mShowErrorDialog = true;
|
||||||
|
|
||||||
|
// ########################################################################
|
||||||
|
// ########################################################################
|
||||||
|
// 1. SamsungIAPHeler object create and reference
|
||||||
|
// ########################################################################
|
||||||
|
// ########################################################################
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IapHelper constructor
|
||||||
|
*
|
||||||
|
* @param _context
|
||||||
|
*/
|
||||||
|
private IapHelper(Context _context) {
|
||||||
|
_setContextAndMode(_context);
|
||||||
|
_setListenerInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IapHelper singleton reference method
|
||||||
|
*
|
||||||
|
* @param _context Context
|
||||||
|
*/
|
||||||
|
public static IapHelper getInstance(Context _context) {
|
||||||
|
Log.i(TAG, "IAP Helper version : " + HelperDefine.HELPER_VERSION);
|
||||||
|
if (null == mInstance) {
|
||||||
|
mInstance = new IapHelper(_context);
|
||||||
|
} else {
|
||||||
|
mInstance._setContextAndMode(_context);
|
||||||
|
}
|
||||||
|
|
||||||
|
return mInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOperationMode(OperationMode _mode) {
|
||||||
|
mMode = _mode.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _setContextAndMode(Context _context) {
|
||||||
|
mContext = _context.getApplicationContext();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _setListenerInstance() {
|
||||||
|
if (mListenerInstance != null) {
|
||||||
|
mListenerInstance.destroy();
|
||||||
|
mListenerInstance = null;
|
||||||
|
}
|
||||||
|
mListenerInstance = HelperListenerManager.getInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ########################################################################
|
||||||
|
// ########################################################################
|
||||||
|
// 2. Binding for IAPService
|
||||||
|
// ########################################################################
|
||||||
|
// ########################################################################
|
||||||
|
|
||||||
|
/**
|
||||||
|
* bind to IAPService
|
||||||
|
*/
|
||||||
|
public void bindIapService() {
|
||||||
|
Log.i(TAG, "bindIapService()");
|
||||||
|
// exit If already bound
|
||||||
|
// ====================================================================
|
||||||
|
if (mState >= HelperDefine.STATE_BINDING) {
|
||||||
|
onBindIapFinished(HelperDefine.IAP_RESPONSE_RESULT_OK);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
|
||||||
|
// Connection to IAP service
|
||||||
|
// ====================================================================
|
||||||
|
mServiceConn = new ServiceConnection() {
|
||||||
|
@Override
|
||||||
|
public void onServiceDisconnected(ComponentName _name) {
|
||||||
|
Log.i(TAG, "IAP Service Disconnected...");
|
||||||
|
|
||||||
|
mState = HelperDefine.STATE_TERM;
|
||||||
|
mIapConnector = null;
|
||||||
|
mServiceConn = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onServiceConnected
|
||||||
|
(
|
||||||
|
ComponentName _name,
|
||||||
|
IBinder _service
|
||||||
|
) {
|
||||||
|
Log.i(TAG, "IAP Service Connected...");
|
||||||
|
mIapConnector = IAPConnector.Stub.asInterface(_service);
|
||||||
|
|
||||||
|
if (mIapConnector != null) {
|
||||||
|
mState = HelperDefine.STATE_BINDING;
|
||||||
|
onBindIapFinished(HelperDefine.IAP_RESPONSE_RESULT_OK);
|
||||||
|
} else {
|
||||||
|
mState = HelperDefine.STATE_TERM;
|
||||||
|
onBindIapFinished(HelperDefine.IAP_RESPONSE_RESULT_UNAVAILABLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// ====================================================================
|
||||||
|
Intent serviceIntent = new Intent();
|
||||||
|
serviceIntent.setComponent(new ComponentName(HelperDefine.GALAXY_PACKAGE_NAME, HelperDefine.IAP_SERVICE_NAME));
|
||||||
|
|
||||||
|
// bind to IAPService
|
||||||
|
// ====================================================================
|
||||||
|
try {
|
||||||
|
if (mContext == null || mContext.bindService(serviceIntent,
|
||||||
|
mServiceConn,
|
||||||
|
Context.BIND_AUTO_CREATE) == false) {
|
||||||
|
mState = HelperDefine.STATE_TERM;
|
||||||
|
onBindIapFinished(HelperDefine.IAP_RESPONSE_RESULT_UNAVAILABLE);
|
||||||
|
}
|
||||||
|
} catch (SecurityException e) {
|
||||||
|
Log.e(TAG, "SecurityException : " + e);
|
||||||
|
onBindIapFinished(HelperDefine.IAP_RESPONSE_RESULT_UNAVAILABLE);
|
||||||
|
}
|
||||||
|
// ====================================================================
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void onBindIapFinished(int _result) {
|
||||||
|
Log.i(TAG, "onBindIapFinished");
|
||||||
|
if (_result == HelperDefine.IAP_RESPONSE_RESULT_OK) {
|
||||||
|
if (getServiceProcess() != null) {
|
||||||
|
getServiceProcess().runServiceProcess();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
// 2) If IAPService is not bound.
|
||||||
|
// ============================================================
|
||||||
|
else {
|
||||||
|
if (getServiceProcess() != null) {
|
||||||
|
ErrorVo errorVo = new ErrorVo();
|
||||||
|
errorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION,
|
||||||
|
mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred) + "[Lib_Bind]");
|
||||||
|
errorVo.setShowDialog(mShowErrorDialog);
|
||||||
|
getServiceProcess().setErrorVo(errorVo);
|
||||||
|
getServiceProcess().onEndProcess();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ########################################################################
|
||||||
|
* ########################################################################
|
||||||
|
* 3. IAP APIs.
|
||||||
|
* ########################################################################
|
||||||
|
* ##################################################################### */
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// 3.1) getProductsDetails ///////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <PRE>
|
||||||
|
* This load item list by starting productActivity in this library, and the result will be sent to {@link OnGetProductsDetailsListener} Callback
|
||||||
|
* interface.
|
||||||
|
*
|
||||||
|
* </PRE>
|
||||||
|
*
|
||||||
|
* @param _productIds
|
||||||
|
* @param _onGetProductsDetailsListener
|
||||||
|
*/
|
||||||
|
public void getProductsDetails
|
||||||
|
(
|
||||||
|
String _productIds,
|
||||||
|
OnGetProductsDetailsListener _onGetProductsDetailsListener
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (_onGetProductsDetailsListener == null) {
|
||||||
|
throw new Exception("_onGetProductsDetailsListener is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
ProductsDetails productsDetails = new ProductsDetails(mInstance, mContext, _onGetProductsDetailsListener);
|
||||||
|
productsDetails.setProductId(_productIds);
|
||||||
|
setServiceProcess(productsDetails);
|
||||||
|
|
||||||
|
IapStartInProgressFlag();
|
||||||
|
checkAppsPackage();
|
||||||
|
} catch (IapInProgressException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* execute GetProductsDetailsTask
|
||||||
|
*/
|
||||||
|
public boolean safeGetProductsDetails
|
||||||
|
(
|
||||||
|
ProductsDetails _baseService,
|
||||||
|
String _productIDs,
|
||||||
|
boolean _showErrorDialog
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (mGetProductsDetailsTask != null &&
|
||||||
|
mGetProductsDetailsTask.getStatus() != Status.FINISHED) {
|
||||||
|
mGetProductsDetailsTask.cancel(true);
|
||||||
|
}
|
||||||
|
if (mIapConnector == null || mContext == null) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
mGetProductsDetailsTask = new GetProductsDetailsTask(_baseService,
|
||||||
|
mIapConnector,
|
||||||
|
mContext,
|
||||||
|
_productIDs,
|
||||||
|
_showErrorDialog,
|
||||||
|
mMode);
|
||||||
|
mGetProductsDetailsTask.execute();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// 3.2) getOwnedList //////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <PRE>
|
||||||
|
* This load owned product list by starting OwnedListActivity in this library, and the result will be sent to {@link OnGetOwnedListListener}
|
||||||
|
* Callback interface.
|
||||||
|
*
|
||||||
|
* </PRE>
|
||||||
|
*
|
||||||
|
* @param _productType
|
||||||
|
* @param _onGetOwnedListListener
|
||||||
|
*/
|
||||||
|
public boolean getOwnedList
|
||||||
|
(
|
||||||
|
String _productType,
|
||||||
|
OnGetOwnedListListener _onGetOwnedListListener
|
||||||
|
) {
|
||||||
|
Log.i(TAG, "getOwnedList");
|
||||||
|
try {
|
||||||
|
if (_onGetOwnedListListener == null) {
|
||||||
|
throw new Exception("_onGetOwnedListListener is null");
|
||||||
|
}
|
||||||
|
if (TextUtils.isEmpty(_productType)) {
|
||||||
|
throw new Exception("_productType is null or empty");
|
||||||
|
}
|
||||||
|
|
||||||
|
OwnedProduct ownedProduct = new OwnedProduct(mInstance, mContext, _onGetOwnedListListener);
|
||||||
|
ownedProduct.setProductType(_productType);
|
||||||
|
setServiceProcess(ownedProduct);
|
||||||
|
|
||||||
|
IapStartInProgressFlag();
|
||||||
|
checkAppsPackage();
|
||||||
|
} catch (IapInProgressException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* execute GetOwnedListTask
|
||||||
|
*/
|
||||||
|
public boolean safeGetOwnedList
|
||||||
|
(
|
||||||
|
OwnedProduct _baseService,
|
||||||
|
String _productType,
|
||||||
|
boolean _showErrorDialog
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (mGetOwnedListTask != null &&
|
||||||
|
mGetOwnedListTask.getStatus() != Status.FINISHED) {
|
||||||
|
mGetOwnedListTask.cancel(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mIapConnector == null || mContext == null) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
mGetOwnedListTask = new GetOwnedListTask(_baseService,
|
||||||
|
mIapConnector,
|
||||||
|
mContext,
|
||||||
|
_productType,
|
||||||
|
_showErrorDialog,
|
||||||
|
mMode);
|
||||||
|
|
||||||
|
mGetOwnedListTask.execute();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// 3.3) consumePurchasedItems /////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <PRE>
|
||||||
|
* This load item list by starting OwnedListActivity in this library, and the result will be sent to {@link OnConsumePurchasedItemsListener}
|
||||||
|
* Callback interface.
|
||||||
|
*
|
||||||
|
* </PRE>
|
||||||
|
*
|
||||||
|
* @param _purchaseIds
|
||||||
|
* @param _onConsumePurchasedItemsListener
|
||||||
|
*/
|
||||||
|
public boolean consumePurchasedItems
|
||||||
|
(
|
||||||
|
String _purchaseIds,
|
||||||
|
OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (_onConsumePurchasedItemsListener == null) {
|
||||||
|
throw new Exception("_onConsumePurchasedItemsListener is null");
|
||||||
|
}
|
||||||
|
if (TextUtils.isEmpty(_purchaseIds)) {
|
||||||
|
throw new Exception("_purchaseIds is null or empty");
|
||||||
|
}
|
||||||
|
|
||||||
|
ConsumePurchasedItems consumePurchasedItems = new ConsumePurchasedItems(mInstance, mContext, _onConsumePurchasedItemsListener);
|
||||||
|
consumePurchasedItems.setPurchaseIds(_purchaseIds);
|
||||||
|
setServiceProcess(consumePurchasedItems);
|
||||||
|
|
||||||
|
IapStartInProgressFlag();
|
||||||
|
checkAppsPackage();
|
||||||
|
} catch (IapInProgressException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* execute ConsumePurchasedItemsTask
|
||||||
|
*/
|
||||||
|
public boolean safeConsumePurchasedItems
|
||||||
|
(
|
||||||
|
ConsumePurchasedItems _baseService,
|
||||||
|
String _purchaseIds,
|
||||||
|
boolean _showErrorDialog
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (mConsumePurchasedItemsTask != null &&
|
||||||
|
mConsumePurchasedItemsTask.getStatus() != Status.FINISHED) {
|
||||||
|
mConsumePurchasedItemsTask.cancel(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
mConsumePurchasedItemsTask = new ConsumePurchasedItemsTask(_baseService,
|
||||||
|
mIapConnector,
|
||||||
|
mContext,
|
||||||
|
_purchaseIds,
|
||||||
|
_showErrorDialog,
|
||||||
|
mMode);
|
||||||
|
mConsumePurchasedItemsTask.execute();
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// 3.4) startPurchase / ///////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <PRE>
|
||||||
|
* Start payment process by starting {@link PaymentActivity} in this library, and result will be sent to {@link OnPaymentListener} interface. To
|
||||||
|
* do that, PaymentActivity must be described in AndroidManifest.xml of third-party application as below.
|
||||||
|
* <p>
|
||||||
|
* <activity android:name="com.sec.android.iap.lib.activity.PaymentActivity" android:theme="@style/Theme.Empty"
|
||||||
|
* android:configChanges="orientation|screenSize"/>
|
||||||
|
* </PRE>
|
||||||
|
*
|
||||||
|
* @param _itemId
|
||||||
|
* @param _passThroughParam
|
||||||
|
* @param _onPaymentListener
|
||||||
|
*/
|
||||||
|
public boolean startPayment
|
||||||
|
(
|
||||||
|
String _itemId,
|
||||||
|
String _passThroughParam,
|
||||||
|
OnPaymentListener _onPaymentListener
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
if (_onPaymentListener == null) {
|
||||||
|
throw new Exception("OnPaymentListener is null");
|
||||||
|
}
|
||||||
|
if (TextUtils.isEmpty(_itemId)) {
|
||||||
|
throw new Exception("_itemId is null or empty");
|
||||||
|
}
|
||||||
|
if (_passThroughParam != null && _passThroughParam.getBytes("UTF-8").length > HelperDefine.PASSTHROGUH_MAX_LENGTH) {
|
||||||
|
throw new Exception("PassThroughParam length exceeded (MAX " + HelperDefine.PASSTHROGUH_MAX_LENGTH + ")");
|
||||||
|
}
|
||||||
|
|
||||||
|
IapStartInProgressFlag();
|
||||||
|
mListenerInstance.setOnPaymentListener(_onPaymentListener);
|
||||||
|
|
||||||
|
Intent intent = new Intent(mContext, PaymentActivity.class);
|
||||||
|
intent.putExtra("ItemId", _itemId);
|
||||||
|
String encodedPassThroughParam = "";
|
||||||
|
if (_passThroughParam != null) {
|
||||||
|
encodedPassThroughParam = Base64.encodeToString(_passThroughParam.getBytes("UTF-8"), 0);
|
||||||
|
}
|
||||||
|
intent.putExtra("PassThroughParam", encodedPassThroughParam);
|
||||||
|
intent.putExtra("ShowErrorDialog", mShowErrorDialog);
|
||||||
|
intent.putExtra("OperationMode", mMode);
|
||||||
|
Log.i(TAG, "startPayment: " + mMode);
|
||||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
|
||||||
|
mContext.startActivity(intent);
|
||||||
|
} catch (IapInProgressException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <PRE>
|
||||||
|
* Start payment process by starting {@link PaymentActivity} in this library, and result will be sent to {@link OnPaymentListener} interface. To
|
||||||
|
* do that, PaymentActivity must be described in AndroidManifest.xml of third-party application as below.
|
||||||
|
* <p>
|
||||||
|
* <activity android:name="com.sec.android.iap.lib.activity.PaymentActivity" android:theme="@style/Theme.Empty"
|
||||||
|
* android:configChanges="orientation|screenSize"/>
|
||||||
|
* </PRE>
|
||||||
|
*
|
||||||
|
* @param _itemId
|
||||||
|
* @param _passThroughParam
|
||||||
|
* @param _showSuccessDialog Unused parameter.
|
||||||
|
* @param _onPaymentListener
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
public boolean startPayment
|
||||||
|
(
|
||||||
|
String _itemId,
|
||||||
|
String _passThroughParam,
|
||||||
|
boolean _showSuccessDialog,
|
||||||
|
OnPaymentListener _onPaymentListener
|
||||||
|
) {
|
||||||
|
return startPayment(_itemId, _passThroughParam, _onPaymentListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ########################################################################
|
||||||
|
// ########################################################################
|
||||||
|
// 4. etc
|
||||||
|
// ########################################################################
|
||||||
|
// ########################################################################
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop running task, {@link GetProductsDetailsTask}, {@link ConsumePurchasedItemsTask} or {@link GetOwnedListTask} } before dispose().
|
||||||
|
*/
|
||||||
|
private void stopTasksIfNotFinished() {
|
||||||
|
if (mGetProductsDetailsTask != null) {
|
||||||
|
if (mGetProductsDetailsTask.getStatus() != Status.FINISHED) {
|
||||||
|
Log.e(TAG, "stopTasksIfNotFinished: mGetProductsDetailsTask Status > " + mGetProductsDetailsTask.getStatus());
|
||||||
|
mGetProductsDetailsTask.cancel(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mGetOwnedListTask != null) {
|
||||||
|
if (mGetOwnedListTask.getStatus() != Status.FINISHED) {
|
||||||
|
Log.e(TAG, "stopTasksIfNotFinished: mGetOwnedListTask Status > " + mGetOwnedListTask.getStatus());
|
||||||
|
mGetOwnedListTask.cancel(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mConsumePurchasedItemsTask != null) {
|
||||||
|
if (mConsumePurchasedItemsTask.getStatus() != Status.FINISHED) {
|
||||||
|
Log.e(TAG, "stopTasksIfNotFinished: mConsumePurchasedItemsTask Status > " + mConsumePurchasedItemsTask.getStatus());
|
||||||
|
mConsumePurchasedItemsTask.cancel(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unbind from IAPService and release used resources.
|
||||||
|
*/
|
||||||
|
public void dispose() {
|
||||||
|
stopTasksIfNotFinished();
|
||||||
|
|
||||||
|
if (mContext != null && mServiceConn != null) {
|
||||||
|
mContext.unbindService(mServiceConn);
|
||||||
|
}
|
||||||
|
|
||||||
|
mState = HelperDefine.STATE_TERM;
|
||||||
|
mServiceConn = null;
|
||||||
|
mIapConnector = null;
|
||||||
|
clearServiceProcess();
|
||||||
|
IapEndInProgressFlag();
|
||||||
|
}
|
||||||
|
|
||||||
|
void IapStartInProgressFlag() throws IapInProgressException {
|
||||||
|
Log.i(TAG, "IapStartInProgressFlag");
|
||||||
|
synchronized (mOperationLock) {
|
||||||
|
if (mOperationRunningFlag) {
|
||||||
|
throw new IapInProgressException("another operation is running");
|
||||||
|
}
|
||||||
|
mOperationRunningFlag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void IapEndInProgressFlag() {
|
||||||
|
Log.i(TAG, "IapEndInProgressFlag");
|
||||||
|
synchronized (mOperationLock) {
|
||||||
|
mOperationRunningFlag = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static class IapInProgressException extends Exception {
|
||||||
|
public IapInProgressException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void checkAppsPackage() {
|
||||||
|
int checkResult = HelperUtil.checkAppsPackage(mContext);
|
||||||
|
if (checkResult == HelperDefine.DIALOG_TYPE_NONE) {
|
||||||
|
bindIapService();
|
||||||
|
} else {
|
||||||
|
Intent intent = new Intent(mContext, CheckPackageActivity.class);
|
||||||
|
intent.putExtra("DialogType", checkResult);
|
||||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
mContext.startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets whether error popup is displayed when payment is finished.
|
||||||
|
*/
|
||||||
|
public void setShowErrorDialog(boolean _showErrorDialog) {
|
||||||
|
this.mShowErrorDialog = _showErrorDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getShowErrorDialog() {
|
||||||
|
return this.mShowErrorDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseService getServiceProcess() {
|
||||||
|
return getServiceProcess(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseService getServiceProcess(boolean _nextProcess) {
|
||||||
|
if (mCurrentService == null || _nextProcess) {
|
||||||
|
mCurrentService = null;
|
||||||
|
if (mServiceQueue.size() > 0) {
|
||||||
|
mCurrentService = mServiceQueue.get(0);
|
||||||
|
mServiceQueue.remove(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return mCurrentService;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setServiceProcess(BaseService _baseService) {
|
||||||
|
mServiceQueue.add(_baseService);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void clearServiceProcess() {
|
||||||
|
do {
|
||||||
|
if (mCurrentService != null) {
|
||||||
|
mCurrentService.releaseProcess();
|
||||||
|
}
|
||||||
|
mCurrentService = getServiceProcess(true);
|
||||||
|
} while (mCurrentService != null);
|
||||||
|
mServiceQueue.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.AsyncTask;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.iap.IAPConnector;
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.BaseService;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2017-09-01.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class BaseTask extends AsyncTask<String, Object, Boolean> {
|
||||||
|
private static final String TAG = BaseTask.class.getSimpleName();
|
||||||
|
|
||||||
|
protected BaseService mBaseService;
|
||||||
|
protected IAPConnector mIapConnector;
|
||||||
|
protected Context mContext;
|
||||||
|
protected int mMode;
|
||||||
|
protected String mPackageName = "";
|
||||||
|
|
||||||
|
protected ErrorVo mErrorVo = new ErrorVo();
|
||||||
|
|
||||||
|
public BaseTask(BaseService _baseService,
|
||||||
|
IAPConnector _iapConnector,
|
||||||
|
Context _context,
|
||||||
|
boolean _showErrorDialog,
|
||||||
|
int _mode) {
|
||||||
|
|
||||||
|
mBaseService = _baseService;
|
||||||
|
mIapConnector = _iapConnector;
|
||||||
|
mContext = _context;
|
||||||
|
if (mContext != null) {
|
||||||
|
mPackageName = mContext.getPackageName();
|
||||||
|
}
|
||||||
|
mMode = _mode;
|
||||||
|
mErrorVo.setShowDialog(_showErrorDialog);
|
||||||
|
mBaseService.setErrorVo(mErrorVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Boolean doInBackground(String... params) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPostExecute(Boolean _result) {
|
||||||
|
// ================================================================
|
||||||
|
if (!_result) {
|
||||||
|
mErrorVo.setError(mErrorVo.getErrorCode(), mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
}
|
||||||
|
// ================================================================
|
||||||
|
|
||||||
|
mBaseService.onEndProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCancelled() {
|
||||||
|
Log.e(TAG, "onCancelled: task cancelled");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.iap.IAPConnector;
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.ConsumePurchasedItems;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asynchronized Task to load a list of items
|
||||||
|
*/
|
||||||
|
public class ConsumePurchasedItemsTask extends BaseTask {
|
||||||
|
private static final String TAG = GetOwnedListTask.class.getSimpleName();
|
||||||
|
private String mPurchaseIds = "";
|
||||||
|
|
||||||
|
ArrayList<ConsumeVo> mConsumeList = new ArrayList<ConsumeVo>();
|
||||||
|
|
||||||
|
public ConsumePurchasedItemsTask
|
||||||
|
(
|
||||||
|
ConsumePurchasedItems _baseService,
|
||||||
|
IAPConnector _iapConnector,
|
||||||
|
Context _context,
|
||||||
|
String _purchaseIds,
|
||||||
|
boolean _showErrorDialog,
|
||||||
|
int _mode
|
||||||
|
) {
|
||||||
|
super(_baseService, _iapConnector, _context, _showErrorDialog, _mode);
|
||||||
|
mPurchaseIds = _purchaseIds;
|
||||||
|
|
||||||
|
_baseService.setConsumeList(mConsumeList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Boolean doInBackground(String... params) {
|
||||||
|
try {
|
||||||
|
// 1) call getItemList() method of IAPService
|
||||||
|
// ============================================================
|
||||||
|
Bundle bundle = mIapConnector.consumePurchasedItems(
|
||||||
|
mPackageName,
|
||||||
|
mPurchaseIds,
|
||||||
|
mMode);
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 2) save status code, error string and extra String.
|
||||||
|
// ============================================================
|
||||||
|
if (bundle != null) {
|
||||||
|
mErrorVo.setError(bundle.getInt(HelperDefine.KEY_NAME_STATUS_CODE),
|
||||||
|
bundle.getString(HelperDefine.KEY_NAME_ERROR_STRING));
|
||||||
|
} else {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
mContext.getString(
|
||||||
|
R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 3) If item list is loaded successfully,
|
||||||
|
// make item list by Bundle data
|
||||||
|
// ============================================================
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 3) If item list is loaded successfully,
|
||||||
|
// make item list by Bundle data
|
||||||
|
// ============================================================
|
||||||
|
if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE) {
|
||||||
|
if (bundle != null) {
|
||||||
|
ArrayList<String> consumePurchasedItemsStringList =
|
||||||
|
bundle.getStringArrayList(HelperDefine.KEY_NAME_RESULT_LIST);
|
||||||
|
|
||||||
|
if (consumePurchasedItemsStringList != null) {
|
||||||
|
for (String consumePurchasedItemString : consumePurchasedItemsStringList) {
|
||||||
|
ConsumeVo consumeVo = new ConsumeVo(consumePurchasedItemString);
|
||||||
|
mConsumeList.add(consumeVo);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Log.i(TAG, "Bundle Value 'RESULT_LIST' is null.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
// 4) If failed, print log.
|
||||||
|
// ============================================================
|
||||||
|
else {
|
||||||
|
Log.e(TAG, mErrorVo.getErrorString());
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
} catch (Exception e) {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
mContext.getString(
|
||||||
|
R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.iap.IAPConnector;
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.OwnedProduct;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asynchronized Task to load a list of items
|
||||||
|
*/
|
||||||
|
public class GetOwnedListTask extends BaseTask {
|
||||||
|
private static final String TAG = GetOwnedListTask.class.getSimpleName();
|
||||||
|
private String mProductType = "";
|
||||||
|
ArrayList<OwnedProductVo> mOwnedList = new ArrayList<OwnedProductVo>();
|
||||||
|
|
||||||
|
public GetOwnedListTask
|
||||||
|
(
|
||||||
|
OwnedProduct _baseService,
|
||||||
|
IAPConnector _iapConnector,
|
||||||
|
Context _context,
|
||||||
|
String _productType,
|
||||||
|
boolean _showErrorDialog,
|
||||||
|
int _mode
|
||||||
|
) {
|
||||||
|
super(_baseService, _iapConnector, _context, _showErrorDialog, _mode);
|
||||||
|
mProductType = _productType;
|
||||||
|
_baseService.setOwnedList(mOwnedList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Boolean doInBackground(String... params) {
|
||||||
|
Log.i(TAG, "doInBackground: start");
|
||||||
|
try {
|
||||||
|
int pagingIndex = 1;
|
||||||
|
do {
|
||||||
|
Log.i(TAG, "doInBackground: pagingIndex = " + pagingIndex);
|
||||||
|
// 1) call getItemList() method of IAPService
|
||||||
|
// ============================================================
|
||||||
|
Bundle bundle = mIapConnector.getOwnedList(
|
||||||
|
mPackageName,
|
||||||
|
mProductType,
|
||||||
|
pagingIndex,
|
||||||
|
mMode);
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 2) save status code, error string and extra String.
|
||||||
|
// ============================================================
|
||||||
|
if (bundle != null) {
|
||||||
|
mErrorVo.setError(bundle.getInt(HelperDefine.KEY_NAME_STATUS_CODE),
|
||||||
|
bundle.getString(HelperDefine.KEY_NAME_ERROR_STRING));
|
||||||
|
} else {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
mContext.getString(
|
||||||
|
R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 3) If item list is loaded successfully,
|
||||||
|
// make item list by Bundle data
|
||||||
|
// ============================================================
|
||||||
|
if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE) {
|
||||||
|
if (bundle != null) {
|
||||||
|
String nextPagingIndex = bundle.getString(HelperDefine.NEXT_PAGING_INDEX);
|
||||||
|
if (nextPagingIndex != null && nextPagingIndex.length() > 0) {
|
||||||
|
pagingIndex = Integer.parseInt(nextPagingIndex);
|
||||||
|
} else {
|
||||||
|
pagingIndex = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayList<String> ownedProductStringList =
|
||||||
|
bundle.getStringArrayList(HelperDefine.KEY_NAME_RESULT_LIST);
|
||||||
|
|
||||||
|
if (ownedProductStringList != null) {
|
||||||
|
for (String ownedProductString : ownedProductStringList) {
|
||||||
|
OwnedProductVo ownedPrroductVo = new OwnedProductVo(ownedProductString);
|
||||||
|
mOwnedList.add(ownedPrroductVo);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Log.i(TAG, "Bundle Value 'RESULT_LIST' is null.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
// 4) If failed, print log.
|
||||||
|
// ============================================================
|
||||||
|
else {
|
||||||
|
Log.e(TAG, mErrorVo.getErrorString());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
} while (pagingIndex > 0);
|
||||||
|
} catch (Exception e) {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
mContext.getString(
|
||||||
|
R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.iap.IAPConnector;
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.service.ProductsDetails;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asynchronized Task to load a list of items
|
||||||
|
*/
|
||||||
|
public class GetProductsDetailsTask extends BaseTask {
|
||||||
|
private static final String TAG = GetProductsDetailsTask.class.getSimpleName();
|
||||||
|
private String mProductIds = "";
|
||||||
|
ArrayList<ProductVo> mProductsDetails = new ArrayList<ProductVo>();
|
||||||
|
|
||||||
|
public GetProductsDetailsTask
|
||||||
|
(
|
||||||
|
ProductsDetails _baseService,
|
||||||
|
IAPConnector _iapConnector,
|
||||||
|
Context _context,
|
||||||
|
String _productIDs,
|
||||||
|
boolean _showErrorDialog,
|
||||||
|
int _mode
|
||||||
|
) {
|
||||||
|
super(_baseService, _iapConnector, _context, _showErrorDialog, _mode);
|
||||||
|
mProductIds = _productIDs;
|
||||||
|
|
||||||
|
_baseService.setProductsDetails(mProductsDetails);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Boolean doInBackground(String... params) {
|
||||||
|
try {
|
||||||
|
int pagingIndex = 1;
|
||||||
|
do {
|
||||||
|
// 1) call getProductsDetails() method of IAPService
|
||||||
|
// ---- Order Priority ----
|
||||||
|
// 1. if productIds is not empty, the infomations abouts products included in the productIds are returned
|
||||||
|
// 2. if productIds is empty, the infomations about all products in this package are returned on a page by page
|
||||||
|
// ============================================================
|
||||||
|
Bundle bundle = mIapConnector.getProductsDetails(
|
||||||
|
mPackageName,
|
||||||
|
mProductIds,
|
||||||
|
pagingIndex,
|
||||||
|
mMode);
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 2) save status code, error string and extra String.
|
||||||
|
// ============================================================
|
||||||
|
if (bundle != null) {
|
||||||
|
mErrorVo.setError(bundle.getInt(HelperDefine.KEY_NAME_STATUS_CODE),
|
||||||
|
bundle.getString(HelperDefine.KEY_NAME_ERROR_STRING));
|
||||||
|
} else {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
mContext.getString(
|
||||||
|
R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
|
||||||
|
// 3) If item list is loaded successfully,
|
||||||
|
// make item list by Bundle data
|
||||||
|
// ============================================================
|
||||||
|
if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NONE) {
|
||||||
|
if (bundle != null) {
|
||||||
|
String nextPagingIndex = bundle.getString(HelperDefine.NEXT_PAGING_INDEX);
|
||||||
|
if (nextPagingIndex != null && nextPagingIndex.length() > 0) {
|
||||||
|
pagingIndex = Integer.parseInt(nextPagingIndex);
|
||||||
|
Log.i(TAG, "PagingIndex = " + nextPagingIndex);
|
||||||
|
} else {
|
||||||
|
pagingIndex = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayList<String> productStringList =
|
||||||
|
bundle.getStringArrayList(HelperDefine.KEY_NAME_RESULT_LIST);
|
||||||
|
|
||||||
|
if (productStringList != null) {
|
||||||
|
for (String productString : productStringList) {
|
||||||
|
ProductVo productVo = new ProductVo(productString);
|
||||||
|
mProductsDetails.add(productVo);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Log.i(TAG, "Bundle Value 'RESULT_LIST' is null.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
// 4) If failed, print log.
|
||||||
|
// ============================================================
|
||||||
|
else {
|
||||||
|
Log.e(TAG, mErrorVo.getErrorString());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// ============================================================
|
||||||
|
} while (pagingIndex > 0);
|
||||||
|
} catch (Exception e) {
|
||||||
|
mErrorVo.setError(
|
||||||
|
HelperDefine.IAP_ERROR_COMMON,
|
||||||
|
mContext.getString(
|
||||||
|
R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.listener;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback Interface used with {@link GetOwnedListTask}
|
||||||
|
*/
|
||||||
|
public interface OnConsumePurchasedItemsListener {
|
||||||
|
/**
|
||||||
|
* Callback method to be invoked when {@link GetOwnedListTask} has been finished.
|
||||||
|
*
|
||||||
|
* @param _errorVO
|
||||||
|
* @param _consumeList
|
||||||
|
*/
|
||||||
|
void onConsumePurchasedItems(ErrorVo _errorVO, ArrayList<ConsumeVo> _consumeList);
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.listener;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback Interface used with {@link GetOwnedListTask}
|
||||||
|
*/
|
||||||
|
public interface OnGetOwnedListListener {
|
||||||
|
/**
|
||||||
|
* Callback method to be invoked when {@link GetOwnedListTask} has been finished.
|
||||||
|
*
|
||||||
|
* @param _errorVO
|
||||||
|
* @param _ownedList
|
||||||
|
*/
|
||||||
|
void onGetOwnedProducts(ErrorVo _errorVO, ArrayList<OwnedProductVo> _ownedList);
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.listener;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback Interface used with {@link GetProductsDetailsTask}
|
||||||
|
*/
|
||||||
|
public interface OnGetProductsDetailsListener {
|
||||||
|
/**
|
||||||
|
* Callback method to be invoked when {@link GetProductsDetailsTask} has been finished.
|
||||||
|
*
|
||||||
|
* @param _errorVO
|
||||||
|
* @param _productList
|
||||||
|
*/
|
||||||
|
void onGetProducts(ErrorVo _errorVO, ArrayList<ProductVo> _productList);
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.listener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback Interface to be invoked when bind to IAPService has been finished.
|
||||||
|
*/
|
||||||
|
public interface OnIapBindListener {
|
||||||
|
/**
|
||||||
|
* Callback method to be invoked after binding to IAP service successfully.
|
||||||
|
*
|
||||||
|
* @param result
|
||||||
|
*/
|
||||||
|
public void onBindIapFinished(int result);
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.listener;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.PurchaseVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback Interface to be invoked when payment has been finished.
|
||||||
|
*/
|
||||||
|
public interface OnPaymentListener {
|
||||||
|
/**
|
||||||
|
* Callback method to be invoked when payment has been finished. There is return data for result of financial transaction whenever it was
|
||||||
|
* successful or failed.
|
||||||
|
*/
|
||||||
|
void onPayment(ErrorVo _errorVO, PurchaseVo _purchaseVO);
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.listener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-02-28.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface OnSucceedBind {
|
||||||
|
}
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.service;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.activity.AccountActivity;
|
||||||
|
import com.samsung.android.sdk.iap.lib.activity.DialogActivity;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-02-28.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public abstract class BaseService {
|
||||||
|
private static final String TAG = BaseService.class.getSimpleName();
|
||||||
|
|
||||||
|
protected ErrorVo mErrorVo = new ErrorVo();
|
||||||
|
protected IapHelper mIapHelper = null;
|
||||||
|
protected Context mContext = null;
|
||||||
|
|
||||||
|
public BaseService(IapHelper _iapHelper, Context _context) {
|
||||||
|
mIapHelper = _iapHelper;
|
||||||
|
mContext = _context;
|
||||||
|
mErrorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION, mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
}
|
||||||
|
|
||||||
|
public ErrorVo getErrorVo() {
|
||||||
|
return mErrorVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setErrorVo(ErrorVo mErrorVo) {
|
||||||
|
this.mErrorVo = mErrorVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void runServiceProcess();
|
||||||
|
|
||||||
|
public void onEndProcess() {
|
||||||
|
Log.i(TAG, "BaseService.onEndProcess");
|
||||||
|
|
||||||
|
if (mErrorVo.getErrorCode() == HelperDefine.IAP_ERROR_NEED_SA_LOGIN) {
|
||||||
|
Intent intent = new Intent(mContext, AccountActivity.class);
|
||||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
mContext.startActivity(intent);
|
||||||
|
return;
|
||||||
|
} else if (mErrorVo.getErrorCode() != HelperDefine.IAP_ERROR_NONE) {
|
||||||
|
if (mErrorVo.getErrorCode() != HelperDefine.IAP_ERROR_NETWORK_NOT_AVAILABLE && mErrorVo.isShowDialog()) {
|
||||||
|
Intent intent = new Intent(mContext, DialogActivity.class);
|
||||||
|
intent.putExtra("Title", mContext.getString(R.string.dream_ph_pheader_couldnt_complete_purchase));
|
||||||
|
intent.putExtra("Message", mErrorVo.getErrorString());
|
||||||
|
intent.putExtra("DialogType", HelperDefine.DIALOG_TYPE_NOTIFICATION);
|
||||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
mContext.startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mIapHelper != null) {
|
||||||
|
BaseService baseService = mIapHelper.getServiceProcess(true);
|
||||||
|
if (baseService != null) {
|
||||||
|
baseService.runServiceProcess();
|
||||||
|
} else {
|
||||||
|
mIapHelper.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onReleaseProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void releaseProcess() {
|
||||||
|
onReleaseProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract void onReleaseProcess();
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.service;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-02-28.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class ConsumePurchasedItems extends BaseService {
|
||||||
|
private static final String TAG = ConsumePurchasedItems.class.getSimpleName();
|
||||||
|
|
||||||
|
private OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null;
|
||||||
|
private static String mPurchaseIds = "";
|
||||||
|
protected ArrayList<ConsumeVo> mConsumeList = null;
|
||||||
|
|
||||||
|
public ConsumePurchasedItems(IapHelper _iapHelper, Context _context, OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener) {
|
||||||
|
super(_iapHelper, _context);
|
||||||
|
mOnConsumePurchasedItemsListener = _onConsumePurchasedItemsListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setPurchaseIds(String _purchaseIds) {
|
||||||
|
mPurchaseIds = _purchaseIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setConsumeList(ArrayList<ConsumeVo> _consumeList) {
|
||||||
|
this.mConsumeList = _consumeList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runServiceProcess() {
|
||||||
|
if (mIapHelper != null) {
|
||||||
|
if (mIapHelper.safeConsumePurchasedItems(ConsumePurchasedItems.this,
|
||||||
|
mPurchaseIds,
|
||||||
|
mIapHelper.getShowErrorDialog()) == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mErrorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION, mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
onEndProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReleaseProcess() {
|
||||||
|
Log.i(TAG, "ConsumePurchasedItems.onReleaseProcess");
|
||||||
|
try {
|
||||||
|
if (mOnConsumePurchasedItemsListener != null) {
|
||||||
|
mOnConsumePurchasedItemsListener.onConsumePurchasedItems(mErrorVo, mConsumeList);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, e.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.service;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-02-28.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class OwnedProduct extends BaseService {
|
||||||
|
private static final String TAG = OwnedProduct.class.getSimpleName();
|
||||||
|
|
||||||
|
private OnGetOwnedListListener mOnGetOwnedListListener = null;
|
||||||
|
private static String mProductType = "";
|
||||||
|
protected ArrayList<OwnedProductVo> mOwnedList = null;
|
||||||
|
|
||||||
|
public OwnedProduct(IapHelper _iapHelper, Context _context, OnGetOwnedListListener _onGetOwnedListListener) {
|
||||||
|
super(_iapHelper, _context);
|
||||||
|
mOnGetOwnedListListener = _onGetOwnedListListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setProductType(String _productType) {
|
||||||
|
mProductType = _productType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOwnedList(ArrayList<OwnedProductVo> _ownedList) {
|
||||||
|
this.mOwnedList = _ownedList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runServiceProcess() {
|
||||||
|
Log.i(TAG, "runServiceProcess");
|
||||||
|
if (mIapHelper != null) {
|
||||||
|
if (mIapHelper.safeGetOwnedList(OwnedProduct.this,
|
||||||
|
mProductType,
|
||||||
|
mIapHelper.getShowErrorDialog()) == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mErrorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION, mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
onEndProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReleaseProcess() {
|
||||||
|
Log.i(TAG, "OwnedProduct.onReleaseProcess");
|
||||||
|
try {
|
||||||
|
if (mOnGetOwnedListListener != null) {
|
||||||
|
mOnGetOwnedListListener.onGetOwnedProducts(mErrorVo, mOwnedList);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, e.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.service;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.R;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||||
|
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||||
|
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by sangbum7.kim on 2018-02-28.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class ProductsDetails extends BaseService {
|
||||||
|
private static final String TAG = ProductsDetails.class.getSimpleName();
|
||||||
|
|
||||||
|
private OnGetProductsDetailsListener mOnGetProductsDetailsListener = null;
|
||||||
|
private static String mProductIds = "";
|
||||||
|
protected ArrayList<ProductVo> mProductsDetails = null;
|
||||||
|
|
||||||
|
public ProductsDetails(IapHelper _iapHelper, Context _context, OnGetProductsDetailsListener _onGetProductsDetailsListener) {
|
||||||
|
super(_iapHelper, _context);
|
||||||
|
mOnGetProductsDetailsListener = _onGetProductsDetailsListener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setProductId(String _productIds) {
|
||||||
|
mProductIds = _productIds;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProductsDetails(ArrayList<ProductVo> _ProductsDetails) {
|
||||||
|
this.mProductsDetails = _ProductsDetails;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runServiceProcess() {
|
||||||
|
Log.i(TAG, "succeedBind");
|
||||||
|
if (mIapHelper != null) {
|
||||||
|
if (mIapHelper.safeGetProductsDetails(ProductsDetails.this,
|
||||||
|
mProductIds,
|
||||||
|
mIapHelper.getShowErrorDialog()) == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mErrorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION, mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||||
|
onEndProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReleaseProcess() {
|
||||||
|
Log.i(TAG, "OwnedProduct.onEndProcess");
|
||||||
|
try {
|
||||||
|
if (mOnGetProductsDetailsListener != null) {
|
||||||
|
mOnGetProductsDetailsListener.onGetProducts(mErrorVo, mProductsDetails);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, e.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.vo;
|
||||||
|
|
||||||
|
import android.text.format.DateFormat;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class BaseVo {
|
||||||
|
private String mItemId;
|
||||||
|
private String mItemName;
|
||||||
|
private Double mItemPrice;
|
||||||
|
private String mItemPriceString;
|
||||||
|
private String mCurrencyUnit;
|
||||||
|
private String mCurrencyCode;
|
||||||
|
private String mItemDesc;
|
||||||
|
private String mType;
|
||||||
|
private Boolean mIsConsumable;
|
||||||
|
|
||||||
|
public BaseVo() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseVo(String _jsonString) {
|
||||||
|
try {
|
||||||
|
JSONObject jObject = new JSONObject(_jsonString);
|
||||||
|
|
||||||
|
setItemId(jObject.optString("mItemId"));
|
||||||
|
setItemName(jObject.optString("mItemName"));
|
||||||
|
setItemPrice(jObject.optDouble("mItemPrice"));
|
||||||
|
setItemPriceString(jObject.optString("mItemPriceString"));
|
||||||
|
setCurrencyUnit(jObject.optString("mCurrencyUnit"));
|
||||||
|
setCurrencyCode(jObject.optString("mCurrencyCode"));
|
||||||
|
setItemDesc(jObject.optString("mItemDesc"));
|
||||||
|
setType(jObject.optString("mType"));
|
||||||
|
Boolean isConsumable = false;
|
||||||
|
if (jObject.optString("mConsumableYN") != null && jObject.optString("mConsumableYN").equals("Y")) {
|
||||||
|
isConsumable = true;
|
||||||
|
}
|
||||||
|
setIsConsumable(isConsumable);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemId() {
|
||||||
|
return mItemId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemId(String _itemId) {
|
||||||
|
mItemId = _itemId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemName() {
|
||||||
|
return mItemName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemName(String _itemName) {
|
||||||
|
mItemName = _itemName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getItemPrice() {
|
||||||
|
return mItemPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemPrice(Double _itemPrice) {
|
||||||
|
mItemPrice = _itemPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemPriceString() {
|
||||||
|
return mItemPriceString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemPriceString(String _itemPriceString) {
|
||||||
|
mItemPriceString = _itemPriceString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrencyUnit() {
|
||||||
|
return mCurrencyUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrencyUnit(String _currencyUnit) {
|
||||||
|
mCurrencyUnit = _currencyUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrencyCode() {
|
||||||
|
return mCurrencyCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrencyCode(String _currencyCode) {
|
||||||
|
mCurrencyCode = _currencyCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemDesc() {
|
||||||
|
return mItemDesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemDesc(String _itemDesc) {
|
||||||
|
mItemDesc = _itemDesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return mType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String _itemDesc) {
|
||||||
|
mType = _itemDesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getIsConsumable() {
|
||||||
|
return mIsConsumable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsConsumable(Boolean _consumableYN) {
|
||||||
|
mIsConsumable = _consumableYN;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
String dump = null;
|
||||||
|
|
||||||
|
dump = "ItemId : " + getItemId() + "\n" +
|
||||||
|
"ItemName : " + getItemName() + "\n" +
|
||||||
|
"ItemPrice : " + getItemPrice() + "\n" +
|
||||||
|
"ItemPriceString : " + getItemPriceString() + "\n" +
|
||||||
|
"ItemDesc : " + getItemDesc() + "\n" +
|
||||||
|
"CurrencyUnit : " + getCurrencyUnit() + "\n" +
|
||||||
|
"CurrencyCode : " + getCurrencyCode() + "\n" +
|
||||||
|
"IsConsumable : " + getIsConsumable() + "\n" +
|
||||||
|
"Type : " + getType();
|
||||||
|
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String getDateString(long _timeMills) {
|
||||||
|
String result = "";
|
||||||
|
String dateFormat = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
|
||||||
|
try {
|
||||||
|
result = DateFormat.format(dateFormat, _timeMills).toString();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
result = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.vo;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class ConsumeVo {
|
||||||
|
private static final String TAG = ConsumeVo.class.getSimpleName();
|
||||||
|
|
||||||
|
private String mPurchaseId;
|
||||||
|
private String mStatusString;
|
||||||
|
private int mStatusCode;
|
||||||
|
|
||||||
|
private String mJsonString = "";
|
||||||
|
|
||||||
|
public ConsumeVo(String _jsonString) {
|
||||||
|
setJsonString(_jsonString);
|
||||||
|
try {
|
||||||
|
JSONObject jObject = new JSONObject(_jsonString);
|
||||||
|
|
||||||
|
Log.i(TAG, jObject.toString(4));
|
||||||
|
|
||||||
|
setPurchaseId(jObject.optString("mPurchaseId"));
|
||||||
|
setStatusString(jObject.optString("mStatusString"));
|
||||||
|
setStatusCode(jObject.optInt("mStatusCode"));
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPurchaseId() {
|
||||||
|
return mPurchaseId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchaseId(String _paymentId) {
|
||||||
|
mPurchaseId = _paymentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatusString() {
|
||||||
|
return mStatusString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatusString(String _statusString) {
|
||||||
|
mStatusString = _statusString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getStatusCode() {
|
||||||
|
return mStatusCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatusCode(int _statusCode) {
|
||||||
|
mStatusCode = _statusCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJsonString() {
|
||||||
|
return mJsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJsonString(String _jsonString) {
|
||||||
|
mJsonString = _jsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
String dump = null;
|
||||||
|
|
||||||
|
dump = "PurchaseId : " + getPurchaseId() + "\n" +
|
||||||
|
"StatusString : " + getStatusString() + "\n" +
|
||||||
|
"StatusCode : " + getStatusCode();
|
||||||
|
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.vo;
|
||||||
|
|
||||||
|
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||||
|
|
||||||
|
public class ErrorVo {
|
||||||
|
private int mErrorCode = HelperDefine.IAP_PAYMENT_IS_CANCELED;
|
||||||
|
private String mErrorString = "";
|
||||||
|
private String mErrorDetailsString = "";
|
||||||
|
private String mExtraString = "";
|
||||||
|
private boolean mShowDialog = false;
|
||||||
|
|
||||||
|
public void setError(int _errorCode, String _errorString) {
|
||||||
|
mErrorCode = _errorCode;
|
||||||
|
mErrorString = _errorString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setError(int _errorCode, String _errorString, String _errorDetails) {
|
||||||
|
mErrorCode = _errorCode;
|
||||||
|
mErrorString = _errorString;
|
||||||
|
mErrorDetailsString = _errorDetails;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getErrorCode() {
|
||||||
|
return mErrorCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getErrorString() {
|
||||||
|
return mErrorString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getErrorDetailsString() {
|
||||||
|
return mErrorDetailsString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getExtraString() {
|
||||||
|
return mExtraString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExtraString(String _extraString) {
|
||||||
|
mExtraString = _extraString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isShowDialog() {
|
||||||
|
return mShowDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShowDialog(boolean _showDialog) {
|
||||||
|
mShowDialog = _showDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
String dump =
|
||||||
|
"ErrorCode : " + getErrorCode() + "\n" +
|
||||||
|
"ErrorString : " + getErrorString() + "\n" +
|
||||||
|
"ErrorDetailsString : " + getErrorDetailsString() + "\n" +
|
||||||
|
"ExtraString : " + getExtraString();
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.vo;
|
||||||
|
|
||||||
|
import android.util.Base64;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
|
public class OwnedProductVo extends BaseVo {
|
||||||
|
private static final String TAG = OwnedProductVo.class.getSimpleName();
|
||||||
|
|
||||||
|
private String mPaymentId;
|
||||||
|
private String mPurchaseId;
|
||||||
|
private String mPurchaseDate;
|
||||||
|
private String mPassThroughParam;
|
||||||
|
|
||||||
|
// Expiration date for a item which is "subscription" type
|
||||||
|
// ========================================================================
|
||||||
|
private String mSubscriptionEndDate = "";
|
||||||
|
// ========================================================================
|
||||||
|
|
||||||
|
private String mJsonString = "";
|
||||||
|
|
||||||
|
public OwnedProductVo() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public OwnedProductVo(String _jsonString) {
|
||||||
|
super(_jsonString);
|
||||||
|
setJsonString(_jsonString);
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject jObject = new JSONObject(_jsonString);
|
||||||
|
setPaymentId(jObject.optString("mPaymentId"));
|
||||||
|
setPurchaseId(jObject.optString("mPurchaseId"));
|
||||||
|
setPurchaseDate(getDateString(jObject.optLong("mPurchaseDate")));
|
||||||
|
jObject.remove("mPurchaseDate");
|
||||||
|
jObject.put("mPurchaseDate", getPurchaseDate());
|
||||||
|
|
||||||
|
String decodedPassThroughParam = new String(Base64.decode(jObject.optString("mPassThroughParam"), 0), "UTF-8");
|
||||||
|
setPassThroughParam(decodedPassThroughParam);
|
||||||
|
|
||||||
|
if (jObject.optLong("mSubscriptionEndDate") != 0) {
|
||||||
|
setSubscriptionEndDate(getDateString(jObject.optLong("mSubscriptionEndDate")));
|
||||||
|
}
|
||||||
|
jObject.remove("mSubscriptionEndDate");
|
||||||
|
jObject.put("mSubscriptionEndDate", getSubscriptionEndDate());
|
||||||
|
setJsonString(jObject.toString());
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPaymentId() {
|
||||||
|
return mPaymentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaymentId(String _paymentId) {
|
||||||
|
mPaymentId = _paymentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPurchaseId() {
|
||||||
|
return mPurchaseId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchaseId(String _purchaseId) {
|
||||||
|
mPurchaseId = _purchaseId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPurchaseDate() {
|
||||||
|
return mPurchaseDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchaseDate(String _purchaseDate) {
|
||||||
|
mPurchaseDate = _purchaseDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSubscriptionEndDate() {
|
||||||
|
return mSubscriptionEndDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSubscriptionEndDate(String _subscriptionEndDate) {
|
||||||
|
mSubscriptionEndDate = _subscriptionEndDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassThroughParam() {
|
||||||
|
return mPassThroughParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassThroughParam(String _passThroughParam) {
|
||||||
|
mPassThroughParam = _passThroughParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJsonString() {
|
||||||
|
return mJsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJsonString(String _jsonString) {
|
||||||
|
mJsonString = _jsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
String dump = super.dump() + "\n";
|
||||||
|
|
||||||
|
dump += "PaymentID : " + getPaymentId() + "\n" +
|
||||||
|
"PurchaseID : " + getPurchaseId() + "\n" +
|
||||||
|
"PurchaseDate : " + getPurchaseDate() + "\n" +
|
||||||
|
"PassThroughParam : " + getPassThroughParam() + "\n" +
|
||||||
|
"SubscriptionEndDate : " + getSubscriptionEndDate();
|
||||||
|
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,223 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.vo;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
public class ProductVo extends BaseVo {
|
||||||
|
private static final String TAG = ProductVo.class.getSimpleName();
|
||||||
|
|
||||||
|
//Subscription data
|
||||||
|
private String mSubscriptionDurationUnit;
|
||||||
|
private String mSubscriptionDurationMultiplier;
|
||||||
|
|
||||||
|
// Tiered Subscription data
|
||||||
|
private String mTieredPrice = "";
|
||||||
|
private String mTieredPriceString = "";
|
||||||
|
private String mTieredSubscriptionYN = "";
|
||||||
|
private String mTieredSubscriptionDurationUnit = "";
|
||||||
|
private String mTieredSubscriptionDurationMultiplier = "";
|
||||||
|
private String mTieredSubscriptionCount = "";
|
||||||
|
private String mShowStartDate = "";
|
||||||
|
private String mShowEndDate = "";
|
||||||
|
|
||||||
|
private String mItemImageUrl;
|
||||||
|
private String mItemDownloadUrl;
|
||||||
|
private String mReserved1;
|
||||||
|
private String mReserved2;
|
||||||
|
private String mFreeTrialPeriod;
|
||||||
|
|
||||||
|
private String mJsonString;
|
||||||
|
|
||||||
|
public ProductVo() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProductVo(String _jsonString) {
|
||||||
|
super(_jsonString);
|
||||||
|
setJsonString(_jsonString);
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject jObject = new JSONObject(_jsonString);
|
||||||
|
|
||||||
|
setSubscriptionDurationUnit(jObject.optString("mSubscriptionDurationUnit"));
|
||||||
|
setSubscriptionDurationMultiplier(jObject.optString("mSubscriptionDurationMultiplier"));
|
||||||
|
|
||||||
|
setTieredSubscriptionYN(jObject.optString("mTieredSubscriptionYN"));
|
||||||
|
setTieredSubscriptionDurationUnit(jObject.optString("mTieredSubscriptionDurationUnit"));
|
||||||
|
setTieredSubscriptionDurationMultiplier(jObject.optString("mTieredSubscriptionDurationMultiplier"));
|
||||||
|
setTieredSubscriptionCount(jObject.optString("mTieredSubscriptionCount"));
|
||||||
|
setTieredPrice(jObject.optString("mTieredPrice"));
|
||||||
|
setTieredPriceString(jObject.optString("mTieredPriceString"));
|
||||||
|
setShowStartDate(getDateString(jObject.optLong("mShowStartDate")));
|
||||||
|
setShowEndDate(getDateString(jObject.optLong("mShowEndDate")));
|
||||||
|
|
||||||
|
setItemImageUrl(jObject.optString("mItemImageUrl"));
|
||||||
|
setItemDownloadUrl(jObject.optString("mItemDownloadUrl"));
|
||||||
|
setReserved1(jObject.optString("mReserved1"));
|
||||||
|
setReserved2(jObject.optString("mReserved2"));
|
||||||
|
setFreeTrialPeriod(jObject.optString("mFreeTrialPeriod"));
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSubscriptionDurationUnit() {
|
||||||
|
return mSubscriptionDurationUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSubscriptionDurationUnit(String _subscriptionDurationUnit) {
|
||||||
|
mSubscriptionDurationUnit = _subscriptionDurationUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSubscriptionDurationMultiplier() {
|
||||||
|
return mSubscriptionDurationMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSubscriptionDurationMultiplier(
|
||||||
|
String _subscriptionDurationMultiplier) {
|
||||||
|
mSubscriptionDurationMultiplier = _subscriptionDurationMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTieredSubscriptionYN() {
|
||||||
|
return mTieredSubscriptionYN;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTieredSubscriptionYN(String _tieredSubscriptionYN) {
|
||||||
|
this.mTieredSubscriptionYN = _tieredSubscriptionYN;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTieredPrice() {
|
||||||
|
return mTieredPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTieredPrice(String _tieredPrice) {
|
||||||
|
this.mTieredPrice = _tieredPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTieredPriceString() {
|
||||||
|
return mTieredPriceString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTieredPriceString(String _tieredPriceString) {
|
||||||
|
this.mTieredPriceString = _tieredPriceString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTieredSubscriptionDurationUnit() {
|
||||||
|
return mTieredSubscriptionDurationUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTieredSubscriptionDurationUnit(String _tieredSubscriptionDurationUnit) {
|
||||||
|
this.mTieredSubscriptionDurationUnit = _tieredSubscriptionDurationUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTieredSubscriptionDurationMultiplier() {
|
||||||
|
return mTieredSubscriptionDurationMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTieredSubscriptionDurationMultiplier(String _tieredSubscriptionDurationMultiplier) {
|
||||||
|
this.mTieredSubscriptionDurationMultiplier = _tieredSubscriptionDurationMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTieredSubscriptionCount() {
|
||||||
|
return mTieredSubscriptionCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTieredSubscriptionCount(String _tieredSubscriptionCount) {
|
||||||
|
this.mTieredSubscriptionCount = _tieredSubscriptionCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getShowStartDate() {
|
||||||
|
return mShowStartDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShowStartDate(String showStartDate) {
|
||||||
|
this.mShowStartDate = showStartDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getShowEndDate() {
|
||||||
|
return mShowEndDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShowEndDate(String showEndDate) {
|
||||||
|
this.mShowEndDate = showEndDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemImageUrl() {
|
||||||
|
return mItemImageUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemImageUrl(String _itemImageUrl) {
|
||||||
|
mItemImageUrl = _itemImageUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemDownloadUrl() {
|
||||||
|
return mItemDownloadUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemDownloadUrl(String _itemDownloadUrl) {
|
||||||
|
mItemDownloadUrl = _itemDownloadUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReserved1() {
|
||||||
|
return mReserved1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReserved1(String _reserved1) {
|
||||||
|
mReserved1 = _reserved1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReserved2() {
|
||||||
|
return mReserved2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReserved2(String _reserved2) {
|
||||||
|
mReserved2 = _reserved2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFreeTrialPeriod() {
|
||||||
|
return mFreeTrialPeriod;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFreeTrialPeriod(String _freeTrialPeriod) {
|
||||||
|
mFreeTrialPeriod = _freeTrialPeriod;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJsonString() {
|
||||||
|
return mJsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJsonString(String _jsonString) {
|
||||||
|
mJsonString = _jsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String tieredDump() {
|
||||||
|
String dump = "";
|
||||||
|
if (getTieredSubscriptionYN().equals("Y") == true) {
|
||||||
|
dump = "TieredSubscriptionYN : " + getTieredSubscriptionYN() + "\n" +
|
||||||
|
"TieredPrice : " + getTieredPrice() + "\n" +
|
||||||
|
"TieredPriceString : " + getTieredPriceString() + "\n" +
|
||||||
|
"TieredSubscriptionCount : " + getTieredSubscriptionCount() + "\n" +
|
||||||
|
"TieredSubscriptionDurationUnit : " + getTieredSubscriptionDurationUnit() + "\n" +
|
||||||
|
"TieredSubscriptionDurationMultiplier : " + getTieredSubscriptionDurationMultiplier() + "\n" +
|
||||||
|
"ShowStartDate : " + getShowStartDate() + "\n" +
|
||||||
|
"ShowEndDate : " + getShowEndDate();
|
||||||
|
|
||||||
|
}
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
String dump = super.dump() + "\n";
|
||||||
|
|
||||||
|
dump += "SubscriptionDurationUnit : "
|
||||||
|
+ getSubscriptionDurationUnit() + "\n" +
|
||||||
|
"SubscriptionDurationMultiplier : " +
|
||||||
|
getSubscriptionDurationMultiplier() + "\n" +
|
||||||
|
"ItemImageUrl : " + getItemImageUrl() + "\n" +
|
||||||
|
"ItemDownloadUrl : " + getItemDownloadUrl() + "\n" +
|
||||||
|
"Reserved1 : " + getReserved1() + "\n" +
|
||||||
|
"Reserved2 : " + getReserved2() + "\n" +
|
||||||
|
"FreeTrialPeriod : " + getFreeTrialPeriod() + "\n" +
|
||||||
|
tieredDump();
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,172 @@
|
|||||||
|
package com.samsung.android.sdk.iap.lib.vo;
|
||||||
|
|
||||||
|
import android.util.Base64;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
|
public class PurchaseVo extends BaseVo {
|
||||||
|
private static final String TAG = PurchaseVo.class.getSimpleName();
|
||||||
|
|
||||||
|
private String mPaymentId;
|
||||||
|
private String mPurchaseId;
|
||||||
|
private String mPurchaseDate;
|
||||||
|
private String mVerifyUrl;
|
||||||
|
private String mPassThroughParam;
|
||||||
|
|
||||||
|
private String mItemImageUrl;
|
||||||
|
private String mItemDownloadUrl;
|
||||||
|
private String mReserved1;
|
||||||
|
private String mReserved2;
|
||||||
|
private String mOrderId;
|
||||||
|
private String mUdpSignature;
|
||||||
|
|
||||||
|
private String mJsonString;
|
||||||
|
|
||||||
|
public PurchaseVo(String _jsonString) {
|
||||||
|
super(_jsonString);
|
||||||
|
setJsonString(_jsonString);
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSONObject jObject = new JSONObject(_jsonString);
|
||||||
|
|
||||||
|
setPaymentId(jObject.optString("mPaymentId"));
|
||||||
|
setPurchaseId(jObject.optString("mPurchaseId"));
|
||||||
|
setPurchaseDate(getDateString(jObject.optLong("mPurchaseDate")));
|
||||||
|
jObject.remove("mPurchaseDate");
|
||||||
|
jObject.put("mPurchaseDate", getPurchaseDate());
|
||||||
|
String decodedPassThroughParam = new String(Base64.decode(jObject.optString("mPassThroughParam"), 0), "UTF-8");
|
||||||
|
setPassThroughParam(decodedPassThroughParam);
|
||||||
|
|
||||||
|
setItemImageUrl(jObject.optString("mItemImageUrl"));
|
||||||
|
setItemDownloadUrl(jObject.optString("mItemDownloadUrl"));
|
||||||
|
setReserved1(jObject.optString("mReserved1"));
|
||||||
|
setReserved2(jObject.optString("mReserved2"));
|
||||||
|
setOrderId(jObject.optString("mOrderId"));
|
||||||
|
|
||||||
|
setVerifyUrl(jObject.optString("mVerifyUrl"));
|
||||||
|
setUdpSignature(jObject.optString("mUdpSignature"));
|
||||||
|
|
||||||
|
setJsonString(jObject.toString());
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPaymentId() {
|
||||||
|
return mPaymentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaymentId(String _paymentId) {
|
||||||
|
mPaymentId = _paymentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPurchaseId() {
|
||||||
|
return mPurchaseId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchaseId(String _purchaseId) {
|
||||||
|
mPurchaseId = _purchaseId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPurchaseDate() {
|
||||||
|
return mPurchaseDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchaseDate(String _purchaseDate) {
|
||||||
|
mPurchaseDate = _purchaseDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVerifyUrl() {
|
||||||
|
return mVerifyUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVerifyUrl(String _verifyUrl) {
|
||||||
|
mVerifyUrl = _verifyUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassThroughParam() {
|
||||||
|
return mPassThroughParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassThroughParam(String _passThroughParam) {
|
||||||
|
mPassThroughParam = _passThroughParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemImageUrl() {
|
||||||
|
return mItemImageUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemImageUrl(String _itemImageUrl) {
|
||||||
|
mItemImageUrl = _itemImageUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getItemDownloadUrl() {
|
||||||
|
return mItemDownloadUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setItemDownloadUrl(String _itemDownloadUrl) {
|
||||||
|
mItemDownloadUrl = _itemDownloadUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReserved1() {
|
||||||
|
return mReserved1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReserved1(String _reserved1) {
|
||||||
|
mReserved1 = _reserved1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReserved2() {
|
||||||
|
return mReserved2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReserved2(String _reserved2) {
|
||||||
|
mReserved2 = _reserved2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrderId() {
|
||||||
|
return mOrderId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderId(String orderId) {
|
||||||
|
this.mOrderId = orderId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUdpSignature() {
|
||||||
|
return mUdpSignature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUdpSignature(String udpSignature) {
|
||||||
|
this.mUdpSignature = udpSignature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJsonString() {
|
||||||
|
return mJsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJsonString(String _jsonString) {
|
||||||
|
mJsonString = _jsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String dump() {
|
||||||
|
String dump = super.dump() + "\n";
|
||||||
|
|
||||||
|
dump += "PaymentID : " + getPaymentId() + "\n" +
|
||||||
|
"PurchaseId : " + getPurchaseId() + "\n" +
|
||||||
|
"PurchaseDate : " + getPurchaseDate() + "\n" +
|
||||||
|
"PassThroughParam : " + getPassThroughParam() + "\n" +
|
||||||
|
"VerifyUrl : " + getVerifyUrl() + "\n" +
|
||||||
|
"ItemImageUrl : " + getItemImageUrl() + "\n" +
|
||||||
|
"ItemDownloadUrl : " + getItemDownloadUrl() + "\n" +
|
||||||
|
"Reserved1 : " + getReserved1() + "\n" +
|
||||||
|
"Reserved2 : " + getReserved2() + "\n" +
|
||||||
|
"UdpSignature : " + getUdpSignature();
|
||||||
|
|
||||||
|
return dump;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_pressed="true" android:color="@color/dialog_button_text"/>
|
||||||
|
<item android:state_enabled="true" android:state_focused="true" android:color="@color/dialog_button_text"/>
|
||||||
|
<item android:state_enabled="false" android:color="#660074d4"/>
|
||||||
|
<item android:color="@color/dialog_button_text"/>
|
||||||
|
</selector>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
BIN
IAP6Helper/src/main/res/drawable/circle_60x60_dark.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
IAP6Helper/src/main/res/drawable/circle_60x60_light.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
37
IAP6Helper/src/main/res/drawable/dialog_button_animation.xml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_enabled="true" android:state_pressed="true">
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="18dp" />
|
||||||
|
<solid android:color="@color/dialog_button_pressed" />
|
||||||
|
<stroke android:width="0dp" android:color="@color/dialog_button_pressed" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
<item android:state_enabled="true" android:state_focused="true">
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="18dp" />
|
||||||
|
<solid android:color="@color/dialog_button_pressed" />
|
||||||
|
<stroke android:width="0dp" android:color="@color/dialog_button_pressed" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
<item android:alpha="0.4" android:state_enabled="false">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="18dp" />
|
||||||
|
<solid android:color="@color/transparent" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="18dp" />
|
||||||
|
<solid android:color="@color/transparent" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
||||||
BIN
IAP6Helper/src/main/res/drawable/dialog_full_holo_light.9.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
5
IAP6Helper/src/main/res/drawable/dialog_radius_dark.xml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||||
|
<solid android:color="#252525" />
|
||||||
|
<corners android:radius="26dp" />
|
||||||
|
</shape>
|
||||||
5
IAP6Helper/src/main/res/drawable/dialog_radius_light.xml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||||
|
<solid android:color="#FCFCFC" />
|
||||||
|
<corners android:radius="26dp" />
|
||||||
|
</shape>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:drawable="@drawable/circle_60x60_dark"
|
||||||
|
android:pivotX="50%"
|
||||||
|
android:pivotY="50%"></animated-rotate>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:drawable="@drawable/circle_60x60_light"
|
||||||
|
android:pivotX="50%"
|
||||||
|
android:pivotY="50%"></animated-rotate>
|
||||||
19
IAP6Helper/src/main/res/drawable/progressbar_middle.xml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<rotate
|
||||||
|
android:drawable="@drawable/tw_widget_progressbar_holo_light"
|
||||||
|
android:pivotX="50%"
|
||||||
|
android:pivotY="50%"
|
||||||
|
android:fromDegrees="0"
|
||||||
|
android:toDegrees="1080" />
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<rotate
|
||||||
|
android:drawable="@drawable/tw_widget_progressbar_effect_holo_light"
|
||||||
|
android:pivotX="50%"
|
||||||
|
android:pivotY="50%"
|
||||||
|
android:fromDegrees="720"
|
||||||
|
android:toDegrees="0" />
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
76
IAP6Helper/src/main/res/layout/dialog_dark.xml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/dialog_radius_dark"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:textColor="@color/dialog_title_dark"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_message"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginTop="18dp"
|
||||||
|
android:lineSpacingExtra="4sp"
|
||||||
|
android:textColor="@color/dialog_message_dark"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_message_extra"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:lineSpacingExtra="4sp"
|
||||||
|
android:textColor="@color/dialog_message_extra"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/dialog_cancel_btn"
|
||||||
|
style="@style/DialogButton"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:textColor="@color/dialog_button_text_dark" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/dialog_btn_padding"
|
||||||
|
android:layout_width="1dp"
|
||||||
|
android:layout_height="16dp"
|
||||||
|
android:layout_marginEnd="17dp"
|
||||||
|
android:layout_marginStart="17dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:src="@color/dialog_button_separation_color" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/dialog_ok_btn"
|
||||||
|
style="@style/DialogButton"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:textColor="@color/dialog_button_text_dark"/>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
76
IAP6Helper/src/main/res/layout/dialog_light.xml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/dialog_radius_light"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:textColor="@color/dialog_title"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_message"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginTop="18dp"
|
||||||
|
android:lineSpacingExtra="4sp"
|
||||||
|
android:textColor="@color/dialog_message"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_message_extra"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:lineSpacingExtra="4sp"
|
||||||
|
android:textColor="@color/dialog_message_extra"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/dialog_cancel_btn"
|
||||||
|
style="@style/DialogButton"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:textColor="@color/dialog_button_text"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/dialog_btn_padding"
|
||||||
|
android:layout_width="1dp"
|
||||||
|
android:layout_height="16dp"
|
||||||
|
android:layout_marginEnd="17dp"
|
||||||
|
android:layout_marginStart="17dp"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:src="@color/dialog_button_separation_color" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/dialog_ok_btn"
|
||||||
|
style="@style/DialogButton"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="36dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:textColor="@color/dialog_button_text"/>
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
34
IAP6Helper/src/main/res/layout/progress_dialog.xml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/body"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:baselineAligned="false"
|
||||||
|
android:padding="16dip">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
style="@android:style/Widget.DeviceDefault.ProgressBar"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/message"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="16dip"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:text="@string/mids_sapps_body_waiting_ing"
|
||||||
|
android:textSize="@dimen/page_loading_textview_textsize"
|
||||||
|
android:fontFamily="sec-roboto-light"
|
||||||
|
android:textColor="#252525"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
29
IAP6Helper/src/main/res/layout/progress_dialog_dark.xml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/dialog_radius_dark"
|
||||||
|
android:gravity="bottom"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="23dp"
|
||||||
|
android:indeterminateDrawable="@drawable/progress_dialog_animation_dark" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_message"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginTop="18dp"
|
||||||
|
android:layout_marginBottom="23dp"
|
||||||
|
android:lineSpacingExtra="4sp"
|
||||||
|
android:textColor="@color/dialog_message_dark"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textAlignment="center" />
|
||||||
|
</LinearLayout>
|
||||||
28
IAP6Helper/src/main/res/layout/progress_dialog_light.xml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/dialog_radius_light"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="23dp"
|
||||||
|
android:indeterminateDrawable="@drawable/progress_dialog_animation_light" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/dialog_message"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="24dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:layout_marginTop="18dp"
|
||||||
|
android:layout_marginBottom="23dp"
|
||||||
|
android:lineSpacingExtra="4sp"
|
||||||
|
android:textColor="@color/dialog_message"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textAlignment="center" />
|
||||||
|
</LinearLayout>
|
||||||
55
IAP6Helper/src/main/res/values-ar/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">حدث خطأ غير معلوم.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">عملية الشراء من داخل التطبيقات من Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">يتعذر إجراء عملية شراء من داخل تطبيق Samsung. انتقل إلى الأذونات، ثم اسمح بالأذونات المطلوبة وحاول مجدداً.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">المصادقة جارية\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">اتصل بخدمة العملاء لإكمال عملية الشراء.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">تمت عملية الشراء.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">تعذر إكمال عملية الشراء</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">لإكمال عملية الشراء هذه، يجب تحديث Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">لإكمال عملية الشراء هذه، يجب تفعيل Galaxy Store في الضبط.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">تواصل مع %1$sخدمة العملاء%2$s للحصول على المزيد من المعلومات.\n\nرمز الخطأ: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">رمز الخطأ:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">لشراء العناصر، يلزم تثبيت تطبيق تم شراؤه من Samsung. هل تريد التثبيت؟</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">تم تقديم قيمة غير صالحة لخدمة الشراء من داخل التطبيقات من Samsung.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">جارٍ الانتظار\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">تم إلغاء عملية الدفع.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">تحديث Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">يتوفر إصدار جديد. سيتم تحديث Galaxy Apps إلى أحدث إصدار لإكمال عملية الشراء هذه.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-as/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">অজ্ঞাত ত্ৰুটি ঘটিছে৷</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">চেমচাং ইন-এপ ক্ৰয়</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">চেমচাং ইন-এপ ক্ৰয় খোলাত অক্ষম। অনুমতিলৈ যাওক, তাৰপিছত আৱশ্যকীয় অনুমতি অনুমোদন কৰক আৰু পুনঃচেষ্টা কৰক।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">প্ৰমাণিকৃত কৰি আছে\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">আপোনাৰ ক্ৰয় সম্পূৰ্ণ কৰিবলৈ গ্ৰাহক সেৱাৰ সৈতে সম্পৰ্ক কৰক।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">আপোনাৰ ক্ৰয় সম্পূৰ্ণ হ\'ল।</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">ক্ৰয় সম্পূৰ্ণ কৰিব পৰা নগ\'ল</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">এই ক্ৰয় সম্পূৰ্ণ কৰিবলৈ, আপুনি Galaxy Store আপডেট কৰাৰ প্ৰয়োজন।</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">এই ক্ৰয় সম্পূৰ্ণ কৰিবলৈ, আপুনি ছেটিংছত Galaxy Store সক্ষম কৰাৰ প্ৰয়োজন।</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">অধিক তথ্যৰ বাবে %1$sগ্ৰাহক সেৱা%2$s সৈতে সম্পৰ্ক কৰক।\n\nত্ৰুটি ক\'ড: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">ত্ৰুটি ক\'ড:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">আইটেমসমূহ ক্ৰয় কৰিবলৈ, আপুনি চেমচাং ইন-এপ পাৰচেজ ইনষ্টল কৰাটো প্ৰয়োজন। ইনষ্টল কৰিবনে?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">চেমচাং ইন-এপ ক্ৰয়ৰ বাবে এটা অমান্য মান প্ৰদান কৰা হৈছে৷</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">অপেক্ষাৰত\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">পৰিশোধ বাতিল কৰা হৈছে৷</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps আপডেট কৰক</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">এটা নতুন সংস্কৰণ উপলব্ধ। এই ক্ৰয় সম্পূৰ্ণ কৰিবলৈ Galaxy Apps-ক শেহতীয়া সংস্কৰণলৈ আপডেট কৰা হ\'ব।</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-az-rAZ/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Naməlum səhv baş verdi.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchase-i açmaq olmadı. İcazələrə keçin və tələb edilən icazələri verib yenidən cəhd edin.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Təsdiq edilir\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Satınalmanı tamamlamaq üçün Müştəri Xidməti ilə əlaqə saxlayın.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Sizin satınalma tamamlandı.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Satınalmanı tamamlamaq olmadı</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Bu satınalmanı tamamlamaq üçün Galaxy Store-u yeniləməlisiniz.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Bu satınalmanı tamamlamaq üçün Parametrlər bölməsində Galaxy Store-u aktiv etməlisiniz.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Daha ətraflı məlumat əldə etmək üçün %1$sMüştəri Xidmətləri%2$s ilə əlaqə saxlayın.\n\nXəta kodu: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Səhv kodu:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Elementləri satın almaq üçün Samsung In-App Purchase quraşdırmalısınız. Quraşdırılsın?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Samsung In-App Purchase üçün yalnış vahid təmin edilmişdir.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Gözləyir\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Ödəniş ləğv edildi.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps yenilə</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Yeni versiya mövcuddur. Bu satınalmanın tamamlanması üçün Galaxy Apps ən son versiyasına yenilənəcək.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-be-rBY/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Адбылася невядомая памылка.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Немагчыма адкрыць Samsung In-App Purchase. Перайдзіце ў Дазволы, затым дайце неабходныя дазволы і паўтарыце спробу.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Праверка сапраўднасці\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Звярніцеся ў службу падтрымкі кліентаў, каб завяршыць пакупку.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Пакупка завершана.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Не атрымалася завяршыць пакупку</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Каб завяршыць гэту куплю, трэба абнавіць Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Каб завяршыць гэту куплю, трэба ўключыць Galaxy Store у Наладах.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Для атрымання дадатковай інфармацыі звярніцеся ў %1$sСлужбу падтрымкі кліентаў%2$s.\n\nКод памылкі: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Код памылкі:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Каб набываць тавары, вам неабходна ўсталяваць Samsung In-App Purchase. Усталяваць?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Няправільнае значэнне было пададзена для Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Чаканне\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Аплата скасавана.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Абнавіць Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Даступна новая версія. Для завяршэння гэтай пакупкі Galaxy Apps будуць абноўлены да апошняй версіі.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-bg/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Възникна неизвестна грешка.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Покупка от прил. на Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Не може да се отвори „Покупка от приложение на Samsung“. Отидете на „Разрешения“, след което позволете необходимите разрешения и опитайте отново.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Удостоверяване\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Свържете се с услугите за клиенти, за да завършите покупката.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Вашата покупка е завършена.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Покупката не може да се извърши</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">За да завършите тази покупка, трябва да актуализирате Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">За да завършите тази покупка, трябва да активирате Galaxy Store в „Настройки“.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Свържете се с %1$sуслугите за клиенти%2$s за повече информация.\n\nКод на грешка: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Код на грешка:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">За да закупите елементи, трябва да инсталирате Покупка от приложение на Samsung. Инсталиране?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Предоставена е невалидна стойност за Покупка от приложение на Samsung.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Изчакване\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Плащането е отменено.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Актуализиране на Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Налична е нова версия. Galaxy Apps ще се актуализира с последната версия, за да се завърши тази покупка.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-bn-rBD/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">অজানা ত্রুটি ঘটেছে।</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchase খুলতে অক্ষম৷ ‘অনুমতি’-তে যান, তারপর প্রয়োজনীয় অনুমতিগুলো দিয়ে আবার চেষ্টা করুন৷</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">সত্যায়ন করা হচ্ছে\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">আপনার ক্রয় সম্পন্ন করতে গ্রাহক সেবায় যোগাযোগ করুন।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">আপনার ক্রয় সম্পন্ন হয়েছে৷</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">ক্রয় সম্পন্ন করা যায়নি</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">এই ক্রয় সম্পন্ন করতে, আপনাকে Galaxy Store আপডেট করতে হবে।</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">এই ক্রয় সম্পন্ন করতে, আপনাকে সেটিংসে Galaxy Store সক্রিয় করতে হবে।</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">আরো তথ্যের জন্য %1$sগ্রাহক সেবায়%2$s যোগাযোগ করুন৷\n\nত্রুটির কোড: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">ত্রুটির কোড:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">আইটেম কেনার জন্য, আপনাকে Samsung In-App Purchase ইনস্টল করতে হবে৷ ইনস্টল করবেন?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Samsung In-App Purchase-এর জন্য একটি অকার্যকর মান দেয়া হয়েছে৷</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">অপেক্ষমাণ\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">পেমেন্ট বাতিল হয়েছে৷</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps আপডেট করুন</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">একটি নতুন সংস্করণ আছে৷ এই ক্রয় সম্পন্ন করতে Galaxy Apps সর্বসাম্প্রতিক সংস্করণে আপডেট করা হবে।</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-bn-rIN/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">অজানা ত্রুটি ঘটেছে।</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">স্যামসাং ইন-অ্যাপ পারচেস</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">স্যামসাং ইন-অ্যাপ পারচেজ খুলতে অক্ষম। অনুমতিগুলিতে যান, তারপর প্রয়োজনীয় অনুমতিগুলি মঞ্জুর করুন এবং আবার চেষ্টা করুন।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">প্রমাণীকরণ করা হচ্ছে\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">আপনার কেনাকাটা সম্পূর্ণ করতে গ্রাহক পরিষেবার সাথে যোগাযোগ করুন।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">আপনার কেনাকাটা সম্পূর্ণ।</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">কেনাকাটা সম্পূর্ণ করা যায়নি</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">এই কেনাকাটা সম্পূর্ণ করতে আপনাকে Galaxy Store আপডেট করতে হবে।</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">এই কেনাকাটা সম্পূর্ণ করতে আপনাকে সেটিংসে Galaxy Store সক্ষম করতে হবে।</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">আরও তথ্যের জন্য %1$sগ্রাহক পরিষেবায়%2$s যোগাযোগ করুন।\n\nত্রুটি কোড: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">ত্রুটি কোড:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">আইটেমগুলি কিনতে আপনার স্যামসাং ইন-অ্যাপ ক্রয় ইনস্টল করা প্রয়োজন৷ ইনস্টল করবেন?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">স্যামসাং ইন-অ্যাপ ক্রয়ের জন্য একটি অবৈধ মান সরবরাহিত হয়েছে।</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">অপেক্ষা করা হচ্ছে\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">প্রদান বাতিল হয়েছে।</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps আপডেট করুন</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">একটি নতুন সংস্করণ সুলভ। এই কেনাকাটা সম্পূর্ণ করতে, Galaxy Apps সাম্প্রতিকতম সংস্করণে আপডেট হবে।</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-bo/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">རྒྱུས་མེད་ནོར་འཁྲུལ་བྱུང༌།</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchaseཁ་ཕྱེ་མི་ཐུབ།༼དབང་ཚད་༽ནང་ཞུགས་དགོས།དེ་རྗེས་གཤམ་གྱི་དབང་ཚད་སྤྲད་ནས་བསྐྱར་ཚོད་བྱེད་དགོས།</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">ར་སྤྲོད་བྱེད་བཞིན་འདུག</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">མགྲོན་ཞབས་ལ་འབྲེལ་བ་བྱས་ནས་སྤྲོད་གཏོང་འགྲུབ་པར་བྱེད་རོགས།</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">ཁྱེད་ཀྱི་བླུ་ཉོ་འགྲུབ་པར་བྱས་ཟིན།</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">ཉོ་མི་ཐུབ།</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">ཉོ་སྒྲུབ་འདི་རྫོགས་དགོས་ན།ཁྱེད་ཀྱིས Galaxy ཚོང་ཁང་སྒྲིག་འཇུག་བྱེད་དགོས།</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">ཉོ་སྒྲུབ་འདི་རྫོགས་དགོས་ན།ཁྱེད་ཀྱིས་སྒྲིག་འགོད་ཁྲོད་ནས Galaxy ཚོང་ཁང་ཁ་འབྱེད་དགོས།</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">%1$sསྐུ་མགྲོན་ཞབས་ཞུ%2$s ལ་འབྲེལ་གཏུག་བྱེད་ནས་ཆ་འཕྲིན་དེ་བས་མང་བ་ཐོབ་པར་བྱེད།\n\nནོར་འཁྲུལ་ཚབ་གྲངས།%3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">གསང་ཡིག་འཛོལ་བ</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">གལ་ཏེ་ཉོ་སྒྲུབ་ཚོང་ཟོག།ཁྱེད་ནས་Samsung In-App Purchaseསྒྲིག་འཇུག་བྱེད་དགོས།སྒྲིག་འཇུག་བྱེད་དམ།</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Samsung In-App Purchaseལ་ཕན་མེད་གྲངས་ཞིག་ཐོབ་ཡོད།</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">སྒུག་བཞིན་པ</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">དངུལ་སྤྲོད་བྲིས་སུབ་གཏོང་བ།</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy་ཉེར་སྤྱོད་ཚོང་ཁང་གསར་སྒྱུར་བྱེད།</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">པར་གཞི་གསར་བ་འདུགGalaxy་ཉེར་སྤྱོད་ཚོང་ཁང་གིས་པར་གཞི་གསར་ཤོས་སུ་གསར་སྒྱུར་བྱས་ནས་ཐེངས་འདིའི་དངོས་ཉོ་འགྲུབ་པར་བྱེད།</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-bs/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unknown error occurred.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Provjera vjerodostojnosti\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Kontaktirajte Korisničku službu da dovršite kupovinu.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Kupovina je obavljena.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Ne može se dovršiti kupovina</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Da biste dovršili ovu kupovinu, morate ažurirati Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Da biste dovršili ovu kupovinu, u Postavkama morate omogućiti Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Kontaktirajte %1$sKorisničku službu%2$s za više informacija.\n\nKod greške: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Kod greške:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">To purchase items, you need to install Samsung In-App Purchase. Install?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">An invalid value has been provided for Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Čekanje\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Payment cancelled.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Ažuriraj Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Dostupna je nova verzija. Prodavnica Galaxy Apps će se ažurirati na najnoviju verziju da bi se dovršila ova kupovina.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-ca/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">S\'ha produït un error desconegut</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">No es pot obrir Samsung In-App Purchase. Vagi a Permisos i, a continuació, permeti els permisos necessaris i torni-ho a intentar.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">S\'està autenticant\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Posa\'t en contacte amb el Servei d\'atenció al client per completar la compra.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">La compra s\'ha completat.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">No s\'ha pogut completar la compra</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Per completar aquesta compra, actualitza la Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Per completar aquesta compra, activa la Galaxy Store a Ajustaments.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Posa\'t en contacte amb el %1$sServei d\'atenció al client%2$s per obtenir més informació.\n\nCodi d\'error: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Codi d\'error:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Per comprar elements, cal que instal·li Samsung In-App Purchase. Instal·lar?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">S\'ha proporcionat un valor no vàlid per a In-App Purchase de Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">En espera\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Pagament cancel·lat</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Actualitzar Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Hi ha una versió nova disponible. S\'actualitzarà Galaxy Apps a l\'última versió per completar aquesta compra.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-cs/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Došlo k neznámé chybě.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Nákup z aplikace Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Nepodařilo se spustit Nákup z aplikace Samsung. Přejděte na Oprávnění a potom povolte požadovaná oprávnění a opakujte akci.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Ověřování\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Kontaktujte Zákaznické služby, abyste dokončili nákup.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Nákup byl dokončen.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Nákup nelze dokončit</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Abyste mohli dokončit nákup, musíte v Nastavení aktualizovat Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Abyste mohli dokončit nákup, musíte v Nastavení zapnout Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Další informace získáte na oddělení %1$sZákaznických služeb%2$s.\n\nKód chyby: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Kód chyby:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Chcete-li nakupovat, musíte nainstalovat modul nákupu z aplikace od společnosti Samsung. Instalovat?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Byla poskytnuta neplatná hodnota pro nákup z aplikace Samsung.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Čekám\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Platba byla zrušena.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Aktualizovat Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">K dispozici je nová verze. Aby byl dokončen tento nákup, aplikace Galaxy Apps bude aktualizována na nejnovější verzi.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-da/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Ukendt fejl opstod.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Køb for. via Samsung-app</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Kan ikke åbne Køb foretaget via Samsung-app. Gå til Tilladelser, aktiver de krævede tilladelser, og prøv igen.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Godkender \u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Kontakt kundeservice for at gennemføre dit køb.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Dit køb er blevet gennemført.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Kunne ikke gennemføre køb</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">For at gennemføre dette køb skal du opdatere Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">For at gennemføre dette køb skal du aktivere Galaxy Store under Indstillinger.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Kontakt %1$skundeservice%2$s for at få flere oplysninger.\n\nFejlkode: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Fejlkode:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">For at købe elementer skal du installere Køb foretaget via Samsung-app. Installer?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Der er angivet en ugyldig værdi for Køb foretaget via Samsung-app.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Venter \u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Betaling annulleret.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Opdater Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">En ny version er tilgængelig. Galaxy Apps vil blive opdateret til den nyeste version, så du kan gennemføre dette køb.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-de/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unbekannter Fehler aufgetreten</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchase kann nicht geöffnet werden. Wechseln Sie zu „Berechtigungen“, erteilen Sie die erforderlichen Berechtigungen und versuchen Sie es anschließend erneut.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authentifizierung wird durchgeführt\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Wenden Sie sich an den Kundendienst, um Ihren Einkauf abzuschließen.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Ihr Kauf ist abgeschlossen.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Abschließen des Kaufs nicht möglich</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Sie müssen Galaxy Store aktualisieren, um diesen Kauf abzuschließen.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Sie müssen Galaxy Store in den Einstellungen aktivieren, um diesen Kauf abzuschließen.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Weitere Informationen erhalten Sie vom %1$sKundendienst%2$s.\n\nFehlercode: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Fehlercode:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Wenn Sie Artikel kaufen möchten, müssen Sie Samsung In-App-Kauf installieren. Installieren?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Es wurde ein ungültiger Wert für Samsung In-App Purchase angegeben.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Warten\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Zahlung abgebrochen</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Aktualisieren von Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Eine neue Version ist verfügbar. Galaxy Apps wird auf die neueste Version aktualisiert, um diesen Kauf abzuschließen.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-el/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Παρουσιάστηκε άγνωστο σφάλμα.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Δεν είναι δυνατό το άνοιγμα του Samsung In-App Purchase. Μεταβείτε στα Δικαιώματα, παραχωρήστε τα παρακάτω δικαιώματα και, στη συνέχεια, δοκιμάστε ξανά.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Έλεγχος ταυτότητας\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Επικοινωνήστε με την υπηρεσία εξυπηρέτησης πελατών, για να ολοκληρώσετε την αγορά σας.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Η αγορά σας ολοκληρώθηκε.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Δεν ήταν δυνατή η ολοκλήρωση της αγοράς</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Για να ολοκληρώσετε αυτήν την αγορά, θα πρέπει να ενημερώσετε το Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Για να ολοκληρώσετε αυτήν την αγορά, θα πρέπει να ενεργοποιήσετε το Galaxy Store από τις Ρυθμίσεις.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Επικοινωνήστε με την %1$sΥπηρεσία εξυπηρέτησης πελατών%2$s για περισσότερες πληροφορίες.\n\nΚωδικός σφάλματος: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Κωδικός σφάλματος:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Πρέπει να εγκαταστήσετε το εργαλείο αγοράς εντός εφαρμογής της Samsung για να αγοράσετε στοιχεία. Να εγκατασταθεί;</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Δόθηκε μη έγκυρη τιμή για την αγορά εντός της εφαρμογής Samsung.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Αναμονή\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Η πληρωμή ακυρώθηκε.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Ενημέρωση Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Υπάρχει διαθέσιμη νέα έκδοση. Για την ολοκλήρωση αυτής της αγοράς, το Galaxy Apps θα ενημερωθεί στην πιο πρόσφατη έκδοση.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-en-rCA/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unknown error occurred.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authenticating\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contact Customer Service to complete your purchase.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Your purchase is complete.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Couldn\'t complete the purchase</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">To complete this purchase, you need to update the Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">To complete this purchase, you need to enable the Galaxy Store in Settings.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contact %1$sCustomer Service%2$s for more information.\n\nError code: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Error code:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">To purchase items, you need to install Samsung In-App Purchase. Install it?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">An invalid value has been provided for Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Waiting\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Payment cancelled.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Update Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-en-rPH/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unknown error occurred.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authenticating\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contact Customer Service to complete your purchase.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Your purchase is complete.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Couldn\'t complete purchase</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">To complete this purchase, you need to update the Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">To complete this purchase, you need to enable the Galaxy Store in Settings.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contact %1$sCustomer Service%2$s for more information.\n\nError code: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Error code:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">To purchase items, you need to install Samsung In-App Purchase. Install?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">An invalid value has been provided for Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Waiting\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Payment cancelled.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Update Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-en-rUS/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unknown error occurred.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authenticating\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contact Customer Service to complete your purchase.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Your purchase is complete.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Couldn\'t complete purchase</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">To complete this purchase, you need to update the Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">To complete this purchase, you need to enable the Galaxy Store in Settings.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contact %1$sCustomer Service%2$s for more information.\n\nError code: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Error code:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">To purchase items, you need to install Samsung In-App Purchase. Install?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">An invalid value has been provided for Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Waiting\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Payment cancelled.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Update Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-en-rZG/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unknown error occurred.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authenticating\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contact Customer Service to complete your purchase.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Your purchase is complete.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Couldn\'t complete purchase</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">To complete this purchase, you need to update the Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">To complete this purchase, you need to enable the Galaxy Store in Settings.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contact %1$sCustomer Service%2$s for more information.\n\nError code: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Error code:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">To purchase items, you need to install Samsung In-App Purchase. Install?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">An invalid value has been provided for Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Waiting\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Payment cancelled.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Update Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Unknown error occurred.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Unable to open Samsung In-App Purchase. Go to Permissions, then allow the required permissions and try again.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authenticating\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contact Customer Service to complete your purchase.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Your purchase is complete.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Couldn\'t complete purchase</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">To complete this purchase, you need to update the Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">To complete this purchase, you need to enable the Galaxy Store in Settings.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contact %1$sCustomer Service%2$s for more information.\n\nError code: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Error code:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">To purchase items, you need to install Samsung In-App Purchase. Install?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">An invalid value has been provided for Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Waiting\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Payment cancelled.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Update Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">A new version is available. Galaxy Apps will be updated to the latest version to complete this purchase.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-es-rES/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Error desconocido.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">No se puede abrir Samsung In-App Purchase. Ve a Permisos y, a continuación, concede los permisos necesarios e inténtalo de nuevo.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Autenticando\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Ponte en contacto con el Servicio de atención al cliente para completar la compra.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Se ha completado la compra.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">No se ha podido completar la compra</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Actualiza Galaxy Store para completar esta compra.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Ve a Ajustes y activa Galaxy Store para completar esta compra.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Ponte en contacto con el %1$sServicio de atención al cliente%2$s para obtener más información.\n\nCódigo de error: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Código de error:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Para comprar elementos, debes instalar Samsung In-App Purchase. ¿Instalar?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Se ha proporcionado un valor no válido para Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Esperando\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Pago cancelado.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Actualizar Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Hay una versión nueva disponible. Se actualizará Galaxy Apps a la versión más reciente para completar esta compra.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-es-rUS/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Error desconocido.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Compra en aplic. Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">No es posible abrir Compra desde la aplicación Samsung. Vaya a Permisos, otorgue los permisos necesarios e inténtelo de nuevo.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Autenticando\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Comuníquese con el servicio al cliente para completar su compra.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Se completó su compra.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">No fue posible finalizar la compra</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Para completar esta compra, debe actualizar Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Para completar esta compra, debe activar Galaxy Store en Ajustes.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Comuníquese con el %1$sServicio al cliente%2$s para obtener más información.\n\nCódigo de error: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Código de error:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Para comprar estos elementos, debe instalar Compra desde la aplicación Samsung. ¿Instalar?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Se proporcionó un valor no válido para Compra desde la aplicación Samsung.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Esperando\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Pago cancelado.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Actualizar Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Hay una versión nueva disponible. Galaxy Apps se actualizará a la versión más reciente para finalizar la compra.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-et-rEE/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Ilmnes tundmatu torge.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Rakendust Samsung In-App Purchase ei saa avada. Avage menüü Õigused, seejärel kinnitage vajalikud õigused ja proovige uuesti.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Autentimine\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Ostu sooritamiseks võtke ühendust klienditeenindusega.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Teie ost on lõpule viidud.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Ostu ei saanud sooritada</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Selle ostu lõpuleviimiseks peate värskendama Galaxy Store’i.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Selle ostu lõpuleviimiseks peate seadetes aktiveerima Galaxy Store’i.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Lisateabe saamiseks võtke ühendust %1$sklienditeenindusega%2$s.\n\nTõrkekood: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Tõrkekood:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Üksuste ostmiseks peate installima rakenduse Samsung In-App Purchase. Kas installida?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Rakenduse Samsung In-App Purchase jaoks on sisestatud vale vaartus.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Ootel\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Makse on tühistatud.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Rakenduse Galaxy Apps värskendamine</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Saadaval on uus versioon. Rakendus Galaxy Apps värskendatakse selle ostu sooritamiseks uusimale versioonile.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-eu-rES/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Errore ezezaguna gertatu da</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Ezin da Samsung In-App Purchase ireki. Joan Baimenak atalera, onartu beharrezko baimenak eta saiatu berriz.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Autentifikatzen\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Erosketa osatzeko, jarri harremanetan Bezeroentzako zerbitzuarekin.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Osatu da erosketa.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Ezin izan da osatu erosketa</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Erosketa osatzeko, Galaxy Store eguneratu behar duzu.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Erosketa osatzeko, Galaxy Store gaitu behar duzu Ezarpenak atalean.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Informazio gehiago lortzeko, jarri %1$sBezeroentzako zerbitzuarekin%2$s harremanetan.\n\nErrore kodea: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Errore kodea:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Elementuak erosteko, Samsung In-App Erosketa instalatu behar duzu. Instalatu?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Balio baliogabea eman da Samsung In-App erosketan</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Itxaroten\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Ordainketa utzita</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Eguneratu Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Bertsio berri bat dago erabilgarri. Galaxy Apps bertsio berrienera eguneratuko da erosketa hau osatzearren.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-fa/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">خطای نامشخصی رخ داد.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">خرید درون برنامه سامسونگ</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">باز کردن خرید درون برنامه سامسونگ ممکن نیست. به مجوزها بروید، سپس به مجوزهای مورد نیاز اجازه داده و دوباره امتحان کنید.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">در حال تایید اعتبار\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">برای تکمیل خرید خود، با خدمات مشتریان تماس بگیرید.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">خریدتان کامل شد.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">خرید کامل نشد</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">برای تکمیل این خرید، باید Galaxy Store را بهروز کنید.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">برای تکمیل این خرید، باید Galaxy Store را در تنظیمات فعال کنید.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">برای اطلاعات بیشتر با %1$sخدمات مشتریان%2$s تماس بگیرید.\n\nکد خطا: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">کد خطا:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">برای خرید موارد، باید خرید درون برنامه سامسونگ را نصب کنید. نصب شود؟</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">یک مقدار نادرست برای خرید درون برنامه سامسونگ ارائه شده است.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">در انتظار\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">پرداخت لغو شد.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">بهروزرسانی Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">نسخه جدیدی در دسترس است. برای تکمیل این خرید، Galaxy Apps به جدیدترین نسخه بهروزرسانی خواهد شد.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-fi/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Tuntematon virhe</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchasea ei voi avata. Valitse Käyttöoikeudet, myönnä tarvittavat oikeudet ja yritä uudelleen.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Todennetaan\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Ota yhteyttä asiakaspalveluun ostoksen suorittamiseksi loppuun.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Ostos on suoritettu.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Ostoksen suorittaminen epäonnistui</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Sinun on päivitettävä Galaxy Store, jotta voit suorittaa tämän ostoksen loppuun.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Sinun on otettava Galaxy Store Asetukset-kohdassa käyttöön, jotta voit suorittaa tämän ostoksen loppuun.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Lisätietoja saat ottamalla yhteyttä %1$sasiakaspalveluun%2$s.\n\nVirhekoodi: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Virhekoodi:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Samsung In-App Purchase on asennettava tuotteiden ostamista varten. Asennetaanko?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Samsung In-App Purchaselle on annettu virheellinen arvo.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Odotetaan\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Maksu on peruutettu.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Päivitä Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Uusi versio saatavilla. Galaxy Apps päivitetään uusimpaan versioon tämän ostoksen viimeistelemiseksi.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-fr-rCA/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Une erreur inconnue est survenue.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Impossible d\'ouvrir Samsung In-App Purchase. Accédez à Autorisations, puis accordez les autorisations requises et réessayez.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authentification en cours\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contactez le service client pour terminer votre achat.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Votre achat est terminé.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Impossible de conclure l\'achat</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Pour terminer cet achat, vous devez mettre à jour le Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Pour terminer cet achat, vous devez activer le Galaxy Store dans Paramètres.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contactez le %1$sservice client%2$s pour plus d\'informations.\n\nCode d\'erreur : %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Code d\'erreur :</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Pour acheter des articles, vous devez installer le système Achat dans l\'application Samsung. Installer ?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Une valeur non valide a été fournie pour Achat dans l\'application Samsung.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Patientez\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Paiement annulé.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Mise à jour de Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Une nouvelle version est disponible. L\'application Galaxy Apps va être mise à jour vers la dernière version pour terminer cet achat.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-fr/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Une erreur inconnue est survenue.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Impossible d\'ouvrir Samsung In-App Purchase. Accédez à Autorisations, puis accordez les autorisations requises et réessayez.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Authentification en cours\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Contactez le service client pour terminer votre achat.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Votre achat est terminé.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Impossible de conclure l\'achat</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Pour terminer cet achat, vous devez mettre à jour le Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Pour terminer cet achat, vous devez activer le Galaxy Store dans Paramètres.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Contactez le %1$sservice client%2$s pour plus d\'informations.\n\nCode d\'erreur : %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Code d\'erreur :</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Pour acheter des articles, vous devez installer l\'application Samsung In-App Purchase. Installer ?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Une valeur non valide a été fournie dans Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Patientez\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Paiement annulé</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Mise à jour de Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Une nouvelle version est disponible. L\'application Galaxy Apps va être mise à jour vers la dernière version pour terminer cet achat.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-ga/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Tharla earráid anaithnid</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Ceann. i bhF.chlár Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Ní féidir Ceannach i bhFeidhmchlár Samsung a oscailt. Gabh chuig Ceadanna, ansin ceadaigh na ceadanna atá de dhíth agus triail arís.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Fíordheimhniú\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Déan teagmháil le Seirbhís do Chustaiméirí le do cheannachán a chur i gcrích.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Tá do cheannachán curtha i gcrích.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Níorbh fhéidir ceannachán a chur i gcrích</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Leis an gceannachán seo a chur i gcrích, ní foláir duit Galaxy Store a nuashonrú.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Leis an gceannachán seo a chur i gcrích, ní foláir duit Galaxy Store a chumasú i Socruithe.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Déan teagmháil le %1$sSeirbhís do Chustaiméirí%2$s le tuilleadh faisnéise a fháil.\n\nCód earráide: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Cód earráide:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Tá Samsung In-App Purchase de dhíth ort le míreanna a cheannach. Suiteáil?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Soláthraíodh luach neamhbhailí do Cheannach i bhFeidhmchlár Samsung</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Ag feitheamh\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Íocaíocht curtha ar ceal.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Nuashonraigh Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Tá leagan nua ar fáil. Nuashonrófar Galaxy Apps chuig an leagan is déanaí leis an gceannachán seo a chur i gcrích.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-gl-rES/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Houbo un erro descoñecido</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Non se pode abrir Samsung In-App Purchase. Vai a Permisos e, a continuación, concede os permisos necesarios e téntao outra vez.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Autenticando\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Ponte en contacto co Servizo de atención ao cliente para completar a compra.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Completouse a túa compra.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Non se puido completar a compra</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Para rematar esta compra, actualiza Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Para rematar esta compra, activa Galaxy Store en Axustes.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Ponte en contacto co %1$sServizo de atención ao cliente%2$s para obter máis información.\n\nCódigo de erro: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Código de erro:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Para mercar elementos, precisas instalar Compra de aplicacións interna de Samsung. Desexas instalalo?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Forneceuse un valor non válido para Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Esperando\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Pagamento cancelado</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Actualizar Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Hai unha nova versión dispoñible. Galaxy Apps actualizarase á versión máis recente para completar esta compra.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-gu-rIN/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">અજ્ઞાત ભૂલ થઈ છે.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">સેમસંગ ઇન-એપ ખરીદી</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">સેમસંગ ઇન-એપ ખરીદી ખોલવામાં અસમર્થ. પરવાનગીઓ પર જાઓ, પછી નીચે આપેલ પરવાનગીઓની મંજૂરી આપો અને ફરી પ્રયાસ કરો.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">પ્રમાણિત કરી રહ્યાં છીએ\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">તમારી ખરીદી પૂર્ણ કરવા માટે ગ્રાહક સેવાનો સંપર્ક કરો.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">તમારી ખરીદી પૂર્ણ થઈ છે.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">ખરીદી પૂર્ણ કરી શકાઈ નથી</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">આ ખરીદી પૂર્ણ કરવા માટે, તમારે સેટિંગ્સમાં Galaxy Store અપડેટ કરવો જરૂરી છે.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">આ ખરીદી પૂર્ણ કરવા માટે, તમારે સેટિંગ્સમાં Galaxy Storeને સક્ષમ કરવો જરૂરી છે.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">વધુ માહિતી માટે %1$sગ્રાહક સેવા%2$sનો સંપર્ક કરો.\n\nભૂલનો કોડ: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">ભૂલ કોડ:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">વસ્તુઓ ખરીદવા માટે, તમને સેમસંગ ઇન-એપ્લિકેશન પરચેઝ સ્થાપિત કરવાની આવશ્યકતા છે. સ્થાપિત કરીએ?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">સેમસંગ ઇન-એપ ખરીદી માટે એક અમાન્ય મૂલ્ય પ્રદાન કરવામાં આવ્યું છે.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">પ્રતીક્ષા કરી રહ્યું છે\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">ચૂકવણી રદ કરી.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps અપડેટ કરો</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">એક નવું સંસ્કરણ ઉપલબ્ધ છે. આ ખરીદી પૂર્ણ કરવા માટે Galaxy Apps ને નવીનતમ સંસ્કરણમાં અપડેટ કરવામાં આવશે.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-hi/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">अज्ञात त्रुटि पाई गई</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">सैमसंग इन-एप खरीद</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">सैमसंग इन-एप खरीदारी खोलने में असमर्थ। अनुमतियाँ पर जाएँ, फिर आवश्यक अनुमतियों को अनुमति दें और फिर से प्रयास करें।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">प्रमाणित किया जा रहा है\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">अपनी खरीदारी पूर्ण करने के लिए ग्राहक सेवा से संपर्क करें।</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">आपकी खरीदी पूर्ण हो गई है।</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">खरीदारी पूरी नहीं की जा सकी</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">इस खरीदारी को पूरा करने के लिए, आपको Galaxy Store को अपडेट करने की आवश्यकता है।</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">इस खरीदारी को पूरा करने के लिए, आपको सेटिंग्स में Galaxy Store को सक्षम करने की आवश्यकता है।</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">अधिक जानकारी के लिए, %1$sग्राहक सेवा%2$s से संपर्क करें।\n\nत्रुटि कोड: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">त्रुटि कोड:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">मदें खरीदने के लिए, आपको सैमसंग इन-एप परचेस़ स्थापित करना आवश्यक हैं। स्थापित करें?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">सैमसंग इन-एप परचेज के लिए कोई अमान्य मान प्रदान किया गया है।</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">प्रतीक्षा कर रहा है\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">भुगतान रद्द किया गया।</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps अपडेट करें</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">एक नया संस्करण उपलब्ध है। यह खरीदारी पूर्ण करने के लिए Galaxy Apps को नवीनतम संस्करण पर अपडेट किया जाएगा।</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-hr/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Nepoznata greška</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung kup. unutar apl.</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Nije moguće otvoriti Samsung kupnju unutar aplikacije. Idite na Dopuštenja, a zatim dajte potrebna dopuštenja i pokušajte ponovno.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Provjera autentičnosti\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Obratite se Službi za korisnike da biste dovršili kupnju.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Kupnja je obavljena.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Nemoguće dovršiti kupnju</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Da biste dovršili ovu kupnju, morate aktualizirati trgovinu Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Da biste dovršili ovu kupnju, morate uključiti trgovinu Galaxy Store u Postavkama.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Obratite se %1$sSlužbi za korisnike%2$s za više informacija.\n\nKod pogreške: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Greška:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Da biste kupili stavke, morate instalirati Samsung kupnju unutar aplikacije. Instalirati?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Pružena je neispravna vrijednost za Samsung kupnju unutar aplikacije.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Čekajte\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Plaćanje otkazano.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Aktualizacija trgovine Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Dostupna je nova verzija. Za dovršetak kupnje trgovina Galaxy Apps aktualizirat će se na najnoviju verziju.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-hu/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Ismeretlen eredetű hiba történt.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung Beépített bolt</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Nem lehet megnyitni a Samsung Beépített bolt alkalmazást. Lépjen be az Engedélyek menüpontba, adja meg a szükséges engedélyeket, majd próbálja újra.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Hitelesítés\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">A vásárlás befejezéséhez lépjen kapcsolatba az ügyfélszolgálattal.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">A vásárlás befejeződött.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Nem sikerült befejezni a vásárlást</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">A vásárlás befejezéséhez frissíteni kell a Galaxy Store alkalmazást.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">A vásárlás befejezéséhez engedélyezni kell a Galaxy Store alkalmazást a Beállításokban.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">További információért forduljon az %1$sügyfélszolgálathoz%2$s.\n\nHibakód: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Hibakód:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Vásárláshoz telepítenie kell a Samsung beépített bolt alkalmazást. Telepíti?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Érvénytelen érték lett megadva a Samsung Beépített bolt számára.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Várakozás\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Fizetés megszakítva.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Galaxy Apps frissítése</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Rendelkezésre áll egy új verzió. A vásárlás befejezéséhez a rendszer a legújabb verzióra frissíti a Galaxy Apps alkalmazást.</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-hy-rAM/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Անհայտ սխալ տեղի ունեցավ:</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Անհնար է բացել Samsung In-App Purchase-ը: Գնացեք «Թույլտվություններ», տվեք պահանջվող թույլտվությունները և նորից փորձեք:</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Նույնականացվում է\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Ձեր գնումն ավարտելու համար դիմեք Հաճախորդների սպասարկման ծառայությանը:</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Ձեր գնումն ավարտվեց:</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Չհաջողվեց կատարել գնումը</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Այս գնումը կատարելու համար հարկավոր է թարմացնել Galaxy Store-ը:</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Այս գնումը կատարելու համար հարկավոր է Դրվածքներում ընձեռել Galaxy Store-ը:</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Լրացուցիչ տեղեկությունների համար դիմեք %1$sՀաճախորդների սպասարկման ծառայությանը%2$s:\n\nՍխալի կոդ՝ %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Սխալի կոդ՝</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Տարրեր գնելու համար հարկավոր է տեղադրել Samsung In-App Purchase. Տեղադրե՞լ:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Անվավեր արժեք է տրամադրվել Samsung In-App Purchase-ի համար:</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Սպասում է\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Վճարումը դադարեցվեց:</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Թարմացնել Galaxy Apps-ը</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Նոր վարկած է մատչելի: Galaxy Apps-ը կթարմացվի ամենավերջին վարկածով՝ այս գնումը կատարելու համար:</string>
|
||||||
|
</resources>
|
||||||
55
IAP6Helper/src/main/res/values-in/strings.xml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
**
|
||||||
|
** Created with STMS Automation System
|
||||||
|
*/ -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||||
|
<string name="mids_sapps_pop_unknown_error_occurred">Terjadi kesalahan tak dikenal.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||||
|
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||||
|
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Tidak dapat membuka Pembelian dalam Aplikasi Samsung. Buka Izin, lalu perbolehkan izin berikut dan coba lagi.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||||
|
<string name="dream_sapps_body_authenticating_ing">Mengotentikasi\u2026</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||||
|
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Hubungi Layanan Pelanggan untuk menyelesaikan pembelian Anda.</string>
|
||||||
|
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||||
|
<string name="dream_sapps_body_your_purchase_is_complete">Pembelian selesai.</string>
|
||||||
|
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||||
|
<string name="dream_ph_pheader_couldnt_complete_purchase">Tidak dapat menyelesaikan pembelian</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Untuk menyelesaikan pembelian ini, Anda harus memperbarui Galaxy Store.</string>
|
||||||
|
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||||
|
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Untuk menyelesaikan pembelian ini, Anda harus mengaktifkan Galaxy Store di Pengaturan.</string>
|
||||||
|
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||||
|
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Hubungi %1$sLayanan Pelanggan%2$s untuk informasi lebih lanjut.\n\nKode kesalahan: %3$s</string>
|
||||||
|
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||||
|
<string name="ids_com_body_error_code_c">Kode error:</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||||
|
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Untuk membeli item, Anda perlu menginstal Samsung In-App Purchase. Instal?</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Nilai tidak valid dimasukkan ke Samsung In-App Purchase.</string>
|
||||||
|
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||||
|
<string name="mids_sapps_body_waiting_ing">Menunggu\u2026</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||||
|
<string name="mids_sapps_pop_payment_canceled">Pembayaran dibatalkan.</string>
|
||||||
|
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||||
|
<string name="mids_sapps_header_update_galaxy_apps">Perbarui Galaxy Apps</string>
|
||||||
|
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||||
|
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Versi baru tersedia. Galaxy Apps akan diperbarui ke versi terbaru untuk menyelesaikan pembelian ini.</string>
|
||||||
|
</resources>
|
||||||