diff --git a/.vscode/settings.json b/.vscode/settings.json
index c5f3f6b..e0f15db 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,3 @@
{
- "java.configuration.updateBuildConfiguration": "interactive"
+ "java.configuration.updateBuildConfiguration": "automatic"
}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 6e550a3..f25b661 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,15 +1,23 @@
plugins {
- alias(libs.plugins.android.application)
+ id 'com.android.application'
+}
+
+repositories {
+ google()
+ mavenCentral()
+ flatDir {
+ dirs 'libs'
+ }
}
android {
namespace 'com.example.bdkipoc'
- compileSdk 35
+ compileSdk 34
defaultConfig {
applicationId "com.example.bdkipoc"
minSdk 21
- targetSdk 30
+ targetSdk 34
versionCode 1
versionName "1.0"
@@ -22,21 +30,42 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
+
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ // Exclude duplicate packages to resolve conflicts
+ packagingOptions {
+ pickFirst '**/libc++_shared.so'
+ pickFirst '**/libjsc.so'
+ exclude 'META-INF/DEPENDENCIES'
+ exclude 'META-INF/LICENSE'
+ exclude 'META-INF/LICENSE.txt'
+ exclude 'META-INF/NOTICE'
+ exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
-
- implementation libs.appcompat
- implementation libs.material
- implementation libs.activity
- implementation libs.constraintlayout
- implementation libs.cardview
- implementation 'androidx.recyclerview:recyclerview:1.3.0'
- testImplementation libs.junit
- androidTestImplementation libs.ext.junit
- androidTestImplementation libs.espresso.core
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'com.google.android.material:material:1.11.0'
+ implementation 'androidx.activity:activity:1.8.2'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.cardview:cardview:1.0.0'
+
+ // Sunmi Pay SDK - ONLY use ONE method to avoid duplicates
+ implementation(name: 'PayLib-release-2.0.17', ext: 'aar')
+ // REMOVE these lines that cause duplicates:
+ // implementation files('libs/PayLib-release-2.0.17.aar')
+ // implementation fileTree(dir: 'libs', include: ['*.aar'])
+
+ // Dependencies yang mungkin dibutuhkan SDK
+ implementation 'com.google.code.gson:gson:2.10.1'
+ implementation 'androidx.annotation:annotation:1.7.1'
+
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
\ No newline at end of file
diff --git a/app/libs/AndroidManifest.xml b/app/libs/AndroidManifest.xml
new file mode 100644
index 0000000..709c848
--- /dev/null
+++ b/app/libs/AndroidManifest.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/libs/META-INF/com/android/build/gradle/aar-metadata.properties b/app/libs/META-INF/com/android/build/gradle/aar-metadata.properties
new file mode 100644
index 0000000..8c9c699
--- /dev/null
+++ b/app/libs/META-INF/com/android/build/gradle/aar-metadata.properties
@@ -0,0 +1,4 @@
+aarFormatVersion=1.0
+aarMetadataVersion=1.0
+minCompileSdk=1
+minAndroidGradlePluginVersion=1.0.0
diff --git a/app/libs/PayLib-release-2.0.17.aar b/app/libs/PayLib-release-2.0.17.aar
new file mode 100644
index 0000000..2f01592
Binary files /dev/null and b/app/libs/PayLib-release-2.0.17.aar differ
diff --git a/app/libs/PayLib-release-2.0.17.zip b/app/libs/PayLib-release-2.0.17.zip
new file mode 100644
index 0000000..2f01592
Binary files /dev/null and b/app/libs/PayLib-release-2.0.17.zip differ
diff --git a/app/libs/R.txt b/app/libs/R.txt
new file mode 100644
index 0000000..737aec8
--- /dev/null
+++ b/app/libs/R.txt
@@ -0,0 +1,469 @@
+int string alg_err_nogm 0x0
+int string alg_ret_param_error 0x0
+int string alg_ret_rcv_sm_error 0x0
+int string alg_ret_send_sm_error 0x0
+int string basic_file_copy_error 0x0
+int string basic_file_delete_error 0x0
+int string basic_file_verify_fail 0x0
+int string emv_app_select_index_error 0x0
+int string emv_cardinfo_error 0x0
+int string emv_cert_verify_error 0x0
+int string emv_confirm_card_info_error 0x0
+int string emv_data_exchange_error 0x0
+int string emv_data_exchange_timeout 0x0
+int string emv_db_no_matched_aid 0x0
+int string emv_db_no_matched_capk 0x0
+int string emv_db_opt_error 0x0
+int string emv_db_save_term_error 0x0
+int string emv_final_select_error 0x0
+int string emv_final_select_timeout 0x0
+int string emv_in_process 0x0
+int string emv_kernel_exception 0x0
+int string emv_kernel_msg_null 0x0
+int string emv_keyboard_params_error 0x0
+int string emv_nfc_cvm_error 0x0
+int string emv_online_process_error 0x0
+int string emv_pan_error 0x0
+int string emv_pin_canceled 0x0
+int string emv_pin_error 0x0
+int string emv_pinpad_callback_error 0x0
+int string emv_pre_first_gac_error 0x0
+int string emv_pre_first_gac_timeout 0x0
+int string emv_prepare_fail 0x0
+int string emv_signature_error 0x0
+int string emv_terminal_risk_management_error 0x0
+int string emv_terminal_risk_management_timeout 0x0
+int string emv_timing_error 0x0
+int string emv_trans_process_fail 0x0
+int string emv_trans_type_unsupport 0x0
+int string emv_transdata_invalid 0x0
+int string emv_unknown_cvm_type 0x0
+int string etc_no_device_searched 0x0
+int string firmware_update_fail 0x0
+int string firmware_verify_fail 0x0
+int string i2c_recv_data_timeout 0x0
+int string i2c_send_data_failed 0x0
+int string invoking_error_params 0x0
+int string invoking_not_support 0x0
+int string invoking_pubkey_len_not_match 0x0
+int string invoking_repeat_invok 0x0
+int string invoking_thread_exception 0x0
+int string invoking_wait_update 0x0
+int string permission_access_sphs 0x0
+int string permission_led 0x0
+int string permission_pinpad 0x0
+int string permission_read_contactless 0x0
+int string permission_read_icc 0x0
+int string permission_read_msr 0x0
+int string permission_security 0x0
+int string pinpad_over_max_pin_length 0x0
+int string pinpad_pin_input_timeout 0x0
+int string pinpad_pinpad_type_error 0x0
+int string pinpad_return_pinblock_error 0x0
+int string pinpad_sp_exception 0x0
+int string pinpad_start_up_pinpad_fail 0x0
+int string pinpad_thread_interrupted 0x0
+int string printer_pinpad_ongoing 0x0
+int string readcard_candidate_list_timeout 0x0
+int string readcard_downgrade_transaction 0x0
+int string readcard_error_params_apdu 0x0
+int string readcard_fail 0x0
+int string readcard_ic_fail 0x0
+int string readcard_interactive_fail 0x0
+int string readcard_nfc_fail 0x0
+int string readcard_timeout 0x0
+int string readcard_track123_error 0x0
+int string readcard_track12_error 0x0
+int string readcard_track13_error 0x0
+int string readcard_track1_error 0x0
+int string readcard_track23_error 0x0
+int string readcard_track2_error 0x0
+int string readcard_track3_error 0x0
+int string readcard_unknown_type 0x0
+int string security_bad_array_length 0x0
+int string security_check_value_error 0x0
+int string security_checkvalue_length_error 0x0
+int string security_decrypt_fail 0x0
+int string security_encrypt_fail 0x0
+int string security_gen_random_key_fail 0x0
+int string security_get_smstatus_fail 0x0
+int string security_index_no_key 0x0
+int string security_inject_bdk_error 0x0
+int string security_key_index_error 0x0
+int string security_key_len_error 0x0
+int string security_key_length_error 0x0
+int string security_key_not_saved 0x0
+int string security_key_partition_exhausted 0x0
+int string security_keyboard_exception 0x0
+int string security_mac_error 0x0
+int string security_mac_type_unsuppor 0x0
+int string security_pan_length_error 0x0
+int string security_pin_length_error 0x0
+int string security_save_fail 0x0
+int string security_save_pk_fail 0x0
+int string security_unsupported_transformation 0x0
+int string security_verify_apk_sign_fail 0x0
+int string security_verify_fail 0x0
+int string sp_base_eack_overflow 0x0
+int string sp_base_eack_param 0x0
+int string sp_base_ecmd_check 0x0
+int string sp_base_ecmd_nospace 0x0
+int string sp_base_ecmd_overflow 0x0
+int string sp_base_ecmd_param 0x0
+int string sp_base_ecmd_seq 0x0
+int string sp_base_ecmd_timeout 0x0
+int string sp_base_ecmd_unsupport 0x0
+int string sp_base_err_devicecode 0x0
+int string sp_base_error 0x0
+int string sp_base_error_e2big 0x0
+int string sp_base_error_eacces 0x0
+int string sp_base_error_eagain 0x0
+int string sp_base_error_ebadf 0x0
+int string sp_base_error_ebusy 0x0
+int string sp_base_error_echild 0x0
+int string sp_base_error_edom 0x0
+int string sp_base_error_eexist 0x0
+int string sp_base_error_efault 0x0
+int string sp_base_error_efbig 0x0
+int string sp_base_error_eintr 0x0
+int string sp_base_error_einval 0x0
+int string sp_base_error_eio 0x0
+int string sp_base_error_eisdir 0x0
+int string sp_base_error_emfile 0x0
+int string sp_base_error_emlink 0x0
+int string sp_base_error_enfile 0x0
+int string sp_base_error_enodev 0x0
+int string sp_base_error_enoent 0x0
+int string sp_base_error_enoexec 0x0
+int string sp_base_error_enomem 0x0
+int string sp_base_error_enospc 0x0
+int string sp_base_error_enotblk 0x0
+int string sp_base_error_enotconn 0x0
+int string sp_base_error_enotdir 0x0
+int string sp_base_error_enotty 0x0
+int string sp_base_error_enxio 0x0
+int string sp_base_error_eperm 0x0
+int string sp_base_error_epipe 0x0
+int string sp_base_error_erange 0x0
+int string sp_base_error_erofs 0x0
+int string sp_base_error_espipe 0x0
+int string sp_base_error_esrch 0x0
+int string sp_base_error_etxtbsy 0x0
+int string sp_base_error_exdev 0x0
+int string sp_base_error_setype 0x0
+int string sp_base_error_upgrade 0x0
+int string sp_base_liteso_eaccess 0x0
+int string sp_base_liteso_ecount 0x0
+int string sp_base_liteso_efinger 0x0
+int string sp_base_liteso_eflash 0x0
+int string sp_base_liteso_einfo 0x0
+int string sp_base_liteso_elitesolen 0x0
+int string sp_base_liteso_enodev 0x0
+int string sp_base_liteso_enotspace 0x0
+int string sp_base_liteso_everify 0x0
+int string sp_base_upgrade_cmd 0x0
+int string sp_base_upgrade_flash 0x0
+int string sp_base_upgrade_name 0x0
+int string sp_base_upgrade_size 0x0
+int string sp_base_upgrade_verify 0x0
+int string sp_bi_illegal_data_length 0x0
+int string sp_bi_input_param_error 0x0
+int string sp_bi_rsp_data_parse_error 0x0
+int string sp_busy 0x0
+int string sp_card_err_decode 0x0
+int string sp_card_err_nocard 0x0
+int string sp_card_err_param 0x0
+int string sp_closed 0x0
+int string sp_cls_err_block_type 0x0
+int string sp_cls_err_exceed_fsd 0x0
+int string sp_cls_err_iblock_atchain 0x0
+int string sp_cls_err_iblock_protocol 0x0
+int string sp_cls_err_iblock_sn 0x0
+int string sp_cls_err_idcard_guid 0x0
+int string sp_cls_err_msr_ic_interrupted 0x0
+int string sp_cls_err_mult 0x0
+int string sp_cls_err_protocol 0x0
+int string sp_cls_err_rblock_nak 0x0
+int string sp_cls_err_rblock_protocol 0x0
+int string sp_cls_err_rblock_sn 0x0
+int string sp_cls_err_sblock_nowtx 0x0
+int string sp_cls_err_sblock_protocol 0x0
+int string sp_cls_err_sblock_wtx 0x0
+int string sp_cls_err_user_cancel 0x0
+int string sp_cls_hal_err_cardexist 0x0
+int string sp_cls_hal_err_carrieroff 0x0
+int string sp_cls_hal_err_coll 0x0
+int string sp_cls_hal_err_core 0x0
+int string sp_cls_hal_err_crc 0x0
+int string sp_cls_hal_err_fifo 0x0
+int string sp_cls_hal_err_frame 0x0
+int string sp_cls_hal_err_m1auth 0x0
+int string sp_cls_hal_err_m1param 0x0
+int string sp_cls_hal_err_module 0x0
+int string sp_cls_hal_err_parity 0x0
+int string sp_cls_hal_err_powerdwn 0x0
+int string sp_cls_hal_err_prot 0x0
+int string sp_cls_hal_err_refuse 0x0
+int string sp_cls_hal_err_timeout 0x0
+int string sp_cls_typea_err_atqa 0x0
+int string sp_cls_typea_err_bcc 0x0
+int string sp_cls_typea_err_iso14443_4 0x0
+int string sp_cls_typea_err_number 0x0
+int string sp_cls_typea_err_t0 0x0
+int string sp_cls_typea_err_ta1 0x0
+int string sp_cls_typea_err_tb1 0x0
+int string sp_cls_typea_err_tc1 0x0
+int string sp_cls_typea_err_tl 0x0
+int string sp_cls_typea_err_uidtag 0x0
+int string sp_cls_typeb_err_atqb0 0x0
+int string sp_cls_typeb_err_cid 0x0
+int string sp_cls_typeb_err_hltb 0x0
+int string sp_cls_typeb_err_number 0x0
+int string sp_cls_typeb_err_ptype 0x0
+int string sp_dc_unsupported_cmd 0x0
+int string sp_dl_conn_failed 0x0
+int string sp_dl_copy_file_failed 0x0
+int string sp_dl_data_pkg_process_error 0x0
+int string sp_dl_data_pkg_timeout 0x0
+int string sp_dl_failed 0x0
+int string sp_dl_get_same_sdk_version 0x0
+int string sp_dl_get_wrong_sdk_version 0x0
+int string sp_dl_open_file_failed 0x0
+int string sp_dl_query_default_info_failed 0x0
+int string sp_dl_string_overlong 0x0
+int string sp_dl_success 0x0
+int string sp_dl_upgrade_canceled 0x0
+int string sp_dl_upgrading 0x0
+int string sp_dl_version_not_downgrade 0x0
+int string sp_emv_approve 0x0
+int string sp_emv_cvm_reenter_pin 0x0
+int string sp_emv_cvm_reenter_pin_last 0x0
+int string sp_emv_cvm_step_next 0x0
+int string sp_emv_declined 0x0
+int string sp_emv_endapplication 0x0
+int string sp_emv_final_select_data_error 0x0
+int string sp_emv_invalid_param 0x0
+int string sp_emv_no_data 0x0
+int string sp_emv_no_preparam 0x0
+int string sp_emv_ok_continue 0x0
+int string sp_emv_online_request 0x0
+int string sp_emv_param_data_error 0x0
+int string sp_emv_param_not_exist 0x0
+int string sp_emv_see_phone 0x0
+int string sp_emv_select_next_app 0x0
+int string sp_emv_sum_err 0x0
+int string sp_emv_try_again 0x0
+int string sp_emv_try_another_interface 0x0
+int string sp_emv_wave_goto_DRL 0x0
+int string sp_emv_wave_goto_second_tap 0x0
+int string sp_endapplication_app_block 0x0
+int string sp_endapplication_card_block 0x0
+int string sp_endapplication_card_expired 0x0
+int string sp_endapplication_clss_limit_exceed 0x0
+int string sp_endapplication_cmd_err 0x0
+int string sp_endapplication_cmd_rsp_err 0x0
+int string sp_endapplication_cmd_rsp_err_gpo 0x0
+int string sp_endapplication_cmd_swab_6985 0x0
+int string sp_endapplication_cmd_timeout 0x0
+int string sp_endapplication_data_duplicate 0x0
+int string sp_endapplication_data_err 0x0
+int string sp_endapplication_data_storage_read 0x0
+int string sp_endapplication_kernel_not_support 0x0
+int string sp_endapplication_l1_protocal_err 0x0
+int string sp_endapplication_l1_timeout_err 0x0
+int string sp_endapplication_l1_transmission_err 0x0
+int string sp_endapplication_l2_cam_fail 0x0
+int string sp_endapplication_l2_card_data_err 0x0
+int string sp_endapplication_l2_card_data_finalsel 0x0
+int string sp_endapplication_l2_card_data_missing 0x0
+int string sp_endapplication_l2_empty_cand_list 0x0
+int string sp_endapplication_l2_ids_data_errr 0x0
+int string sp_endapplication_l2_ids_no_match_ac 0x0
+int string sp_endapplication_l2_ids_read_err 0x0
+int string sp_endapplication_l2_ids_write_err 0x0
+int string sp_endapplication_l2_mag_not_support 0x0
+int string sp_endapplication_l2_max_limit_exceed 0x0
+int string sp_endapplication_l2_no_ppse 0x0
+int string sp_endapplication_l2_parsing_err 0x0
+int string sp_endapplication_l2_ppse_fault 0x0
+int string sp_endapplication_l2_status_byte 0x0
+int string sp_endapplication_l2_terminal_data_err 0x0
+int string sp_endapplication_l3_amount_not_present 0x0
+int string sp_endapplication_l3_no_det_data 0x0
+int string sp_endapplication_l3_stop 0x0
+int string sp_endapplication_l3_timeout 0x0
+int string sp_endapplication_no_scapp 0x0
+int string sp_endapplication_not_accept 0x0
+int string sp_endapplication_other_card 0x0
+int string sp_endapplication_other_card_withrecord 0x0
+int string sp_endapplication_represent_card 0x0
+int string sp_endapplication_represent_card_torn 0x0
+int string sp_endapplication_speedup_kernel_not_support 0x0
+int string sp_endapplication_tmapp_empty 0x0
+int string sp_endapplication_zero_amount 0x0
+int string sp_hce_err_nochange 0x0
+int string sp_hce_err_not_open 0x0
+int string sp_hce_err_not_support 0x0
+int string sp_hce_err_param 0x0
+int string sp_hce_err_status 0x0
+int string sp_hce_hal_err_module 0x0
+int string sp_hce_t2t_failure 0x0
+int string sp_hce_t4t_failure 0x0
+int string sp_initializing 0x0
+int string sp_kl_kernel_rebooted 0x0
+int string sp_lrc_error 0x0
+int string sp_mir_complete_trans_reselect_app 0x0
+int string sp_mir_complete_trans_with_empty 0x0
+int string sp_mir_complete_trans_with_odol 0x0
+int string sp_mir_data_exchange_deal 0x0
+int string sp_mir_read_record_trans_reselect_app 0x0
+int string sp_mir_two_present_card 0x0
+int string sp_param_count_length_err 0x0
+int string sp_pboc_log_data_err 0x0
+int string sp_pboc_no_log 0x0
+int string sp_pboc_no_log_fmt 0x0
+int string sp_philips_mifare_err_aes_decrypt_fail 0x0
+int string sp_philips_mifare_err_aes_encrypt_fail 0x0
+int string sp_philips_mifare_err_authe_fail 0x0
+int string sp_philips_mifare_err_authen 0x0
+int string sp_philips_mifare_err_cmac_calc_fail 0x0
+int string sp_philips_mifare_err_cmac_err 0x0
+int string sp_philips_mifare_err_comm 0x0
+int string sp_philips_mifare_err_invaild_param 0x0
+int string sp_philips_mifare_err_nack 0x0
+int string sp_philips_mifare_err_response 0x0
+int string sp_printer_buffer_overflow 0x0
+int string sp_printer_data_error 0x0
+int string sp_printer_device_no_open 0x0
+int string sp_printer_error 0x0
+int string sp_printer_function_not_supported 0x0
+int string sp_printer_invalid_parameter 0x0
+int string sp_printer_low_voltage 0x0
+int string sp_printer_no_paper 0x0
+int string sp_printer_no_platen 0x0
+int string sp_printer_not_supported 0x0
+int string sp_printer_over_temperature 0x0
+int string sp_rebooting 0x0
+int string sp_reconnecting 0x0
+int string sp_samsungpay_trans_success 0x0
+int string sp_sci_err_atr_data 0x0
+int string sp_sci_err_commu 0x0
+int string sp_sci_err_pps 0x0
+int string sp_sci_err_t0_param 0x0
+int string sp_sci_err_t0_prob 0x0
+int string sp_sci_err_t1_block 0x0
+int string sp_sci_err_t1_lrc 0x0
+int string sp_sci_err_t1_param 0x0
+int string sp_sec_err_alg_aes 0x0
+int string sp_sec_err_alg_des 0x0
+int string sp_sec_err_alg_ecc 0x0
+int string sp_sec_err_alg_hash 0x0
+int string sp_sec_err_alg_rsa 0x0
+int string sp_sec_err_alg_sm2 0x0
+int string sp_sec_err_alg_sm3 0x0
+int string sp_sec_err_alg_sm4 0x0
+int string sp_sec_err_algblock 0x0
+int string sp_sec_err_apkey_delete 0x0
+int string sp_sec_err_apkey_invalid 0x0
+int string sp_sec_err_apkey_lost 0x0
+int string sp_sec_err_apkey_open 0x0
+int string sp_sec_err_apkey_other 0x0
+int string sp_sec_err_apkey_read 0x0
+int string sp_sec_err_apkey_status 0x0
+int string sp_sec_err_apkey_timout 0x0
+int string sp_sec_err_apkey_verify 0x0
+int string sp_sec_err_apkey_write 0x0
+int string sp_sec_err_apkey_write_mode 0x0
+int string sp_sec_err_auth_reqtype 0x0
+int string sp_sec_err_base64_invaid 0x0
+int string sp_sec_err_buffer_size 0x0
+int string sp_sec_err_ca_err 0x0
+int string sp_sec_err_cmac 0x0
+int string sp_sec_err_cmac_enckey 0x0
+int string sp_sec_err_cmac_mackey 0x0
+int string sp_sec_err_data 0x0
+int string sp_sec_err_datalen 0x0
+int string sp_sec_err_dstkey_index 0x0
+int string sp_sec_err_dukpt_keytype 0x0
+int string sp_sec_err_dukpt_overflow 0x0
+int string sp_sec_err_explen 0x0
+int string sp_sec_err_group_index 0x0
+int string sp_sec_err_hash_no_match 0x0
+int string sp_sec_err_input_cancel 0x0
+int string sp_sec_err_kcv_fail 0x0
+int string sp_sec_err_kcv_mode 0x0
+int string sp_sec_err_kcv_odd 0x0
+int string sp_sec_err_key_invalid 0x0
+int string sp_sec_err_key_same 0x0
+int string sp_sec_err_key_usage 0x0
+int string sp_sec_err_keyattr_not_match 0x0
+int string sp_sec_err_keyfail 0x0
+int string sp_sec_err_keyindex 0x0
+int string sp_sec_err_keylen 0x0
+int string sp_sec_err_keytpye 0x0
+int string sp_sec_err_locked 0x0
+int string sp_sec_err_mode_of_key_use 0x0
+int string sp_sec_err_need_add_ksn 0x0
+int string sp_sec_err_newpwd 0x0
+int string sp_sec_err_no_auth 0x0
+int string sp_sec_err_no_match 0x0
+int string sp_sec_err_nokcv 0x0
+int string sp_sec_err_nopin 0x0
+int string sp_sec_err_not_support 0x0
+int string sp_sec_err_null_ptr 0x0
+int string sp_sec_err_overnum 0x0
+int string sp_sec_err_pan_timeout 0x0
+int string sp_sec_err_pin_timeout 0x0
+int string sp_sec_err_pos_pksk 0x0
+int string sp_sec_err_pos_pvk_recover 0x0
+int string sp_sec_err_pwd 0x0
+int string sp_sec_err_rand_no_match 0x0
+int string sp_sec_err_req_ssa 0x0
+int string sp_sec_err_small_interval 0x0
+int string sp_sec_err_srckey_index 0x0
+int string sp_sec_err_srckey_type 0x0
+int string sp_sec_err_tlv 0x0
+int string sp_sec_err_tr34_bound 0x0
+int string sp_sec_err_tr34_random_miss 0x0
+int string sp_sec_err_tr34_token_parse_faild 0x0
+int string sp_sec_err_tr34_unbind 0x0
+int string sp_sec_err_tr34_verify_faild 0x0
+int string sp_sec_err_wait_interval 0x0
+int string sp_sec_ret_ok 0x0
+int string sp_sec_ret_param_error 0x0
+int string sp_sec_rndkey_error 0x0
+int string sp_sec_rootkey_error 0x0
+int string sp_seq_unmatch 0x0
+int string sp_sleep 0x0
+int string sp_smc_hal_err_parity 0x0
+int string sp_smc_hal_err_step 0x0
+int string sp_smc_hal_err_timeout 0x0
+int string sp_smc_sync_address_overflow 0x0
+int string sp_smc_sync_device_not_open 0x0
+int string sp_smc_sync_error_channel 0x0
+int string sp_smc_sync_invalid_operation 0x0
+int string sp_smc_sync_invalid_pointer 0x0
+int string sp_smc_sync_invalid_reset 0x0
+int string sp_smc_sync_invalid_value 0x0
+int string sp_smc_sync_nack 0x0
+int string sp_smc_sync_no_card 0x0
+int string sp_smc_sync_no_power 0x0
+int string sp_smc_sync_verify_psc_error 0x0
+int string sp_success 0x0
+int string sp_sys_err_buflen 0x0
+int string sp_sys_err_hard 0x0
+int string sp_sys_err_illegalday 0x0
+int string sp_sys_err_illegalhour 0x0
+int string sp_sys_err_illegalmin 0x0
+int string sp_sys_err_illegalmonth 0x0
+int string sp_sys_err_illegalsec 0x0
+int string sp_sys_err_illegalyear 0x0
+int string sp_sys_err_initfail 0x0
+int string sp_sys_err_nosupport 0x0
+int string sp_sys_err_param 0x0
+int string sp_tax_err_read 0x0
+int string sp_tax_err_write 0x0
+int string sp_timeout 0x0
+int string sp_try_another_interface_preproc 0x0
+int string sp_unknown 0x0
+int string unknown 0x0
diff --git a/app/libs/classes.jar b/app/libs/classes.jar
new file mode 100644
index 0000000..8f618bd
Binary files /dev/null and b/app/libs/classes.jar differ
diff --git a/app/libs/res/values-es-rMX/values-es-rMX.xml b/app/libs/res/values-es-rMX/values-es-rMX.xml
new file mode 100644
index 0000000..6ad3318
--- /dev/null
+++ b/app/libs/res/values-es-rMX/values-es-rMX.xml
@@ -0,0 +1,468 @@
+
+
+ No apoyo del MM, sin chip de GM
+ error de parámetro Algoritmo
+ chips Nacional no respondió
+ la recepción de chips Nacional falló
+ Error al copiar el archivo
+ Error al eliminar el archivo
+ Falló la verificación del archivo
+ seleccione error de índice de aplicaciones
+ Compruebe error de tarjeta, cardinfo es nulo
+ Certificación verificar errores
+ Verificar la información de la tarjeta ha fallado o tiempo de espera.
+ de error de intercambio de datos
+ El intercambio de datos de tiempo de espera
+ No hay AID emparejado en la base de datos.
+ No hay CAPK emparejado en la base de datos.
+ Operar error de base de datos.
+ Error con la base de datos de parámetros guardar terminal.
+ de error de selección final
+ Final de selección de tiempo de espera
+ El proceso EMV no está terminado y no se puede realizar la próxima vez.
+ Kernel excepción proceso
+ datos de procesamiento de transacciones está vacía.
+ Teclado excepción de inicialización, coordinar teclado pasado parámetro es nulo.
+ error de proceso Nfc CVM
+ error de proceso en línea
+ Error de datos de PAN
+ PIN cancelar
+ PIN de error
+ La devolución de llamada PINPAD está vacía.
+ preproceso transacción ha fallado.
+ error en la firma
+ tiempo de espera de la gestión del riesgo de terminales
+ La secuencia de llamada a la función falló.
+ fallos en los procesos de transacción
+ proceso de la transacción falló y no se admite el tipo de transacción.
+ error Transdata
+ Desconocido Tipo de CVM
+ No hay ningún dispositivo buscado
+ Firmware fallado la actualización
+ validación firmware falló
+ I2C recibir los datos de tiempo de espera
+ datos I2C enviar fallaron
+ Param error
+ Función no soportada
+ longitud de la clave pública no coincide
+ función de llamada repetida
+ El hilo fue abortado
+ actualización de firmware
+ Llamada no autorizada a SPHS
+ Requerir el permiso para el LED.
+ Requiere permiso para ser PINPAD.
+ Requiere permiso para ser CONTACTLESS_CARD.
+ Requerir el permiso para que la CPI.
+ Requiere permiso para ser MSR.
+ Requerir el permiso para la seguridad.
+ el fracaso de entrada de PIN, la longitud máxima Over
+ tiempo de espera de entrada de PIN
+ error pinPadType
+ PIN de entrada, devolución bloque de pins falló
+ error de proceso SP
+ Inicio PINpad falló
+ El hilo de consulta de estado PIN se aborta.
+ PinPad en curso
+ Crear una lista de candidatos de tiempo de espera.
+ Esta tarjeta es tarjeta de chip, no puede degradar transacción.
+ parámetros de interacción de error de datos de la tarjeta.
+ Lea el fallo de la tarjeta
+ insuficiencia IC tarjeta de cheques
+ La interacción de los datos de la tarjeta no
+ el fracaso de la NFC tarjeta de cheques
+ tiempo de espera de lectura de tarjetas
+ Seguir 1,2,3 error
+ Seguir 1,2 error
+ Seguir 1,3 error
+ La pista 1 error
+ Realizar un seguimiento de 2,3 error
+ La pista 2 error
+ Pista 3 error
+ Desconocido tipo de tarjeta
+ Echo error longitud de la matriz.
+ error de valor de comprobación
+ error de longitud de valor de comprobación
+ descifrado de clave no realizada
+ Cifrar el fracaso
+ la generación de claves al azar falló.
+ No se ha podido obtener el código de mensaje de alarma.
+ Especifica que no existe la clave del índice cifrado.
+ Inyectar error BDK
+ Error de índice clave.
+ error Longitud de la clave
+ error Longitud de la clave
+ partición clave agotado
+ Teclado excepción de inicialización.
+ Mac no aritmética
+ El tipo de algoritmo MAC que no es compatible.
+ error de longitud PAN
+ error de longitud PIN
+ Error al guardar
+ Guardar el fracaso PUK
+ transformación sin apoyo
+ Verificar el fracaso señal de APK
+ Verificar el fracaso signo
+ Desbordamiento de datos SP ACK
+ Error de parámetro del paquete de respuesta ACK
+ Error de verificación del paquete CMD, sin campo de información
+ El búfer de recepción del SP está lleno, no hay campo de información
+ Desbordamiento de la longitud de los datos del paquete CMD
+ Error de parámetro de paquete CMD
+ Error de secuencia de paquetes CMD
+ SP recibe tiempo de espera de datos, sin campo de información
+ Paquete CMD no admitido
+ Obtener error de código de dispositivo
+ Inicio de error BASE
+ Lista de argumentos demasiado larga
+ Permiso denegado
+ Intentar otra vez
+ Número de archivo incorrecto
+ Dispositivo o recurso ocupado
+ Sin procesos secundarios
+ Argumento matemático fuera del dominio de la función
+ El archivo existe
+ dirección inválida
+ Archivo demasiado grande
+ Llamada al sistema interrumpida
+ Argumento no válido
+ Error de E / S
+ Es un directorio
+ Demasiados archivos abiertos
+ Demasiados enlaces
+ Desbordamiento de la tabla de archivos
+ Hay tal dispositivo
+ El fichero o directorio no existe
+ Error de formato de ejecución
+ Sin memoria
+ no queda espacio en el dispositivo
+ Bloquear dispositivo requerido
+ Comunicación no conectada
+ No es un directorio
+ No una maquina de escribir
+ No existe tal dispositivo o dirección
+ operación no permitida
+ Tuberia rota
+ Resultado matemático no representable
+ Búsqueda ilegal
+ Sistema de archivos de sólo lectura
+ No hay tal proceso
+ Archivo de texto ocupado
+ Enlace entre dispositivos
+ Error de tipo de chip SE
+ Error al actualizar el firmware
+ LITESO no tiene derecho a acceder al archivo
+ La cantidad de LITESO instalado excede el valor máximo del sistema
+ Error de huella dactilar de LITESO
+ Error de flash de escritura de LITESO
+ Error de información de LITESO
+ Error de longitud de LITESO
+ LITES no existen
+ No hay suficiente espacio para LITESO
+ Error de firma LITESO
+ Error de CMD de actualización de firmware
+ Error de flash de acceso a la actualización de firmware
+ Error de nombre de inicio de firmware
+ El tamaño del firmware supera el diseñado
+ La verificación de la firma del firmware falló
+ El área de datos de paquetes respuesta es ilegal
+ error de parámetro de entrada
+ Un error de análisis de datos paquete de respuesta
+ SP está ocupado
+ decodificación de datos de tarjetas magnéticas
+ No hay ninguna tarjeta
+ Param error
+ puerto serie está cerrada
+ Bloquear tipo de error de codificación
+ La tarjeta envía datos a través de FSD
+ PICC utiliza el bloque-I para responder al bloque de enlace
+ Block-I en error PCB o subsiguiente error longitud de datos
+ El SN recibido con bloque-I es incorrecta
+ Leer error de GUID de la tarjeta de identificación
+ MSR o IC interrumpido
+ multi-tarjeta
+ Los tiempos de reintento en el caso correcto han alcanzado el límite superior
+ PICC responden al bloque-NAK
+ Block-R en error PCB o subsiguiente error longitud de datos
+ El SN con recibido bloque-R es incorrecta
+ El bloque-S enviada por PICC no es solicitada por S-WTX
+ Block-S en error PCB o subsiguiente error longitud de datos
+ El requisito de error PARAM WTX (= 0)
+ Usuario cancelado
+ La tarjeta es existir
+ portadora sin abrir
+ conflicto de comunicación
+ Conduce error núcleo estructura de datos
+ error de comprobación de CRC en la comunicación
+ operación FIFO interna falló
+ Comunicación de errores de trama
+ La contraseña de error de autenticación Mifare
+ La tarjeta (Mifare) parámetro de autenticación es incorrecta
+ Módulo detectar fallidos
+ Error en el carácter de comunicación
+ módulo desenchufado
+ La señal en la comunicación no va de acuerdo con el acuerdo
+ Orden de rechazo de la tarjeta
+ desbordamiento de la comunicación
+ El primer carácter del comando WUPA / REQA (tipo A) es ilegal
+ comprobación del número de la tarjeta y el error de comunicación de la tarjeta de tipo A
+ El tipo–A no soporta iso14443–4, el proceso de activación se aborta
+ El número de datos de tipo A respuesta comunicación de la tarjeta no coincide con el esperado
+ El T0 bytes de la ATS (tipo-A) son ilegales
+ La TA1 bytes de la ATS (tipo-A) son ilegales
+ El TB1 bytes de la ATS (tipo-A) son ilegales
+ El TC1 bytes de la ATS (tipo-A) son ilegales
+ El TL bytes de la ATS (tipo A) son ilegales
+ El primer error carácter del número de la tarjeta de comunicación de la tarjeta de tipo A
+ El primer carácter del comando WUPA / REQA (tipo B) no es 0x50
+ El código de canal es diferente del conjunto en el comando ATTRIB (tipo-B)
+ Los bytes de respuesta del comando HLTB (tipo-B) no es 0x00
+ El número de tipo B respuesta comunicación de la tarjeta de datos no coincide con el esperado
+ El cuarto de los bytes de tipo de protocolo en ATQB no es 0
+ comandos no admitidos
+ SP fallo de conexión
+ No se pudo leer el paquete de archivos
+ error de proceso de paquetes
+ paquete de datos de tiempo de espera
+ Error de actualización
+ La versión es coherente con la versión de destino
+ La versión SDK no está disponible
+ No se ha podido abrir el archivo de actualización
+ información predeterminada consulta falló
+ La cadena de actualización es demasiado largo
+ Actualizar correctamente
+ actualización cancelado
+ SP es la actualización
+ La versión del firmware no permite una rebaja
+ transacción aprobada
+ Por favor re-entrada de PIN
+ Por favor entrada PIN nuevo (La última vez)
+ Por favor, seguir haciendo CVM
+ transacción se negó
+ transacción interrumpida
+ seleccione los datos finales de error
+ Parametro invalido
+ EMV hay datos
+ Lista de parámetros de preproceso está vacía
+ Ejecutar correctamente, y seguir haciendo el siguiente paso
+ Realizar la operación en línea
+ Error en los datos de parámetros de terminales
+ no existen datos de parámetros de terminales
+ Ver teléfono
+ Por favor seleccione la aplicación siguiente
+ código de comprobación de errores al descargar PUK
+ Por favor relugar de la tarjeta
+ Por favor, use otras interfaces
+ Ir a Paywave DRL
+ Intentar otra vez
+ Trans terminado (App está bloqueado)
+ Trans terminado (tarjeta está bloqueado)
+ Trans terminado (tarjeta de expirado)
+ Exceda el límite sin contacto
+ Trans terminado (comando Enviar o recibir tiempo de espera)
+ Trans terminado (estado de error de código)
+ Trans terminado (error de respuesta GPO)
+ Trans terminado (Comando reciben tiempo de espera)
+ Trans terminado (Comando reciben tiempo de espera)
+ Trans terminado (La repetición carta regresa elemento de datos)
+ Trans terminado (los datos de la tarjeta devuelve error)
+ Almacenamiento de datos de lectura
+ Kernel de tipo no ayuda
+ Trans terminado (error de protocolo L1)
+ Trans terminado (L1 leer tiempo de espera de la tarjeta)
+ Trans terminado (error de transmisión L1)
+ Trans terminado (L2 fallo de la tarjeta de autenticación (Offline fracaso auth de datos))
+ Trans terminado (error datos de la tarjeta L2)
+ Trans terminado (error de datos de selección de tarjeta final L2)
+ Trans terminado (datos de la tarjeta L2 que falta)
+ Trans terminado (L2 lista de candidatos está vacío)
+ Trans terminado (L2 IDS error de datos)
+ Trans terminado (L2 IDS no AC partido)
+ Trans terminado (L2 IDS leer error)
+ Trans terminado (L2 IDS error de escritura)
+ Trans terminado (L2 no soporta el modo magnético)
+ Trans terminado (cantidad L2 trans exceda el límite máximo sin contacto)
+ Trans terminado (tarjeta L2 no PPSE)
+ Trans terminado (insuficiencia de datos de análisis sintáctico L2)
+ Trans terminado (L2 PPSE error de proceso)
+ Trans terminado (error byte de estado L2)
+ Trans terminado (error de datos de terminal L2)
+ Trans terminado (no cantidad L3 transacción presente)
+ Trans terminado (L3 no DET datos)
+ Trans terminado (L3 parada)
+ Trans terminado (L3 tiempo de espera)
+ Trans terminado (terminales y tarjetas tienen aplicación sin soporte común)
+ Trans terminado (Transacciones no se aceptan)
+ Trans terminado (Use otra tarjeta)
+ Trans terminado (Use otra tarjeta (con registro de datos))
+ Trans terminado (Representar tarjeta)
+ Debido al parpadeo de las tarjetas, por favor, vuelva a tocar su tarjeta
+ No Tipo de aceleración compatibilidad con el núcleo
+ Trans terminado (Terminal no tienen app)
+ importe cero
+ Los datos del NDEF de HCE no han cambiad
+ El módulo HCE no está abierto
+ Función HCE no compatible
+ Error de parámetro HCE
+ Error de estado de HCE
+ Error al inicializar el módulo HCE
+ La operación HCE t2t falló
+ La operación HCE t4t falló
+ SP se está inicializando
+ El núcleo se ha reiniciado
+ LRC no pudo verificar
+ comando completo después de la aplicación Reselect
+ comando completo con vacío
+ comando completo con ODOL
+ acuerdo de intercambio de datos
+ leer comando de grabación después de la aplicación Reselect
+ Dos actual tarjeta
+ Número de argumentos o errores de longitud
+ Error de datos de registro de trans
+ registro de trans no es existir
+ Banco Popular de China hay un formato de registro
+ El descifrado de Mifare Plus AES falló
+ Falló el cifrado AES de Mifare Plus
+ La autenticación de la tarjeta Mifare falló
+ La tarjeta Mifare no autentica la contraseña
+ Mifare Plus calcula el error CMAC
+ Error de Mifare Plus CMAC
+ Número esperado de tamaño de datos de respuesta de tarjeta Mifare
+ Parámetro de tarjeta Mifare ilegal
+ Tarjeta Mifare rechazar CMD
+ Error de datos de respuesta de la tarjeta Mifare
+ Imprimir desbordamiento de búfer
+ Error de datos
+ El dispositivo no está abierta o el funcionamiento del dispositivo es anormal
+ Error
+ Función de impresora no compatible
+ Parametro invalido
+ baja tensión de la batería
+ sin papeles
+ Impresora sin platina
+ La impresora no admite
+ Exceso de temperatura
+ SP está reiniciando
+ SP es reconexión
+ SamsungPay éxito trans
+ error ATR
+ Error de comunicación
+ Error de PPSr
+ Error de parámetro T0
+ Error de byte de sonda T0
+ Error de número de bloque T1
+ Error T1 LRC
+ Error de parámetro T1
+ AES algoritmo de excepción
+ Des excepción algoritmo
+ Error de algoritmo ECC
+ hash de algoritmo de excepción
+ RSA algoritmo de excepción
+ SM2 excepción algoritmo
+ SM3 excepción algoritmo
+ SM4 excepción algoritmo
+ de error de bloque Algoritmo
+ Error al eliminar el archivo de clave AP
+ Clave AP no válida
+ Clave AP perdida
+ Error al abrir la clave AP
+ Otro error de clave AP
+ Error de lectura de clave AP
+ Error de autocomprobación de la clave AP
+ Tiempo de espera de acceso a la clave AP
+ Error de verificación de clave AP
+ Error de escritura de clave AP
+ El modo de escritura de la tecla AP no es compatible
+ Error de tipo de solicitud de autenticación
+ Los datos de entrada para la decodificación o codificación Base64 contienen caracteres no válidos
+ Buffer demasiado pequeño
+ El certificado de CA no existe o se produce un error de análisis
+ error algoritmo CMAC
+ TR31 clave distribuir error de clave de cifrado
+ TR31 clave distribuir error de clave MAC
+ Lectura de archivos de seguridad y el error de escritura
+ Error de longitud de datos
+ Error de índice tecla de destino
+ error de tipo clave DUKPT
+ desbordamiento DUKPT
+ Key error de longitud de índice
+ Error de índice del grupo
+ Hash no coincide
+ introducción del número PIN cancelar
+ KCV verificar errores
+ Error del modo KCV
+ KCV ODD verificar errores
+ no válido clave
+ Existe la misma clave
+ Trate de usar este fuera clave de la clave\'s \'de uso\'
+ El atributo de clave func no coincide
+ Clave verificar errores
+ Error de índice clave
+ error Longitud de la clave
+ error de tipo llave
+ El sistema de seguridad está bloqueado
+ El uso de la clave es incorrecta, como descifrar los datos con una clave que se limitan a la encriptación
+ DUKPT KSN que añadir 1
+ No conjunto nueva contraseña
+ No autorizado
+ Ninguna tecla partido
+ sin KCV
+ entrada sin PIN
+ La función aún no es compatible
+ Puntero nulo
+ Veces exceden límite
+ tiempo de espera de PAN
+ tiempo de espera de entrada de PIN
+ POS excepción de clave pública
+ Error de recuperación de clave privada del dispositivo
+ Error de contraseña
+ Número aleatorio no coincide
+ Solicitud de servicios sensibles
+ El intervalo de entrada de PIN es demasiado corto
+ Error de índice clave de origen
+ Fuente error de tipo llave
+ Error en el parámetro tlv
+ TR34 ya atado, incapaz de volver a enlazar
+ Fallo aleatorio TR34
+ Falló el análisis del token TR34
+ TR34 desvincular
+ Error en la verificación del token TR34
+ PIN / PAN anti-agotar
+ Éxito
+ Param error
+ Error de tecla RND
+ error clave raíz
+ Fuera de sincronía
+ SP se ha hibernado
+ Error de verificación
+ El módulo no tiene poder
+ desbordamiento de la comunicación
+ dirección desbordamiento
+ El dispositivo no abierto
+ error de canal
+ Operación inválida
+ puntero no válido
+ Restablecer inválida
+ valor no válido
+ Nack
+ Sin tarjeta
+ Ninguna energía
+ Verificar errores PSC
+ Éxito
+ error de longitud Buf
+ Fallo de hardware
+ de error de fecha y hora del sistema
+ error hora hora del sistema
+ Error minutos de tiempo del sistema
+ Error meses hora del sistema
+ segundo error hora del sistema
+ Error años hora del sistema
+ insuficiencia initialize
+ La función no ayuda
+ error de parametro
+ Leer datos fiscales fallaron
+ Escribir datos fiscales fallaron
+ Se acabó el tiempo
+ Utilice otra interfaz (fallo de preproceso)
+ Error desconocido
+ Error desconocido
+
\ No newline at end of file
diff --git a/app/libs/res/values-ja-rJP/values-ja-rJP.xml b/app/libs/res/values-ja-rJP/values-ja-rJP.xml
new file mode 100644
index 0000000..ffdacfd
--- /dev/null
+++ b/app/libs/res/values-ja-rJP/values-ja-rJP.xml
@@ -0,0 +1,468 @@
+
+
+ ステート秘密をサポートしていません(ステート秘密チップなし)
+ アルゴリズムパラメータエラー
+ ステート秘密チップの応答に失敗
+ ステート秘密チップの受信に失敗
+ ファイルコピーエラー
+ ファイル削除エラー
+ ファイルの検証に失敗しました
+ アプリケーション選択インデックスエラー
+ カードチェックエラー、CardInfoがnull
+ ID認証エラー
+ カード番号情報の確認に失敗、またはタイムアウト
+ データ交換エラー
+ データ交換タイムアウト
+ データベースにはマッチするAIDがありません
+ データベースにはマッチするCAPKがありません
+ データベース操作エラー
+ データベース保存端末のパラメータエラー
+ 最終選択エラー
+ 最終選択タイムアウト
+ EMVプロセスが終了しておらず、次の操作を実行できません
+ カーネル処理異常
+ トランザクション処理データを空にする
+ キーボードの初期化が異常であり、渡されたキーボード座標パラメーターがNull
+ 接続されていないカードCVMの処理エラー
+ オンライン処理エラー
+ PANデータエラー
+ PINキャンセル
+ PINエラー
+ PINPADを空にコールバック
+ トランザクションの前処理に失敗
+ 署名エラー
+ 端末リスク管理タイムアウト
+ 関数コールシーケンスに失敗しました
+ トランザクション処理に失敗
+ トランザクション処理が失敗し、トランザクションタイプはサポートされていません
+ transdata不正
+ 不明なCVMタイプ
+ デバイスが見つかりません
+ ファームウェアアップデートに失敗
+ ファームウェアチェックに失敗
+ I 2 Cデータ受信に失敗
+ I 2 Cデータ送信に失敗
+ パラメータエラー
+ 機能がサポートされていません
+ 公開キーの長さが一致しません
+ 繰り返しコール
+ スレッドは異常に中断される
+ ファームウェアアップグレード中
+ SPHSへの不正な通話
+ LED権限がありません
+ PINPAD権限がありません
+ CONTACTLESS_CARD権限がありません
+ ICC権限がありません
+ MSR権限がありません
+ SECURITY権限がありません
+ PINの入力に失敗し、最大許容長さを超える
+ PINの入力タイムアウト
+ pinPadType pinPadTypeタイプエラー(着信キーボードタイプが1と2でない場合はエラーに戻る)
+ PINを入力して、PinBlockを返却できません
+ SP処理エラー
+ パスワードキーボードを起動できません
+ PIN状態スレッドのクエリーは異常に中断される
+ PIN入力中
+ 候補リスト作成がタイムアウト
+ このカードはチップカードであり、ダウングレード取引はできません
+ カードデータインタラクティブパラメータエラー
+ カードの読み取りに失敗
+ ICカードチェックに失敗
+ カードデータインタラクションに失敗
+ NFCカードチェックに失敗
+ カード読み取りのタイムアウト
+ 一、二、三磁気エラー
+ 一、二磁気エラー
+ 一、三磁気エラー
+ 一磁気エラー
+ 二、三磁気エラー
+ 二磁気エラー
+ 三磁気エラー
+ 不明なカードタイプ
+ フィードバック配列長さエラー
+ checkValueは通過しません
+ checkValue長さエラー
+ キーの復号に失敗
+ 暗号化に失敗
+ ランダムキーの生成に失敗
+ アラーム情報コードの取得に失敗
+ 指定された暗号化インデックスキーは存在しません
+ BDK注入エラー
+ キーインデックスの位置エラー
+ キーの長さエラー
+ キー長さエラー
+ キーのパーティションはすでに使用済みである
+ キーボードの初期化異常
+ Macの計算に失敗
+ サポートされていないMACアルゴリズムタイプ
+ PAN長さエラー
+ PIN長さエラー
+ 保存に失敗
+ 公開キーの保存に失敗
+ transformationはサポートされていません
+ APK署名の検証に失敗
+ 検証に失敗
+ SPACKデータオーバーフロー
+ ACK応答パケットパラメータエラー
+ CMDパッケージ検証エラー、情報フィールドなし
+ SP受信バッファがいっぱいです。情報フィールドがありません
+ CMDパケットデータ長オーバーフロー
+ CMDパケットパラメータエラー
+ CMDパケットシーケンスエラー
+ SP受信データタイムアウト、情報フィールドなし
+ サポートされていないCMDパケット
+ デバイスコードエラーを取得する
+ BASEエラー開始
+ 引数リストが長すぎます
+ アクセス拒否
+ 再試行
+ 不正なファイル番号
+ デバイスまたはリソースがビジー
+ 子プロセスはありません
+ 関数の定義域外の数学引数
+ ファイルが存在しています
+ 無効なアドレス
+ フィアルは大きすぎる
+ 中断されたシステムコール
+ 無効な引数
+ I / Oエラー
+ ディレクトリです
+ 開いているファイルが多すぎます
+ リンクが多すぎます
+ ファイルテーブルのオーバーフロー
+ そのようなデバイスはありません
+ そのようなファイル、又はディレクトリはありません
+ Execフォーマットエラー
+ メモリ不足
+ デバイスにスペースが残っていません
+ 必要なブロックデバイス
+ 通信が接続されていません
+ ディレクトリではありません
+ タイプライターではありません
+ そのようなデバイスやアドレスはありません
+ 操作は許可されていません
+ 壊れたパイプ
+ 数学の結果は表現できません
+ 違法なシーク
+ 読み取り専用ファイルシステム
+ そのようなプロセスはありません
+ テキストファイルがビジー
+ クロスデバイスリンク
+ SEチップタイプエラー
+ ファームウェアの更新に失敗しました
+ LITESO ファイルにアクセスする権限がありません
+ インストールされている LITESO の量がシステムの最大値を超えています
+ LITESOの指紋エラー
+ LITESO書き込みフラッシュエラー
+ LITESO情報エラー
+ LITESOの長さエラー
+ LITESは存在しません
+ LITESOには十分なスペースがありません
+ LITESO署名エラー
+ ファームウェアアップデートCMDエラー
+ ファームウェアアップデートアクセスフラッシュエラー
+ ファームウェアのブート名エラー
+ ファームウェアサイズが設計を超えています
+ ファームウェアの署名の検証に失敗しました
+ 応答パケットデータエリア長さが不正
+ 入力パラメータエラー
+ 応答パケットデータの解析エラー
+ SPビジー中
+ 磁気カードデータ復号中
+ カードなし
+ パラメータエラー
+ シリアルポートオフ
+ ブロックタイプコーディングエラー
+ カードの返送データはFSDを超える
+ PICCはIつのリンクブロックを使用する
+ IブロックPCBエラーまたは後続データ長さエラー
+ 受信したIブロックシーケンス番号が正しくありません
+ IDカードのGUIDエラーの読み取り
+ MSRまたはICが中断されました
+ カードマルチ
+ 受信が正しい場合、再送信回数が制限される
+ PICCはNAKブロックに応答する
+ RブロックPCBエラーまたは後続のデータ長さエラー
+ 受信したRブロックシーケンス番号が正しくありません
+ PICCによって送信されたSブロックはS-WTXリクエストではありません
+ SブロックPCBエラーまたは後続のデータ長さエラー
+ 要求されたWTRXパラメータエラー(=0)
+ ユーザーがキャンセルしました
+ カードが存在する
+ キャリアがオンになっていません
+ 通信コンフリクト
+ ドライブのコアデータ構造エラー
+ 通信中のCRCチェックエラー
+ 内部FIFOの操作に失敗
+ 通信フレームエラー
+ カード(Mifare)パスワード認証エラー
+ カード(Mifare)認証パラメーターが正しくありません
+ モジュールの検出に失敗
+ 通信文字のチェックエラー
+ モジュールの電源が入っていません
+ 通信中の信号がプロトコルに準拠していません
+ カードがコマンドを拒否しました
+ 通信タイムアウト
+ Aカード通信応答WUPA / REQAコマンドの最初の文字が不正
+ Aカード通信応答のカード番号チェックエラー
+ AカードはISO14443–4をサポートしていません。アクティベーション プロセスは中止されました
+ Aカードの通信応答のデータ数は期待通りではない
+ Aカード通信応答のATSのT0バイトが不正
+ Aカード通信応答のATSのTA1バイトが不正
+ Aカード通信応答のATSのTB1バイトが不正
+ Aカード通信応答のATSのTC1バイトが不正
+ Aカード通信応答のATSのTLバイトが不正
+ Aカードの通信応答のカード番号の1文字目エラー
+ Bカード通信応答WUPB / REQBコマンドの最初の文字が0x50ではありません
+ Bカード通信応答ATTRIBコマンドでチャネルコードとセットが異なる
+ Bカード通信応答HLTBコマンド応答が0x00エラーではありません
+ Bカードの通信応答のデータ数は期待通りではない
+ ATQBのプロトコルタイプバイトの4番目のビットが0ではありません
+ サポートされていないコマンド
+ SPに接続できません
+ ファイルパッケージの読み取りに失敗
+ パケット処理エラー
+ パケットタイムアウト
+ アップグレードに失敗
+ バージョン番号は目標のアップグレードバージョンと一致する
+ 本機のsdkバージョン番号は取得されません
+ アップグレードファイルを開けません
+ デフォルトメッセージの問合せに失敗
+ アップグレードされた文字列は長すぎる
+ アップグレードに成功
+ アップデートがキャンセルされる
+ SPはアップグレードしている
+ ファームウェアバージョンはダウングレードできません
+ トランザクションの承認
+ PINを再入力してください
+ PINを再入力してください(最後の回)
+ CVM処理を続けてください
+ トランザクションの拒否
+ トランザクションの終了
+ 最終選択データエラー
+ 無効なパラメーター
+ EMVデータが存在しません
+ 前処理パラメータのリストが空
+ 正しく実行し、次のステップへ進む
+ オンライン操作を実行
+ 端末パラメータデータエラー
+ 端末パラメータデータが存在しません
+ 携帯を調べる
+ 次のアプリケーションを選択してください
+ 公開キーのダウンロード時のチェックサムコードエラー
+ カードショットをもう一度してください
+ ほかのインターフェースを使ってください
+ PayWave DRLに行く
+ 再試行する
+ トランザクション終了(アプリケーションがロックされている)
+ トランザクション終了(カードがロックされている)
+ トランザクション終了(カードの期限切れ)
+ 接続されていない制限を超える
+ トランザクション終了(コマンド送信受信エラー)
+ トランザクション終了(状態コードエラー)
+ トランザクション終了(GPO応答エラー)
+ トランザクション終了(コマンド受信タイムアウト)
+ トランザクション終了(コマンド送信タイムアウト)
+ トランザクション終了(カードはデータ元に戻り重複)
+ トランザクション終了(カード返却データエラー)
+ 読み取りデータ保存
+ カーネルタイプはサポートされていません
+ トランザクション終了(L 1プロトコルエラー)
+ トランザクション終了(L 1カードの読み取りタイムアウト)
+ トランザクション終了(L 1送信エラー)
+ トランザクション終了(L 2カード認証失敗(オフラインデータ認証失敗))
+ トランザクション終了(L 2カードデータエラー)
+ トランザクション終了(最終的な選択カードのデータエラー)
+ トランザクション終了(L 2必須データエラー)
+ トランザクション終了(L 2候補リストは空)
+ トランザクション終了(L 2 IDSデータエラー)
+ トランザクション終了(L 2 IDSにマッチするACなし)
+ トランザクション終了(L 2 IDS読み取りエラー)
+ トランザクション終了(L 2 IDS書き込みエラー)
+ トランザクション終了(L 2は磁気ストライプモードをサポートしていません)
+ トランザクション終了(L 2トランザクション金額が非トランザクション限度額を超える)
+ トランザクション終了(L 2カードにPPSEはない)
+ トランザクション終了(L 2データ解析失敗)
+ トランザクション終了(L 2 PPSE処理エラー)
+ トランザクション終了(L 2状態ワードエラー)
+ トランザクション終了(L2端末データエラー)
+ トランザクション終了(L3トランザクション金額は存在しません)
+ トランザクション終了(L3にはDETデータがありません)
+ トランザクション終了(L3キャンセル)
+ トランザクション終了(L3タイムアウト)
+ トランザクション終了(端末とカードに共通のサポートアプリケーションがない)
+ トランザクション終了(トランザクションは受信されません)
+ トランザクション終了(ほかのカードを使用)
+ トランザクション終了(ほかのカードの使用(Data Record付き))
+ トランザクション終了(カードの再提示)
+ カードが点滅しているため、カードを再度タップしてください
+ 接続されていない高速化プロセスはカーネルをサポートしていません
+ トランザクション終了(端末にアプリケーションなし)
+ 金額は0
+ HCE NDEFデータは変更なし
+ HCE モジュールが開いていません
+ HCE機能はサポートされていません
+ HCE パラメータ エラー
+ HCE ステータス エラー
+ HCE モジュールの初期化に失敗しました
+ HCE t2t操作に失敗しました
+ HCE t4t 操作に失敗しました
+ SP初期化中
+ カーネルがすでに再起動される
+ LRCチェックエラー
+ コンビネーションアプリケーションを再選択して、完了コマンドを送信する
+ 空データを使用するコマンドを完了する
+ ODOLデータを使用するコマンドを完了する
+ データ交換処理
+ コンビネーションアプリケーションを選択して、記録読み込みコマンドを送信する
+ セカンドカードショット
+ パラメータ個数または長さエラー
+ トランザクションログデータエラー
+ トランザクションログは存在しません
+ PBOC PBOC LOG形式が存在しません
+ Mifare Plus AES復号化に失敗しました
+ Mifare Plus AES暗号化に失敗しました
+ Mifareカードの認証に失敗しました
+ Mifareカードがパスワードを認証しない
+ MifarePlusはCMACエラーを計算します
+ Mifare PlusCMACエラー
+ Mifareカードの応答データサイズが予期されていない数
+ Mifareカードパラメータが違法
+ MifareカードはCMDを拒否します
+ Mifareカードの応答データエラー
+ 印刷バッファオーバーフロー
+ データエラー
+ デバイスの電源が入っていないか、デバイスが異常に動作している
+ エラー
+ プリンター機能はサポートされていません
+ パラメータが無効
+ 低バッテリー電圧
+ 紙切れ
+ プリンターにプラテンがありません
+ 設定はプリンターをサポートしていません
+ 過熱
+ SP再起動中
+ SP再接続中
+ SamsungPay トランザクションの成功
+ ATRエラー
+ 通信エラー
+ PPSエラー
+ T0パラメータエラー
+ T0プローブバイトエラー
+ T1ブロック番号エラー
+ T1 LRCエラー
+ T1パラメータエラー
+ Aesアルゴリズム異常
+ Desアルゴリズム異常
+ ECCアルゴリズムエラー
+ hashアルゴリズム異常
+ Rsaアルゴリズムエラー
+ Sm2アルゴリズムエラー
+ Sm3アルゴリズムエラー
+ Sm4アルゴリズムエラー
+ アルゴリズムブロックエラー
+ APキーの削除ファイルが失敗しました
+ APキーが無効です
+ APキーを紛失しました
+ APキーを開くことができませんでした
+ APキーその他のエラー
+ APキー読み取りエラー
+ APキーのセルフチェックに失敗しました
+ APキーアクセスタイムアウト
+ APキー検証エラー
+ APキー書き込みエラー
+ APキー書き込みモードはサポートされていません
+ 認証リクエストタイプエラー
+ Base64 デコードまたはエンコードの入力データに無効な文字が含まれています
+ バッファが小さすぎます
+ CA 証明書が存在しないか、解析エラーです
+ CMACアルゴリズムエラー
+ TR31タイプキー配信暗号化キーエラー
+ TR31タイプキー配信MACキーエラー
+ セキュリティファイルの読み書きエラー
+ データ長さエラー
+ ターゲットキーインデックスエラー
+ DUKPTキータイプエラー
+ DUKPTオーバーフロー
+ キー指数の長さエラー
+ グループインデックスエラー
+ 一致しないハッシュ
+ PIN入力キャンセル
+ KCV検証エラー
+ KCVモードエラー
+ KCV ODD検証エラー
+ 無効なキー
+ 同じキーがあります
+ keyの「usage」以外に、このkeyを使ってみよう。
+ 機能キーの属性が一致しません。
+ キー検証エラー
+ キーインデックスエラー
+ キー長さエラー
+ キータイプエラー
+ セキュリティシステムがロックされている
+ キーの使い方エラー(たとえば、暗号化にのみ使用できるキーを使用してデータを復号化する)
+ DUKPT KSNは1を追加する必要がある
+ 新しいパスワードを設定しない
+ 認定されていません
+ マッチするキーがありません
+ KCVなし
+ PIN入力がありません
+ 機能はまだサポートされていません
+ NULLポインタ
+ 回数が制限を超えています
+ パンタイムアウト
+ PIN入力タイムアウト
+ POS公開キーエラー異常
+ デバイス秘密キー回復エラー
+ パスワードエラー
+ 乱数が一致しません
+ 敏感サービスを要求する
+ PIN入力間隔が短すぎる
+ ソースキーインデックスエラー
+ ソースキータイプエラー
+ TLVパラメータエラー
+ TR34 はすでにバインドされており、再バインドできません
+ TR34 ランダムミス
+ TR34 トークンの解析に失敗しました
+ TR34 アンバインド
+ TR34 トークンの検証に失敗しました
+ PIN/PAN防備中
+ 成功
+ パラメータエラー
+ RNDキーエラー
+ ルート秘密鍵エキーラー
+ ステップアウト
+ SP休止
+ 検証エラー
+ モジュールの電源が入っていません
+ 通信タイムアウト
+ アドレスに長さを加えるとカードのメモリサイズがオーバフローする
+ 電源が入っていません
+ チャネルエラー
+ 操作に失敗
+ エラーメモリポインタ
+ リセットに失敗
+ エラーデータ
+ カード応答に失敗
+ カードなし
+ 電源が入っていません
+ パスワード検証に失敗
+ 成功
+ Buf長さエラー
+ ハードウェア障害
+ システム時間の日エラー
+ システム時間の時エラー
+ システム時間の分エラー
+ システム時間の月エラー
+ システム時間の秒エラー
+ システム時間の年エラー
+ 初期化に失敗
+ 機能がサポートされていません
+ パラメータエラー
+ 税金管理データの読み込みに失敗し
+ 税金管理データの書き込みに失敗
+ タイムアウト
+ ほかのインターフェースを使用してください(前処理に失敗)
+ 未知错误/不明なエラー
+ 不明なエラー
+
\ No newline at end of file
diff --git a/app/libs/res/values-pt-rBR/values-pt-rBR.xml b/app/libs/res/values-pt-rBR/values-pt-rBR.xml
new file mode 100644
index 0000000..813f24d
--- /dev/null
+++ b/app/libs/res/values-pt-rBR/values-pt-rBR.xml
@@ -0,0 +1,468 @@
+
+
+ Não é compatível com gm, sem chip GM
+ Erro de parâmetro de algoritmo
+ O chip nacional não respondeu
+ A recepção do chip nacional falhou
+ Erro de copia de arquivo
+ Erro de eliminação de ficheiros
+ A verificação do ficheiro falhou
+ Erro de índice de seleção de aplicativo
+ Verificar o erro do cartão, CardInfo é nulo
+ Erro de verificação de certificação
+ Verificar se as informações do cartão falharam ou expiraram.
+ Erro de troca de dados
+ Tempo limite de troca de dados
+ Não há correspondência de AID no banco de dados.
+ Não há correspondência de CAPK no banco de dados.
+ Erro de operação do banco de dados.
+ Erro com o parâmetro do terminal de salvamento do banco de dados.
+ Erro de seleção final
+ Tempo limite de seleção final
+ O processo EMV não foi concluído e não pode ser executado na próxima vez.
+ Erro de processo de kernel
+ Os dados de processamento da transação estão vazios.
+ Erro de inicialização do teclado, o parâmetro de coordenada do teclado passado é Nulo.
+ Erro de processo de Nfc CVM
+ Erro de processo online
+ Erro de dados PAN
+ Cancelar PIN
+ Erro de PIN
+ O retorno de chamada PINPAD está vazio.
+ O pré-processamento da transação falhou.
+ Erro de assinatura
+ Tempo de espera para a gestão do risco terminal
+ A sequência de chamada de função falhou.
+ Falha no processo de transação
+ O processo de transação falhou e o tipo de transação não é compatível.
+ erro de transdata
+ Tipo de CVM desconhecido
+ Nenhum dispositivo pesquisado
+ A atualização do firmware falhou
+ A validação de firmware falhou
+ Tempo limite de recebimento de dados I2C
+ Falha no envio de dados I2C
+ Erro parâmetro
+ Função não suportada
+ O comprimento da chave pública não corresponde
+ Função de chamada repetida
+ O tópico foi abortado.
+ Atualização de firmware
+ Chamada não autorizada para SPHS
+ Requer permissão para LED.
+ Requer permissão para PINPAD.
+ Requer permissão para CONTACTLESS_CARD.
+ Requer permissão para ICC.
+ Requer permissão para MSR.
+ Requer permissão para SEGURANÇA.
+ Falha ao inserir PIN. Comprimento máximo excedido.
+ Tempo limite de entrada do PIN
+ erro pinPadType
+ PIN de entrada, falha de bloqueio de retorno de Pin
+ Erro de processo SP
+ Falha ao iniciar pinpad
+ A thread de consulta de status do PIN foi cancelada.
+ PinPad em andamento
+ Criar tempo limite da lista de candidatos.
+ Este é um cartão com chip, impossível rebaixar transação.
+ Erro de interação dos parâmetros do cartão.
+ Leia a falha do cartão
+ Falha de verificação do cartão via CV
+ Falha na interação dos dados do cartão
+ Falha de verificação do cartão via NFC
+ Tempo limite de leitura do cartão
+ Erro de faixas 1,2,3
+ Erro de faixas 1,2
+ Erro de faixas 1,3
+ Erro de faixa 1
+ Erro de faixas 2,3
+ Erro de faixa 2
+ Erro de faixa 3
+ Tipo de cartão desconhecido
+ Erro de comprimento da matriz de eco.
+ Erro de CheckValue
+ Erro de comprimento de CheckValue
+ A descriptografia da chave falhou
+ Falha de criptografia
+ A geração de chave aleatória falhou.
+ Falha ao obter o código da mensagem de alarme.
+ Especifica que a chave de índice criptografada não existe.
+ Erro de injeção de BDK
+ Erro de índice de chave.
+ Erro de comprimento de chave
+ Erro de comprimento de chave
+ Partição de chave esgotada
+ Erro de inicialização do teclado.
+ A aritmética do Mac falhou
+ O tipo de algoritmo MAC que não é suportado.
+ Erro de comprimento do PAN
+ Erro de comprimento do PIN
+ Falha ao salvar
+ Falha ao salvar puk
+ Transformação não suportada
+ Verificar a falha de sinal do APK
+ Verificar a falha do sinal
+ Estouro de dados SP ACK
+ Erro de parâmetro do pacote de resposta ACK
+ Erro de verificação de pacote CMD, nenhum campo de informação
+ O buffer de recepção do SP está cheio, nenhum campo de informação
+ Estouro de comprimento de pacote de dados CMD
+ Erro de parâmetro de pacote CMD
+ Erro de sequência de pacote CMD
+ SP recebe tempo limite de dados, nenhum campo de informação
+ Pacote CMD não suportado
+ Obter erro de código do dispositivo
+ Erro de início BASE
+ Lista de argumentos muito longa
+ Permissão negada
+ Tente novamente
+ Número de arquivo inválido
+ Dispositivo ou recurso ocupado
+ Nenhum processo filho
+ Argumento matemático fora do domínio da função
+ o arquivo existe
+ Endereço ruim
+ Arquivo muito grande
+ Chamada de sistema interrompida
+ Argumento inválido
+ Erro de E / S
+ É um diretório
+ Muitos arquivos abertos
+ Muitos links
+ Estouro de mesa de arquivo
+ Esse dispositivo não existe
+ operação não permitida
+ Erro de formato de execução
+ Fora da memória
+ Sem espaço disponível no dispositivo
+ Dispositivo de bloqueio necessário
+ Comunicação não conectada
+ Não é um diretório
+ Não é uma máquina de escrever
+ Esse dispositivo ou endereço não existe
+ Operation not permitted
+ Cano quebrado
+ Resultado matemático não representável
+ Busca ilegal
+ Sistema de arquivos somente leitura
+ Esse processo não existe
+ Arquivo de texto ocupado
+ Link entre dispositivos
+ Erro de tipo de chip SE
+ A atualização do firmware falhou
+ LITESO sem direitos para acessar o arquivo
+ Quantidade de LITESO instalado excede o valor máximo do sistema
+ Erro de impressão digital LITESO
+ Erro de gravação flash LITESO
+ Erro de informação LITESO
+ Erro de comprimento LITESO
+ LITES não existe
+ Não há espaço suficiente para LITESO
+ Erro de assinatura LITESO
+ Erro de atualização de firmware CMD
+ Erro de flash de acesso de atualização de firmware
+ Erro de nome de inicialização de firmware
+ O tamanho do firmware excede o projetado
+ A verificação da assinatura do firmware falhou
+ A área de dados do pacote de resposta é ilegal
+ Erro de parâmetro de entrada
+ Um erro de análise de dados do pacote de resposta
+ SP está ocupado
+ Decodificação de dados de cartão magnético
+ Não há cartão
+ Erro parâmetro
+ A porta serial está fechada
+ Erro de codificação de tipo de bloco
+ O cartão envia dados por FSD
+ PICC usa o bloco-I para responder ao bloco de link
+ Bloco-I em erro de PCB ou erro subsequente de comprimento de dados
+ O SN com bloco-I recebido está incorreto
+ Erro de GUID de leitura do cartão de identificação
+ MSR ou IC interrompido
+ multicartão
+ Os tempos de repetição no caso correto atingiram o limite superior
+ PICC responde ao bloco-NAK
+ Bloco-R em erro de PCB ou erro subsequente de comprimento de dados
+ O SN com bloco-R recebido está incorreto
+ O bloco-S enviado por PICC não é solicitado por S-WTX
+ Erro do bloco-S em PCB ou erro subsequente de comprimento de dados
+ O requisito de erro de parâmetro WTX (= 0)
+ Usuário cancelado
+ O cartão existe
+ Concessionária fechada
+ Conflito de comunicação
+ Erro de estrutura de dados principal da unidade
+ Erro de verificação CRC na comunicação
+ Falha na operação FIFO interna
+ Erro de quadro de comunicação
+ Erro na autenticação da senha do Mifare
+ O parâmetro de autenticação do cartão (Mifare) está incorreto
+ Falha na detecção do módulo
+ Erro no caractere de comunicação
+ Módulo desconectado
+ O sinal na comunicação não está de acordo com o contrato
+ O cartão recusou o comando
+ Tempo limite de comunicação
+ O primeiro caractere do comando WUPA/REQA (tipo A) é ilegal
+ Verificação do número do cartão e erro de comunicação do cartão tipo A
+ Tipo-A não suporta ISO14443–4, processo de ativação abortado
+ O número de resposta de comunicação do cartão do tipo A de dados não corresponde ao esperado
+ Os bytes T0 do ATS (tipo A) são ilegais
+ Os bytes TA1 do ATS (tipo A) são ilegais
+ Os bytes TB1 do ATS (tipo A) são ilegais
+ Os bytes TC1 do ATS (tipo A) são ilegais
+ Os bytes TL do ATS (tipo A) são ilegais
+ O erro do primeiro caractere do número do cartão da comunicação do cartão do tipo A
+ O primeiro caractere do comando WUPA / REQA (tipo B) não é 0x50
+ O código do canal é diferente do definido no comando ATTRIB (tipo-B)
+ Os bytes de resposta do comando HLTB (tipo B) não são 0x00
+ O número da resposta de comunicação do cartão de dados do tipo B não corresponde ao esperado
+ O quarto dos bytes do tipo de protocolo em ATQB não é 0
+ Comandos não suportados
+ Falha de conexão SP
+ Falha ao ler o pacote de arquivos
+ Erro de processo de pacote
+ Tempo limite do pacote de dados
+ Falha na atualização
+ A versão é consistente com a versão alvo
+ A versão SDK não está disponível
+ Falha ao abrir arquivo de atualização
+ Falha na consulta de informações padrão
+ A string de atualização é muito longa
+ Atualização bem sucedida
+ atualização cancelada
+ SP está atualizando
+ A versão do firmware não permite um downgrade
+ Transação aprovada
+ Inserir o PIN novamente
+ Inserir o PIN novamente (a última vez)
+ Continuar fazendo CVM
+ Transação recusada
+ Transação encerrada
+ Erro de seleção final de dados
+ Parâmetro inválido
+ EMV sem dados
+ A lista de parâmetros de pré-processamento está vazia
+ Executar corretamente e continue na próxima etapa
+ Executar operação on-line
+ Erro nos dados de parâmetros do terminal
+ Os dados de parâmetros do terminal não existem
+ Ver telefone
+ Selecionar o próximo aplicativo
+ Erro ao verificar o código ao baixar o puk
+ Substituir o cartão
+ Use outras interfaces
+ Vai para Paywave DRL
+ Tente de novo
+ Trans encerrada(aplicativo bloqueado)
+ Trans encerrada(cartão bloqueado)
+ Trans encerrada(cartão expirado)
+ Limite sem contato excedido
+ Trans encerrada(tempo limite de envio ou recebimento do comando)
+ Trans encerrada(erro de código de status)
+ Trans encerrada(erro de resposta GPO)
+ Trans encerrada(tempo limite de recebimento do comando)
+ Trans encerrada(tempo limite de recebimento do comando)
+ Trans encerrada(cartão retorna repetição do elemento de dados)
+ Trans encerrada(dados do cartão retornam erro)
+ Armazenamento de dados de leitura
+ Tipo de kernel não compatível
+ Trans encerrada(erro de protocolo L1)
+ Trans encerrada(tempo limite do cartão de leitura L1)
+ Trans encerrada(erro de transmissão L1)
+ Trans encerrada(falha de autenticação do cartão L2 (falha de autenticação de dados offline))
+ Trans encerrada(erro de dados do cartão L2)
+ Trans encerrada(erro de dados do cartão de seleção final L2)
+ Trans encerrada(dados do cartão L2 ausentes)
+ Trans encerrada(a lista de candidatos L2 está vazia)
+ Trans encerrada(erro de dados L2 IDS)
+ Trans encerrada(L2 IDS sem correspondência AC)
+ Trans encerrada(erro de leitura L2 IDS)
+ Trans encerrada(erro de gravação L2 IDS)
+ Trans encerrada(L2 não suporta modo magnético)
+ Trans encerrada(quantidade trans L2 excede o limite máximo sem contato)
+ Trans encerrada(cartão L2 sem PPSE)
+ Trans encerrada(falha de análise de dados L2)
+ Trans encerrada(erro de processo L2 PPSE)
+ Trans encerrada(erro de byte de status L2)
+ Trans encerrada(erro de dados do terminal L2)
+ Trans encerrada(valor da transação L3 não presente)
+ Trans encerrada(L3 sem dados DET)
+ Trans encerrada(L3 parado)
+ Trans encerrada(tempo limite L3)
+ Trans encerrada(terminais e cartão não têm aplicativo de suporte comum)
+ Trans encerrada(transações não são aceitas)
+ Trans encerrada(usar outro cartão)
+ Trans encerrada(usar outro cartão(com registro de dados))
+ Trans encerrada(Representar cartão)
+ Devido aos cartões piscando, por favor, volte a colar seu cartão
+ Tipo de kernel de aceleração não compatível
+ Trans encerrada(terminal sem aplicativo)
+ Montante zero
+ Dados do HCE NDEF inalterados
+ Módulo HCE não aberto
+ Função HCE não suportada
+ Erro de parâmetro HCE
+ Erro de status HCE
+ Falha na inicialização do módulo HCE
+ Falha na operação HCE t2t
+ Falha na operação HCE t4t
+ SP está inicializando
+ O kernel reiniciou
+ Falha na verificação do LRC
+ comando completo após nova seleção do aplicativo
+ comando completo com vazio
+ comando completo com ODOL
+ Acordo de troca de dados
+ ler o comando de registro após nova seleção do aplicativo
+ Dois cartões presentes
+ Número de argumentos ou erros de comprimento
+ Erro de dados de registro de transações
+ O registro de transações não existe
+ PBOC sem formato de log
+ A descriptografia Mifare Plus AES falhou
+ Falha na criptografia Mifare Plus AES
+ Falha na autenticação do cartão Mifare
+ Cartão Mifare não autenticação senha
+ Mifare Plus calcula erro CMAC
+ Erro Mifare Plus CMAC
+ O tamanho dos dados de resposta do cartão Mifare não é um número esperado
+ Parâmetro de cartão Mifare ilegal
+ Cartão Mifare recusar CMD
+ Erro de dados de resposta do cartão Mifare
+ Estouro do buffer de impressão
+ Erro de dados
+ O dispositivo não está aberto ou a operação do dispositivo está anormal
+ Erro
+ Função de impressora não suportada
+ Parâmetro inválido
+ Baixa tensão da bateria
+ Sem papel
+ Impressora sem placa
+ Impressora não suportada
+ Excesso de temperatura
+ SP está reiniciando
+ SP está reconectando
+ Sucesso na transação SamsungPay
+ Erro ATR
+ Erro de comunicação
+ Erro PPS
+ Erro de parâmetro T0
+ Erro de byte de sonda T0
+ Erro de número de bloco T1
+ Erro T1 LRC
+ Erro de parâmetro T1
+ Erro do algoritmo Aes
+ Erro do algoritmo Des
+ erro de algoritmo ECC
+ Erro do algoritmo hash
+ Erro do algoritmo Rsa
+ Erro do algoritmo Sm2
+ Erro do algoritmo Sm3
+ Erro do algoritmo Sm4
+ Erro de bloco de algoritmo
+ Falha na exclusão do arquivo da chave AP
+ Chave AP inválida
+ Chave AP perdida
+ A abertura da chave AP falhou
+ Outro erro de chave AP
+ Erro de leitura de chave AP
+ Falha na autoverificação da chave AP
+ Tempo limite de acesso à chave AP
+ Erro de verificação de chave AP
+ Erro de escrita de chave AP
+ Modo de escrita de chave AP não suportado
+ Erro de tipo de solicitação de autenticação
+ Os dados de entrada para decodificação ou codificação Base64 contêm caracteres inválidos
+ Buffer muito pequeno
+ O certificado CA não existe ou erro de análise
+ Erro de algoritmo CMAC
+ Erro de chave de criptografia de distribuição de chave TR31
+ Erro de distribuição de chave MAC TR31
+ Erro de leitura e gravação de arquivo de segurança
+ Erro de comprimento de dados
+ Erro de índice de chave de destino
+ Erro de tipo de chave DUKPT
+ Estouro de DUKPT
+ Erro de comprimento de índice de chave
+ Erro de índice de grupo
+ Hash sem correspondência
+ Cancelamento de entrada de PIN
+ Erro de verificação KCV
+ Erro de modo KCV
+ Erro de verificação KCV ODD
+ chave inválida
+ A mesma chave existe
+ Tente usar esta chave fora do "uso" da chave
+ O atributo func-key não tem correspondência
+ Erro de verificação de chave
+ Erro de índice de chave
+ Erro de comprimento de chave
+ Erro de tipo de chave
+ O sistema de segurança está bloqueado
+ O uso da chave está errado, como descriptografar os dados com uma chave limitada à criptografia
+ DUKPT KSN precisa adicionar 1
+ Nenhuma nova senha configurada
+ Não autorizado
+ Nenhuma chave de correspondência
+ Sem KCV
+ Sem entrada de PIN
+ A função ainda não é compatível
+ Indicador nulo
+ Tempos ultrapassados
+ Tempo límite do PAN
+ Tempo limite de entrada de PIN
+ Excepção da chave pública POS
+ Erro de recuperação de chave privada do dispositivo
+ Erro de contrasinal
+ Número aleatório sem correspondência
+ Pedir um serviço sensível
+ O intervalo de entrada do PIN é muito curto
+ Erro de índice de chave de origem
+ Erro de tipo de chave de origem
+ Erro do parâmetro TLV
+ TR34 já vinculado, incapaz de religar
+ Falta aleatória TR34
+ Falha na análise do token TR34
+ TR34 desvincular
+ Falha na verificação do token TR34
+ PIN/PAN protecção contra exaustão
+ Sucesso
+ Erro parâmetro
+ erro chave RND
+ Erro de chave raiz
+ Fora de sincronia
+ SP está hibernado
+ Erro de verificação
+ O módulo não tem alimentação
+ Tempo limite de comunicação
+ Sobre fluxo do endereço
+ Dispositivo não aberto
+ Erro de canal
+ Operação inválida
+ Ponteiro inválido
+ Reinicialização inválida
+ Valor inválido
+ Nack
+ Nenhum cartão
+ Nenhuma conexão
+ Verifique o erro PSC
+ Sucesso
+ Erro de comprimento do Buffer
+ Falha de hardware
+ Data errada no horário do sistema
+ Hora errada no horário do sistema
+ Minuto errado no horário do sistema
+ Mês errado no horário do sistema
+ Segundo errado no horário do sistema
+ Ano errado no horário do sistema
+ Falha de inicialização
+ Função não compatível
+ Erro de parâmetro
+ Falha ao ler dados fiscais
+ Falha ao gravar dados fiscais
+ Tempo limite
+ Use outra interface(falha de pré-processo)
+ Erro desconhecido
+ Erro desconhecido
+
\ No newline at end of file
diff --git a/app/libs/res/values-zh-rCN/values-zh-rCN.xml b/app/libs/res/values-zh-rCN/values-zh-rCN.xml
new file mode 100644
index 0000000..9989d25
--- /dev/null
+++ b/app/libs/res/values-zh-rCN/values-zh-rCN.xml
@@ -0,0 +1,472 @@
+
+
+ 不支持国密(无国密芯片)
+ 算法参数错误
+ 国密芯片应答失败
+ 国密芯片接收失败
+ 文件复制失败
+ 文件删除失败
+ 文件验签失败
+ 应用选择索引错误
+ 检卡出错,CardInfo为null
+ 身份认证出错
+ 确认卡号信息失败,或者超时
+ 数据交换出错
+ 数据交换超时
+ 数据库没有匹配的AID
+ 数据库中没有匹配的CAPK
+ 数据库操作出错
+ 数据库保存终端参数出错
+ 最终选择出错
+ 最终选择超时
+ EMV流程未结束,无法进行下次操作
+ 内核处理异常
+ 交易处理数据为空
+ 键盘初始化异常,传递的键盘坐标参数为Null
+ 非接卡CVM处理出错
+ 联机处理出错
+ PAN数据错误
+ PIN取消
+ PIN出错
+ PINPAD回调为空
+ 第一次GAC前回调出错
+ 第一次GAC前回调超时
+ 交易预处理失败
+ 签名出错
+ 终端风险管理出错
+ 终端风险管理超时
+ 函数调用顺序失败
+ 交易处理失败
+ 交易处理失败,不支持交易类型
+ transdata非法
+ 未知的CVM类型
+ 未搜索到设备
+ 固件升级失败
+ 固件校验失败
+ I2C接收数据超时
+ I2C发送数据失败
+ 参数错误
+ 功能尚不支持
+ 指定公钥长度与实际长度不一致
+ 重复调用
+ 线程被异常中断
+ 固件升级中
+ 未被授权调用SPHS
+ 缺少LED权限
+ 缺少PINPAD权限
+ 缺少CONTACTLESS_CARD权限
+ 缺少ICC权限
+ 缺少MSR权限
+ 缺少SECURITY权限
+ 输入PIN失败,超过最大允许长度
+ 输入PIN超时
+ pinPadType 类型错误(当传入的键盘类型不为1和2时候返回该错误)
+ 输入PIN,返回PinBlock失败
+ SP处理错误
+ 启动密码键盘失败
+ PIN状态查询线程被异常中断
+ 输PIN进行中
+ 建立候选列表超时
+ 此卡为芯片卡,不可降级交易
+ 卡片数据交互参数错误
+ 读卡失败
+ IC检卡失败
+ 卡片数据交互失败
+ NFC检卡失败
+ 读卡超时
+ 一,二,三磁错误
+ 一,二磁错误
+ 一,三磁错误
+ 一磁错误
+ 二,三磁错误
+ 二磁错误
+ 三磁错误
+ 未知的卡类型
+ 回传数组长度错误
+ checkValue不通过
+ checkValue长度错误
+ 密钥解密失败
+ 加密失败
+ 随机密钥生成失败
+ 获取报警信息码失败
+ 指定加密索引密钥不存在
+ 注入BDK错误
+ 密钥索引位置错误
+ 密钥长度错误
+ 密钥长度错误
+ 密钥未保存
+ 密钥分区已用完
+ 键盘初始化异常
+ mac计算失败
+ 不支持的MAC算法类型
+ PAN长度错误
+ PIN长度错误
+ 保存失败
+ 公钥保存失败
+ transformation不支持
+ 验证APK签名失败
+ 验签失败
+ SP待发送ACK数据超过通信buf错误
+ ACK响应包参数错误
+ 命令包校验异常,无info区
+ SP接收缓冲区无存储空间,无info区
+ 命令包数据长度溢出错误
+ 命令包参数错误
+ 命令包序号错误
+ SP接收数据超时,无info区
+ 未知命令包、不支持的命令包
+ 设备型号获取错误
+ BASE错误开始位置
+ 参数列表太长
+ 缺少权限
+ 重试
+ 错误的文件编号
+ 设备或资源忙碌
+ 子进程不存在
+ 数学参数超出函数边界
+ 文件已存在
+ 地址错误
+ 文件太大
+ 系统调用被中断
+ 无效的参数
+ I/O错误
+ 是否是目录
+ 打开文件过多
+ 连接数太多
+ 文件索引表溢出
+ 设备不存在
+ 文件或目录不存在
+ 可执行文件格式错误
+ 内存溢出
+ 设备空间不足
+ 需要块地址
+ 通信状态未连接
+ 不是目录
+ 不是打字机
+ 设备或地址不存在
+ 操作不允许
+ 管道已损坏
+ 数学结果无法展示
+ 非法移动文件指针
+ 只读文件系统
+ 进程不存在
+ 文本文件忙碌
+ 跨设备连接
+ SE芯片型号错误
+ 固件更新失败
+ LITESO无文件访问权限
+ 安装LITESO个数超过系统最大值
+ LITESO指纹错误
+ LITESO写flash错误
+ LITESO info错误
+ LITESO长度错误
+ LITESO不存在
+ LITESO空间不够
+ LITESO签名错误
+ 固件更新命令错误
+ 固件更新FLASH操作错误
+ 固件boot命名错误
+ 固件超过设计大小
+ 固件签名校验错误
+ 应答包数据区长度非法
+ 输入参数错误
+ 应答包数据解析出错
+ SP忙碌中
+ 磁卡数据解码中
+ 无卡
+ 参数错误
+ 串口关闭
+ 块类型编码错
+ 卡片回送数据超过FSD
+ PICC使用I块响应链接块
+ I块PCB错或后续数据长度错
+ 接收的I块序列号不正确
+ 读二代证GUID错误
+ 刷卡或插卡取消
+ 多卡
+ 接收正确的情况下重传次数到限
+ PICC响应NAK块
+ R块PCB错或后续数据长度错
+ 接收的R块序列号不正确
+ PICC发送的S块非S-WTX请求
+ S块PCB错或后续数据长度错
+ 请求的WTX参数错误(=0)
+ 按键取消
+ 卡片存在
+ 载波未打开
+ 通信冲突
+ 驱动核心数据结构错误
+ 通信中CRC校验错
+ 内部FIFO操作失败
+ 通信帧错误
+ 卡(Mifare)密码认证错
+ 卡(Mifare)认证参数不正确
+ 模块检测失败
+ 通信字符校验错
+ 模块未上电
+ 通信中信号不符合协议
+ 卡片拒绝命令
+ 通信超时
+ A卡通信应答WUPA/REQA命令的第一个字符非法
+ A卡通信应答的卡号校验和错
+ A卡不支持ISO14443–4,激活流程终止
+ A卡通信应答的数据数量与期望的不符
+ A卡通信应答的ATS的T0字节非法
+ A卡通信应答的ATS的TA1字节非法
+ A卡通信应答的ATS的TB1字节非法
+ A卡通信应答的ATS的TC1字节非法
+ A卡通信应答的ATS的TL字节非法
+ A卡通信应答的卡号的第一个字符错
+ B卡通信应答WUPB/REQB命令的第一个字符非0x50
+ B卡通信应答ATTRIB命令中信道编码的与设置的不同
+ B卡通信应答HLTB命令应答非0x00错误
+ B卡通信应答的数据数量与期望的不符
+ ATQB中协议类型字节的第四位不为0
+ 不支持的命令
+ 连接SP失败
+ 读取文件包失败
+ 数据包处理出错
+ 数据包超时
+ 升级失败
+ 版本号与目标升级版本一致
+ 未获取到本机的sdk版本号
+ 打开升级文件失败
+ 查询默认信息失败
+ 升级字符串过长
+ 升级成功
+ 升级被取消
+ SP正在升级中
+ 固件版本不允许降级
+ 交易批准
+ 请重新输入PIN
+ 请重新输入PIN(最后一次)
+ 请继续执行CVM处理
+ 交易拒绝
+ 交易终止
+ 最终选择数据错误
+ 无效参数
+ EMV数据不存在
+ 预处理参数列表为空
+ 执行正确,继续下一个步骤
+ 执行联机操作
+ 终端参数数据错误
+ 终端参数数据不存在
+ 查看手机
+ 请选择下一个应用
+ 下载公钥时校验码错误
+ 请重新拍卡
+ 请使用其它界面
+ 去执行Paywave的DRL功能
+ 请重新拍卡
+ 交易终止(应用被锁)
+ 交易终止(卡片被锁)
+ 交易终止(卡片过期)
+ 非接限额超过
+ 交易终止(命令发送接收错误)
+ 交易终止(状态码错误)
+ 交易终止(GPO响应错误)
+ 交易终止(命令接收超时)
+ 交易终止(命令接收超时)
+ 交易终止(卡片返回数据元重复)
+ 交易终止(卡片返回数据错误)
+ 读数据存储
+ 内核类型不支持
+ 交易终止(L1协议错误)
+ 交易终止(L1读卡超时)
+ 交易终止(L1传输错误)
+ 交易终止(L2卡片认证失败(脱机数据认证失败))
+ 交易终止(L2卡片数据错误)
+ 交易终止(最终选择卡片数据错误)
+ 交易终止(L2必备数据错误)
+ 交易终止(L2候选列表为空)
+ 交易终止(L2 IDS数据错误)
+ 交易终止(L2 IDS无匹配AC)
+ 交易终止(L2 IDS读错误)
+ 交易终止(L2 IDS写错误)
+ 交易终止(L2不支持磁条卡模式)
+ 交易终止(L2交易金额超过非接交易限额)
+ 交易终止(L2卡片无PPSE)
+ 交易终止(L2数据解析失败)
+ 交易终止(L2 PPSE处理错误)
+ 交易终止(L2状态字错误)
+ 交易终止(L2终端数据错误)
+ 交易终止(L3交易金额不存在)
+ 交易终止(L3无DET数据)
+ 交易终止(L3取消)
+ 交易终止(L3超时)
+ 交易终止(终端和卡片无共同支持的应用)
+ 交易终止(交易不被接收)
+ 交易终止(使用其他卡片)
+ 交易终止(使用其他卡片(有Data Record))
+ 交易终止(重新出示卡片)
+ 请重新拍卡(闪卡)
+ 非接提速流程不支持该内核
+ 交易终止(终端无应用)
+ 金额为0
+ HCE NDEF数据无变化
+ HCE模块未打开
+ HCE功能尚未支持
+ HCE参数错误
+ HCE状态错误
+ HCE模块初始化失败
+ HCE t2t操作失败
+ HCE t4t操作失败
+ SP初始化中
+ 内核已重启
+ LRC校验错误
+ 重选组合应用后发送完成命令
+ 完成命令使用空数据
+ 完成命令使用ODOL数据
+ 数据交换处理
+ 重选组合应用后发送读记录命令
+ 二次拍卡
+ 参数个数或长度错误
+ 交易日志数据错误
+ 交易日志不存在
+ PBOC LOG格式不存在
+ Mifare Plus AES解密失败
+ Mifare Plus AES加密失败
+ Mifare认证失败
+ Mifare卡片未认证密码
+ Mifare Plus CMAC计算错误
+ Mifare Plus CMAC错误
+ Mifare卡片应答数据字节数不是期望的数量
+ Mifare参数非法
+ Mifare卡片拒绝命令
+ Mifare卡片响应数据错误
+ 打印缓冲溢出
+ 数据错误
+ 设备未打开或设备操作异常
+ 错误
+ 打印机不支持此功能
+ 参数无效
+ 电池电压低
+ 缺纸
+ 打印机仓门打开
+ 配置不支持打印机
+ 过温
+ SP重启中
+ SP重连中
+ SamsungPay交易成功
+ ATR错误
+ 通信错误
+ PPS错误
+ T0参数错误
+ T0响应过程字节错误
+ T1块序列号错误
+ T1校验错误
+ T1参数错误
+ Aes算法异常
+ Des算法异常
+ ECC算法错误
+ hash算法异常
+ Rsa算法错误
+ Sm2算法错误
+ Sm3算法错误
+ Sm4算法错误
+ 算法块错误
+ 删除扩展密钥文件错误
+ 密钥未写入
+ 扩展密钥文件丢失
+ 扩展密钥文件打开失败
+ 扩展密钥其它错误
+ 扩展密钥文件读错误
+ 扩展密钥自检失败
+ 密钥访问超时(其他应用正在访问)
+ 扩展密钥读错误
+ 扩展密钥文件写错误
+ 不支持的扩展密钥写操作模式
+ 授权请求类型不匹配
+ base64解码或编码输入数据存在无效字符
+ 缓冲区太小
+ CA证书不存在或者解析错误
+ CMAC算法错误
+ TR31类型密钥下发加密密钥错误
+ TR31类型密钥下发MAC密钥错误
+ 安全文件读写错误
+ 数据长度错误
+ 目的密钥索引错误
+ DUKPT密钥类型错误
+ DUKPT溢出
+ 密钥指数长度错误
+ 组索引错误
+ HASH不匹配
+ PIN输入取消
+ KCV校验错误
+ KCV模式错误
+ KCV ODD校验错误
+ 密钥未初始化
+ 存在相同的密钥
+ 试图在key的"usage"之外,使用该key
+ 功能密钥属性不匹配
+ 密钥校验错误
+ 密钥索引错误
+ 密钥长度错误
+ 密钥类型错误
+ 安全系统被锁定
+ 对 key 的使用方式错误. 比如用被限定只能用来加密的key来解密数据
+ DUKPT KSN需要加1
+ 未设置新密码
+ 未认证
+ 无匹配密钥
+ 无KCV
+ 没有PIN输入
+ 功能尚不支持
+ 空指针
+ 次数超限
+ 刷卡超时
+ PIN输入超时
+ POS公钥异常
+ 设备私钥运算错误
+ 密码错误
+ 随机数不匹配
+ 要求敏感服务
+ PIN输入间隔时间太短
+ 源密钥索引错误
+ 源密钥类型错误
+ TLV参数错误
+ 后台已绑定,无法重新绑定
+ 未生成随机数
+ TOKEN解析错误
+ 未绑定后台
+ TOKEN校验错误
+ PIN/PAN防穷举保护中
+ 成功
+ 参数错误
+ RNDKEY错误
+ 根秘钥错误
+ 失步
+ SP已休眠
+ 校验错误
+ 模块没有上电
+ 通信超时
+ 地址加上长度后溢出卡片存储大小
+ 未上电
+ 通道错误
+ 操作失败
+ 错误内存指针
+ 复位失败
+ 错误数据
+ 卡片响应失败
+ 无卡
+ 没有上电
+ 验证密码失败
+ 成功
+ Buf长度错误
+ 硬件失败
+ 系统时间日错误
+ 系统时间时错误
+ 系统时间分错误
+ 系统时间月错误
+ 系统时间秒错误
+ 系统时间年错误
+ 初始化失败
+ 功能不支持
+ 参数错误
+ 读税控数据失败
+ 写税控数据失败
+ 超时
+ 请使用其它界面(预处理失败)
+ 未知错误
+ 未知错误
+
\ No newline at end of file
diff --git a/app/libs/res/values/values.xml b/app/libs/res/values/values.xml
new file mode 100644
index 0000000..725be52
--- /dev/null
+++ b/app/libs/res/values/values.xml
@@ -0,0 +1,472 @@
+
+
+ Not support gm,no GM chip
+ Algorithm parameter error
+ National chip failed to respond
+ National chip reception failed
+ File copy error
+ File delete error
+ File verify failed
+ App select index error
+ Check card error, CardInfo is null
+ Certification verify error
+ Verify the card information failed or timed out.
+ Data exchange error
+ Data exchange timeout
+ There is not AID matched in database.
+ There is not CAPK matched in database.
+ Operate database error.
+ Error with database save terminal parameter.
+ Final select error
+ Final select timeout
+ The EMV process is not finished and cannot be performed next time.
+ Kernel process exception
+ Transaction processing data is empty.
+ Keyboard initialization exception, passed keyboard coordinate parameter is Null.
+ Nfc CVM process error
+ Online process error
+ PAN data error
+ PIN cancel
+ PIN error
+ The PINPAD callback is empty.
+ Pre first GAC called error
+ Pre first GAC called timeout
+ Transaction preprocess failed.
+ Signature error
+ Terminal risk management error
+ Terminal risk management timeout
+ The function call sequence failed.
+ Transaction process failure
+ Transaction process failed and transaction type is not supported.
+ transdata error
+ Unknown CVM type
+ No device searched
+ Firmware upgrade failed
+ Firmware validation failed
+ I2C receive data timeout
+ I2C send data failed
+ Param error
+ Function not supported
+ Public key length not match
+ Repeated call function
+ The thread was aborted
+ Firmware updating
+ Unauthorized call to SPHS
+ Require permission for LED.
+ Require permission for PINPAD.
+ Require permission for CONTACTLESS_CARD.
+ Require permission for ICC.
+ Require permission for MSR.
+ Require permission for SECURITY.
+ Input PIN failure, Over maximum length
+ Input PIN timeout
+ pinPadType error
+ Input PIN,return PinBlock failed
+ SP process error
+ Start pinpad failed
+ The PIN status query thread is aborted.
+ PinPad ongoing
+ Create a candidate list timeout.
+ This card is chip card, cannot downgrade transaction.
+ Interaction parameters of card data error.
+ Read the card failure
+ IC Check card failure
+ Interaction of card data failed
+ NFC Check card failure
+ Card read timeout
+ Track 1,2,3 error
+ Track 1,2 error
+ Track 1,3 error
+ Track 1 error
+ Track 2,3 error
+ Track 2 error
+ Track 3 error
+ Unknown card type
+ Echo array length error.
+ CheckValue error
+ CheckValue length error
+ Key decryption failed
+ Encrypt failure
+ Random key generation failed.
+ Failed to obtain alarm message code.
+ Specifies that the encrypted index key does not exist.
+ Inject BDK error
+ Key index error.
+ Key length error
+ Key length error
+ Key not saved
+ Key partition exhausted
+ Keyboard initialization exception.
+ Mac arithmetic failed
+ The type of MAC algorithm that is not supported.
+ PAN length error
+ PIN length error
+ Save failed
+ Save puk failure
+ Unsupported transformation
+ Verify APK sign failure
+ Verify sign failure
+ SP ACK data overflow
+ ACK response packet param error
+ CMD package verify error, no info field
+ SP receive buffer is full, no info field
+ CMD packet data length overflow
+ CMD packet param error
+ CMD packet sequence error
+ SP receive data timeout, no info field
+ Unsupported CMD packet
+ Get device code error
+ BASE error start
+ Argument list too long
+ Permission denied
+ Try again
+ Bad file number
+ Device or resource busy
+ No child processes
+ Math argument out of domain of function
+ File exists
+ Bad address
+ File too large
+ Interrupted system call
+ Invalid argument
+ I/O error
+ Is a directory
+ Too many open files
+ Too many links
+ File table overflow
+ No such device
+ No such file or directory
+ Exec format error
+ Out of memory
+ No space left on device
+ Block device required
+ Communication not connected
+ Not a directory
+ Not a typewriter
+ No such device or address
+ Operation not permitted
+ Broken pipe
+ Math result not representable
+ Illegal seek
+ Read-only file system
+ No such process
+ Text file busy
+ Cross-device link
+ SE chip type error
+ Firmware update failed
+ LITESO no rights to access file
+ Amount of installed LITESO exceed system max value
+ LITESO fingerprint error
+ LITESO write flash error
+ LITESO info error
+ LITESO length error
+ LITES not exist
+ Not enough space for LITESO
+ LITESO signature error
+ Firmware update CMD error
+ Firmware update access flash error
+ Firmware boot name error
+ Firmware size exceed designed
+ Firmware signature verify failed
+ The answer packet data area is illegal
+ Input parameter error
+ A reply packet data parsing error
+ SP is busy
+ Magnetic card data decoding
+ There is no card
+ Param error
+ Serial port is closed
+ Block type coding error
+ The card sends data over FSD
+ PICC uses the block-I to respond to the link block
+ Block-I in PCB error or subsequent data length error
+ The SN with received block-I is incorrect
+ Read ID card GUID error
+ MSR or IC interrupted
+ multi-card
+ The retry times in the correct case have reached the upper limit
+ PICC respond to block-NAK
+ Block-R in PCB error or subsequent data length error
+ The SN with received block-R is incorrect
+ The block-S sent by PICC is not requested by S-WTX
+ Block-S in PCB error or subsequent data length error
+ The requirement of WTX param error(=0)
+ User canceled
+ The card is exist
+ Carrier unopened
+ Communication conflict
+ Drive core data structure error
+ CRC check error in communication
+ Internal FIFO operation failed
+ Communication frame error
+ The password of Mifare authentication error
+ The card (Mifare) authentication parameter is incorrect
+ Module detect failed
+ Error in communication character
+ Module unplugged
+ The signal in the communication does not accord with the agreement
+ The card refused command
+ Communication timeout
+ The first character of the WUPA/REQA command(type-A) is illegal
+ Card number check and error of type-A card communication
+ Type–A not support ISO14443–4, activation process aborted
+ The number of data type-A card communication answer does not match the expected
+ The T0 bytes of the ATS(type-A) are illegal
+ The TA1 bytes of the ATS(type-A) are illegal
+ The TB1 bytes of the ATS(type-A) are illegal
+ The TC1 bytes of the ATS(type-A) are illegal
+ The TL bytes of the ATS(type-A) are illegal
+ The first character error of the card number of type-A card communication
+ The first character of the WUPA/REQA command(type-B) is not 0x50
+ The channel code is different from the set in the ATTRIB command(type-B)
+ The response bytes of the HLTB command(type-B) is not 0x00
+ The number of data type-B card communication answer does not match the expected
+ The fourth of the protocol type bytes in ATQB is not 0
+ Unsupported commands
+ SP connect failure
+ Failed to read the file package
+ Packet process error
+ Data package timeout
+ Update failed
+ The version is consistent with the target version
+ The SDK version is not available
+ Failed to open upgrade file
+ Query default information failed
+ The upgrade string is too long
+ Update successfully
+ update canceled
+ SP is updating
+ The firmware version does not allow a downgrade
+ Transaction approved
+ Please re-input PIN
+ Please input PIN again(The last time)
+ Please keep doing CVM
+ Transaction refused
+ Transaction terminated
+ Final select data error
+ Invalid parameter
+ EMV no data
+ Preprocess parameter list is empty
+ Execute correctly, and keep doing the next step
+ Perform online operation
+ Error in terminal parameter data
+ Terminal parameter data does not exist
+ See phone
+ Please select the next app
+ Error checking code when downloading puk
+ Please replace the card
+ Please use other interfaces
+ Go to Paywave DRL
+ Try Again
+ Trans terminated(App is locked)
+ Trans terminated(Card is locked)
+ Trans terminated(Card expired)
+ Exceed contactless limit
+ Trans terminated(Command send or receive timeout)
+ Trans terminated(Status code error)
+ Trans terminated(GPO response error)
+ Trans terminated(Command receive timeout)
+ Trans terminated(Command receive timeout)
+ Trans terminated(The card returns data element repetition)
+ Trans terminated(The data of card returns error)
+ Read data storage
+ Kernel type not support
+ Trans terminated(L1 protocol error)
+ Trans terminated(L1 read card timeout)
+ Trans terminated(L1 transmission error)
+ Trans terminated(L2 card auth failure(Offline data auth failure))
+ Trans terminated(L2 card data error)
+ Trans terminated(L2 final select card data error)
+ Trans terminated(L2 card data missing)
+ Trans terminated(L2 candidate list is empty)
+ Trans terminated(L2 IDS data error)
+ Trans terminated(L2 IDS no match AC)
+ Trans terminated(L2 IDS read error)
+ Trans terminated(L2 IDS write error)
+ Trans terminated(L2 not support magnetic mode)
+ Trans terminated(L2 trans amount exceed contactless max limit)
+ Trans terminated(L2 card no PPSE)
+ Trans terminated(L2 parse data failure)
+ Trans terminated(L2 PPSE process error)
+ Trans terminated(L2 status byte error)
+ Trans terminated(L2 terminal data error)
+ Trans terminated(L3 transaction amount not present)
+ Trans terminated(L3 no DET data)
+ Trans terminated(L3 stop)
+ Trans terminated(L3 timeout)
+ Trans terminated(Terminals and card have no common support app)
+ Trans terminated(Transactions are not accepted)
+ Trans terminated(Use other card)
+ Trans terminated(Use other card(With data record))
+ Trans terminated(Represent card)
+ Represent card for torn
+ Speedup Kernel type not support
+ Trans terminated(Terminal have no app)
+ Zero amount
+ HCE NDEF data unchanged
+ HCE module not open
+ HCE function not supported
+ HCE param error
+ HCE status error
+ HCE module init failed
+ HCE t2t operation failed
+ HCE t4t operation failed
+ SP is initializing
+ The kernel has restarted
+ LRC verify failed
+ complete command after reselect app
+ complete command with empty
+ complete command with ODOL
+ Data exchange deal
+ read record command after reselect app
+ Two present card
+ Number of arguments or length errors
+ Trans log data error
+ Trans log is not exist
+ PBOC no log format
+ Mifare Plus AES decrypt failed
+ Mifare Plus AES encrypt failed
+ Mifare card authenticate failed
+ Mifare card not authenticate password
+ Mifare Plus calculate CMAC error
+ Mifare Plus CMAC error
+ Mifare card response data size not expected number
+ Mifare card param illegal
+ Mifare card refuse CMD
+ Mifare card response data error
+ Print buffer overflow
+ Data error
+ Device is not open or device operation is abnormal
+ Error
+ Printer function not supported
+ Invalid parameter
+ Low battery voltage
+ Paperless
+ Printer no platen
+ Printer not supported
+ Overtemperature
+ SP is restarting
+ SP is reconnecting
+ SamsungPay trans success
+ ATR error
+ Communication error
+ PPS error
+ T0 param error
+ T0 probe byte error
+ T1 block number error
+ T1 LRC error
+ T1 param error
+ Aes algorithm exception
+ Des algorithm exception
+ ECC algorithm error
+ hash algorithm exception
+ Rsa algorithm exception
+ Sm2 algorithm exception
+ Sm3 algorithm exception
+ Sm4 algorithm exception
+ Algorithm block error
+ AP key delete file failed
+ AP key invalid
+ AP key lost
+ AP key open failed
+ AP key other error
+ AP key read error
+ AP key self-check failed
+ AP key access timeout
+ AP key verify error
+ AP key write error
+ AP key write mode not supported
+ Auth request type error
+ The input data for Base64 decoding or encoding contains invalid characters
+ Buffer too small
+ CA certificate does not exist or parsing error
+ CMAC algorithm error
+ TR31 key distribute encryption key error
+ TR31 key distribute MAC key error
+ Security file read and write error
+ Data length error
+ Destination key index error
+ DUKPT key type error
+ DUKPT overflow
+ Key index length error
+ Group index error
+ Hash no match
+ PIN input cancel
+ KCV verify error
+ KCV mode error
+ KCV ODD verify error
+ key invalid
+ The same key exists
+ Try to use this key outside of key\'s "usage"
+ The func-key attribute does not match
+ Key verify error
+ Key index error
+ Key length error
+ Key type error
+ The security system is locked
+ The use of key is wrong, such as decrypting the data with a key that is limited to encryption
+ DUKPT KSN need to add 1
+ Not set new password
+ Unauthorized
+ No match key
+ No KCV
+ No PIN input
+ Function is not yet supported
+ Null pointer
+ Times exceed limit
+ PAN timeout
+ PIN input timeout
+ POS public key exception
+ Device private key recover error
+ Password error
+ Random number no match
+ Request sensitive service
+ The interval of PIN input is too short
+ Source key index error
+ Source key type error
+ TLV param error
+ TR34 already bound, unable to rebind
+ TR34 random miss
+ TR34 token parsing failed
+ TR34 unbind
+ TR34 token verify failed
+ PIN/PAN anti-exhausting
+ Success
+ Param error
+ RND key error
+ Root key error
+ Out of sync
+ SP has been hibernated
+ Verification error
+ The module has no power
+ Communication timeout
+ Address overflow
+ Device not open
+ Channel error
+ Invalid operation
+ Invalid pointer
+ Invalid Reset
+ Invalid value
+ Nack
+ No card
+ No power
+ Verify PSC error
+ Success
+ Buf length error
+ Hardware failure
+ System time date error
+ System time hour error
+ System time minute error
+ System time month error
+ System time second error
+ System time year error
+ Initialize failure
+ Function not support
+ Parameter error
+ Read tax data failed
+ Write tax data failed
+ Timeout
+ Use another interface(Preprocess failure)
+ Unknown error
+ Unknown error
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bdkipoc/MainActivity.java b/app/src/main/java/com/example/bdkipoc/MainActivity.java
index d2cf263..74a34de 100644
--- a/app/src/main/java/com/example/bdkipoc/MainActivity.java
+++ b/app/src/main/java/com/example/bdkipoc/MainActivity.java
@@ -1,18 +1,29 @@
package com.example.bdkipoc;
+// Import SDK Sunmi
+import sunmi.paylib.SunmiPayKernel;
+import com.sunmi.pay.hardware.aidlv2.emv.EMVOptV2;
+import com.sunmi.pay.hardware.aidlv2.system.BasicOptV2;
+import com.sunmi.pay.hardware.aidlv2.pinpad.PinPadOptV2;
+import com.sunmi.pay.hardware.aidlv2.readcard.ReadCardOptV2;
+import com.sunmi.pay.hardware.aidlv2.security.SecurityOptV2;
+import com.sunmi.pay.hardware.aidlv2.tax.TaxOptV2;
+import com.sunmi.pay.hardware.aidlv2.etc.ETCOptV2;
+import com.sunmi.pay.hardware.aidlv2.print.PrinterOptV2;
+
+import android.util.Log;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
-import android.widget.TextView;
import android.widget.Toast;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.WindowManager;
import androidx.activity.EdgeToEdge;
+import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
-import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@@ -21,9 +32,81 @@ import com.google.android.material.button.MaterialButton;
public class MainActivity extends AppCompatActivity {
+ // SDK Variables
+ private EMVOptV2 emvOptV2;
+ private BasicOptV2 basicOptV2;
+ private PinPadOptV2 pinPadOptV2;
+ private ReadCardOptV2 readCardOptV2;
+ private SecurityOptV2 securityOptV2;
+ private TaxOptV2 taxOptV2;
+ private ETCOptV2 etcOptV2;
+ private PrinterOptV2 printerOptV2;
+ private boolean connectPaySDK = false;
+
+ // UI Variables
private boolean isExpanded = false; // False = showing only 9 main menus, True = showing all 15 menus
private MaterialButton btnLainnya;
+ public void bindPaySDKService() {
+ Log.d("SDK_CHECK", "Starting SDK initialization...");
+ try {
+ final SunmiPayKernel payKernel = SunmiPayKernel.getInstance();
+ Log.d("SDK_CHECK", "SunmiPayKernel instance obtained successfully");
+
+ payKernel.initPaySDK(this, new SunmiPayKernel.ConnectCallback() {
+ @Override
+ public void onConnectPaySDK() {
+ Log.d("SDK_CHECK", "✅ SDK Connected Successfully!");
+ try {
+ emvOptV2 = payKernel.mEMVOptV2;
+ basicOptV2 = payKernel.mBasicOptV2;
+ pinPadOptV2 = payKernel.mPinPadOptV2;
+ readCardOptV2 = payKernel.mReadCardOptV2;
+ securityOptV2 = payKernel.mSecurityOptV2;
+ taxOptV2 = payKernel.mTaxOptV2;
+ etcOptV2 = payKernel.mETCOptV2;
+ printerOptV2 = payKernel.mPrinterOptV2;
+
+ // Log detail komponen
+ Log.d("SDK_CHECK", "EMVOptV2: " + (emvOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "BasicOptV2: " + (basicOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "PinPadOptV2: " + (pinPadOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "ReadCardOptV2: " + (readCardOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "SecurityOptV2: " + (securityOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "TaxOptV2: " + (taxOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "ETCOptV2: " + (etcOptV2 != null ? "✅ Available" : "❌ Not Available"));
+ Log.d("SDK_CHECK", "PrinterOptV2: " + (printerOptV2 != null ? "✅ Available" : "❌ Not Available"));
+
+ connectPaySDK = true;
+ Toast.makeText(getApplicationContext(), "✅ Sunmi SDK Connected!", Toast.LENGTH_SHORT).show();
+ } catch (Exception e) {
+ Log.e("SDK_CHECK", "❌ Error initializing SDK components: " + e.getMessage());
+ Toast.makeText(getApplicationContext(), "SDK Connection Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
+ }
+ }
+
+ @Override
+ public void onDisconnectPaySDK() {
+ Log.w("SDK_CHECK", "❌ SDK Disconnected");
+ connectPaySDK = false;
+ emvOptV2 = null;
+ basicOptV2 = null;
+ pinPadOptV2 = null;
+ readCardOptV2 = null;
+ securityOptV2 = null;
+ taxOptV2 = null;
+ etcOptV2 = null;
+ printerOptV2 = null;
+ Toast.makeText(getApplicationContext(), "❌ Sunmi SDK Disconnected", Toast.LENGTH_SHORT).show();
+ }
+ });
+ } catch (Exception e) {
+ Log.e("SDK_CHECK", "❌ Critical Error - Failed to initialize SDK: " + e.getMessage());
+ e.printStackTrace();
+ Toast.makeText(this, "❌ Failed to initialize Sunmi SDK: " + e.getMessage(), Toast.LENGTH_LONG).show();
+ }
+ }
+
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
@@ -67,6 +150,9 @@ public class MainActivity extends AppCompatActivity {
// Setup menu listeners
setupMenuListeners();
+
+ // Initialize Sunmi SDK
+ bindPaySDKService();
}
private void setupInitialMenuState() {
@@ -99,7 +185,9 @@ public class MainActivity extends AppCompatActivity {
// Set initial button text
isExpanded = false;
- btnLainnya.setText("Lainnya");
+ if (btnLainnya != null) {
+ btnLainnya.setText("Lainnya");
+ }
}
private void checkTransactionCompletion() {
@@ -157,26 +245,49 @@ public class MainActivity extends AppCompatActivity {
CardView cardView = findViewById(cardId);
if (cardView != null) {
cardView.setOnClickListener(v -> {
+ Log.d("MENU_CLICK", "Card clicked: " + getResources().getResourceEntryName(cardId));
+
if (cardId == R.id.card_kartu_kredit) {
- startActivity(new Intent(MainActivity.this, PaymentActivity.class));
+ // Check SDK before navigating to payment
+ if (connectPaySDK) {
+ Log.d("NAVIGATION", "Navigating to PaymentActivity - Kartu Kredit");
+ startActivity(new Intent(MainActivity.this, PaymentActivity.class));
+ } else {
+ Toast.makeText(this, "SDK belum terhubung. Harap tunggu...", Toast.LENGTH_SHORT).show();
+ }
} else if (cardId == R.id.card_kartu_debit) {
- startActivity(new Intent(MainActivity.this, PaymentActivity.class));
+ if (connectPaySDK) {
+ Log.d("NAVIGATION", "Navigating to PaymentActivity - Kartu Debit");
+ startActivity(new Intent(MainActivity.this, PaymentActivity.class));
+ } else {
+ Toast.makeText(this, "SDK belum terhubung. Harap tunggu...", Toast.LENGTH_SHORT).show();
+ }
} else if (cardId == R.id.card_qris) {
+ Log.d("NAVIGATION", "Navigating to QrisActivity");
startActivity(new Intent(MainActivity.this, QrisActivity.class));
} else if (cardId == R.id.card_uang_elektronik) {
- startActivity(new Intent(MainActivity.this, PaymentActivity.class));
+ if (connectPaySDK) {
+ Log.d("NAVIGATION", "Navigating to PaymentActivity - Uang Elektronik");
+ startActivity(new Intent(MainActivity.this, PaymentActivity.class));
+ } else {
+ Toast.makeText(this, "SDK belum terhubung. Harap tunggu...", Toast.LENGTH_SHORT).show();
+ }
} else if (cardId == R.id.card_cetak_ulang) {
+ Log.d("NAVIGATION", "Navigating to TransactionActivity");
startActivity(new Intent(MainActivity.this, TransactionActivity.class));
} else if (cardId == R.id.card_settlement) {
+ Log.d("NAVIGATION", "Navigating to SettlementActivity");
startActivity(new Intent(MainActivity.this, SettlementActivity.class));
} else if (cardId == R.id.card_histori) {
+ Log.d("NAVIGATION", "Navigating to HistoryActivity");
startActivity(new Intent(MainActivity.this, HistoryActivity.class));
} else if (cardId == R.id.card_bantuan) {
Toast.makeText(this, "Bantuan - Coming Soon", Toast.LENGTH_SHORT).show();
} else if (cardId == R.id.card_info_toko) {
Toast.makeText(this, "Info Toko - Coming Soon", Toast.LENGTH_SHORT).show();
} else if (cardId == R.id.card_dummy_menu_1) {
- Toast.makeText(this, "Dummy Menu 1 - Coming Soon", Toast.LENGTH_SHORT).show();
+ // Use dummy menu 1 untuk SDK test
+ testSDKIntegration();
} else if (cardId == R.id.card_dummy_menu_2) {
Toast.makeText(this, "Dummy Menu 2 - Coming Soon", Toast.LENGTH_SHORT).show();
} else if (cardId == R.id.card_dummy_menu_3) {
@@ -206,49 +317,123 @@ public class MainActivity extends AppCompatActivity {
};
// Set up "Lainnya" button click listener
- btnLainnya.setOnClickListener(v -> {
- isExpanded = !isExpanded;
-
- if (isExpanded) {
- // Show the 6 dummy menus with animation
- for (CardView card : toggleableCards) {
- if (card != null) {
- card.setVisibility(View.VISIBLE);
- card.setAlpha(0f);
- card.animate()
- .alpha(1f)
- .setDuration(300)
- .setInterpolator(new AccelerateDecelerateInterpolator())
- .start();
+ if (btnLainnya != null) {
+ btnLainnya.setOnClickListener(v -> {
+ Log.d("MENU_TOGGLE", "Lainnya button clicked. Current state: " + (isExpanded ? "expanded" : "collapsed"));
+ isExpanded = !isExpanded;
+
+ if (isExpanded) {
+ // Show the 6 dummy menus with animation
+ for (CardView card : toggleableCards) {
+ if (card != null) {
+ card.setVisibility(View.VISIBLE);
+ card.setAlpha(0f);
+ card.animate()
+ .alpha(1f)
+ .setDuration(300)
+ .setInterpolator(new AccelerateDecelerateInterpolator())
+ .start();
+ }
}
- }
- btnLainnya.setText("Tampilkan Lebih Sedikit");
- } else {
- // Hide the 6 dummy menus with animation
- for (CardView card : toggleableCards) {
- if (card != null) {
- card.animate()
- .alpha(0f)
- .setDuration(300)
- .setInterpolator(new AccelerateDecelerateInterpolator())
- .withEndAction(() -> card.setVisibility(View.GONE))
- .start();
+ btnLainnya.setText("Tampilkan Lebih Sedikit");
+ } else {
+ // Hide the 6 dummy menus with animation
+ for (CardView card : toggleableCards) {
+ if (card != null) {
+ card.animate()
+ .alpha(0f)
+ .setDuration(300)
+ .setInterpolator(new AccelerateDecelerateInterpolator())
+ .withEndAction(() -> card.setVisibility(View.GONE))
+ .start();
+ }
}
+ btnLainnya.setText("Lainnya");
}
- btnLainnya.setText("Lainnya");
- }
- });
+ });
+ }
// Set up scan dan bayar card click listener
LinearLayout scanBayarContent = findViewById(R.id.scan_bayar_content);
if (scanBayarContent != null) {
scanBayarContent.setOnClickListener(v -> {
+ Log.d("NAVIGATION", "Scan dan Bayar clicked - Navigating to QrisActivity");
// Navigate to QRIS payment activity
startActivity(new Intent(MainActivity.this, QrisActivity.class));
});
+ } else {
+ Log.w("MENU_SETUP", "scan_bayar_content not found in layout");
}
}
+ private void testSDKIntegration() {
+ StringBuilder testResult = new StringBuilder();
+ testResult.append("=== SUNMI SDK INTEGRATION TEST ===\n\n");
+
+ // Test 1: SDK Connection Status
+ testResult.append("1. SDK Connection: ");
+ if (connectPaySDK) {
+ testResult.append("✅ CONNECTED\n");
+ } else {
+ testResult.append("❌ NOT CONNECTED\n");
+ }
+
+ // Test 2: Component Availability
+ testResult.append("\n2. SDK Components:\n");
+ testResult.append(" - EMVOptV2: ").append(emvOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - BasicOptV2: ").append(basicOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - PinPadOptV2: ").append(pinPadOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - ReadCardOptV2: ").append(readCardOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - SecurityOptV2: ").append(securityOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - TaxOptV2: ").append(taxOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - ETCOptV2: ").append(etcOptV2 != null ? "✅" : "❌").append("\n");
+ testResult.append(" - PrinterOptV2: ").append(printerOptV2 != null ? "✅" : "❌").append("\n");
+
+ // Test 3: Basic Function Tests
+ testResult.append("\n3. Function Tests:\n");
+
+ if (connectPaySDK) {
+ try {
+ if (basicOptV2 != null) {
+ testResult.append(" - BasicOpt: ✅ Ready\n");
+ }
+
+ if (printerOptV2 != null) {
+ testResult.append(" - Printer: ✅ Ready\n");
+ }
+
+ if (emvOptV2 != null) {
+ testResult.append(" - EMV: ✅ Ready\n");
+ }
+
+ testResult.append("\n✅ SDK Integration: SUCCESS!");
+ } catch (Exception e) {
+ testResult.append(" - Error: ❌ ").append(e.getMessage()).append("\n");
+ testResult.append("\n❌ SDK Integration: PARTIAL");
+ }
+ } else {
+ testResult.append(" - Cannot test: SDK not connected\n");
+ testResult.append("\n❌ SDK Integration: FAILED");
+ }
+
+ Log.d("SDK_TEST", testResult.toString());
+
+ // Show result in a dialog
+ showSDKTestDialog(testResult.toString());
+ }
+
+ private void showSDKTestDialog(String testResult) {
+ new AlertDialog.Builder(this)
+ .setTitle("Sunmi SDK Integration Test")
+ .setMessage(testResult)
+ .setPositiveButton("OK", null)
+ .setNeutralButton("Copy to Log", (dialog, which) -> {
+ Log.i("SDK_TEST_RESULT", testResult);
+ Toast.makeText(this, "Test result copied to log", Toast.LENGTH_SHORT).show();
+ })
+ .show();
+ }
+
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
diff --git a/app/src/main/java/com/example/bdkipoc/PaymentActivity.java b/app/src/main/java/com/example/bdkipoc/PaymentActivity.java
index da30b41..0e88fe3 100644
--- a/app/src/main/java/com/example/bdkipoc/PaymentActivity.java
+++ b/app/src/main/java/com/example/bdkipoc/PaymentActivity.java
@@ -488,6 +488,8 @@ public class PaymentActivity extends AppCompatActivity {
} else {
navigateBack();
}
+
+ super.onBackPressed();
}
@Override
diff --git a/app/src/main/java/com/example/bdkipoc/PinActivity.java b/app/src/main/java/com/example/bdkipoc/PinActivity.java
index 29c46e2..2bdb9d1 100644
--- a/app/src/main/java/com/example/bdkipoc/PinActivity.java
+++ b/app/src/main/java/com/example/bdkipoc/PinActivity.java
@@ -520,6 +520,7 @@ public class PinActivity extends AppCompatActivity {
return;
}
navigateBack();
+ super.onBackPressed();
}
@Override
diff --git a/app/src/main/java/com/example/bdkipoc/QrisResultActivity.java b/app/src/main/java/com/example/bdkipoc/QrisResultActivity.java
index b22cb76..c3610c0 100644
--- a/app/src/main/java/com/example/bdkipoc/QrisResultActivity.java
+++ b/app/src/main/java/com/example/bdkipoc/QrisResultActivity.java
@@ -898,6 +898,7 @@ public class QrisResultActivity extends AppCompatActivity {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finishAffinity();
+ super.onBackPressed();
}
private void pollPendingPaymentLog(final String orderId) {
diff --git a/app/src/main/java/com/example/bdkipoc/ReceiptActivity.java b/app/src/main/java/com/example/bdkipoc/ReceiptActivity.java
index 43072a5..23841f9 100644
--- a/app/src/main/java/com/example/bdkipoc/ReceiptActivity.java
+++ b/app/src/main/java/com/example/bdkipoc/ReceiptActivity.java
@@ -834,5 +834,6 @@ public class ReceiptActivity extends AppCompatActivity {
public void onBackPressed() {
// Use the smart back navigation
handleBackNavigation();
+ super.onBackPressed();
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bdkipoc/TransactionActivity.java b/app/src/main/java/com/example/bdkipoc/TransactionActivity.java
index 7f0c0ef..e623979 100644
--- a/app/src/main/java/com/example/bdkipoc/TransactionActivity.java
+++ b/app/src/main/java/com/example/bdkipoc/TransactionActivity.java
@@ -44,6 +44,8 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Calendar;
+import java.util.Collections;
+
import android.app.DatePickerDialog;
import android.widget.DatePicker;
@@ -464,7 +466,7 @@ public class TransactionActivity extends AppCompatActivity implements Transactio
}
// ✅ SORT SEARCH RESULTS by date
- filteredList.sort((t1, t2) -> {
+ Collections.sort(filteredList, (t1, t2) -> {
try {
Date date1 = parseCreatedAtDate(t1.createdAt);
Date date2 = parseCreatedAtDate(t2.createdAt);
@@ -699,7 +701,7 @@ public class TransactionActivity extends AppCompatActivity implements Transactio
transactionList.addAll(transactions);
// ✅ CRITICAL: FORCE SORT AGAIN after adding to main list
- transactionList.sort((t1, t2) -> {
+ Collections.sort(filteredList, (t1, t2) -> {
try {
Date date1 = parseCreatedAtDate(t1.createdAt);
Date date2 = parseCreatedAtDate(t2.createdAt);
@@ -794,7 +796,13 @@ public class TransactionActivity extends AppCompatActivity implements Transactio
for (Transaction tx : rawTransactions) {
String refId = tx.referenceId;
- groupedByRef.computeIfAbsent(refId, k -> new ArrayList<>()).add(tx);
+ List list = groupedByRef.get(refId);
+ if (list == null) {
+ list = new ArrayList<>();
+ groupedByRef.put(refId, list);
+ }
+ list.add(tx);
+
}
List deduplicatedList = new ArrayList<>();
@@ -811,7 +819,7 @@ public class TransactionActivity extends AppCompatActivity implements Transactio
Log.d("TransactionActivity", "✅ Unique transaction: " + referenceId);
} else {
// Multiple transactions with same reference_id - sort group by date first
- group.sort((t1, t2) -> {
+ Collections.sort(group, (t1, t2) -> {
try {
Date date1 = parseCreatedAtDate(t1.createdAt);
Date date2 = parseCreatedAtDate(t2.createdAt);
diff --git a/app/src/main/res/layout/activity_history.xml b/app/src/main/res/layout/activity_history.xml
index 5357dac..c8d7652 100644
--- a/app/src/main/res/layout/activity_history.xml
+++ b/app/src/main/res/layout/activity_history.xml
@@ -25,7 +25,8 @@
android:focusable="true"
android:padding="4dp"
android:src="@android:drawable/ic_menu_revert"
- android:tint="@android:color/white" />
+ app:tint="@android:color/white" />
+
+ app:tint="@android:color/white" />
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="#E31937"/>
+ app:tint="@android:color/white"/>
+ app:tint="#666666"/>
diff --git a/app/src/main/res/layout/activity_receipt.xml b/app/src/main/res/layout/activity_receipt.xml
index c984672..36e9050 100644
--- a/app/src/main/res/layout/activity_receipt.xml
+++ b/app/src/main/res/layout/activity_receipt.xml
@@ -52,7 +52,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_arrow_back"
- android:tint="@android:color/white"
+ app:tint="@android:color/white"
android:contentDescription="Kembali" />
@@ -479,7 +479,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_print"
- android:tint="#666666"
+ app:tint="#666666"
android:layout_marginEnd="8dp"/>
+ app:tint="@android:color/white" />
+ app:tint="#E53E3E" />
-
\ No newline at end of file
+
diff --git a/build.gradle b/build.gradle
index 565f8c2..ee55c94 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,4 +1,5 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
-alias(libs.plugins.android.application) apply false
+ id 'com.android.application' version '8.2.2' apply false
+ id 'com.android.library' version '8.2.2' apply false
}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 2d00053..e517124 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,23 +1,13 @@
pluginManagement {
repositories {
- google {
- content {
- includeGroupByRegex("com\\.android.*")
- includeGroupByRegex("com\\.google.*")
- includeGroupByRegex("androidx.*")
- }
- }
+ google()
mavenCentral()
gradlePluginPortal()
}
}
-dependencyResolutionManagement {
- repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
- repositories {
- google()
- mavenCentral()
- }
-}
-rootProject.name = "BDKI POC"
-include ':app'
+// Jangan gunakan dependencyResolutionManagement untuk sementara
+// Biarkan repositories di-handle di build.gradle masing-masing module
+
+rootProject.name = "BDKIPoc"
+include ':app'
\ No newline at end of file