update
This commit is contained in:
parent
85d8586aed
commit
74159a1b47
@ -7,29 +7,46 @@ import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.widget.Button
|
||||
import android.widget.EditText
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import android.widget.*
|
||||
import xyz.mtfos.btdemo.objectTool.bind
|
||||
|
||||
/**
|
||||
* Created by jay on 2017/8/9.
|
||||
*/
|
||||
class MainActivity : Activity() {
|
||||
val mainLay: LinearLayout by bind(R.id.mainlay)
|
||||
|
||||
val intxt: EditText by bind(R.id.intxt)
|
||||
val btn: Button by bind(R.id.bt)
|
||||
val connectBtn: Button by bind(R.id.connect)
|
||||
val disconnectBtn: Button by bind(R.id.disconnect)
|
||||
var ble: PrinterBle? = null
|
||||
val alignSpinner: Spinner by bind(R.id.align)
|
||||
val sizeSpinner: Spinner by bind(R.id.size)
|
||||
val alignBtn: Button by bind(R.id.btn_align)
|
||||
val sizeBtn: Button by bind(R.id.btn_size)
|
||||
|
||||
val addHR: Button by bind(R.id.addHR)
|
||||
val addNL: Button by bind(R.id.addNL)
|
||||
val addTAB: Button by bind(R.id.addTAB)
|
||||
val addTXT: Button by bind(R.id.addTXT)
|
||||
|
||||
val preview: TextView by bind(R.id.preview)
|
||||
|
||||
val uiHandler: Handler = Handler()
|
||||
var th: Thread? = null
|
||||
var thrun: Boolean = false
|
||||
var isInit: Boolean = false
|
||||
val alignArr: Array<String> = arrayOf("Left", "Center", "Right")
|
||||
val sizeArr: Array<String> = arrayOf("1,1", "1,2", "2,1", "2,2")
|
||||
|
||||
@SuppressLint("WrongConstant")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
|
||||
mainLay.visibility = LinearLayout.GONE
|
||||
|
||||
btn.isEnabled = false
|
||||
connectBtn.isEnabled = true
|
||||
disconnectBtn.isEnabled = false
|
||||
@ -45,18 +62,47 @@ class MainActivity : Activity() {
|
||||
btn.isEnabled = true
|
||||
connectBtn.isEnabled = false
|
||||
disconnectBtn.isEnabled = true
|
||||
uiHandler.post {
|
||||
mainLay.visibility = LinearLayout.VISIBLE
|
||||
}
|
||||
}
|
||||
if (it == PrinterBle.DISCONNECTED) {
|
||||
btn.isEnabled = false
|
||||
connectBtn.isEnabled = true
|
||||
disconnectBtn.isEnabled = false
|
||||
uiHandler.post {
|
||||
mainLay.visibility = LinearLayout.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ble?.setOnNotifyListener{
|
||||
ble?.setOnNotifyListener {
|
||||
System.out.println("Get Notify :::::: " + it)
|
||||
}
|
||||
|
||||
alignSpinner.adapter = ArrayAdapter<String>(this@MainActivity, android.R.layout.simple_spinner_item, alignArr)
|
||||
alignBtn.setOnClickListener {
|
||||
val pos = alignSpinner.selectedItemPosition
|
||||
when (pos) {
|
||||
0 -> ble?.setAlign(PrinterBle.ALIGN_LEFT)
|
||||
1 -> ble?.setAlign(PrinterBle.ALIGN_CENTER)
|
||||
2 -> ble?.setAlign(PrinterBle.ALIGN_RIGHT)
|
||||
}
|
||||
refreshPreview()
|
||||
}
|
||||
|
||||
sizeSpinner.adapter = ArrayAdapter<String>(this@MainActivity, android.R.layout.simple_spinner_item, sizeArr)
|
||||
sizeBtn.setOnClickListener {
|
||||
val pos = sizeSpinner.selectedItemPosition
|
||||
when (pos) {
|
||||
0 -> ble?.setSize(1, 1)
|
||||
1 -> ble?.setSize(1, 2)
|
||||
2 -> ble?.setSize(2, 1)
|
||||
3 -> ble?.setSize(2, 2)
|
||||
}
|
||||
refreshPreview()
|
||||
}
|
||||
|
||||
var permissionCheck: Int = 0
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
permissionCheck += this@MainActivity.checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION)
|
||||
@ -66,17 +112,28 @@ class MainActivity : Activity() {
|
||||
}
|
||||
}
|
||||
|
||||
btn.setOnClickListener {
|
||||
val txt: String = intxt.text.toString()
|
||||
ble?.setSize(2,1)
|
||||
ble?.setAlign(PrinterBle.ALIGN_CENTER)
|
||||
ble?.addTextln("MTFoS Shop")
|
||||
ble?.resetSize()
|
||||
ble?.setAlign(PrinterBle.ALIGN_RIGHT)
|
||||
ble?.addTextln("MTFoS Shop")
|
||||
addHR.setOnClickListener {
|
||||
ble?.addHR()
|
||||
ble?.setAlign(PrinterBle.ALIGN_LEFT)
|
||||
refreshPreview()
|
||||
}
|
||||
|
||||
addNL.setOnClickListener {
|
||||
ble?.textNewLine()
|
||||
refreshPreview()
|
||||
}
|
||||
|
||||
addTAB.setOnClickListener {
|
||||
ble?.textTab()
|
||||
refreshPreview()
|
||||
}
|
||||
|
||||
addTXT.setOnClickListener {
|
||||
val txt: String = intxt.text.toString()
|
||||
ble?.addText(txt)
|
||||
refreshPreview()
|
||||
}
|
||||
|
||||
btn.setOnClickListener {
|
||||
ble?.sendQueue()
|
||||
}
|
||||
|
||||
@ -111,4 +168,12 @@ class MainActivity : Activity() {
|
||||
ble?.disconnect()
|
||||
}
|
||||
}
|
||||
|
||||
fun refreshPreview() {
|
||||
val data = ble?.dataQueue ?: return
|
||||
preview.text = ""
|
||||
for (str: String in data) {
|
||||
preview.text = preview.text.toString() + "\n" + str
|
||||
}
|
||||
}
|
||||
}
|
@ -100,10 +100,10 @@ public class PrinterBle {
|
||||
super.onConnectionStateChange(gatt, status, newState);
|
||||
Log.d(TAG, "Connect State Change to " + status + " new State : " + newState);
|
||||
if (status == BluetoothGatt.GATT_SUCCESS) {
|
||||
if(mState != DISCONNECTED) {
|
||||
if (mState != DISCONNECTED) {
|
||||
mState = CONNECTED;
|
||||
Log.d(TAG, "Connected");
|
||||
if(!isConnected) {
|
||||
if (!isConnected) {
|
||||
isConnected = true;
|
||||
mBtGatt.discoverServices();
|
||||
}
|
||||
@ -251,7 +251,7 @@ public class PrinterBle {
|
||||
}
|
||||
|
||||
mState = SCANNING;
|
||||
if(this.mStateListener != null) {
|
||||
if (this.mStateListener != null) {
|
||||
this.mStateListener.onChange(mState);
|
||||
}
|
||||
}
|
||||
@ -268,7 +268,7 @@ public class PrinterBle {
|
||||
|
||||
if (mState == SCANNING) {
|
||||
mState = DISCONNECTED;
|
||||
if(this.mStateListener != null) {
|
||||
if (this.mStateListener != null) {
|
||||
this.mStateListener.onChange(mState);
|
||||
}
|
||||
}
|
||||
@ -292,7 +292,7 @@ public class PrinterBle {
|
||||
if (device == null) return;
|
||||
mBtGatt = device.connectGatt(ctx, false, mBtGattCB);
|
||||
mState = CONNECTING;
|
||||
if(this.mStateListener != null){
|
||||
if (this.mStateListener != null) {
|
||||
this.mStateListener.onChange(mState);
|
||||
}
|
||||
}
|
||||
@ -415,7 +415,7 @@ public class PrinterBle {
|
||||
return addText(String.format("__&s%d,%d__", w, h));
|
||||
}
|
||||
|
||||
public PrinterBle addHR(){
|
||||
public PrinterBle addHR() {
|
||||
int align = this.lastAlign;
|
||||
setAlign(ALIGN_CENTER);
|
||||
addTextln(StringUtils.repeat('-', 20));
|
||||
@ -426,4 +426,8 @@ public class PrinterBle {
|
||||
public void resetSize() {
|
||||
setSize(1, 1);
|
||||
}
|
||||
|
||||
public ArrayList<String> getDataQueue() {
|
||||
return dataQueue;
|
||||
}
|
||||
}
|
||||
|
@ -8,31 +8,155 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/connect"
|
||||
android:text="Connect"
|
||||
android:textAllCaps="false"/>
|
||||
<Button
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Connect"
|
||||
android:textAllCaps="false" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/disconnect"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Disconnect"
|
||||
android:textAllCaps="false"/>
|
||||
android:textAllCaps="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<EditText
|
||||
<LinearLayout
|
||||
android:id="@+id/mainlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/intxt"
|
||||
android:hint="輸入傳送字串"/>
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Send"
|
||||
android:textAllCaps="false" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="Align: " />
|
||||
|
||||
<android.support.v7.widget.AppCompatSpinner
|
||||
android:id="@+id/align"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_align"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:text="Write"
|
||||
android:textAllCaps="false" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="Size: " />
|
||||
|
||||
<android.support.v7.widget.AppCompatSpinner
|
||||
android:id="@+id/size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:text="Write"
|
||||
android:textAllCaps="false" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
android:id="@+id/addHR"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="分隔線" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/addNL"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="換行" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/addTAB"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="TAB" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/intxt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:hint="輸入傳送字串" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/addTXT"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="addTXT"
|
||||
android:textAllCaps="false" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Send"
|
||||
android:textAllCaps="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/preview"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
Loading…
Reference in New Issue
Block a user