Skip to content

Commit 01e8e02

Browse files
committed
생체인증 결제 추가중
1 parent 3369fb4 commit 01e8e02

File tree

5 files changed

+61
-11
lines changed

5 files changed

+61
-11
lines changed

bootpay/src/main/java/kr/co/bootpay/BootpayBuilder.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public class BootpayBuilder {
5757
private BootpayDialog dialog;
5858
// private BootpayBioDialog bioDialog;
5959
private ApiPresenter presenter;
60+
boolean isBioIntent = false;
6061
// private String
6162

6263

@@ -507,6 +508,7 @@ private void requestBioDialog() {
507508
if(confirm != null) CurrentBioRequest.getInstance().confirm = confirm;
508509
if(done != null) CurrentBioRequest.getInstance().done = done;
509510

511+
isBioIntent = true;
510512
CurrentBioRequest.getInstance().request = request;
511513

512514
Intent intent = new Intent(context, BootpayBioActivity.class);
@@ -660,6 +662,15 @@ private void requestApp2App() {
660662
public void transactionConfirm(String data) {
661663
if (dialog != null)
662664
dialog.transactionConfirm(data);
665+
if(isBioIntent == true) {
666+
if(CurrentBioRequest.getInstance().bioActivity != null)
667+
CurrentBioRequest.getInstance().bioActivity.transactionConfirm(data);
668+
// String method_name= getIntent.getIntExtra("method_name");
669+
// Class<?> c = Class.forName("class name");
670+
// Method method = c.getDeclaredMethod (method_name, parameterTypes)
671+
// method.invoke (objectToInvokeOn, params)
672+
}
673+
663674
// if(bioDialog != null)
664675
// bioDialog.transactionConfirm(data);
665676
}
@@ -671,6 +682,10 @@ public void removePaymentWindow() {
671682

672683
public void dismiss() {
673684
if(dialog != null) dialog.dismiss();
685+
if(isBioIntent == true) {
686+
if(CurrentBioRequest.getInstance().bioActivity != null)
687+
CurrentBioRequest.getInstance().bioActivity.finish();
688+
}
674689
// if(bioDialog != null) {
675690
// if(CurrentBioRequest.getInstance().type != CurrentBioRequest.REQUEST_TYPE_OTHER)
676691
// bioDialog.dismiss();

bootpay/src/main/java/kr/co/bootpay/bio/activity/BootpayBioActivity.java

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
import kr.co.bootpay.bio.memory.CurrentBioRequest;
4141
import kr.co.bootpay.bio.pager.CardPagerAdapter;
4242
import kr.co.bootpay.bio.pager.CardViewPager;
43+
import kr.co.bootpay.listener.ConfirmListener;
44+
import kr.co.bootpay.listener.DoneListener;
4345
import kr.co.bootpay.listener.EventListener;
4446
import kr.co.bootpay.model.Request;
4547
import kr.co.bootpay.model.bio.BioDeviceUse;
@@ -59,7 +61,6 @@ public class BootpayBioActivity extends FragmentActivity implements BootpayBioRe
5961

6062
private Context context;
6163
private Request request;
62-
private EventListener listener;
6364
private BioApiPresenter presenter;
6465

6566
// data
@@ -94,15 +95,24 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
9495
request = CurrentBioRequest.getInstance().request;
9596
if(request != null) bioPayload = request.getBioPayload();
9697

98+
CurrentBioRequest.getInstance().bioActivity = this;
99+
97100
initView();
98101
getEasyCardWalletList();
99102
initBiometricAuth();
100103
setNameViews();
101104
setPriceViews();
102105
}
103106

107+
@Override
108+
protected void onDestroy() {
109+
CurrentBioRequest.getInstance().bioActivity = null;
110+
super.onDestroy();
111+
}
112+
104113
@Override
105114
public void finish() {
115+
CurrentBioRequest.getInstance().bioActivity = null;
106116
super.finish();
107117
overridePendingTransition(R.anim.open, R.anim.close);
108118
}
@@ -115,6 +125,7 @@ void initView() {
115125
msg = findViewById(R.id.msg);
116126
card_pager = findViewById(R.id.card_pager);
117127
cardPagerAdapter = new CardPagerAdapter(getSupportFragmentManager(), this.context);
128+
cardPagerAdapter.setParent(this);
118129
// cardPagerAdapter.setDialog(bootpayBioDialog);
119130
card_pager.setAdapter(cardPagerAdapter);
120131
card_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@@ -340,6 +351,18 @@ public void onClick(DialogInterface dialogInterface, int i) {
340351
});
341352
}
342353

354+
public void transactionConfirm(String data) {
355+
try {
356+
ResReceiptID res = new Gson().fromJson(data, ResReceiptID.class);
357+
358+
String uuid = UserInfo.getInstance(context).getBootpayUuid();
359+
String userToken = request.getEasyPayUserToken();
360+
presenter.postEasyConfirm(uuid, userToken, res.data.receipt_id);
361+
} catch (Exception e) {
362+
e.printStackTrace();
363+
}
364+
}
365+
343366
@Override
344367
public void callbacktEasyBiometricRegister(ResEasyBiometric res) {
345368
if(res.code != 0) {
@@ -373,12 +396,14 @@ public void callbackEasyCardRequest(ResReceiptID res) {
373396
return;
374397
}
375398
receiptID = res;
376-
if(listener != null) listener.onConfirm(new Gson().toJson(receiptID));
399+
ConfirmListener confirm = CurrentBioRequest.getInstance().confirm;
400+
if(confirm != null) confirm.onConfirm(new Gson().toJson(receiptID));
377401
}
378402

379403
@Override
380404
public void callbackEasyTransaction(String data) {
381-
if(listener != null) listener.onDone(data);
405+
DoneListener done = CurrentBioRequest.getInstance().done;
406+
if(done != null) done.onDone(data);
382407
}
383408

384409
private Executor executor;

bootpay/src/main/java/kr/co/bootpay/bio/memory/CurrentBioRequest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package kr.co.bootpay.bio.memory;
22

3+
import kr.co.bootpay.bio.activity.BootpayBioActivity;
34
import kr.co.bootpay.bio.listener.BioEventListener;
45
import kr.co.bootpay.listener.CancelListener;
56
import kr.co.bootpay.listener.CloseListener;
@@ -21,6 +22,8 @@ public class CurrentBioRequest {
2122
public CancelListener cancel;
2223
public ConfirmListener confirm;
2324

25+
public BootpayBioActivity bioActivity;
26+
2427
public int type = -1;
2528
public String token;
2629

bootpay/src/main/java/kr/co/bootpay/bio/pager/CardFragment.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import kr.co.bootpay.R;
1717
import kr.co.bootpay.bio.BootpayBioDialog;
1818
import kr.co.bootpay.bio.CardCode;
19+
import kr.co.bootpay.bio.activity.BootpayBioActivity;
1920
import kr.co.bootpay.bio.memory.CurrentBioRequest;
2021
import kr.co.bootpay.model.bio.BioDeviceUse;
2122
import kr.co.bootpay.model.bio.BioWallet;
@@ -32,14 +33,14 @@ public class CardFragment extends Fragment {
3233

3334
ImageView new_card;
3435
TextView other;
35-
BootpayBioDialog bootpayBioDialog;
36+
BootpayBioActivity parent;
3637

37-
public static CardFragment newInstance(BootpayBioDialog bootpayBioDialog, BioDeviceUse user, BioWallet bioWallet, Context context) {
38+
public static CardFragment newInstance(BootpayBioActivity parent, BioDeviceUse user, BioWallet bioWallet, Context context) {
3839
CardFragment fragment = new CardFragment();
3940
fragment.bioWallet = bioWallet;
4041
fragment.context = context;
4142
fragment.user = user;
42-
fragment.bootpayBioDialog = bootpayBioDialog;
43+
fragment.parent = parent;
4344
return fragment;
4445
}
4546

@@ -131,20 +132,20 @@ public void clickView(View v) {
131132
}
132133

133134
void goCardClick() {
134-
if(bootpayBioDialog != null) bootpayBioDialog.startBioPay(user, bioWallet);
135+
if(parent != null) parent.startBioPay(user, bioWallet);
135136
}
136137

137138
// void goVerify
138139

139140
void verifyPassword () {
140-
if(bootpayBioDialog != null) bootpayBioDialog.goVeiryPassword();
141+
if(parent != null) parent.goVeiryPassword();
141142
}
142143

143144
void goNewCard() {
144-
if(bootpayBioDialog != null) bootpayBioDialog.goNewCardActivity();
145+
if(parent != null) parent.goNewCardActivity();
145146
}
146147

147148
void goOther() {
148-
if(bootpayBioDialog != null) bootpayBioDialog.goOtherActivity();
149+
if(parent != null) parent.goOtherActivity();
149150
}
150151
}

bootpay/src/main/java/kr/co/bootpay/bio/pager/CardPagerAdapter.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.ArrayList;
1010

1111
import kr.co.bootpay.bio.BootpayBioDialog;
12+
import kr.co.bootpay.bio.activity.BootpayBioActivity;
1213
import kr.co.bootpay.model.bio.BioWallet;
1314
import kr.co.bootpay.model.bio.BioWalletData;
1415

@@ -17,6 +18,7 @@ public class CardPagerAdapter extends FragmentStatePagerAdapter {
1718
private Context context;
1819
private BioWalletData data;
1920
private BootpayBioDialog bootpayBioDialog;
21+
private BootpayBioActivity parent;
2022

2123
public CardPagerAdapter(FragmentManager fm, Context context) {
2224
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
@@ -42,9 +44,13 @@ public void setDialog(BootpayBioDialog bootpayBioDialog) {
4244
this.bootpayBioDialog = bootpayBioDialog;
4345
}
4446

47+
public void setParent(BootpayBioActivity parent) {
48+
this.parent = parent;
49+
}
50+
4551
@Override
4652
public Fragment getItem(int position) {
47-
CardFragment obj = CardFragment.newInstance(bootpayBioDialog, data.user, data.wallets.card.get(position), context);
53+
CardFragment obj = CardFragment.newInstance(parent, data.user, data.wallets.card.get(position), context);
4854
obj.updateView();
4955
return obj;
5056
}

0 commit comments

Comments
 (0)