123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332 |
- package com.epson.mobilephone.common.ble;
- import android.app.Activity;
- import android.bluetooth.BluetoothAdapter;
- import android.bluetooth.BluetoothDevice;
- import android.bluetooth.BluetoothGatt;
- import android.bluetooth.BluetoothGattCallback;
- import android.bluetooth.BluetoothGattCharacteristic;
- import android.bluetooth.BluetoothGattDescriptor;
- import android.bluetooth.BluetoothGattService;
- import android.bluetooth.BluetoothManager;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.os.Build;
- import android.os.Handler;
- import com.epson.mobilephone.common.ble.util.BLEUtility;
- import com.epson.mobilephone.common.ble.util.BLEUuid;
- import com.epson.mobilephone.common.ble.util.ScannedDevice;
- import com.epson.mobilephone.common.escpr.EscprLib;
- import com.epson.mobilephone.common.escpr.MIBCommand;
- import com.epson.mobilephone.common.wifidirect.ActivityRequestLocationPermission;
- import com.epson.mobilephone.common.wifidirect.WiFiDirectManager;
- import com.epson.mobilephone.common.wifidirect.WiFiNetworkManager;
- import com.evernote.edam.limits.Constants;
- import epson.print.IprintApplication;
- import epson.print.MyPrinter;
- import java.nio.ByteBuffer;
- import java.nio.charset.Charset;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import java.util.Objects;
- import java.util.UUID;
- import java.util.concurrent.TimeUnit;
- public class BleWork {
- private static final int EPS_COMM_BID = 2;
- private static final int GATT_DELAY = 0;
- private static final int GATT_DELAY2 = 500;
- private static final int RETRY_NUMS = 3;
- private static final int SCAN_ADVERTISING_PACKET_TIMEOUT = 10000;
- Handler handlerRead;
- Handler handlerWrite;
- private BluetoothAdapter mBTAdapter;
- /* access modifiers changed from: private */
- @Nullable
- public BluetoothGatt mConnGatt;
- private Context mContext;
- private BluetoothDevice mDevice;
- private String mDeviceMacAddress;
- private String mDevicePassword;
- private final byte[] mEngineID;
- private EscprLib mEscprlib;
- /* access modifiers changed from: private */
- @Nullable
- public BLEUtility.BleWorkCallback mFailed;
- private BluetoothGattCallback mGattcallback;
- private boolean mInSequence;
- private byte mIndex;
- /* access modifiers changed from: private */
- @NonNull
- public MIBCommand mMibCommand;
- private boolean mReconnect;
- /* access modifiers changed from: private */
- @Nullable
- public BLEUtility.BleWorkCallback mResposne;
- private int mRetry;
- private String mSSID;
- private String mSSIDPassword;
- private short mSecurityType;
- private ScannedDevice mSelectItem;
- public jobSequence mSequence;
- @Nullable
- private BLEUtility.BleWorkCallback mSequenceCallbackFailed;
- /* access modifiers changed from: private */
- @Nullable
- public BLEUtility.BleWorkCallback mSequenceCallbackSuccess;
- /* access modifiers changed from: private */
- @NonNull
- public List<String> mSsidLis;
- public int mStatus;
- /* access modifiers changed from: private */
- @Nullable
- public BLEUtility.BleWorkCallback mSuccess;
- private long mTimeOut;
- public enum jobSequence {
- UNINITIALIZED,
- DISCONNECTED,
- FAILED,
- INITIALIZE,
- GET_VERSION,
- CHECK_SSID,
- SET_PASSWORD,
- MIB_GET_MACADDRESS,
- MIB_GET_SSID_LIST,
- MIB_SET_SSID,
- MIB_SET_SECURITY_TYPE,
- MIB_SEC_LOGIN,
- MIB_SEC_SET_PASS,
- MIB_SEC_LOGOUT,
- MIB_REBOOT_NW,
- COMPLETION,
- MIB_SEC_SKIP,
- AFTER_SETTING_PASSWORD,
- BEFORE_CHECK_SSID
- }
- public static int getScanAdvertisingPacketTimeout() {
- return 10000;
- }
- private void showStatus(String str, int i) {
- }
- static /* synthetic */ int access$508(BleWork bleWork) {
- int i = bleWork.mRetry;
- bleWork.mRetry = i + 1;
- return i;
- }
- @NonNull
- public List<String> getSsidLis() {
- return mSsidLis;
- }
- public void setSSID(String str) {
- mSSID = str;
- }
- public void setRetryFinish() {
- mRetry = 3;
- }
- public String getSSID() {
- return mSSID;
- }
- public synchronized void setSecurityType(short s) {
- mSecurityType = s;
- }
- public synchronized short getSecurityType() {
- return mSecurityType;
- }
- public void setSSIDPassword(String str) {
- mSSIDPassword = str;
- }
- public String getSSIDPassword() {
- String str = mSSIDPassword;
- return str != null ? str : "";
- }
- public void setTimeOut(long j) {
- mTimeOut = j;
- }
- public String getDeviceMacAddress() {
- String str = mDeviceMacAddress;
- if (str == null) {
- return "";
- }
- return str.replace("\"", "");
- }
- public String getDeviceName() {
- return mSelectItem.getDisplayName();
- }
- private BleWork() {
- mSuccess = null;
- mFailed = null;
- mSequenceCallbackSuccess = null;
- mSequenceCallbackFailed = null;
- mResposne = null;
- mSsidLis = new ArrayList();
- mTimeOut = -1;
- mEscprlib = EscprLib.getInstance();
- mMibCommand = new MIBCommand();
- mIndex = 0;
- mInSequence = false;
- mEngineID = mEscprlib.getEngineId(IprintApplication.getInstance());
- mReconnect = false;
- mSequence = jobSequence.UNINITIALIZED;
- mGattcallback = null;
- if (mGattcallback != null) {
- EPLog.e("mGattcallback != null");
- }
- mGattcallback = new BluetoothGattCallback() {
- public void onMtuChanged(BluetoothGatt bluetoothGatt, int i, int i2) {
- super.onMtuChanged(bluetoothGatt, i, i2);
- EPLog.i("onMtuChanged " + i);
- }
- public void onDescriptorWrite(BluetoothGatt bluetoothGatt, BluetoothGattDescriptor bluetoothGattDescriptor, int i) {
- super.onDescriptorWrite(bluetoothGatt, bluetoothGattDescriptor, i);
- BleWork.this.showStatus("DescriptorWrite", i);
- if (i != 0) {
- BleWork.this.sequenceError();
- } else if (BleWork.mResposne != null) {
- BleWork.mResposne.call(bluetoothGattDescriptor);
- }
- }
- public void onConnectionStateChange(BluetoothGatt bluetoothGatt, int i, int i2) {
- EPLog.i("status = " + i + " newState = " + i2);
- if (i == 0 && i2 == 2) {
- EPLog.i("STATE_CONNECTED -- " + BleWork.mSequence);
- BleWork bleWork = BleWork.this;
- bleWork.mStatus = i2;
- if (bleWork.mConnGatt == null) {
- EPLog.e("mConnGatt NULL !");
- }
- if (bluetoothGatt == null) {
- EPLog.e("gatt NULL !");
- }
- BluetoothGatt unused = BleWork.mConnGatt = bluetoothGatt;
- BleWork.this.handlerWrite.removeCallbacks((Runnable) null);
- BleWork.this.handlerWrite.postDelayed(new Runnable() {
- public void run() {
- EPLog.i("discoverServices");
- try {
- if (!((BluetoothGatt) Objects.requireNonNull(BleWork.mConnGatt)).discoverServices()) {
- EPLog.e("discoverServices error");
- }
- } catch (NullPointerException unused) {
- EPLog.e("mConnGatt NULL !");
- }
- }
- }, 500);
- } else if (i != 0 || i2 == 0) {
- EPLog.i("STATE_DISCONNECTED " + BleWork.mSequence + " mReconnect = " + BleWork.mReconnect + " mRetry " + BleWork.mRetry);
- if (!BleWork.mReconnect && BleWork.mSequence == jobSequence.UNINITIALIZED) {
- BleWork.this.failedProcessing();
- } else if (BleWork.mReconnect || BleWork.mSequence == jobSequence.UNINITIALIZED || BleWork.mSequence == jobSequence.MIB_REBOOT_NW || BleWork.mSequence == jobSequence.DISCONNECTED || BleWork.mSequence == jobSequence.MIB_SET_SSID || BleWork.mSequence == jobSequence.AFTER_SETTING_PASSWORD) {
- EPLog.d("★ stopScan");
- BleScanWork.getInstace().stopScan();
- BleWork bleWork2 = BleWork.this;
- bleWork2.mStatus = i2;
- if ((bleWork2.mSequence == jobSequence.AFTER_SETTING_PASSWORD || BleWork.mSequence == jobSequence.BEFORE_CHECK_SSID || BleWork.mSequence == jobSequence.MIB_SET_SSID || BleWork.mSequence == jobSequence.MIB_REBOOT_NW) && !BleWork.mReconnect) {
- if (BleWork.mSequence == jobSequence.MIB_REBOOT_NW) {
- BleWork.this.gattClose();
- }
- EPLog.i(" BREAK ★ mSequence " + BleWork.mSequence);
- return;
- }
- BleWork.this.gattClose();
- if (BleWork.mSequence != jobSequence.UNINITIALIZED && !BleWork.mReconnect) {
- return;
- }
- if (BleWork.mRetry < 3) {
- try {
- TimeUnit.SECONDS.sleep(5);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- EPLog.m82w("retry " + BleWork.mRetry);
- BleWork.access$508(BleWork.this);
- EPLog.e("init");
- boolean unused2 = BleWork.this.init();
- return;
- }
- BleWork.this.failedProcessing();
- } else {
- BleWork.this.failedProcessing();
- }
- } else if (i2 == 1) {
- EPLog.i("STATE_CONNECTING");
- } else if (i2 == 3) {
- EPLog.i("STATE_DISCONNECTING");
- }
- }
- public void onServicesDiscovered(BluetoothGatt bluetoothGatt, int i) {
- EPLog.i();
- try {
- for (BluetoothGattService next : bluetoothGatt.getServices()) {
- if (next != null) {
- if (next.getUuid() != null) {
- if (BLEUuid.SERVICE_SNMP.equalsIgnoreCase(next.getUuid().toString())) {
- EPLog.i("発見!! EPSON SNMP サービス");
- for (Map.Entry next2 : BLEUuid.GattCharsMap.entrySet()) {
- next2.setValue(next.getCharacteristic(UUID.fromString((String) next2.getKey())));
- }
- if (!BLEUuid.GattCharsMap.containsValue((Object) null)) {
- boolean unused = BleWork.mReconnect = false;
- BleWork.mSequenceCallbackSuccess.call(BleWork.mSequence);
- new NotifySetThread().execute(new Void[0]);
- } else {
- throw new BleException(1, "getCharacteristic Error !");
- }
- } else {
- continue;
- }
- }
- }
- }
- } catch (BleException e) {
- EPLog.e(e.getMessage());
- e.printStackTrace();
- BleWork.this.failedProcessing();
- }
- }
- public void onCharacteristicChanged(BluetoothGatt bluetoothGatt, @NonNull BluetoothGattCharacteristic bluetoothGattCharacteristic) {
- super.onCharacteristicChanged(bluetoothGatt, bluetoothGattCharacteristic);
- EPLog.d("onCharacteristicChanged");
- if (BLEUuid.CHAR_SNMP_STATUS_STRING.equals(bluetoothGattCharacteristic.getUuid().toString())) {
- Short valueOf = Short.valueOf(bluetoothGattCharacteristic.getIntValue(17, 0).shortValue());
- String sh = valueOf.toString();
- if (valueOf.shortValue() == 0) {
- EPLog.i("[Notify]SNMP Status" + sh);
- BleWork.this.characteristicRead();
- return;
- }
- EPLog.e("[Notify]SNMP Status" + sh);
- BleWork.this.failedProcessing();
- } else if (BLEUuid.CHAR_SECURITY_TYPE_STRING.equals(bluetoothGattCharacteristic.getUuid().toString())) {
- Short valueOf2 = Short.valueOf(bluetoothGattCharacteristic.getIntValue(17, 0).shortValue());
- BleWork.this.setSecurityType(valueOf2.shortValue());
- String sh2 = valueOf2.toString();
- EPLog.i("[Notify]Security Type " + sh2);
- if (valueOf2.shortValue() <= 0) {
- BleWork.mSsidLis.clear();
- BleWork.this.getSSIDList();
- } else if (BleWork.mSequenceCallbackSuccess != null) {
- BleWork.mSequenceCallbackSuccess.call(BleWork.mSequence);
- }
- } else {
- String sh3 = Short.valueOf(bluetoothGattCharacteristic.getIntValue(17, 0).shortValue()).toString();
- EPLog.e("[Notify]unKnown type" + sh3);
- }
- }
- public void onCharacteristicRead(BluetoothGatt bluetoothGatt, @NonNull BluetoothGattCharacteristic bluetoothGattCharacteristic, int i) {
- BleWork.this.showStatus("Read", i);
- if (i == 0) {
- readCharacteristicData(bluetoothGattCharacteristic);
- } else {
- byte unused = BleWork.mIndex = (byte) 0;
- }
- }
- /* JADX WARNING: Can't fix incorrect switch cases order */
- /* Code decompiled incorrectly, please refer to instructions dump. */
- private void readCharacteristicData(@android.support.annotation.NonNull android.bluetooth.BluetoothGattCharacteristic r7) {
- /*
- r6 = this;
- java.util.UUID r0 = r7.getUuid()
- java.lang.String r0 = r0.toString()
- if (r0 != 0) goto L_0x0011
- java.lang.String r7 = "characteristic NULL !!"
- com.epson.mobilephone.common.EPLog.e((java.lang.String) r7)
- goto L_0x03a1
- L_0x0011:
- java.lang.String r0 = r0.toLowerCase()
- int r1 = r0.hashCode()
- r2 = -1
- r3 = 1
- r4 = 0
- switch(r1) {
- case -929193779: goto L_0x0048;
- case -881344628: goto L_0x003e;
- case 593366729: goto L_0x0034;
- case 641215880: goto L_0x002a;
- case 1286468426: goto L_0x0020;
- default: goto L_0x001f;
- }
- L_0x001f:
- goto L_0x0052
- L_0x0020:
- java.lang.String r1 = "802a0002-4ef4-4e59-b573-2bed4a4ac158"
- boolean r0 = r0.equals(r1)
- if (r0 == 0) goto L_0x0052
- r0 = 3
- goto L_0x0053
- L_0x002a:
- java.lang.String r1 = "00002a25-0000-1000-8000-00805f9b34fb"
- boolean r0 = r0.equals(r1)
- if (r0 == 0) goto L_0x0052
- r0 = 1
- goto L_0x0053
- L_0x0034:
- java.lang.String r1 = "802a0001-4ef4-4e59-b573-2bed4a4ac158"
- boolean r0 = r0.equals(r1)
- if (r0 == 0) goto L_0x0052
- r0 = 2
- goto L_0x0053
- L_0x003e:
- java.lang.String r1 = "00002a29-0000-1000-8000-00805f9b34fb"
- boolean r0 = r0.equals(r1)
- if (r0 == 0) goto L_0x0052
- r0 = 0
- goto L_0x0053
- L_0x0048:
- java.lang.String r1 = "802a0005-4ef4-4e59-b573-2bed4a4ac158"
- boolean r0 = r0.equals(r1)
- if (r0 == 0) goto L_0x0052
- r0 = 4
- goto L_0x0053
- L_0x0052:
- r0 = -1
- L_0x0053:
- r1 = 18
- switch(r0) {
- case 0: goto L_0x0389;
- case 1: goto L_0x0370;
- case 2: goto L_0x032e;
- case 3: goto L_0x02bd;
- case 4: goto L_0x005a;
- default: goto L_0x0058;
- }
- L_0x0058:
- goto L_0x03a1
- L_0x005a:
- byte[] r7 = r7.getValue()
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r0 = r0.mMibCommand
- com.epson.mobilephone.common.escpr.MIBDataBlock r0 = r0.commandBlock
- int r1 = r7.length
- r0.bufSize = r1
- r0 = 0
- L_0x006a:
- com.epson.mobilephone.common.ble.BleWork r1 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r1 = r1.mMibCommand
- com.epson.mobilephone.common.escpr.MIBDataBlock r1 = r1.commandBlock
- int r1 = r1.bufSize
- if (r0 >= r1) goto L_0x0087
- com.epson.mobilephone.common.ble.BleWork r1 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r1 = r1.mMibCommand
- com.epson.mobilephone.common.escpr.MIBDataBlock r1 = r1.commandBlock
- byte[] r1 = r1.buf
- byte r5 = r7[r0]
- r1[r0] = r5
- int r0 = r0 + 1
- goto L_0x006a
- L_0x0087:
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- boolean r7 = r7.mInSequence
- if (r7 == 0) goto L_0x00e7
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.EscprLib r7 = r7.mEscprlib
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r0 = r0.mMibCommand
- java.lang.String r7 = r7.mibParseResponseAsStr(r0)
- boolean r0 = r7.isEmpty()
- if (r0 == 0) goto L_0x00c3
- java.lang.String r7 = "[Read]SNMP Response :end!"
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- boolean unused = r7.mInSequence = r4
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- byte unused = r7.mIndex = r4
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.util.BLEUtility$BleWorkCallback r7 = r7.mSequenceCallbackSuccess
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = r0.mSequence
- r7.call(r0)
- goto L_0x03a1
- L_0x00c3:
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "[Read]SNMP Response :"
- r0.append(r1)
- r0.append(r7)
- java.lang.String r0 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r0)
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- java.util.List r0 = r0.mSsidLis
- r0.add(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.getSSIDList()
- goto L_0x03a1
- L_0x00e7:
- java.lang.StringBuilder r7 = new java.lang.StringBuilder
- r7.<init>()
- java.lang.String r0 = "mSequence "
- r7.append(r0)
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = r0.mSequence
- r7.append(r0)
- java.lang.String r7 = r7.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- int[] r7 = com.epson.mobilephone.common.ble.BleWork.C10195.$SwitchMap$com$epson$mobilephone$common$ble$BleWork$jobSequence
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = r0.mSequence
- int r0 = r0.ordinal()
- r7 = r7[r0]
- switch(r7) {
- case 1: goto L_0x026e;
- case 2: goto L_0x0226;
- case 3: goto L_0x019f;
- case 4: goto L_0x019f;
- case 5: goto L_0x019f;
- case 6: goto L_0x0110;
- case 7: goto L_0x0110;
- case 8: goto L_0x0110;
- default: goto L_0x010e;
- }
- L_0x010e:
- goto L_0x03a1
- L_0x0110:
- int[] r7 = new int[r3]
- r7[r4] = r2
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.EscprLib r0 = r0.mEscprlib
- com.epson.mobilephone.common.ble.BleWork r1 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r1 = r1.mMibCommand
- int r0 = r0.mibParseResponseAsInt(r1, r7)
- if (r0 != 0) goto L_0x0198
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "[Read]SNMP Response :sucess mSequence "
- r0.append(r1)
- com.epson.mobilephone.common.ble.BleWork r1 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r1 = r1.mSequence
- r0.append(r1)
- java.lang.String r1 = " val:"
- r0.append(r1)
- r7 = r7[r4]
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r7 = r7.mSequence
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = com.epson.mobilephone.common.ble.BleWork.jobSequence.MIB_SEC_SKIP
- if (r7 != r0) goto L_0x0157
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = com.epson.mobilephone.common.ble.BleWork.jobSequence.MIB_SEC_LOGOUT
- r7.mSequence = r0
- goto L_0x0166
- L_0x0157:
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r7 = r7.mSequence
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = com.epson.mobilephone.common.ble.BleWork.jobSequence.MIB_REBOOT_NW
- if (r7 != r0) goto L_0x0166
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- boolean unused = r7.mReconnect = r4
- goto L_0x03a1
- L_0x0166:
- r6.IncrementSequence()
- java.lang.StringBuilder r7 = new java.lang.StringBuilder
- r7.<init>()
- java.lang.String r0 = "mSequence "
- r7.append(r0)
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = r0.mSequence
- r7.append(r0)
- java.lang.String r7 = r7.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r7 = r7.mSequence
- int r7 = r7.ordinal()
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = com.epson.mobilephone.common.ble.BleWork.jobSequence.MIB_REBOOT_NW
- int r0 = r0.ordinal()
- if (r7 > r0) goto L_0x03a1
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.setSSIDWork()
- goto L_0x03a1
- L_0x0198:
- java.lang.String r7 = "[Read]SNMP Response :error "
- com.epson.mobilephone.common.EPLog.e((java.lang.String) r7)
- goto L_0x03a1
- L_0x019f:
- java.lang.StringBuilder r7 = new java.lang.StringBuilder
- r7.<init>()
- java.lang.String r0 = "mibIdentifier requestId = "
- r7.append(r0)
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r0 = r0.mMibCommand
- com.epson.mobilephone.common.escpr.MIBIdentifier r0 = r0.mibIdentifier
- int r0 = r0.requestId
- r7.append(r0)
- java.lang.String r7 = r7.toString()
- com.epson.mobilephone.common.EPLog.d(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.EscprLib r7 = r7.mEscprlib
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r0 = r0.mMibCommand
- com.epson.mobilephone.common.ble.BleWork r1 = com.epson.mobilephone.common.ble.BleWork.this
- byte[] r1 = r1.mEngineID
- int r7 = r7.mibParseSecResponse(r0, r1)
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "mSequence "
- r0.append(r1)
- com.epson.mobilephone.common.ble.BleWork r1 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r1 = r1.mSequence
- r0.append(r1)
- java.lang.String r1 = " ret = "
- r0.append(r1)
- r0.append(r7)
- java.lang.String r0 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r0)
- if (r7 == 0) goto L_0x01fc
- java.lang.String r7 = "[Read]SNMP Response :end!"
- com.epson.mobilephone.common.EPLog.i(r7)
- goto L_0x03a1
- L_0x01fc:
- r6.IncrementSequence()
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "[Read]SNMP Response :"
- r0.append(r1)
- r0.append(r7)
- java.lang.String r7 = " mSequence "
- r0.append(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r7 = r7.mSequence
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.setSSIDWork()
- goto L_0x03a1
- L_0x0226:
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.EscprLib r7 = r7.mEscprlib
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r0 = r0.mMibCommand
- java.lang.String r7 = r7.mibParseResponseAsStr(r0)
- boolean r0 = r7.isEmpty()
- r0 = r0 ^ r3
- if (r0 != 0) goto L_0x0244
- java.lang.String r7 = "[Read]SNMP Response :end!"
- com.epson.mobilephone.common.EPLog.i(r7)
- goto L_0x03a1
- L_0x0244:
- r6.IncrementSequence()
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "[Read]SNMP Response :"
- r0.append(r1)
- r0.append(r7)
- java.lang.String r7 = " mSequence "
- r0.append(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r7 = r7.mSequence
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.setSSIDWork()
- goto L_0x03a1
- L_0x026e:
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.EscprLib r7 = r7.mEscprlib
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.escpr.MIBCommand r0 = r0.mMibCommand
- java.lang.String r7 = r7.mibParseResponseAsMacaddress(r0)
- boolean r0 = r7.isEmpty()
- if (r0 != 0) goto L_0x02b6
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- java.lang.String unused = r0.mDeviceMacAddress = r7
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r1 = com.epson.mobilephone.common.ble.BleWork.jobSequence.MIB_SET_SSID
- r0.mSequence = r1
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "[Read]SNMP Response :sucess:MacAddress ★"
- r0.append(r1)
- r0.append(r7)
- java.lang.String r7 = "★ mSequence "
- r0.append(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r7 = r7.mSequence
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.setSSIDWork()
- goto L_0x03a1
- L_0x02b6:
- java.lang.String r7 = "[Read]SNMP Response :failed"
- com.epson.mobilephone.common.EPLog.e((java.lang.String) r7)
- goto L_0x03a1
- L_0x02bd:
- java.lang.Integer r7 = r7.getIntValue(r1, r4)
- java.lang.String r7 = r7.toString()
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "[Read]Version "
- r0.append(r1)
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- java.lang.String r7 = r7.mSSID
- if (r7 == 0) goto L_0x03a1
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- java.lang.String r7 = r7.mSSID
- boolean r7 = r7.isEmpty()
- if (r7 != 0) goto L_0x03a1
- r6.IncrementSequence()
- java.lang.String r7 = " @@ checkSSID @@ "
- com.epson.mobilephone.common.EPLog.d(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- android.bluetooth.BluetoothGatt r7 = r7.mConnGatt
- if (r7 != 0) goto L_0x0302
- java.lang.String r7 = "mConnGatt NULL !"
- com.epson.mobilephone.common.EPLog.e((java.lang.String) r7)
- L_0x0302:
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- short r7 = r7.getSecurityType()
- r0 = 255(0xff, float:3.57E-43)
- if (r7 != r0) goto L_0x0328
- java.lang.String r7 = " skip "
- com.epson.mobilephone.common.EPLog.d(r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.util.BLEUtility$BleWorkCallback r7 = r7.mSequenceCallbackSuccess
- if (r7 == 0) goto L_0x03a1
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.util.BLEUtility$BleWorkCallback r7 = r7.mSequenceCallbackSuccess
- com.epson.mobilephone.common.ble.BleWork r0 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = r0.mSequence
- r7.call(r0)
- goto L_0x03a1
- L_0x0328:
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.checkSSID()
- goto L_0x03a1
- L_0x032e:
- java.lang.Integer r7 = r7.getIntValue(r1, r4)
- short r7 = r7.shortValue()
- java.lang.Short r7 = java.lang.Short.valueOf(r7)
- java.lang.String r0 = r7.toString()
- java.lang.StringBuilder r1 = new java.lang.StringBuilder
- r1.<init>()
- java.lang.String r2 = "802a0001-4ef4-4e59-b573-2bed4a4ac158\n[Read]Password "
- r1.append(r2)
- r1.append(r0)
- java.lang.String r0 = r1.toString()
- com.epson.mobilephone.common.EPLog.i(r0)
- short r7 = r7.shortValue()
- r0 = 65535(0xffff, float:9.1834E-41)
- if (r7 != r0) goto L_0x0367
- java.lang.String r7 = "password error !"
- com.epson.mobilephone.common.EPLog.e((java.lang.String) r7)
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- com.epson.mobilephone.common.ble.BleWork$jobSequence r0 = com.epson.mobilephone.common.ble.BleWork.jobSequence.FAILED
- r7.mSequence = r0
- goto L_0x03a1
- L_0x0367:
- r6.IncrementSequence()
- com.epson.mobilephone.common.ble.BleWork r7 = com.epson.mobilephone.common.ble.BleWork.this
- r7.checkVersion()
- goto L_0x03a1
- L_0x0370:
- java.lang.String r7 = r7.getStringValue(r4)
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "00002a29-0000-1000-8000-00805f9b34fb\n[Read]Serial Number "
- r0.append(r1)
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- goto L_0x03a1
- L_0x0389:
- java.lang.String r7 = r7.getStringValue(r4)
- java.lang.StringBuilder r0 = new java.lang.StringBuilder
- r0.<init>()
- java.lang.String r1 = "00002a29-0000-1000-8000-00805f9b34fb\n[Read]Manufacturer Name "
- r0.append(r1)
- r0.append(r7)
- java.lang.String r7 = r0.toString()
- com.epson.mobilephone.common.EPLog.i(r7)
- L_0x03a1:
- return
- */
- throw new UnsupportedOperationException("Method not decompiled: com.epson.mobilephone.common.ble.BleWork.C10141.readCharacteristicData(android.bluetooth.BluetoothGattCharacteristic):void");
- }
- private void IncrementSequence() {
- int ordinal = BleWork.mSequence.ordinal();
- jobSequence[] values = jobSequence.values();
- BleWork.mSequence = values[ordinal + 1];
- EPLog.i("ΔΔ mSequence = " + BleWork.mSequence);
- }
- public void onCharacteristicWrite(BluetoothGatt bluetoothGatt, BluetoothGattCharacteristic bluetoothGattCharacteristic, int i) {
- BleWork.this.showStatus("Write", i);
- if (i != 0) {
- byte unused = BleWork.mIndex = (byte) 0;
- if (BleWork.mSequence == jobSequence.INITIALIZE) {
- BleWork.this.failedProcessing();
- } else if (BleWork.mSequence == jobSequence.MIB_REBOOT_NW) {
- if (BleWork.mSuccess != null) {
- BleWork.mSuccess.call(BleWork.mSequence);
- }
- } else if (BleWork.mFailed != null) {
- BleWork.mFailed.call(BleWork.mSequence);
- }
- } else if (BleWork.mSequence == jobSequence.INITIALIZE) {
- BleWork.this.characteristicRead();
- } else if (BleWork.mSequence == jobSequence.MIB_REBOOT_NW && BleWork.mSuccess != null) {
- BleWork.mSuccess.call(BleWork.mSequence);
- }
- }
- private void notifySet(@NonNull BluetoothGattCharacteristic bluetoothGattCharacteristic) {
- if (!BleWork.mConnGatt.setCharacteristicNotification(bluetoothGattCharacteristic, true)) {
- EPLog.e("Notification set ERROR");
- }
- BluetoothGattDescriptor descriptor = bluetoothGattCharacteristic.getDescriptor(UUID.fromString(BLEUuid.CLIENT_CHARACTERISTIC_CONFIG));
- descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
- EPLog.i("notify set");
- if (!BleWork.mConnGatt.writeDescriptor(descriptor)) {
- EPLog.e("Notification write ERROR");
- }
- }
- };
- handlerRead = new Handler();
- handlerWrite = new Handler();
- }
- @NonNull
- public static BleWork getInstace() {
- return SingletonHolder.INSTANCE;
- }
- private static final class SingletonHolder {
- private static final BleWork INSTANCE = new BleWork();
- private SingletonHolder() {
- }
- }
- public void resetSequence() {
- mSequence = jobSequence.UNINITIALIZED;
- mDevice = null;
- mSSIDPassword = null;
- mSsidLis.clear();
- mReconnect = false;
- mConnGatt = null;
- }
- @NonNull
- public static String getSSID(@NonNull Context context) {
- String curSSID = WiFiDirectManager.getCurSSID(context);
- EPLog.i("" + curSSID);
- return (curSSID == null || curSSID.equals("<unknown ssid>")) ? "" : curSSID;
- }
- public static boolean chechSSIDforBle(@NonNull Context context) {
- if (Build.VERSION.SDK_INT <= 28 || ActivityRequestLocationPermission.canAccessWiFiInfo(context, 4)) {
- return !getSSID(context).isEmpty() && !WiFiDirectManager.isSimpleAP(context);
- }
- return WiFiNetworkManager.getInsetance(context).isWiFiValidated();
- }
- public static boolean isStartBleProcess(@NonNull Context context, Boolean bool) {
- BluetoothAdapter adapter;
- BluetoothManager manager = BLEUtility.getManager(context);
- if ((manager != null && ((adapter = manager.getAdapter()) == null || !adapter.isEnabled())) || !BLEUtility.isBLESupported(context)) {
- return false;
- }
- if ((!bool.booleanValue() || MyPrinter.getCurPrinter(context).getName() == null) && chechSSIDforBle(context)) {
- return true;
- }
- return false;
- }
- private void setSequenceCallback(BLEUtility.BleWorkCallback bleWorkCallback, BLEUtility.BleWorkCallback bleWorkCallback2) {
- mSequenceCallbackSuccess = bleWorkCallback;
- mSequenceCallbackFailed = bleWorkCallback2;
- }
- private void setNotifyCallback(BLEUtility.BleWorkCallback bleWorkCallback) {
- mResposne = bleWorkCallback;
- }
- private void setSSID(BLEUtility.BleWorkCallback bleWorkCallback, BLEUtility.BleWorkCallback bleWorkCallback2) {
- mSuccess = bleWorkCallback;
- mFailed = bleWorkCallback2;
- mSequence = jobSequence.MIB_GET_MACADDRESS;
- setSSIDWork();
- }
- public void disconnect(boolean z) {
- EPLog.i("mSequence == " + mSequence + ":: " + mStatus);
- mSequence = z ? jobSequence.DISCONNECTED : mSequence;
- if (mConnGatt != null) {
- int i = mStatus;
- if (!(i == 3 || i == 0)) {
- EPLog.d(" !! mConnGatt disconnect");
- mConnGatt.disconnect();
- }
- EPLog.d(" !! mConnGatt close " + mSequence + " " + mStatus);
- mReconnect = false;
- if (z) {
- gattClose();
- }
- }
- }
- private void gattClose() {
- EPLog.d(" !! mConnGatt close");
- BluetoothGatt bluetoothGatt = mConnGatt;
- if (bluetoothGatt != null) {
- bluetoothGatt.close();
- mConnGatt = null;
- }
- }
- public void disconnect() {
- disconnect(true);
- }
- public void connect() {
- EPLog.i("再接続");
- mReconnect = true;
- mRetry = 0;
- EPLog.e("init");
- init();
- }
- private void setSSIDWork() {
- ((Activity) mContext).runOnUiThread(new Runnable() {
- public void run() {
- BleWork.this.startSetSSID();
- }
- });
- }
- private void notifySet(@NonNull BluetoothGattCharacteristic bluetoothGattCharacteristic) {
- if (!mConnGatt.setCharacteristicNotification(bluetoothGattCharacteristic, true)) {
- EPLog.e("Notification set ERROR");
- }
- BluetoothGattDescriptor descriptor = bluetoothGattCharacteristic.getDescriptor(UUID.fromString(BLEUuid.CLIENT_CHARACTERISTIC_CONFIG));
- descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
- EPLog.i("notify set");
- if (!mConnGatt.writeDescriptor(descriptor)) {
- EPLog.e(" writeDescriptor ERROR");
- }
- }
- public class NotifySetThread extends AsyncTask<Void, Void, Boolean> {
- boolean stop;
- boolean success;
- private NotifySetThread() {
- stop = false;
- success = false;
- }
- protected void onPreExecute() {
- super.onPreExecute();
- EPLog.i();
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- BleWork.this.setNotifyCallback(new BLEUtility.BleWorkCallback() {
- public void call(@NonNull Object obj) {
- EPLog.i(" -- NotifySetThread call");
- BluetoothGattCharacteristic bluetoothGattCharacteristic = BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SECURITY_TYPE_STRING);
- BluetoothGattCharacteristic bluetoothGattCharacteristic2 = BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SNMP_STATUS_STRING);
- BluetoothGattDescriptor bluetoothGattDescriptor = (BluetoothGattDescriptor) obj;
- if (bluetoothGattCharacteristic == bluetoothGattDescriptor.getCharacteristic()) {
- BleWork.this.notifySet(bluetoothGattCharacteristic2);
- } else if (bluetoothGattCharacteristic2 == bluetoothGattDescriptor.getCharacteristic()) {
- NotifySetThread notifySetThread = NotifySetThread.this;
- notifySetThread.stop = true;
- notifySetThread.success = true;
- } else {
- NotifySetThread.this.stop = true;
- }
- }
- });
- }
- /* access modifiers changed from: protected */
- @Nullable
- public Boolean doInBackground(Void... voidArr) {
- BleWork.this.notifySet(BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SECURITY_TYPE_STRING));
- long currentTimeMillis = System.currentTimeMillis();
- while (System.currentTimeMillis() - currentTimeMillis <= 30000) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- if (!this.stop) {
- }
- }
- if (this.stop) {
- EPLog.i(" set ended ");
- EPLog.i();
- return Boolean.valueOf(this.success);
- }
- }
- EPLog.e(" set failed! ");
- return false;
- }
- protected void onPostExecute(Boolean bool) {
- super.onPostExecute(bool);
- if (bool.booleanValue()) {
- try {
- TimeUnit.MILLISECONDS.sleep(500);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- BleWork.mSequence = jobSequence.INITIALIZE;
- BleWork.this.checkPassword();
- return;
- }
- EPLog.e("setNotify");
- BleWork.this.failedProcessing();
- }
- }
- private void characteristicRead() {
- EPLog.i("read " + mSequence);
- if (mSequence != jobSequence.MIB_REBOOT_NW) {
- final int[] iArr = {0};
- handlerRead.postDelayed(new Runnable() {
- public void run() {
- switch (C10195.$SwitchMap$com$epson$mobilephone$common$ble$BleWork$jobSequence[BleWork.mSequence.ordinal()]) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 11:
- try {
- if (!((BluetoothGatt) Objects.requireNonNull(BleWork.mConnGatt)).readCharacteristic(BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SNMP_RESPONSE_STRING))) {
- int[] iArr = iArr;
- int i = iArr[0] + 1;
- iArr[0] = i;
- if (i < 3) {
- EPLog.e("FALSE !! retry " + iArr[0]);
- BleWork.this.handlerRead.removeCallbacks((Runnable) null);
- BleWork.this.handlerRead.postDelayed(this, (long) (iArr[0] * 500));
- return;
- }
- EPLog.e("FALSE !!!");
- BleWork.this.sequenceError();
- return;
- }
- return;
- } catch (NullPointerException unused) {
- EPLog.e("mConnGatt NULL !");
- return;
- }
- case 9:
- if (!BleWork.mConnGatt.readCharacteristic(BLEUuid.GattCharsMap.get(BLEUuid.CHAR_PASSWORD_STRING))) {
- EPLog.e("FALSE !! ");
- return;
- }
- return;
- case 10:
- if (!BleWork.mConnGatt.readCharacteristic(BLEUuid.GattCharsMap.get(BLEUuid.CHAR_VERSION_STRING))) {
- EPLog.e("FALSE !! ");
- return;
- }
- return;
- default:
- return;
- }
- }
- }, 0);
- }
- }
- private boolean init() {
- int i;
- mEscprlib.epsWrapperInitDriver(mContext.getApplicationContext(), 2);
- if (!BLEUtility.isBLESupported(mContext)) {
- return false;
- }
- BluetoothManager manager = BLEUtility.getManager(mContext);
- if (manager != null) {
- mBTAdapter = manager.getAdapter();
- }
- if (mBTAdapter == null) {
- return false;
- }
- if (mDevice == null) {
- mDevice = mSelectItem.getDevice();
- if (mDevice == null) {
- EPLog.e("mDevice is null !!!");
- return false;
- }
- }
- byte[] hardwareType = mSelectItem.getHardwareType();
- if (hardwareType.length >= 3) {
- i = 4096 - ByteBuffer.wrap(new byte[]{0, 0, hardwareType[2], hardwareType[1]}).getInt();
- } else {
- i = Constants.EDAM_APPLICATIONDATA_ENTRY_LEN_MAX;
- }
- EPLog.d("password = " + i);
- mDevicePassword = String.valueOf(i);
- if (mConnGatt == null && mStatus == 0) {
- EPLog.i("connectGatt");
- mConnGatt = mDevice.connectGatt(mContext, false, mGattcallback);
- mStatus = 1;
- if (!mReconnect) {
- mSequence = jobSequence.UNINITIALIZED;
- }
- } else if (mConnGatt != null) {
- EPLog.i("re-connect and re-discover Services");
- mConnGatt.close();
- mConnGatt = mDevice.connectGatt(mContext, false, mGattcallback);
- mConnGatt.connect();
- mConnGatt.discoverServices();
- if (!mReconnect) {
- mSequence = jobSequence.INITIALIZE;
- }
- } else {
- EPLog.i(" STATE_CONNECTING");
- mConnGatt = mDevice.connectGatt(mContext, false, mGattcallback);
- mStatus = 1;
- if (!mReconnect) {
- mSequence = jobSequence.DISCONNECTED;
- }
- }
- return true;
- }
- public boolean init(@NonNull Context context, @NonNull ScannedDevice scannedDevice) {
- mContext = context;
- mSelectItem = scannedDevice;
- mRetry = 0;
- mSequence = jobSequence.UNINITIALIZED;
- setSecurityType(0);
- mReconnect = true;
- mSSID = getSSID(mContext);
- EPLog.i(mSSID);
- EPLog.e("init");
- return init();
- }
- public void checkPassword() {
- EPLog.i();
- String str = mDevicePassword;
- if (!str.isEmpty()) {
- BluetoothGattCharacteristic bluetoothGattCharacteristic = BLEUuid.GattCharsMap.get(BLEUuid.CHAR_PASSWORD_STRING);
- bluetoothGattCharacteristic.setValue(Short.parseShort(str), 18, 0);
- EPLog.i("Password write :" + str);
- gattWriteCharacter(bluetoothGattCharacteristic);
- }
- }
- private void gattWriteCharacter(final BluetoothGattCharacteristic bluetoothGattCharacteristic) {
- final int[] iArr = {0};
- handlerWrite.removeCallbacks((Runnable) null);
- handlerWrite.postDelayed(new Runnable() {
- public void run() {
- if (BleWork.mConnGatt == null) {
- EPLog.e("mConnGatt NULL !");
- }
- if (bluetoothGattCharacteristic == null) {
- EPLog.e("characteristic NULL !");
- }
- try {
- if (!((BluetoothGatt) Objects.requireNonNull(BleWork.mConnGatt)).writeCharacteristic(bluetoothGattCharacteristic)) {
- int[] iArr = iArr;
- int i = iArr[0] + 1;
- iArr[0] = i;
- if (i <= 3) {
- EPLog.e("writeCharacteristic error ! retry " + iArr[0]);
- BleWork.this.handlerWrite.removeCallbacks((Runnable) null);
- BleWork.this.handlerWrite.postDelayed(this, (long) (iArr[0] * 500));
- return;
- }
- EPLog.e("writeCharacteristic error !! retry failed !!");
- BleWork.this.failedProcessing();
- }
- } catch (NullPointerException unused) {
- EPLog.e("mConnGatt NULL !");
- }
- }
- }, 0);
- }
- public void checkVersion() {
- characteristicRead();
- }
- public void getSSIDList() {
- mInSequence = true;
- mSequence = jobSequence.MIB_GET_SSID_LIST;
- EscprLib escprLib = mEscprlib;
- MIBCommand mIBCommand = mMibCommand;
- byte b = (byte) (mIndex + 1);
- mIndex = b;
- int mibGetESSIDList = escprLib.mibGetESSIDList(mIBCommand, b);
- if (mibGetESSIDList != 0) {
- EPLog.e("mibGetESSIDList ret = " + mibGetESSIDList);
- return;
- }
- byte[] bArr = new byte[mMibCommand.commandBlock.bufSize];
- System.arraycopy(mMibCommand.commandBlock.buf, 0, bArr, 0, mMibCommand.commandBlock.bufSize);
- BluetoothGattCharacteristic bluetoothGattCharacteristic = BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SNMP_REQUEST_STRING);
- bluetoothGattCharacteristic.setValue(bArr);
- gattWriteCharacter(bluetoothGattCharacteristic);
- }
- private void checkSSID() {
- try {
- TimeUnit.SECONDS.sleep(1);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- byte[] bytes = mSSID.getBytes(Charset.forName("UTF8"));
- BluetoothGattCharacteristic bluetoothGattCharacteristic = BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SSID_STRING);
- bluetoothGattCharacteristic.setValue(bytes);
- EPLog.i("SSID write :" + mSSID);
- gattWriteCharacter(bluetoothGattCharacteristic);
- }
- public void setSSIDType() {
- mSequence = jobSequence.CHECK_SSID;
- if (mConnGatt == null) {
- EPLog.e("mConnGatt NULL !");
- }
- checkSSID();
- }
- private void startSetSSID() {
- int i;
- EPLog.i("mSequence = " + mSequence + " mSSID = " + mSSID);
- mInSequence = false;
- String str = "";
- String str2 = "";
- switch (mSequence) {
- case MIB_GET_MACADDRESS:
- str = "epsGetMacAddress";
- str2 = "mibGetMacadress";
- i = mEscprlib.mibGetMacadress(mMibCommand);
- break;
- case MIB_SET_SSID:
- str = "epsWlanConfSSID";
- str2 = "mibSetSSID";
- EPLog.i("mSSID " + mSSID);
- if (!mSSID.isEmpty()) {
- i = mEscprlib.mibSetSSID(mMibCommand, mSSID);
- break;
- } else {
- EPLog.m82w("set SSID : empty");
- return;
- }
- case MIB_SEC_LOGIN:
- str = "epsAdminMibAccessLoginOperation";
- str2 = "mibSecLogin ";
- if (mEngineID == null) {
- EPLog.e("mEngineID");
- failedProcessing();
- }
- i = mEscprlib.mibSecLogin(mMibCommand, mEngineID);
- break;
- case MIB_SEC_SET_PASS:
- str = "epsWlanCommonPassPhrase";
- str2 = "mibSecSetPass ";
- String str3 = mSSIDPassword;
- EPLog.i("mSSIDPassword " + mSSIDPassword);
- if (str3.isEmpty()) {
- EPLog.m82w("SSIDPassword is empty");
- }
- if (mEngineID == null) {
- EPLog.e("mEngineID");
- failedProcessing();
- }
- i = mEscprlib.mibSecSetPassword(mMibCommand, mEngineID, str3);
- break;
- case MIB_SEC_LOGOUT:
- str = "epsAdminMibAccessLogOutOperation";
- str2 = "mibSecLogout ";
- if (mEngineID == null) {
- EPLog.e("mEngineID");
- failedProcessing();
- }
- i = mEscprlib.mibSecLogout(mMibCommand, mEngineID);
- break;
- case MIB_SET_SECURITY_TYPE:
- str = "epsWlanSecurityType";
- str2 = "mibSetSecurityType ";
- if (mSSIDPassword == null) {
- mSSIDPassword = "";
- }
- int i2 = mSSIDPassword.isEmpty() ? 0 : 255;
- EPLog.i("MIB_SET_SECURITY_TYPE SecurityType = " + i2);
- int mibSetSecurityType = mEscprlib.mibSetSecurityType(mMibCommand, i2);
- if (i2 == 0) {
- mSequence = jobSequence.MIB_SEC_SKIP;
- }
- i = mibSetSecurityType;
- break;
- case MIB_REBOOT_NW:
- str = "epsBluetoothOperationSetupEnd";
- str2 = "mibRebootNW ";
- i = mEscprlib.mibRebootNWwithBLE(mMibCommand);
- break;
- default:
- i = 0;
- break;
- }
- if (i != 0) {
- EPLog.e(str2 + " ret = " + i);
- sequenceError();
- return;
- }
- byte[] bArr = new byte[mMibCommand.commandBlock.bufSize];
- System.arraycopy(mMibCommand.commandBlock.buf, 0, bArr, 0, mMibCommand.commandBlock.bufSize);
- EPLog.i("SNMP Request write :" + str + " mSequence " + mSequence);
- BluetoothGattCharacteristic bluetoothGattCharacteristic = BLEUuid.GattCharsMap.get(BLEUuid.CHAR_SNMP_REQUEST_STRING);
- bluetoothGattCharacteristic.setValue(bArr);
- gattWriteCharacter(bluetoothGattCharacteristic);
- }
- private void sequenceError() {
- failedProcessing();
- }
- private void failedProcessing() {
- disconnect();
- if (mSequenceCallbackFailed != null) {
- EPLog.e(" " + mSequence);
- mSequenceCallbackFailed.call(mSequence);
- }
- }
- }
|