| 
				
			 | 
			
			 | 
			@@ -0,0 +1,523 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			package aicare.net.cn.sdk.ailinksdkdemoandroid; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.os.Bundle; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.os.Handler; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.os.Message; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.view.View; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.widget.ArrayAdapter; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.widget.EditText; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.widget.ListView; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import android.widget.Toast; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import androidx.annotation.Nullable; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.BleBaseActivity; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.bean.BleValueBean; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.config.CmdConfig; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.device.BleDevice; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.listener.OnCallbackBle; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.utils.BleLog; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.pingwang.bluetoothlib.utils.BleStrUtils; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import java.lang.ref.WeakReference; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import java.util.ArrayList; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import java.util.Arrays; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import java.util.HashMap; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import java.util.List; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import cn.net.aicare.modulelibrary.module.ToothBrush.ToothBrushBleCmd; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import cn.net.aicare.modulelibrary.module.ToothBrush.ToothBrushWiFiBleUtilsData; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			public class ToothBrushWifiBleActivity extends BleBaseActivity implements View.OnClickListener, OnCallbackBle, ToothBrushWiFiBleUtilsData.BleToothBrushWiFiCallback, ToothBrushWiFiBleUtilsData.BleToothBrushCallback { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private String TAG = ToothBrushWifiBleActivity.class.getName(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private String mAddress; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private List<String> mList; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private ArrayAdapter listAdapter; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private ToothBrushWiFiBleUtilsData mToothBrushWiFiBleUtilsData; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private MHandler mMHandler; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private EditText mEditText, select_gears_et; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private String dataPaw; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    protected void onCreate(@Nullable Bundle savedInstanceState) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        super.onCreate(savedInstanceState); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        setContentView(R.layout.activity_tooth_brush_wifi_ble); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.wifistatus).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.sn).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.scan_wifi).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.connect_wifi).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.disconnect).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.setedname).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.support_unit).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.default_try_out).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.default_time_mode).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        findViewById(R.id.default_mode).setOnClickListener(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mEditText = findViewById(R.id.select_wifi_et); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        select_gears_et = findViewById(R.id.select_gears_et); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mAddress = getIntent().getStringExtra("mac"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList = new ArrayList<>(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ListView listView = findViewById(R.id.log_list); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mList); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        listView.setAdapter(listAdapter); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        WeakReference weakReference = new WeakReference(new MHandler()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler = (MHandler) weakReference.get(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onServiceSuccess() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        //与服务建立连接 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "服务与界面建立连接成功"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "搜索设备"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mBluetoothService.setOnCallback(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mBluetoothService.scanLeDevice(30 * 1000); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onServiceErr() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void unbindServices() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onStartScan() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onScanning(BleValueBean data) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        BleLog.i(TAG, "MAC=" + mAddress + "||CID=" + data.getCid() + "||VID=" + data.getVid() + "||PID=" + data.getPid()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (data.getMac().equalsIgnoreCase(mAddress)) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mBluetoothService.connectDevice(data.getMac()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onScanTimeOut() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onConnecting(String mac) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onDisConnected(String mac, int code) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "蓝牙已断开"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onServicesDiscovered(String mac) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "蓝牙已连接"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mBluetoothService.setOnCallback(this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        BleDevice bleDevice = mBluetoothService.getBleDevice(mAddress); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (bleDevice != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            ToothBrushWiFiBleUtilsData.init(bleDevice, this, this); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mToothBrushWiFiBleUtilsData = ToothBrushWiFiBleUtilsData.getInstance(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mMHandler.sendEmptyMessageDelayed(ToRequestToken, 600); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mMHandler.sendEmptyMessageDelayed(GETBATTERY, 800); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void bleOpen() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void bleClose() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnBleAndWifiStatus(int blestatus, int wifistatus, int workstatus) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        BleLog.e(TAG, "蓝牙状态:" + blestatus + " wifi状态:" + " 工作状态:" + workstatus); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "蓝牙状态:" + blestatus + " wifi状态:" + wifistatus + " 工作状态:" + workstatus); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnWifiScanStatus(int Status) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "扫描wifi状态: " + Status); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private HashMap<Integer, String> mHashMap = new HashMap(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnWifiListName(int no, String name) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mHashMap.put(no, name); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private HashMap<Integer, String> wifimacMap = new HashMap(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnWifiListInfo(int no, String mac, int db, int type, int wifistatus) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        wifimacMap.put(no, mac); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "WIFI序号: " + no + " WIFI名称:" + mHashMap.get(no) + " WIFImac: " + mac + " db: " + db + " type: " + type + " wifistata" + wifistatus); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnWifiCurrentConnect(String name) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "当前连接wifi名称: " + name); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnWifiScanFinish(int wifiNum) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "扫描结束 扫描的wifi个数 " + wifiNum); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private boolean issetMac = false; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /** | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * @param type   {@link CmdConfig#SET_WIFI_MAC} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * @param status {@link ToothBrushBleCmd#STATUS_SUCCESS} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void OnSetWifiNameOrPwdOrConnectCallback(int type, int status) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (type == CmdConfig.SET_WIFI_MAC) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mList.add(0, "获取到设置的mac地址状态 " + status); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (status == ToothBrushBleCmd.STATUS_SUCCESS) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                issetMac = true; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                setPaw(dataPaw); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (type == CmdConfig.SET_WIFI_PWD) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mList.add(0, "获取到设置的密码状态 " + status); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (status == ToothBrushBleCmd.STATUS_SUCCESS && issetMac) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                mMHandler.sendEmptyMessage(ConnectWifi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (type == CmdConfig.DISORCONNECTWIFI) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mList.add(0, "发起连接 " + status); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void getSelectWifiMac(String mac) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "获取到设置的wifi的mac地址 " + mac); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void getSelectWifiPaw(String paw) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "获取到设置的wifi的密码 " + paw); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void getDid(long sn) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "sn: " + sn); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onClick(View v) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int id = v.getId(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (mToothBrushWiFiBleUtilsData != null) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            switch (id) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.wifistatus: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.queryBleStatus(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.sn: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.getDevicedid(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.scan_wifi: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.scanWifi(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.connect_wifi: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    try { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        int selectWifi = Integer.valueOf(mEditText.getText().toString().trim()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        if (mHashMap.get(selectWifi) != null && wifimacMap.get(selectWifi) != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            WifiDialog.newInstance().setTitle(mHashMap.get(selectWifi), wifimacMap.get(selectWifi)).setOnDialogListener(new WifiDialog.OnDialogListener() { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                public void tvCancelListener(View v) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                public void tvSucceedListener(View v, String data) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                    if (data.equals("") || data.length() > 8) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                        dataPaw = data.trim(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                        mToothBrushWiFiBleUtilsData.setWifimac(wifimacMap.get(selectWifi)); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                    } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                        Toast.makeText(ToothBrushWifiBleActivity.this, "密码格式不对", Toast.LENGTH_SHORT).show(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                public void etModifyName(EditText v) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            }).show(getSupportFragmentManager()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } catch (NumberFormatException e) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        e.printStackTrace(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        mMHandler.sendEmptyMessage(ConnectWifi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.setedname: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.getConnectWifiName(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.disconnect: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.disconnectWifi(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.support_unit: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.getSupportGears(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.default_mode: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    String gear = select_gears_et.getText().toString().trim(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    if (!gear.isEmpty()) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        String[] gears = null; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        if (gear.contains(",")) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            gears = gear.split(","); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } else if (gear.contains(",")) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            gears = gear.split(","); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            Toast.makeText(this, "请输入时长,档位,档位级别(数字加符号)", Toast.LENGTH_SHORT).show(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        if (gears != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            try { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                mToothBrushWiFiBleUtilsData.setDefault(Integer.parseInt(gears[0]), Integer.parseInt(gears[1]), Integer.parseInt(gears[2])); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            } catch (NumberFormatException e) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                e.printStackTrace(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                Toast.makeText(this, "请输入时长,档位,档位级别(数字加符号)", Toast.LENGTH_SHORT).show(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.default_try_out: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    String gear1 = select_gears_et.getText().toString().trim(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    if (!gear1.isEmpty()) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        String[] gears = null; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        if (gear1.contains(",")) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            gears = gear1.split(","); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } else if (gear1.contains(",")) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            gears = gear1.split(","); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            Toast.makeText(this, "请输入时长,档位,档位级别(数字加符号)", Toast.LENGTH_SHORT).show(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        if (gears != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            try { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                mToothBrushWiFiBleUtilsData.setTryOut(Integer.parseInt(gears[1]), Integer.parseInt(gears[2]),0,0); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            } catch (NumberFormatException e) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                e.printStackTrace(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                Toast.makeText(this, "请输入时长,档位,档位级别(数字加符号)", Toast.LENGTH_SHORT).show(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case R.id.default_time_mode: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.getdefaultGearAndDuration(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private final int ToRefreUi = 300; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private final int ConnectWifi = 400; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private final int ToRequestToken = 500; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private final int GETBATTERY = 600; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onVersion(String version) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "版本号:" + version); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onGetSupportGears(List<Integer> staif, List<Integer> secondLevel) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "牙刷支持的一级档位:" + Arrays.toString(staif.toArray()) + " 二级档位:" + Arrays.toString(secondLevel.toArray())); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onGetBattery(int batteryStatus, int batteryQuantity) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "电池状态:" + batteryStatus + " 电量:" + batteryQuantity); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onGetDefaultGearAndDuration(int time, int gear, int gearFrom) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "获得到默认的刷牙档位和时长:" + time + " 档位:" + gear + " 档位级别" + gearFrom); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onGetTokenResult(int result) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        String s = ""; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (result == ToothBrushBleCmd.NO_TOKEN) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "没有"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else if (result == ToothBrushBleCmd.HAS_TOKEN) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "已经授权"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else if (result == ToothBrushBleCmd.WITHOUT_TOKEN) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "不需要授权"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else if (result == ToothBrushBleCmd.SUCCESSTOKEN) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "授权成功"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "请求授权结果" + result + "  " + s); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onGetManualParameter(int time, int hz, int duty) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, " 获取手动档位的参数: 时长" + time + "  频率" + hz + "   占空比" + duty); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onSetDefaultModeAndManualModeResult(byte type, int result) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        String s = ""; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (result == 0) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "设置成功"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else if (result == 1) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "设置失败"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else if (result == 2) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            s = "不支持设置"; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (type == ToothBrushBleCmd.SET_TOOTHBRUSH_TIME_GEARS) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mList.add(0, " 设置默认刷牙时长和工作档位: 结果" + result + "  " + s); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mList.add(0, "  设置手动设置(自定义)档位: 结果" + result + "  " + s); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onTestFinish(int totalTime, int leftTime, int rightTime, int mode, int battery) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "刷牙完成: 总时长:" + totalTime + " 左时长:" + leftTime + " 右时长:" + rightTime + " 模式:" + mode + " 电量:" + battery); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onTryOutResult(int result) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "设置使用结果:" + result + " ( 0:设置成功 1:设置失败,原因未知 2:不支持设置)"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onTwoLevelModeDefault(int mode) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mList.add(0, "获取二级档位默认值:" + mode); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        mMHandler.sendEmptyMessage(ToRefreUi); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void onShowData(String data) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private class MHandler extends Handler { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        public void handleMessage(Message msg) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            super.handleMessage(msg); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            switch (msg.what) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case ToRefreUi: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    if (listAdapter != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        listAdapter.notifyDataSetChanged(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case ConnectWifi: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.connectWifi(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case ToRequestToken: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mList.add(0, "请求授权"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.requestToken(System.currentTimeMillis()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    if (listAdapter != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        listAdapter.notifyDataSetChanged(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                case GETBATTERY: | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.getBattery(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    /** | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * wifi密码一次只能传14个byte | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * 如果密码长度超过14个byte 就需要分包传送 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * subpackage 为0 时,表示后面还有数据 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * subpackage 为1 时,表示数据小于或等于14个byte,后面没有数据 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     * @param paw | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			     */ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    private void setPaw(String paw) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (paw.isEmpty()) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            byte[] bytes = new byte[0]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            mToothBrushWiFiBleUtilsData.setWifiPwd(0, bytes); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            byte[] password = BleStrUtils.stringToBytes(paw); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (password != null) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                if (password.length < 14) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    mToothBrushWiFiBleUtilsData.setWifiPwd(0, password); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    boolean isend = false; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    int i = 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    byte[] byte1 = password; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    while (!isend) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        if (byte1.length > 14) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            byte[] bytes = new byte[14]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            System.arraycopy(password, i, bytes, 0, bytes.length); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            mToothBrushWiFiBleUtilsData.setWifiPwd(1, bytes); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            i = i + 14; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            byte1 = Arrays.copyOf(password, password.length - i); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            isend = true; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            byte[] bytes = new byte[password.length - i]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            System.arraycopy(password, i, bytes, 0, bytes.length); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                            mToothBrushWiFiBleUtilsData.setWifiPwd(1, bytes); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} |