Skip to content

Commit

Permalink
Add support for #10, #11, #12, #13 to configurator object
Browse files Browse the repository at this point in the history
  • Loading branch information
kduma committed Oct 9, 2023
1 parent 8965777 commit f31c962
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,50 @@ public class ServiceConfiguration implements Cloneable {
private CenterDecodingSettingEnum centerFlagScan = CenterDecodingSettingEnum.Disabled;


/**
* scanExpSwitch
*/
private boolean flash = true;

/**
* specificScene
*/
private SpecificSceneEnum scene = SpecificSceneEnum.Default;

/**
* mRemoveGroupChar
*/
private boolean removeGroupSeparator = false;

/**
* mPrefixCount
*/
private int prefixCharactersRemoved = 0;

/**
* mSuffixCount
*/
private int suffixCharactersRemoved = 0;


public static ServiceConfiguration fromServiceSetting(ServiceSetting serviceSetting, ArrayList<Pair> response_format) {
ServiceConfiguration c = new ServiceConfiguration();

c.advancedFormat = response_format;

c.flash = serviceSetting.scanExpSwitch == 1;
c.scene = switch(serviceSetting.specificScene) {
default -> SpecificSceneEnum.Default;
case 1 -> SpecificSceneEnum.ReflectiveDMbarcode;
case 2 -> SpecificSceneEnum.ReflectiveQRDMbarcode;
case 3 -> SpecificSceneEnum.SpecialColourBarcode;
case 4 -> SpecificSceneEnum.DpmBarcode;
case 5 -> SpecificSceneEnum.MobileScreenScene;
};
c.removeGroupSeparator = serviceSetting.mRemoveGroupChar == 1;
c.prefixCharactersRemoved = serviceSetting.mPrefixCount;
c.suffixCharactersRemoved = serviceSetting.mSuffixCount;

c.centerFlagScan = switch (serviceSetting.mCenterFlagScan) {
default -> CenterDecodingSettingEnum.Disabled;
case 1 -> CenterDecodingSettingEnum.CenterOnly;
Expand Down Expand Up @@ -238,6 +277,23 @@ public ServiceSetting toServiceSetting(ServiceSetting defaults) {

s.setAdvancedConfig(advancedFormat);

if(s.scanExpSwitch != -1) {
s.scanExpSwitch = flash ? 1 : 0;
}
if(s.specificScene != -1) {
s.specificScene = switch(scene) {
case Default -> 0;
case ReflectiveDMbarcode -> 1;
case ReflectiveQRDMbarcode -> 2;
case SpecialColourBarcode -> 3;
case DpmBarcode -> 4;
case MobileScreenScene -> 5;
};
}
s.mRemoveGroupChar = removeGroupSeparator ? 1 : 0;
s.mPrefixCount = prefixCharactersRemoved;
s.mSuffixCount = suffixCharactersRemoved;

if(s.mCenterFlagScan != -1) {
s.mCenterFlagScan = switch (centerFlagScan) {
case Disabled -> 0;
Expand Down Expand Up @@ -595,4 +651,44 @@ public CenterDecodingSettingEnum getCenterFlagScan() {
public void setCenterFlagScan(CenterDecodingSettingEnum centerFlagScan) {
this.centerFlagScan = centerFlagScan;
}

public boolean isFlash() {
return flash;
}

public void setFlash(boolean flash) {
this.flash = flash;
}

public SpecificSceneEnum getScene() {
return scene;
}

public void setScene(SpecificSceneEnum scene) {
this.scene = scene;
}

public boolean isRemoveGroupSeparator() {
return removeGroupSeparator;
}

public void setRemoveGroupSeparator(boolean removeGroupSeparator) {
this.removeGroupSeparator = removeGroupSeparator;
}

public int getPrefixCharactersRemoved() {
return prefixCharactersRemoved;
}

public void setPrefixCharactersRemoved(int prefixCharactersRemoved) {
this.prefixCharactersRemoved = prefixCharactersRemoved;
}

public int getSuffixCharactersRemoved() {
return suffixCharactersRemoved;
}

public void setSuffixCharactersRemoved(int suffixCharactersRemoved) {
this.suffixCharactersRemoved = suffixCharactersRemoved;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package dev.duma.android.sunmi.scanconfigurationhelper.models;

public enum SpecificSceneEnum {
Default,
ReflectiveDMbarcode,
ReflectiveQRDMbarcode,
SpecialColourBarcode,
DpmBarcode,
MobileScreenScene,
}

0 comments on commit f31c962

Please sign in to comment.