Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
I
Implementation Partner Connect
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Gandha Ryanto
Implementation Partner Connect
Commits
12de395f
Commit
12de395f
authored
Oct 21, 2020
by
Wahyu Pratama
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
37dd675a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
303 additions
and
220 deletions
+303
-220
build.gradle
app/build.gradle
+2
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-1
MainActivity.java
...ava/id/mdd/implementationpartnerconnect/MainActivity.java
+133
-152
MyApp.java
.../main/java/id/mdd/implementationpartnerconnect/MyApp.java
+167
-66
No files found.
app/build.gradle
View file @
12de395f
...
...
@@ -44,6 +44,7 @@ dependencies {
implementation
'com.squareup.retrofit2:converter-scalars:2.3.0'
implementation
'com.jakewharton:butterknife:10.2.0'
implementation
'com.bugfender.sdk:android:3.+'
annotationProcessor
'com.jakewharton:butterknife-compiler:10.1.0'
annotationProcessor
"androidx.room:room-compiler:2.2.5"
...
...
@@ -51,7 +52,7 @@ dependencies {
implementation
'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation
'io.reactivex.rxjava2:rxjava:2.2.10'
implementation
'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation
(
group:
'com.mdd.payment'
,
name:
'aar-deviceid-release'
,
version:
'2.0.
5
'
,
ext:
'aar'
)
implementation
(
group:
'com.mdd.payment'
,
name:
'aar-deviceid-release'
,
version:
'2.0.
4
'
,
ext:
'aar'
)
implementation
(
group:
'com.mdd.service'
,
name:
'partner-connect'
,
version:
'2.2.7'
,
ext:
'aar'
)
implementation
(
group:
'com.mdd.payment'
,
name:
'mybanklibrary-release'
,
version:
'3.5.9'
,
ext:
'aar'
)
...
...
app/src/main/AndroidManifest.xml
View file @
12de395f
...
...
@@ -10,7 +10,7 @@
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<application
...
...
app/src/main/java/id/mdd/implementationpartnerconnect/MainActivity.java
View file @
12de395f
...
...
@@ -110,6 +110,8 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
private
MainCardProcessor
cardProcessor
;
private
InitReader
reader
;
boolean
iya
=
false
;
protected
int
getCommand
()
{
return
COMMAND
;
...
...
@@ -120,7 +122,24 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
setCommand
(
MDDCommand
.
COMMAND_GET_BALANCE
);
Log
.
d
(
"btnGantiKartu"
,
"clicked"
);
Toast
.
makeText
(
this
,
"Tempel kartu anda.."
,
Toast
.
LENGTH_SHORT
).
show
();
// execute();
refreshUi
();
}
private
void
refreshUi
()
{
runOnUiThread
(()
->
{
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
GONE
);
bgCard
.
getBackground
().
setColorFilter
(
Color
.
parseColor
(
"#221f1f"
),
PorterDuff
.
Mode
.
SRC_ATOP
);
mProgress
.
setVisibility
(
View
.
INVISIBLE
);
oldBalance
=
0
;
textBalance
.
setText
(
"Rp "
+
formatter
.
format
(
0
));
textCardNumber
.
setText
(
"0000 0000 0000 0000"
);
mOpsResult
.
setTextColor
(
getColorRes
(
R
.
color
.
text_normal
));
mOpsResult
.
setText
(
getResources
().
getString
(
R
.
string
.
tap_card
));
setCommand
(
MDDCommand
.
COMMAND_UPDATE_BALANCE
);
});
beep
();
}
@OnClick
(
R
.
id
.
btnUpdateBalance
)
...
...
@@ -128,7 +147,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
setCommand
(
MDDCommand
.
COMMAND_UPDATE_BALANCE
);
Log
.
d
(
"btnUpdateBalance"
,
"clicked"
);
Toast
.
makeText
(
this
,
"Tempel kartu anda.."
,
Toast
.
LENGTH_SHORT
).
show
();
// execute();
}
private
void
setCommand
(
int
commandUpdateBalance
)
{
...
...
@@ -147,14 +165,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
if
(
isInternetAvailable
())
{
setUp
();
NfcManager
manager
=
(
NfcManager
)
getSystemService
(
Context
.
NFC_SERVICE
);
NfcAdapter
adapter
=
manager
.
getDefaultAdapter
();
Log
.
d
(
TAG
,
"adapter:"
+
adapter
+
","
+
Build
.
MODEL
+
","
+
Build
.
BRAND
);
if
(
iya
)
{
Log
.
d
(
TAG
,
"IS PAX"
);
if
(
working
)
return
;
displayResult
(
R
.
color
.
text_normal
,
R
.
string
.
keep_tap
);
showProgressBar
();
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
GONE
);
if
(
adapter
==
null
||
!
adapter
.
isEnabled
())
{
displayResult
(
R
.
color
.
text_error
,
R
.
string
.
nfc_not_found
);
}
}
else
{
NfcManager
manager
=
(
NfcManager
)
getSystemService
(
Context
.
NFC_SERVICE
);
NfcAdapter
adapter
=
manager
.
getDefaultAdapter
();
Log
.
d
(
TAG
,
"adapter:"
+
adapter
+
","
+
Build
.
MODEL
+
","
+
Build
.
BRAND
);
if
(
adapter
==
null
||
!
adapter
.
isEnabled
())
{
displayResult
(
R
.
color
.
text_error
,
R
.
string
.
nfc_not_found
);
}
}
}
else
{
Toast
.
makeText
(
MainActivity
.
this
,
getResources
().
getString
(
R
.
string
.
connection_error
),
Toast
.
LENGTH_SHORT
).
show
();
hideProgressBar
();
...
...
@@ -162,32 +188,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
showDialog
();
}
reader
=
((
MyApp
)
getApplication
()).
getReader
();
Log
.
d
(
"ReaderApp"
,
String
.
valueOf
(
reader
));
// cardProcessor = new MainCardProcessor(MainActivity.this, reader, new UpdateBalanceView() {
// @Override
// public void onUpdateBalanceSuccess(SuccessUpdateBalance successUpdateBalance) {
// runOnUiThread(() -> MainActivity.this.onUpdateBalaceSuccess(successUpdateBalance));
// }
//
// @Override
// public void onUpdateBalanceError(String reason) {
// runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(reason));
// }
//
// @Override
// public void onCardDetected(CardInfo cardInfo) {
// Log.d("Card", "card kedetek nih");
// runOnUiThread(() -> MainActivity.this.onBalanceInfoAvailable(cardInfo));
// }
//
// @Override
// public void onErrorNfcCardMsg(int errorCode) {
// runOnUiThread(() -> MainActivity.this.onUpdateBalanceError(""));
// }
// });
// cardProcessor.getBalance();
Tag
tagFromIntent
=
getIntent
().
getParcelableExtra
(
NfcAdapter
.
EXTRA_TAG
);
if
(
tagFromIntent
!=
null
)
{
onTagDiscovered
(
tagFromIntent
);
...
...
@@ -195,20 +195,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
}
// private void getBalance() {
// Log.d("getBalance", "udh sampe getbalance");
// String response = new Gson().toJson(cardProcessor.findCardUid());
// Log.d("response", response);
// FindCardResponse response1 = cardProcessor.findCardUid();
// response1.getUid();
//
// CardInfoCommand command = new CardInfoCommand(reader.myReader);
// final CommandResult<CardInfo> execute = command.execute(cardProcessor.findCardUid());
// CardInfo cardInfo = execute.getResult();
// Log.d("CardInfo", "Ini card infonya bro : "+cardInfo);
//
// }
private
void
hideResult
()
{
mOpsResult
.
setVisibility
(
View
.
GONE
);
}
...
...
@@ -239,7 +225,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
}
else
{
Log
.
d
(
"validate"
,
"Mau init niih"
);
((
MyApp
)
getApplication
()).
init
Config
(
this
);
((
MyApp
)
getApplication
()).
init
Aar
(
this
);
}
}
...
...
@@ -247,44 +233,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
public
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
super
.
onRequestPermissionsResult
(
requestCode
,
permissions
,
grantResults
);
Log
.
e
(
"requestPermissionResult"
,
"reqCode "
+
requestCode
+
" permission "
+
permissions
+
" grantResults "
+
grantResults
);
((
MyApp
)
getApplication
()).
init
Config
(
this
);
((
MyApp
)
getApplication
()).
init
Aar
(
this
);
}
@Override
protected
void
onResume
()
{
Log
.
e
(
"onResume"
,
"onresume"
);
super
.
onResume
();
if
(
isInternetAvailable
())
{
setCommand
(
MDDCommand
.
COMMAND_GET_BALANCE
);
// execute();
setCommand
(
MDDCommand
.
COMMAND_UPDATE_BALANCE
);
NfcManager
manager
=
(
NfcManager
)
getSystemService
(
Context
.
NFC_SERVICE
);
NfcAdapter
adapter
=
manager
.
getDefaultAdapter
();
final
int
READER_FLAGS
=
NfcAdapter
.
FLAG_READER_NFC_A
|
NfcAdapter
.
FLAG_READER_SKIP_NDEF_CHECK
;
if
(
adapter
!=
null
&&
adapter
.
isEnabled
())
{
adapter
.
enableReaderMode
(
this
,
this
,
READER_FLAGS
,
null
);
}
// if (EMoneyUtils.isPax()) {
//// Log.d(TAG, "IS PAX");
//// if (eMoneyUtils == null) {
//// displayResult(R.color.text_error, R.string.error_not_setup);
//// return;
//// }
//// if (eMoneyUtils == null) return;
//// if (working) return;
//// displayResult(R.color.text_normal, R.string.keep_tap);
//// showProgressBar();
//// findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
//// COMMAND = MDDCommand.COMMAND_GET_BALANCE;
// } else {
// setCommand(MDDCommand.COMMAND_GET_BALANCE);
//
// NfcManager manager = (NfcManager) getSystemService(Context.NFC_SERVICE);
// NfcAdapter adapter = manager.getDefaultAdapter();
// Log.d(TAG, "adapter:" + adapter + "," + Build.MODEL + "," + Build.BRAND);
//
// if (adapter == null || !adapter.isEnabled()) {
// displayResult(R.color.text_error, R.string.nfc_not_found);
// }
// }
}
else
{
Toast
.
makeText
(
MainActivity
.
this
,
getResources
().
getString
(
R
.
string
.
connection_error
),
Toast
.
LENGTH_SHORT
).
show
();
hideProgressBar
();
...
...
@@ -351,7 +315,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
Toast
.
makeText
(
MainActivity
.
this
,
"Mohon Tunggu..."
,
Toast
.
LENGTH_LONG
).
show
();
showProgressBar
();
displayResult
(
R
.
color
.
text_normal
,
R
.
string
.
keep_tap
);
btnGantiKartu
.
setEnabled
(
false
);
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
GONE
);
}
...
...
@@ -368,7 +331,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
Log
.
d
(
TAG
,
"onBeginOperation: "
);
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
displayResult
(
R
.
color
.
text_normal
,
R
.
string
.
keep_tap
);
btnGantiKartu
.
setEnabled
(
false
);
showProgressBar
();
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
GONE
);
}
...
...
@@ -381,7 +343,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
Log
.
d
(
TAG
,
"onBalanceInfoAvailable: "
+
cardInfo
.
getBalance
());
runOnUiThread
(()
->
{
mProgress
.
setVisibility
(
View
.
IN
VISIBLE
);
mProgress
.
setVisibility
(
View
.
VISIBLE
);
if
(
cardInfo
.
getBankType
().
equals
(
"BNI"
))
{
bgCard
.
getBackground
().
setColorFilter
(
Color
.
parseColor
(
"#F6630E"
),
PorterDuff
.
Mode
.
SRC_ATOP
);
logoCard
.
setImageResource
(
R
.
drawable
.
tapcash_logo
);
...
...
@@ -395,8 +357,8 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
textCardNumber
.
setText
(
cardInfo
.
getCardNumber
());
mOpsResult
.
setTextColor
(
getColorRes
(
R
.
color
.
text_normal
));
mOpsResult
.
setText
(
getResources
().
getString
(
R
.
string
.
TapMore
));
setCommand
(
MDDCommand
.
COMMAND_UPDATE_BALANCE
);
//
mOpsResult.setText(getResources().getString(R.string.TapMore));
//
setCommand(MDDCommand.COMMAND_UPDATE_BALANCE);
});
beep
();
...
...
@@ -404,6 +366,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
@Override
public
void
onUpdateBalaceSuccess
(
SuccessUpdateBalance
successUpdateBalance
)
{
Log
.
e
(
"onSuccess"
,
"successdisiniaja"
);
hasPendingOperation
=
false
;
Log
.
d
(
TAG
,
"onUpdateBalaceSuccess: "
+
successUpdateBalance
.
getBalance
());
Log
.
d
(
TAG
,
"onUpdateBalaceSuccess: "
+
successUpdateBalance
.
getMessage
());
...
...
@@ -413,17 +376,22 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
long
amount
=
successUpdateBalance
.
getBalance
()
-
oldBalance
;
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
VISIBLE
);
textBalance
.
setText
(
"Rp "
+
formatter
.
format
(
successUpdateBalance
.
getBalance
()));
textBalance
.
setText
(
"Rp "
+
formatter
.
format
(
oldBalance
));
textAmount
.
setText
(
"Rp "
+
formatter
.
format
(
amount
));
textNewBalance
.
setText
(
"Rp "
+
formatter
.
format
(
successUpdateBalance
.
getBalance
()));
textCardNumber
.
setText
(
successUpdateBalance
.
getCardNumber
());
displayResult
(
R
.
color
.
text_success
,
R
.
string
.
update_success
);
hideProgressBar
();
beep
();
oldBalance
=
successUpdateBalance
.
getBalance
();
}
else
{
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
GONE
);
textBalance
.
setText
(
"Rp "
+
formatter
.
format
(
successUpdateBalance
.
getBalance
()));
textCardNumber
.
setText
(
successUpdateBalance
.
getCardNumber
());
displayResult
(
R
.
color
.
text_success
,
R
.
string
.
no_pending_balance
);
mProgress
.
setVisibility
(
View
.
INVISIBLE
);
// findViewById(R.id.lyUpdateBalance).setVisibility(View.GONE);
// displayResult(R.color.text_success, R.string.no_pending_balance);
// mProgress.setVisibility(View.INVISIBLE);
}
hideProgressBar
();
beep
();
oldBalance
=
successUpdateBalance
.
getBalance
();
}
private
void
beep
()
{
...
...
@@ -437,6 +405,7 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
@Override
public
void
onUpdateBalanceError
(
String
reason
)
{
Log
.
e
(
"onError"
,
"errorDisiniAja"
);
hasPendingOperation
=
false
;
mProgress
.
setVisibility
(
View
.
INVISIBLE
);
findViewById
(
R
.
id
.
lyUpdateBalance
).
setVisibility
(
View
.
GONE
);
...
...
@@ -445,11 +414,13 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
if
(
reason
.
equalsIgnoreCase
(
"Timed out"
))
{
displayResult
(
R
.
color
.
text_error
,
R
.
string
.
connection_error
);
}
else
if
(
reason
.
contains
(
"Reversal Success"
))
{
Log
.
d
(
"onUpdateBalanceError"
,
"
Halo Anda sudah di onupdatebalance error
"
);
Log
.
d
(
"onUpdateBalanceError"
,
"
contains reversal success
"
);
displayResult
(
R
.
color
.
text_error
,
R
.
string
.
reversal_success
);
}
else
{
Log
.
e
(
"onUpdateBalanceError"
,
"else"
);
displayResult
(
R
.
color
.
text_error
,
R
.
string
.
update_balance_failed
);
}
}
...
...
@@ -486,39 +457,83 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
}
InitReader
paxReader
=
null
;
private
void
execute
(
Tag
tag
)
{
Log
.
d
(
"Execute"
,
"execute dipanggil"
);
if
(
reader
!=
null
){
cardProcessor
=
new
MainCardProcessor
(
MainActivity
.
this
,
reader
,
new
UpdateBalanceView
()
{
@Override
public
void
onUpdateBalanceSuccess
(
SuccessUpdateBalance
successUpdateBalance
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalaceSuccess
(
successUpdateBalance
));
}
@Override
public
void
onInitReaderComplete
(
InitReader
reader
)
{
paxReader
=
reader
;
pbloading
.
setVisibility
(
View
.
GONE
);
cardProcessor
=
new
MainCardProcessor
(
MainActivity
.
this
,
reader
,
new
UpdateBalanceView
()
{
@Override
public
void
onUpdateBalanceSuccess
(
SuccessUpdateBalance
successUpdateBalance
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalaceSuccess
(
successUpdateBalance
));
}
@Override
public
void
onUpdateBalanceError
(
String
reason
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalanceError
(
reason
));
}
@Override
public
void
onUpdateBalanceError
(
String
reason
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalanceError
(
reason
));
}
@Override
public
void
onCardDetected
(
CardInfo
cardInfo
)
{
Log
.
d
(
"Card"
,
"card kedetek nih"
);
runOnUiThread
(()
->
MainActivity
.
this
.
onBalanceInfoAvailable
(
cardInfo
));
}
@Override
public
void
onCardDetected
(
CardInfo
cardInfo
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onBalanceInfoAvailable
(
cardInfo
));
}
@Override
public
void
onErrorNfcCardMsg
(
int
errorCode
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalanceError
(
""
));
}
});
cardProcessor
.
lockIsoDepCard
(
tag
);
String
cardUid
=
ByteArrayToHexString
(
tag
.
getId
());
Log
.
d
(
"TagFromIntent"
,
cardUid
);
boolean
hasCardUid
=
!
cardUid
.
isEmpty
();
if
(
hasCardUid
)
{
Log
.
d
(
TAG
,
"---> Send to UI Card Found"
);
runOnUiThread
(
new
Runnable
()
{
@Override
public
void
run
()
{
onNfcCardFound
();
}
});
@Override
public
void
onErrorNfcCardMsg
(
int
errorCode
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalanceError
(
""
));
CardInfoCommand
command
=
new
CardInfoCommand
(
reader
.
myReader
);
Log
.
e
(
"myReader"
,
"Myreader : "
+
reader
.
myReader
);
final
CommandResult
<
CardInfo
>
execute
=
command
.
execute
(
cardUid
);
CardInfo
detectedCardInfo
=
execute
.
getResult
();
Log
.
d
(
"cardInfo"
,
"ini card infonnya bro : "
+
detectedCardInfo
);
Log
.
d
(
"executeSuccess"
,
"executeIsSuccess = "
+
execute
.
isSuccess
());
if
(
execute
.
isSuccess
())
{
cardProcessor
.
getBalance
(
detectedCardInfo
);
cardProcessor
.
updateBalance
(
detectedCardInfo
,
1
);
// switch (getCommand()) {
// case MDDCommand.COMMAND_GET_BALANCE:
// cardProcessor.getBalance(detectedCardInfo);
// break;
// case MDDCommand.COMMAND_UPDATE_BALANCE:
// cardProcessor.updateBalance(detectedCardInfo, 1);
// break;
// }
}
else
{
runOnUiThread
(()
->
{
Log
.
e
(
"error"
,
"Messagenya : "
+
execute
.
getMessage
());
MainActivity
.
this
.
onUpdateBalanceError
(
"Kartu tidak terdeteksi"
);
cardProcessor
.
unlockIsoDepCard
();
});
}
cardProcessor
.
unlockIsoDepCard
();
}
else
{
//wrong card type
cardProcessor
.
unlockIsoDepCard
();
}
}
);
}
}
@Override
public
void
onTagDiscovered
(
Tag
tag
)
{
cardProcessor
=
new
MainCardProcessor
(
MainActivity
.
this
,
paxReader
,
new
UpdateBalanceView
()
{
public
void
onInitReaderComplete
(
InitReader
reader
)
{
pbloading
.
setVisibility
(
View
.
GONE
);
this
.
reader
=
reader
;
cardProcessor
=
new
MainCardProcessor
(
MainActivity
.
this
,
reader
,
new
UpdateBalanceView
()
{
@Override
public
void
onUpdateBalanceSuccess
(
SuccessUpdateBalance
successUpdateBalance
)
{
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalaceSuccess
(
successUpdateBalance
));
...
...
@@ -531,7 +546,6 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
@Override
public
void
onCardDetected
(
CardInfo
cardInfo
)
{
Log
.
d
(
"Card"
,
"card kedetek nih"
);
runOnUiThread
(()
->
MainActivity
.
this
.
onBalanceInfoAvailable
(
cardInfo
));
}
...
...
@@ -540,49 +554,16 @@ public class MainActivity extends AppCompatActivity implements MDDUpdateBalanceV
runOnUiThread
(()
->
MainActivity
.
this
.
onUpdateBalanceError
(
""
));
}
});
}
String
cardUid
=
ByteArrayToHexString
(
tag
.
getId
());
cardProcessor
.
lockIsoDepCard
(
tag
);
Log
.
d
(
"TagFromIntent"
,
cardUid
);
boolean
hasCardUid
=
!
cardUid
.
isEmpty
();
if
(
hasCardUid
)
{
Log
.
d
(
TAG
,
"---> Send to UI Card Found"
);
runOnUiThread
(
new
Runnable
()
{
@Override
public
void
run
()
{
onNfcCardFound
();
}
});
CardInfoCommand
command
=
new
CardInfoCommand
(
paxReader
.
myReader
);
Log
.
e
(
"myReader"
,
"Myreader : "
+
paxReader
.
myReader
);
final
CommandResult
<
CardInfo
>
execute
=
command
.
execute
(
cardUid
);
CardInfo
detectedCardInfo
=
execute
.
getResult
();
Log
.
d
(
"cardInfo"
,
"ini card infonnya bro : "
+
detectedCardInfo
);
Log
.
d
(
"executeSuccess"
,
"executeIsSuccess = "
+
execute
.
isSuccess
());
if
(
execute
.
isSuccess
())
{
switch
(
getCommand
())
{
case
MDDCommand
.
COMMAND_GET_BALANCE
:
cardProcessor
.
getBalance
(
detectedCardInfo
);
break
;
case
MDDCommand
.
COMMAND_UPDATE_BALANCE
:
cardProcessor
.
updateBalance
(
detectedCardInfo
,
1
);
break
;
}
}
else
{
runOnUiThread
(()
->
{
Log
.
e
(
"error"
,
"Messagenya : "
+
execute
.
getMessage
());
MainActivity
.
this
.
onUpdateBalanceError
(
"Kartu tidak terdeteksi"
);
cardProcessor
.
unlockIsoDepCard
();
});
}
@Override
public
void
onTagDiscovered
(
Tag
tag
)
{
Log
.
d
(
"OnTagDiscovered"
,
"Udh sampe OnTagDiscover loh"
);
// taG = ByteArrayToHexString(tag.getId());
// this.tagFromIntent = tag;
execute
(
tag
);
}
else
{
//wrong card type
cardProcessor
.
unlockIsoDepCard
();
}
}
}
\ No newline at end of file
app/src/main/java/id/mdd/implementationpartnerconnect/MyApp.java
View file @
12de395f
...
...
@@ -11,6 +11,7 @@ import android.view.View;
import
android.widget.ProgressBar
;
import
android.widget.Toast
;
import
com.bugfender.sdk.Bugfender
;
import
com.mdd.aar.deviceid.AarDeviceId
;
import
com.mdd.aar.deviceid.DeviceEnvironment
;
import
com.mdd.aar.deviceid.exceptions.DeviceNotRegisteredException
;
...
...
@@ -26,85 +27,185 @@ import io.reactivex.disposables.Disposable;
import
io.reactivex.schedulers.Schedulers
;
public
class
MyApp
extends
Application
{
String
GIVE_MID
=
"ba7db816e59612f8ce1630a095ef01c5"
;
// please ask us for credential
String
GIVE_TID
=
"0820517774"
;
// please ask us for credential
String
GIVEN_TOKEN
=
"5b423ef49cb029340d7231cace0de201"
;
// please ask us for credential
private
final
String
accessToken
=
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RQcm9kMyIsInVzZXJuYW1lIjoiVGVzdFByb2QzIiwiYXV0aF9sZXZlbCI6Ik1FUkNIQU5UIiwibWlkIjoiMWZiNTdmMTY2YTQ4MGU5N2JmN2EzZGNiZjkzMTkyOTMifSwiaWF0IjoxNTk3NzM3NzIxLCJleHAiOjE1OTc4MjQxMjEsIm5iZiI6MTU5NzczNzcyM30.CXM-5mCv91Yo17c9zHXQKPGR5gqAeu-LADta-_qnABYxzmnE4Dx0q7NQ9IYr6cYO6cXp40UW4s632fzVYmPCXH8f0RtSwLPqTT7_lWHK--fHCP-LZOmfgwUBxdNocYY9xAi-NyWqCmTnkjWx91lqh9S9Fcue6nO_KrBqngUpBPhpS0hPwgmkqHXX6yAdVs931NbfNM3cYW9PpGIw8K-OxoPDHByD61uAFxT9FCrTbca7vV3HFQnZEKpwxxdECu7DCQAsGTl7JqfbH2j5swe_t97rSDAGyE1HRzGX-SMqPULkC-XravF2m_HucosacYQuSdRaxAWfEIQvtQhAcRXwTA"
;
private
InitReader
reader
;
int
idDriver
=
nativeLib
.
USE_NFC_NATIVE
;
@Override
public
void
onCreate
()
{
super
.
onCreate
();
}
// String GIVE_MID = "ba7db816e59612f8ce1630a095ef01c5"; // please ask us for credential
// String GIVE_TID = "0820517774";// please ask us for credential
// String GIVEN_TOKEN = "5b423ef49cb029340d7231cace0de201";// please ask us for credential
// private final String accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RQcm9kMyIsInVzZXJuYW1lIjoiVGVzdFByb2QzIiwiYXV0aF9sZXZlbCI6Ik1FUkNIQU5UIiwibWlkIjoiMWZiNTdmMTY2YTQ4MGU5N2JmN2EzZGNiZjkzMTkyOTMifSwiaWF0IjoxNTk3NzM3NzIxLCJleHAiOjE1OTc4MjQxMjEsIm5iZiI6MTU5NzczNzcyM30.CXM-5mCv91Yo17c9zHXQKPGR5gqAeu-LADta-_qnABYxzmnE4Dx0q7NQ9IYr6cYO6cXp40UW4s632fzVYmPCXH8f0RtSwLPqTT7_lWHK--fHCP-LZOmfgwUBxdNocYY9xAi-NyWqCmTnkjWx91lqh9S9Fcue6nO_KrBqngUpBPhpS0hPwgmkqHXX6yAdVs931NbfNM3cYW9PpGIw8K-OxoPDHByD61uAFxT9FCrTbca7vV3HFQnZEKpwxxdECu7DCQAsGTl7JqfbH2j5swe_t97rSDAGyE1HRzGX-SMqPULkC-XravF2m_HucosacYQuSdRaxAWfEIQvtQhAcRXwTA";
// private InitReader reader;
// int idDriver = nativeLib.USE_NFC_NATIVE;
// @Override
// public void onCreate() {
// super.onCreate();
// }
//
// public void initConfig(InitListener initListener) {
// TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// if (idDriver == 1) {
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
// Toast.makeText(this, "Please grant permission", Toast.LENGTH_SHORT).show();
// return;
// } else {
// doInit();
// }
// } else {
// doInit();
// }
// }else{
// Log.d("lariKemana", "Lari ke else bro");
// new RXReader().initEdcReader(this, nativeLib.USE_NFC_NATIVE)
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new SingleObserver<InitReader>() {
// @Override
// public void onSubscribe(Disposable d) {
//
// }
//
// @Override
// public void onSuccess(InitReader initReader) {
// initListener.onInitReaderComplete(initReader);
// Log.e("initReader", String.valueOf(initReader));
// }
//
//
// @Override
// public void onError(Throwable e) {
//
// }
// });
// }
// }
//
// public void doInit() {
// ConfigService configService = new ConfigService();
// configService.setMid(GIVE_MID);
// configService.setTid(GIVE_TID);
// configService.setToken(GIVEN_TOKEN);
// configService.setAccessToken(accessToken);
// AarDeviceId aarDeviceId = new AarDeviceId(this);
// String deviceId = "";
// try {
// deviceId = aarDeviceId.getDeviceId();
// } catch (DeviceNotRegisteredException e) {
// aarDeviceId.init(accessToken, DeviceEnvironment.PROD);
// }
//
// configService.setTid(deviceId);
//
// MDDService initialize = MDDService.with(this, configService);
// if (initialize.isValid()) {
// reader = initialize.getInitReader();
// if (reader != null) {
// Log.e("MyApp", "Aktivasi library sukses");
// Toast.makeText(this, "Aktivasi library sukses", Toast.LENGTH_SHORT).show();
// }else {
// Log.e("MyApp", "Library belum aktif reader null");
// Toast.makeText(this, "Library belum aktif reader null", Toast.LENGTH_SHORT).show();
// }
// } else {
// Log.e("MyApp", "Library belum aktif");
// Toast.makeText(this, "Library belum aktif", Toast.LENGTH_SHORT).show();
// }
// }
//
// public InitReader getReader() {
// return reader;
// }
String
accessToken
=
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhdXRoLXNlcnZpY2U6MS4wLjAiLCJzdWIiOnsibmFtZSI6IlRlc3RTdGFnIiwidXNlcm5hbWUiOiJUZXN0U3RhZyIsImF1dGhfbGV2ZWwiOiJNRVJDSEFOVCIsIm1pZCI6IjIwZjFmMTNmODA1MGFjY2QxYjNjNzFlOWUyYTQ0NzU3In0sImlhdCI6MTU5MzQxMzM5MCwiZXhwIjoxNzUxMTk4MTUwLCJuYmYiOjE1OTM0MTMzOTJ9.E6UJMKha5YCbri4KRExDV4zeA1ZBfabpW-O6SInxxvfyTTYnUZCEu58STBGrOCL0RuxTFp5Y-XEyoa932fQcTpMBMsKkvDmGeftJ0hmjzAxAjHTfUxUyEa-HHF1whsM4YQUG9CesEBjU9IUcE6Rs-jykYxuryvvqqop5BoEIwO71qQBrq6DtpwjwFk9hbNt0EKs_HmCpySfXQxorfLMbAVJCHBYoo4UVymUfwUbps7hW6eQwNoBnt11O59CRPf6uUVIfCrsaaBMcJI-mc214-EMyl3RmMbqNl_f_0ITEJhMtK2zbUFZ8dMrGdZZgWJxiHdmzxqdaEPDVshYi9Uo31w"
;
int
idDriver
=
nativeLib
.
USE_NFC_NATIVE
;
private
InitReader
reader
;
@Override
public
void
onCreate
()
{
super
.
onCreate
();
}
public
void
initAar
(
InitListener
listener
)
{
Bugfender
.
init
(
this
,
"apHTg4GcGupkx86oSnew7mm8cpbnwhAX"
,
BuildConfig
.
DEBUG
);
Bugfender
.
enableCrashReporting
();
Bugfender
.
enableUIEventLogging
(
this
);
Bugfender
.
enableLogcatLogging
();
public
void
initConfig
(
InitListener
initListener
)
{
ConfigService
configService
=
new
ConfigService
();
configService
.
setMid
(
"ba7db816e59612f8ce1630a095ef01c5"
);
configService
.
setToken
(
"5b423ef49cb029340d7231cace0de201"
);
if
(
idDriver
==
1
)
{
// configService.setTid("1234");
TelephonyManager
telephonyManager
=
(
TelephonyManager
)
getSystemService
(
Context
.
TELEPHONY_SERVICE
);
if
(
idDriver
==
1
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
if
(
checkSelfPermission
(
Manifest
.
permission
.
READ_PHONE_STATE
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
Toast
.
makeText
(
this
,
"Please grant permission"
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
if
(
checkSelfPermission
(
Manifest
.
permission
.
READ_PHONE_STATE
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
Toast
.
makeText
(
this
,
"Please grant permission"
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
}
else
{
AarDeviceId
aarDeviceId
=
new
AarDeviceId
(
this
);
String
deviceId
=
""
;
try
{
deviceId
=
aarDeviceId
.
getDeviceId
();
Log
.
d
(
"deviceId"
,
deviceId
);
}
catch
(
DeviceNotRegisteredException
e
)
{
aarDeviceId
.
init
(
accessToken
,
DeviceEnvironment
.
PROD
);
}
configService
.
setTid
(
deviceId
);
MDDService
initialize
=
MDDService
.
with
(
this
,
configService
);
if
(
initialize
.
isValid
())
{
reader
=
initialize
.
getInitReader
();
listener
.
onInitReaderComplete
(
reader
);
Log
.
d
(
"reader"
,
String
.
valueOf
(
reader
));
Log
.
d
(
"MyApp"
,
"--> Build Version"
);
Toast
.
makeText
(
this
,
"Aktivasi library sukses"
,
Toast
.
LENGTH_SHORT
).
show
();
}
else
{
doInit
();
Toast
.
makeText
(
this
,
"Library belum aktif"
,
Toast
.
LENGTH_SHORT
).
show
();
}
}
else
{
doInit
();
}
}
else
{
Log
.
d
(
"lariKemana"
,
"Lari ke else bro"
);
new
RXReader
().
initEdcReader
(
this
,
nativeLib
.
USE_NFC_NATIVE
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
new
SingleObserver
<
InitReader
>(
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
}
else
{
AarDeviceId
aarDeviceId
=
new
AarDeviceId
(
this
);
String
deviceId
=
""
;
try
{
deviceId
=
aarDeviceId
.
getDeviceId
();
}
catch
(
DeviceNotRegisteredException
e
)
{
aarDeviceId
.
init
(
accessToken
,
DeviceEnvironment
.
PROD
);
}
}
configService
.
setTid
(
deviceId
);
@Override
public
void
onSuccess
(
InitReader
initReader
)
{
initListener
.
onInitReaderComplete
(
initReader
);
Log
.
e
(
"initReader"
,
String
.
valueOf
(
initReader
));
}
MDDService
initialize
=
MDDService
.
with
(
this
,
configService
);
if
(
initialize
.
isValid
())
{
Log
.
d
(
"MyApp"
,
"--> aardeviceid"
);
reader
=
initialize
.
getInitReader
();
Toast
.
makeText
(
this
,
"Aktivasi library sukses"
,
Toast
.
LENGTH_SHORT
).
show
();
}
else
{
Toast
.
makeText
(
this
,
"Library belum aktif"
,
Toast
.
LENGTH_SHORT
).
show
();
}
}
}
else
{
Log
.
d
(
"lariKemana"
,
"Lari ke else bro"
);
new
RXReader
().
initEdcReader
(
this
,
nativeLib
.
USE_NFC_NATIVE
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
new
SingleObserver
<
InitReader
>()
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
@Override
public
void
onError
(
Throwable
e
)
{
}
}
});
}
}
@Override
public
void
onSuccess
(
InitReader
initReader
)
{
listener
.
onInitReaderComplete
(
initReader
);
reader
=
initReader
;
Log
.
e
(
"initReader"
,
String
.
valueOf
(
initReader
));
}
public
void
doInit
()
{
ConfigService
configService
=
new
ConfigService
();
configService
.
setMid
(
GIVE_MID
);
configService
.
setTid
(
GIVE_TID
);
configService
.
setToken
(
GIVEN_TOKEN
);
configService
.
setAccessToken
(
accessToken
);
AarDeviceId
aarDeviceId
=
new
AarDeviceId
(
this
);
String
deviceId
=
""
;
try
{
deviceId
=
aarDeviceId
.
getDeviceId
();
}
catch
(
DeviceNotRegisteredException
e
)
{
aarDeviceId
.
init
(
accessToken
,
DeviceEnvironment
.
PROD
);
}
configService
.
setTid
(
deviceId
);
@Override
public
void
onError
(
Throwable
e
)
{
MDDService
initialize
=
MDDService
.
with
(
this
,
configService
);
if
(
initialize
.
isValid
())
{
reader
=
initialize
.
getInitReader
();
if
(
reader
!=
null
)
{
Log
.
e
(
"MyApp"
,
"Aktivasi library sukses"
);
Toast
.
makeText
(
this
,
"Aktivasi library sukses"
,
Toast
.
LENGTH_SHORT
).
show
();
}
else
{
Log
.
e
(
"MyApp"
,
"Library belum aktif reader null"
);
Toast
.
makeText
(
this
,
"Library belum aktif reader null"
,
Toast
.
LENGTH_SHORT
).
show
();
}
}
else
{
Log
.
e
(
"MyApp"
,
"Library belum aktif"
);
Toast
.
makeText
(
this
,
"Library belum aktif"
,
Toast
.
LENGTH_SHORT
).
show
();
}
});
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment