Skip to content

Commit 82efeaa

Browse files
authored
Merge pull request #26 from evotor/develop
From develop
2 parents e7d37de + 87ecffc commit 82efeaa

15 files changed

+200
-68
lines changed

app/build.gradle

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
apply plugin: 'com.android.library'
22
apply plugin: 'kotlin-android'
33

4+
apply plugin: 'maven-publish'
5+
46
android {
57
compileSdkVersion 25
68
buildToolsVersion "25.0.2"
@@ -24,4 +26,30 @@ dependencies {
2426
}
2527
repositories {
2628
mavenCentral()
29+
}
30+
31+
32+
publishing {
33+
publications {
34+
35+
maven(MavenPublication) {
36+
groupId 'ru.evotor'
37+
artifactId "integration-library"
38+
version "1.0.28-dev"
39+
artifact "${project.buildDir}/outputs/aar/${project.archivesBaseName}-release.aar"
40+
41+
//generate pom nodes for dependencies
42+
pom.withXml {
43+
def dependenciesNode = asNode().appendNode('dependencies')
44+
configurations.compile.allDependencies.each { dependency ->
45+
if (dependency.group) {
46+
def dependencyNode = dependenciesNode.appendNode('dependency')
47+
dependencyNode.appendNode('groupId', dependency.group)
48+
dependencyNode.appendNode('artifactId', dependency.name)
49+
dependencyNode.appendNode('version', dependency.version)
50+
}
51+
}
52+
}
53+
}
54+
}
2755
}

app/src/main/java/ru/evotor/framework/core/IntegrationService.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.os.IBinder;
77
import android.os.RemoteException;
88

9+
import java.util.Objects;
910
import java.util.concurrent.ConcurrentHashMap;
1011

1112
import ru.evotor.framework.core.action.processor.ActionProcessor;
@@ -20,7 +21,7 @@ public class IntegrationService extends Service {
2021
public void call(IIntegrationManagerResponse response, String action, Bundle bundle) throws RemoteException {
2122
ActionProcessor processor = processors.get(action);
2223
if (processor != null) {
23-
processor.process(response, bundle);
24+
processor.process(action, response, bundle);
2425
}
2526
}
2627
};
@@ -32,10 +33,10 @@ public IBinder onBind(Intent intent) {
3233
return binder.asBinder();
3334
}
3435

35-
protected final void registerProcessor(ActionProcessor processor) {
36-
if (processor == null) {
37-
throw new IllegalArgumentException("processor can't be null");
38-
}
39-
processors.put(processor.getAction(), processor);
36+
protected final void registerProcessor(String action, ActionProcessor processor) {
37+
Objects.requireNonNull(action);
38+
Objects.requireNonNull(processor);
39+
40+
processors.put(action, processor);
4041
}
4142
}

app/src/main/java/ru/evotor/framework/core/action/command/open_receipt_command/OpenReceiptCommandResult.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public class OpenReceiptCommandResult {
1212

1313
private static final String KEY_RESULT = "result";
1414
private static final String KEY_ERROR_CODE = "errorCode";
15+
private static final String KEY_RECEIPT_UUID = "receiptUuid";
1516

1617
public static final int ERROR_CODE_OK = 0;
1718
public static final int ERROR_CODE_RECEIPT_IS_ALREADY_OPEN = -1;
@@ -21,24 +22,30 @@ public static OpenReceiptCommandResult create(Bundle bundle) {
2122

2223
return new OpenReceiptCommandResult(
2324
Utils.safeValueOf(Result.class, resultName, Result.UNKNOWN),
24-
bundle.getInt(KEY_ERROR_CODE, ERROR_CODE_OK)
25+
bundle.getInt(KEY_ERROR_CODE, ERROR_CODE_OK),
26+
bundle.getString(KEY_RECEIPT_UUID)
2527
);
2628
}
2729

2830
private final Result result;
2931
private final int errorCode;
32+
private final String receiptUuid;
3033

3134
public OpenReceiptCommandResult(
3235
Result result,
33-
int errorCode
36+
int errorCode,
37+
String receiptUuid
3438
) {
3539
this.result = result;
3640
this.errorCode = errorCode;
41+
this.receiptUuid = receiptUuid;
3742
}
3843

3944
public Bundle toBundle() {
4045
Bundle bundle = new Bundle();
4146
bundle.putString(KEY_RESULT, result.name());
47+
bundle.putInt(KEY_ERROR_CODE, errorCode);
48+
bundle.putString(KEY_RECEIPT_UUID, receiptUuid);
4249
return bundle;
4350
}
4451

app/src/main/java/ru/evotor/framework/core/action/command/open_receipt_command/OpenReceiptCommand.java renamed to app/src/main/java/ru/evotor/framework/core/action/command/open_receipt_command/OpenSellReceiptCommand.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.os.Looper;
88
import android.os.Parcelable;
99

10+
import java.util.ArrayList;
1011
import java.util.List;
1112
import java.util.Objects;
1213

@@ -22,23 +23,26 @@
2223
* Created by a.kuznetsov on 26/04/2017.
2324
*/
2425

25-
public class OpenReceiptCommand {
26+
public class OpenSellReceiptCommand {
2627

2728
public static final String NAME = "evo.v2.receipt.sell.openReceipt";
2829
private static final String KEY_CHANGES = "changes";
2930

30-
public static OpenReceiptCommand create(Bundle bundle) {
31+
public static OpenSellReceiptCommand create(Bundle bundle) {
3132
Parcelable[] changesParcelable = bundle.getParcelableArray(KEY_CHANGES);
32-
return new OpenReceiptCommand(Utils.filterByClass(
33+
return new OpenSellReceiptCommand(Utils.filterByClass(
3334
ChangesMapper.INSTANCE.create(changesParcelable),
3435
PositionAdd.class
3536
));
3637
}
3738

3839
private final List<PositionAdd> changes;
3940

40-
public OpenReceiptCommand(List<PositionAdd> changes) {
41-
this.changes = changes;
41+
public OpenSellReceiptCommand(List<PositionAdd> changes) {
42+
this.changes = new ArrayList<>();
43+
if (changes != null) {
44+
this.changes.addAll(changes);
45+
}
4246
}
4347

4448
public void process(final Context context, final ICanStartActivity activityStarter, IntegrationManagerCallback callback) {
@@ -50,7 +54,7 @@ public void process(final Context context, final ICanStartActivity activityStart
5054
return;
5155
}
5256
new IntegrationManagerImpl(context.getApplicationContext())
53-
.call(OpenReceiptCommand.NAME,
57+
.call(OpenSellReceiptCommand.NAME,
5458

5559
componentNameList.get(0),
5660
this.toBundle(),
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package ru.evotor.framework.core.action.event.receipt;
2+
3+
/**
4+
* Created by a.kuznetsov on 18/05/2017.
5+
*/
6+
7+
public interface SellReceiptOpenedEvent {
8+
String BROADCAST_ACTION = "evotor.intent.action.receipt.sell.OPENED";
9+
String KEY_UUID = "uuid";
10+
}

app/src/main/java/ru/evotor/framework/core/action/event/receipt/before_positions_edited/BeforePositionsEditedEvent.java

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,37 @@
1717
public class BeforePositionsEditedEvent {
1818
private static final String TAG = "PositionsEditedEvent";
1919

20-
public static final String NAME = "evo.v2.receipt.sell.beforePositionsEdited";
20+
public static final String NAME_SELL_RECEIPT = "evo.v2.receipt.sell.beforePositionsEdited";
21+
public static final String NAME_PAYBACK_RECEIPT = "evo.v2.receipt.payback.beforePositionsEdited";
22+
23+
private static final String KEY_RECEIPT_UUID = "receiptUuid";
2124
private static final String KEY_CHANGES = "changes";
2225

23-
public static BeforePositionsEditedEvent create(Bundle bundle) {
24-
Parcelable[] changesParcelable = bundle.getParcelableArray(KEY_CHANGES);
25-
return new BeforePositionsEditedEvent(
26+
27+
private final String receiptUuid;
28+
private final List<IPositionChange> changes;
29+
30+
public BeforePositionsEditedEvent(
31+
String receiptUuid,
32+
List<IPositionChange> changes
33+
) {
34+
this.receiptUuid = receiptUuid;
35+
this.changes = changes;
36+
}
37+
38+
public BeforePositionsEditedEvent(Bundle bundle) {
39+
this(
40+
bundle.getString(KEY_RECEIPT_UUID, null),
2641
Utils.filterByClass(
27-
ChangesMapper.INSTANCE.create(changesParcelable),
42+
ChangesMapper.INSTANCE.create(bundle.getParcelableArray(KEY_CHANGES)),
2843
IPositionChange.class
2944
)
3045
);
3146
}
3247

33-
private List<IPositionChange> changes;
34-
35-
public BeforePositionsEditedEvent(List<IPositionChange> changes) {
36-
this.changes = changes;
37-
}
38-
3948
public Bundle toBundle() {
4049
Bundle result = new Bundle();
50+
result.putString(KEY_RECEIPT_UUID, receiptUuid);
4151
Parcelable[] changesParcelable = new Parcelable[changes.size()];
4252
for (int i = 0; i < changesParcelable.length; i++) {
4353
IChange change = changes.get(i);
@@ -47,6 +57,10 @@ public Bundle toBundle() {
4757
return result;
4858
}
4959

60+
public String getReceiptUuid() {
61+
return receiptUuid;
62+
}
63+
5064
public List<IPositionChange> getChanges() {
5165
return changes;
5266
}

app/src/main/java/ru/evotor/framework/core/action/event/receipt/before_positions_edited/BeforePositionsEditedEventActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ public void setIntegrationResult(BeforePositionsEditedEventResult result) {
1212
}
1313

1414
public BeforePositionsEditedEvent getEvent() {
15-
return BeforePositionsEditedEvent.create(getSourceBundle());
15+
return new BeforePositionsEditedEvent(getSourceBundle());
1616
}
1717
}

app/src/main/java/ru/evotor/framework/core/action/event/receipt/before_positions_edited/BeforePositionsEditedEventProcessor.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,12 @@
99
*/
1010

1111
public abstract class BeforePositionsEditedEventProcessor extends ActionProcessor {
12-
public BeforePositionsEditedEventProcessor() {
13-
super(BeforePositionsEditedEvent.NAME);
14-
}
1512

1613
@Override
17-
public void process(Bundle bundle, Callback callback) {
18-
call(BeforePositionsEditedEvent.create(bundle), callback);
14+
public void process(String action, Bundle bundle, Callback callback) {
15+
call(action, new BeforePositionsEditedEvent(bundle), callback);
1916
}
2017

21-
public abstract void call(BeforePositionsEditedEvent event, Callback callback);
18+
public abstract void call(String action, BeforePositionsEditedEvent event, Callback callback);
2219
}
2320

app/src/main/java/ru/evotor/framework/core/action/event/receipt/discount/ReceiptDiscountEvent.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,40 @@
77
public class ReceiptDiscountEvent {
88
private static final String TAG = "ReceiptDiscountEvent";
99

10-
public static final String NAME = "evo.v2.receipt.sell.receiptDiscount";
10+
public static final String NAME_SELL_RECEIPT = "evo.v2.receipt.sell.receiptDiscount";
11+
public static final String NAME_PAYBACK_RECEIPT = "evo.v2.receipt.payback.receiptDiscount";
12+
13+
private static final String KEY_RECEIPT_UUID = "receiptUuid";
1114
private static final String KEY_DISCOUNT = "discount";
1215

1316
public static ReceiptDiscountEvent create(Bundle bundle) {
17+
String receiptUuid = bundle.getString(KEY_RECEIPT_UUID, null);
1418
BigDecimal discount = new BigDecimal(bundle.getString(KEY_DISCOUNT, "0"));
15-
return new ReceiptDiscountEvent(discount);
19+
return new ReceiptDiscountEvent(receiptUuid, discount);
1620
}
1721

18-
private BigDecimal discount;
22+
private final String receiptUuid;
23+
private final BigDecimal discount;
1924

20-
public ReceiptDiscountEvent(BigDecimal discount) {
25+
public ReceiptDiscountEvent(
26+
String receiptUuid,
27+
BigDecimal discount
28+
) {
29+
this.receiptUuid = receiptUuid;
2130
this.discount = discount;
2231
}
2332

2433
public Bundle toBundle() {
2534
Bundle result = new Bundle();
35+
result.putString(KEY_RECEIPT_UUID, receiptUuid);
2636
result.putString(KEY_DISCOUNT, discount.toPlainString());
2737
return result;
2838
}
2939

40+
public String getReceiptUuid() {
41+
return receiptUuid;
42+
}
43+
3044
public BigDecimal getDiscount() {
3145
return discount;
3246
}

app/src/main/java/ru/evotor/framework/core/action/event/receipt/discount/ReceiptDiscountEventProcessor.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,11 @@
55
import ru.evotor.framework.core.action.processor.ActionProcessor;
66

77
public abstract class ReceiptDiscountEventProcessor extends ActionProcessor {
8-
public ReceiptDiscountEventProcessor() {
9-
super(ReceiptDiscountEvent.NAME);
10-
}
11-
128
@Override
13-
public void process(Bundle bundle, Callback callback) {
14-
call(ReceiptDiscountEvent.create(bundle), callback);
9+
public void process(String action, Bundle bundle, Callback callback) {
10+
call(action, ReceiptDiscountEvent.create(bundle), callback);
1511
}
1612

17-
public abstract void call(ReceiptDiscountEvent event, Callback callback);
13+
public abstract void call(String action, ReceiptDiscountEvent event, Callback callback);
1814
}
1915

0 commit comments

Comments
 (0)