mirror of
https://github.com/freeedcom/ai-codereviewer.git
synced 2025-06-30 21:04:16 +00:00
add project adins
This commit is contained in:
parent
ad06ac5505
commit
f8f85d679d
5299 changed files with 625430 additions and 0 deletions
|
@ -0,0 +1,528 @@
|
|||
package com.adins.mss.foundation.print;
|
||||
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.R;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.PrintResult;
|
||||
import com.adins.mss.foundation.formatter.Formatter;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Created by angga.permadi on 3/3/2016.
|
||||
*/
|
||||
public abstract class AbstractPrintManager {
|
||||
protected static final int ALIGNMENT_LEFT = 0;
|
||||
protected static final int ALIGNMENT_CENTER = 1;
|
||||
protected static final int TEXT_ATTRIBUTE_FONT_A = 0;
|
||||
protected static final int TEXT_ATTRIBUTE_EMPHASIZED = 16;
|
||||
protected static final int TEXT_SIZE_HORIZONTAL1 = 0;
|
||||
protected static final int BITMAP_WIDTH_FULL = -1;
|
||||
|
||||
protected boolean connected = false;
|
||||
protected String valueSeparator = ":";
|
||||
protected char blank = ' ';
|
||||
protected int labelStart = 0;
|
||||
protected int separatorStart = 0;
|
||||
protected int valueStart = 0;
|
||||
protected List<PrintResult> list;
|
||||
protected PrintManagerListener listener;
|
||||
protected Context context;
|
||||
protected BluetoothAdapter mBtAdapter;
|
||||
protected Set<BluetoothDevice> pairedDevices;
|
||||
private Bitmap logo = null;
|
||||
|
||||
public AbstractPrintManager(Context context, List<PrintResult> list) {
|
||||
if (list == null)
|
||||
throw new IllegalArgumentException("Print list can not be null!");
|
||||
|
||||
try {
|
||||
listener = (PrintManagerListener) context;
|
||||
} catch (ClassCastException e) {
|
||||
throw new ClassCastException(context.toString() + " " +
|
||||
"must implement PrintManagerListener");
|
||||
}
|
||||
|
||||
BitmapDrawable drawable = (BitmapDrawable) ContextCompat.getDrawable(context, R.drawable.print_logo);
|
||||
|
||||
if (drawable != null) this.logo = drawable.getBitmap();
|
||||
|
||||
this.list = list;
|
||||
this.context = context;
|
||||
|
||||
mBtAdapter = BluetoothAdapter.getDefaultAdapter();
|
||||
pairedDevices = mBtAdapter.getBondedDevices();
|
||||
|
||||
int longestLabel = 1;
|
||||
for (PrintResult bean : list) {
|
||||
if (Global.PRINT_ANSWER.equals(bean.getPrint_type_id())) {
|
||||
String label = bean.getLabel();
|
||||
if (label != null) {
|
||||
int len = label.length();
|
||||
longestLabel = (len > longestLabel) ? len : longestLabel;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.separatorStart = longestLabel + 1;
|
||||
this.valueStart = longestLabel + 3;
|
||||
}
|
||||
|
||||
public boolean print(Integer printCountData , Integer limitPrintData) throws Exception {
|
||||
boolean isNeedFeedLine = true;
|
||||
if (connected) {
|
||||
for (PrintResult bean : list) {
|
||||
String type = bean.getPrint_type_id();
|
||||
if (Global.PRINT_NEW_LINE.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_BRANCH_ADDRESS.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_BRANCH_NAME.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_CENTER.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_BOLD.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_EMPHASIZED, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_CENTER_BOLD.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_EMPHASIZED, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_COPY.equals(type)) {
|
||||
if (printCountData > 0 && printCountData <= limitPrintData) {
|
||||
printText("COPY" + " " + printCountData + " OF " + limitPrintData, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_EMPHASIZED, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
} else if (Global.PRINT_LOGO.equals(type)) {
|
||||
printBitmap(logo, ALIGNMENT_CENTER, BITMAP_WIDTH_FULL, 20, false);
|
||||
} else if (Global.PRINT_ANSWER.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = bean.getValue();
|
||||
value = (value == null) ? "" : value;
|
||||
|
||||
if ("".equalsIgnoreCase(value)) {
|
||||
isNeedFeedLine = false;
|
||||
} else {
|
||||
if (isValidDate(value)) {
|
||||
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
|
||||
Date date = Formatter.parseDate(value.trim(), "yyyy/MM/dd");
|
||||
value = df.format(date);
|
||||
}
|
||||
|
||||
if ("".equalsIgnoreCase(label)) {
|
||||
printText(value, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else {
|
||||
sb.append(value);
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
}
|
||||
} else if (Global.PRINT_ANSWER_NO.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
sb.append(label);
|
||||
sb.append(blank);
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = bean.getValue();
|
||||
value = (value == null) ? "" : value;
|
||||
|
||||
if ("".equalsIgnoreCase(label)) {
|
||||
printText(value, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else {
|
||||
sb.append(value);
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
} else if (Global.PRINT_USER_NAME.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = GlobalData.getSharedGlobalData().getUser().getFullname();
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LOGIN_ID.equals(type)) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = GlobalData.getSharedGlobalData().getUser().getLogin_id();
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_BT_ID.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
String value = "?";
|
||||
try {
|
||||
value = bean.getValue();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// empty
|
||||
}
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_TIMESTAMP.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm");
|
||||
Date date = new Date();
|
||||
String value = df.format(date);
|
||||
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
else if(Global.PRINT_UNIQUE_RV.equals(type)){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = bean.getValue();
|
||||
value = (value == null) ? "" : value;
|
||||
if ("".equalsIgnoreCase(value)) {
|
||||
isNeedFeedLine = false;
|
||||
} else {
|
||||
if ("".equalsIgnoreCase(label)) {
|
||||
printText(value, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else {
|
||||
sb.append(value);
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isNeedFeedLine) {
|
||||
lineFeed(1, false);
|
||||
} else {
|
||||
isNeedFeedLine = true;
|
||||
}
|
||||
|
||||
}
|
||||
lineFeed(2, false);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean print() throws Exception {
|
||||
boolean isNeedFeedLine = true;
|
||||
if (connected) {
|
||||
for (PrintResult bean : list) {
|
||||
String type = bean.getPrint_type_id();
|
||||
if (Global.PRINT_NEW_LINE.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_BRANCH_ADDRESS.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_BRANCH_NAME.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_CENTER.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_BOLD.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_EMPHASIZED, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LABEL_CENTER_BOLD.equals(type)) {
|
||||
printText(bean.getLabel(), ALIGNMENT_CENTER, TEXT_ATTRIBUTE_EMPHASIZED, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LOGO.equals(type)) {
|
||||
printBitmap(logo, ALIGNMENT_CENTER, BITMAP_WIDTH_FULL, 20, false);
|
||||
} else if (Global.PRINT_ANSWER.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = bean.getValue();
|
||||
value = (value == null) ? "" : value;
|
||||
|
||||
if ("".equalsIgnoreCase(value)) {
|
||||
isNeedFeedLine = false;
|
||||
} else {
|
||||
if (isValidDate(value)) {
|
||||
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
|
||||
Date date = Formatter.parseDate(value.trim(), "yyyy/MM/dd");
|
||||
value = df.format(date);
|
||||
}
|
||||
|
||||
if ("".equalsIgnoreCase(label)) {
|
||||
printText(value, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else {
|
||||
sb.append(value);
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
}
|
||||
} else if (Global.PRINT_ANSWER_NO.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
sb.append(label);
|
||||
sb.append(blank);
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = bean.getValue();
|
||||
value = (value == null) ? "" : value;
|
||||
|
||||
if ("".equalsIgnoreCase(label)) {
|
||||
printText(value, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else {
|
||||
sb.append(value);
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
} else if (Global.PRINT_USER_NAME.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = GlobalData.getSharedGlobalData().getUser().getFullname();
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_LOGIN_ID.equals(type)) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = GlobalData.getSharedGlobalData().getUser().getLogin_id();
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_BT_ID.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
String value = "?";
|
||||
try {
|
||||
value = bean.getValue();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// empty
|
||||
}
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else if (Global.PRINT_TIMESTAMP.equals(type)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm");
|
||||
Date date = new Date();
|
||||
String value = df.format(date);
|
||||
|
||||
value = (value == null) ? "" : value;
|
||||
sb.append(value);
|
||||
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
else if(Global.PRINT_UNIQUE_RV.equals(type)){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
String label = bean.getLabel();
|
||||
int labelLen = label.length();
|
||||
sb.append(label);
|
||||
int spaceLength = separatorStart - labelLen;
|
||||
while (spaceLength > 0) {
|
||||
sb.append(blank);
|
||||
spaceLength--;
|
||||
}
|
||||
sb.append(valueSeparator);
|
||||
sb.append(blank);
|
||||
|
||||
String value = bean.getValue();
|
||||
value = (value == null) ? "" : value;
|
||||
if ("".equalsIgnoreCase(value)) {
|
||||
isNeedFeedLine = false;
|
||||
} else {
|
||||
if ("".equalsIgnoreCase(label)) {
|
||||
printText(value, ALIGNMENT_CENTER, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
} else {
|
||||
sb.append(value);
|
||||
printText(sb.toString(), ALIGNMENT_LEFT, TEXT_ATTRIBUTE_FONT_A, TEXT_SIZE_HORIZONTAL1, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isNeedFeedLine) {
|
||||
lineFeed(1, false);
|
||||
} else {
|
||||
isNeedFeedLine = true;
|
||||
}
|
||||
|
||||
}
|
||||
lineFeed(2, false);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isValidDate(String value) {
|
||||
try {
|
||||
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
|
||||
df.setLenient(false);
|
||||
df.parse(value.trim());
|
||||
} catch (ParseException e) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setValueSeparator(String valueSeparator) {
|
||||
this.valueSeparator = valueSeparator;
|
||||
}
|
||||
|
||||
public void releaseResources() {
|
||||
if (logo != null) {
|
||||
logo.recycle();
|
||||
}
|
||||
|
||||
logo = null;
|
||||
}
|
||||
|
||||
public abstract void print(Bitmap bitmap);
|
||||
|
||||
public abstract boolean isConnected();
|
||||
|
||||
public abstract boolean isPrinterConnected();
|
||||
|
||||
public abstract void connect() throws Exception;
|
||||
|
||||
public abstract void disconnect() throws Exception;
|
||||
|
||||
public abstract void printText(String text, int alignment, int attribute, int size, boolean s);
|
||||
|
||||
public abstract void printBitmap(Bitmap bitmap, int alignment, int width, int level, boolean s);
|
||||
|
||||
public abstract void lineFeed(int lines, boolean s);
|
||||
|
||||
public abstract void connect(BluetoothDevice device) throws Exception;
|
||||
|
||||
public abstract boolean printSato() throws Exception;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
|
@ -0,0 +1,59 @@
|
|||
package com.adins.mss.foundation.camerainapp.helper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
* Created by angga.permadi on 7/26/2016.
|
||||
*/
|
||||
public class DisplayUtil {
|
||||
private static final String TAG = "DisplayUtil";
|
||||
private static final int FOCUS_AREA_SIZE = 300;
|
||||
|
||||
/**
|
||||
* @param context
|
||||
* @return
|
||||
*/
|
||||
public static Point getScreenMetrics(Context context) {
|
||||
DisplayMetrics dm = context.getResources().getDisplayMetrics();
|
||||
int w_screen = dm.widthPixels;
|
||||
int h_screen = dm.heightPixels;
|
||||
Log.i(TAG, "Screen---Width = " + w_screen + " Height = " + h_screen + " densityDpi = " + dm.densityDpi);
|
||||
return new Point(w_screen, h_screen);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param context
|
||||
* @return
|
||||
*/
|
||||
public static float getScreenRate(Context context) {
|
||||
Point P = getScreenMetrics(context);
|
||||
float H = P.y;
|
||||
float W = P.x;
|
||||
return (H / W);
|
||||
}
|
||||
|
||||
public static Rect calculateFocusArea(float x, float y, float viewWidth, float viewHeight) {
|
||||
int left = clamp((int)((x / viewWidth) * 2000f - 1000f), FOCUS_AREA_SIZE);
|
||||
int top = clamp((int)((y / viewHeight) * 2000f - 1000f), FOCUS_AREA_SIZE);
|
||||
|
||||
return new Rect(left, top, left + FOCUS_AREA_SIZE, top + FOCUS_AREA_SIZE);
|
||||
}
|
||||
|
||||
private static int clamp(int touchCoordinateInCameraReper, int focusAreaSize) {
|
||||
int result;
|
||||
if (Math.abs(touchCoordinateInCameraReper) + focusAreaSize / 2 > 1000) {
|
||||
if (touchCoordinateInCameraReper > 0) {
|
||||
result = 1000 - focusAreaSize / 2;
|
||||
} else {
|
||||
result = -1000 + focusAreaSize / 2;
|
||||
}
|
||||
} else {
|
||||
result = touchCoordinateInCameraReper - focusAreaSize / 2;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/dialog2_bg">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imgHeader"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="15dp"
|
||||
android:padding="10dp"
|
||||
android:src="@drawable/ic_failed"
|
||||
android:background="@drawable/button_background_round"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtResult"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/reject_success"
|
||||
android:gravity="center_horizontal"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnOK"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="40dp"
|
||||
android:background="@drawable/button_background"
|
||||
android:text="@string/btnOk"
|
||||
android:layout_margin="10dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textColor="@color/fontColorWhite"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
|
||||
<!--<LinearLayout-->
|
||||
<!--android:layout_width="wrap_content"-->
|
||||
<!--android:layout_height="wrap_content"-->
|
||||
<!--android:orientation="horizontal"-->
|
||||
<!--android:layout_gravity="center"-->
|
||||
<!--android:layout_margin="10dp">-->
|
||||
<!--<Button-->
|
||||
<!--android:id="@+id/btnOK"-->
|
||||
<!--android:layout_width="120dp"-->
|
||||
<!--android:layout_height="40dp"-->
|
||||
<!--android:background="@drawable/button_background"-->
|
||||
<!--android:text="@string/btnOk"-->
|
||||
<!--android:layout_margin="5dp"-->
|
||||
<!--android:textColor="@color/fontColorWhite"-->
|
||||
<!--android:textAppearance="?android:attr/textAppearanceSmall"/>-->
|
||||
|
||||
<!--<Button-->
|
||||
<!--android:id="@+id/btnPrintPage"-->
|
||||
<!--android:layout_width="120dp"-->
|
||||
<!--android:layout_height="40dp"-->
|
||||
<!--android:background="@drawable/button_background"-->
|
||||
<!--android:text="@string/btnPrint"-->
|
||||
<!--android:layout_margin="5dp"-->
|
||||
<!--android:textColor="@color/fontColorWhite"-->
|
||||
<!--android:textAppearance="?android:attr/textAppearanceSmall"/>-->
|
||||
<!--</LinearLayout>-->
|
||||
</LinearLayout>
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z"/>
|
||||
</vector>
|
|
@ -0,0 +1,49 @@
|
|||
package com.adins.mss.coll.models;
|
||||
|
||||
import com.adins.mss.dao.CollectionActivity;
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by dian.ina on 08/05/2015.
|
||||
*/
|
||||
public class CollectionActivityResponse extends MssResponseType {
|
||||
//private List<CollectionActivityItem> collectionHistoryList;
|
||||
@SerializedName("collectionHistoryList")
|
||||
private List<CollectionActivity> collectionHistoryList;
|
||||
|
||||
@SerializedName("agreementNo")
|
||||
private String agreementNo;
|
||||
|
||||
public String getAgreementNo() {
|
||||
return this.agreementNo;
|
||||
}
|
||||
|
||||
public void setAgreementNo(String value) {
|
||||
this.agreementNo = value;
|
||||
}
|
||||
|
||||
public CollectionActivityResponse() {
|
||||
}
|
||||
|
||||
public List<CollectionActivity> getCollectionHistoryList() {
|
||||
return collectionHistoryList;
|
||||
}
|
||||
|
||||
public void setCollectionHistoryList(
|
||||
List<CollectionActivity> collectionHistoryList) {
|
||||
this.collectionHistoryList = collectionHistoryList;
|
||||
}
|
||||
|
||||
// public List<CollectionActivityItem> getCollectionHistoryList() {
|
||||
// return collectionHistoryList;
|
||||
// }
|
||||
//
|
||||
// public void setCollectionHistoryList(List<CollectionActivityItem> collectionHistoryList) {
|
||||
// this.collectionHistoryList = collectionHistoryList;
|
||||
// }
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" >
|
||||
|
||||
<TableLayout
|
||||
android:id="@+id/tableListLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_above="@+id/buttonLayout"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true" >
|
||||
|
||||
</TableLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/buttonLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:weightSum="1"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true" >
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnCancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.5"
|
||||
android:text="@string/btnCancel"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnRejectOdr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.5"
|
||||
android:text="@string/btnReject"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
Loading…
Add table
Add a link
Reference in a new issue