Commit 9e941eb7 by onuma

不要なコメント削除。設問で登録したシリアル番号とTR41のシリアル番号を比較するようにした。

parent 156e9b64
......@@ -326,17 +326,6 @@ public class BleManagerUtil {
// 切断
public void disconnect(boolean listenerFlg) {
// 接続されていない。検索中の場合はスキャン停止
if (listenerFlg) {
runOnUiThread( new Runnable() {
@Override
public void run() {
// スキャン停止
mHandler.removeCallbacksAndMessages(null);
mBluetoothAdapter.getBluetoothLeScanner().stopScan(mScanCallback);
}
});
}
if(mBluetoothGatt == null) {
return;
......@@ -351,7 +340,7 @@ public class BleManagerUtil {
mBluetoothGatt.disconnect();
// mBluetoothGatt.close();
mBluetoothGatt = null;
/**
if (listenerFlg) {
runOnUiThread( new Runnable() {
@Override
......@@ -361,7 +350,6 @@ public class BleManagerUtil {
}
});
}
*/
}
// キャラクタリスティックの読み込み
......
......@@ -40,6 +40,8 @@ import java.util.TimerTask;
import jp.agentec.abook.abv.bl.common.log.Logger;
import static android.bluetooth.le.ScanSettings.CALLBACK_TYPE_ALL_MATCHES;
import static android.bluetooth.le.ScanSettings.MATCH_MODE_AGGRESSIVE;
import static android.bluetooth.le.ScanSettings.SCAN_MODE_LOW_LATENCY;
import static org.chromium.base.ThreadUtils.runOnUiThread;
......@@ -57,17 +59,14 @@ public class TR41BluetoothUtil {
private boolean mIsScaning;
private static final long SCAN_PERIOD = 60000; // スキャン時間。単位はミリ秒
private static final long SCAN_PERIOD = (20 * 1000); // スキャン時間。単位はミリ秒
/**
*
*
*/
public interface TR41BluetoothUtilLeScanner {
//void onBatchScanResults(List<ScanResult> results);
void onScanFailed(int errorCode);
//void onScanResult(int callbackType, ScanResult result);
void onScanResult(String strTemperature); // デバイスから温度を渡す
void onScanResult(String serialNo, String strTemperature); // デバイスから温度を渡す
void onScanStop(); // スキャンを停止した
}
......@@ -93,7 +92,7 @@ public class TR41BluetoothUtil {
}
boolean btEnable = mBluetoothAdapter.isEnabled() ;
if(btEnable == true) {
if(btEnable) {
// Bluetoothアダプタ作成
mBluetoothManager = (BluetoothManager) mContext.getSystemService( Context.BLUETOOTH_SERVICE );
mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner() ;
......@@ -112,20 +111,40 @@ public class TR41BluetoothUtil {
// スキャンフィルタの作成
List<ScanFilter> mScanFilters = new ArrayList<>() ;
// スキャンモードの作成
ScanSettings.Builder mScanSettingBuiler = new ScanSettings.Builder() ;
ScanSettings.Builder mScanSettingBuiler = new ScanSettings.Builder();
/*
* CALLBACK_TYPE_ALL_MATCHES
* 検出されたすべてのBluetoothアドバタイズのコールバックをトリガーし、フィルター基準に一致します。
* アクティブなフィルターがない場合、すべてのアドバタイズパケットが報告されます。
*
* MATCH_MODE_AGGRESSIVE
* アグレッシブモードでは、信号強度が弱く、継続時間中に目撃/一致がほとんどない場合でも、
* ハードウェアは一致をより早く判断します。
*/
mScanSettingBuiler.setMatchMode(CALLBACK_TYPE_ALL_MATCHES);
/*
* SCAN_MODE_LOW_LATENCY
* 最高のデューティサイクルを使用してスキャンします。 アプリケーションがフォアグラウンドで実行されている場合にのみ、このモードを使用することをお勧めします。
*/
mScanSettingBuiler.setScanMode(SCAN_MODE_LOW_LATENCY) ;
ScanSettings mScanSettings = mScanSettingBuiler.build() ;
// 作成したスキャンフィルタとモードでスキャン開始
mBluetoothLeScanner.startScan(mScanFilters, mScanSettings, mScanCallback) ;
mHandler.postDelayed( new Runnable() {
@Override
public void run() {
// SCAN_PERIOD 秒後に呼ばれた時はスキャンで端末を取得できなかったと見做す。
mListener.onScanStop();
// SCAN_PERIOD 秒後に呼ばれた時にスキャン中であれば端末を取得できなかったとみなす。
if (mIsScaning) {
Sb_StopScan();
mListener.onScanFailed(-390831);
Logger.d(TAG, "scan in 20 sec");
}
}
}, SCAN_PERIOD );
mIsScaning = true;
......@@ -133,8 +152,13 @@ public class TR41BluetoothUtil {
public void Sb_StopScan()
{
try {
mIsScaning = false;
mBluetoothLeScanner.stopScan(mScanCallback) ;
mHandler.removeCallbacksAndMessages(null);
mBluetoothLeScanner.stopScan(mScanCallback);
} catch (Exception e){
Logger.e(TAG,e.toString());
}
}
private ScanCallback mScanCallback = new ScanCallback()
......@@ -143,17 +167,10 @@ public class TR41BluetoothUtil {
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public void onBatchScanResults(final List<ScanResult> results) {
Logger.d(TAG, "onBatchScanResults");
/**
runOnUiThread( new Runnable() {
@Override
public void run() {
mListener.onBatchScanResults(results);
}
});
*/
};
@Override
......@@ -169,14 +186,12 @@ public class TR41BluetoothUtil {
@Override
public void onScanResult(int callbackType, ScanResult result) {
if(!mIsScaning){
Logger.d(TAG, "mIsScaning == false");
Logger.d(TAG, "mIsScaning is false");
return;
}
BluetoothDevice device = result.getDevice() ;
byte[] scanRecord = result.getScanRecord().getBytes() ;
byte[] scanRecord = result.getScanRecord().getBytes();
if (device.getBondState() != BluetoothDevice.BOND_BONDED) {
long serial[] = new long[1] ;
......@@ -189,33 +204,38 @@ public class TR41BluetoothUtil {
String devName = device.getName() ;
if(devName == null) {
Logger.d("","deviceName is null");
Logger.d(TAG,"deviceName is null");
return;
}
// 近くにあるTR4だけを検索したい場合( getRssiは、電波強度を返す。dBm マイナスが小さいほど電波が強い)
// 検索範囲を調整したい場合は、rssiの閾値を調整する( getRssiは、電波強度を返す。dBm マイナスが小さいほど電波が強い)
//if(result.getRssi() < -50)
// return ;
Logger.d(TAG,"getRssi = " + result.getRssi());
rtn = Sb_Parse_ScanRecord(scanRecord, serial, localName, security, ch1Data, ch2Data, batLevel) ;
if(rtn == 0) {
devName = localName.toString().trim() ;
final String serialStr = String.format("%X", (int)(serial[0]));
final String ch1Str ;
if(ch1Data[0] == 0xEEEE)
ch1Str = "----" ;
else if(ch1Data[0] == 0xEEE0)
ch1Str = "" ;
else
ch1Str = String.format("%.1f", (double)(ch1Data[0]-1000)/10.0) ;
if(ch1Data[0] == 0xEEEE) {
//ch1Str = "----";
return;
} else if(ch1Data[0] == 0xEEE0) {
//ch1Str = "";
return;
} else {
ch1Str = String.format("%.1f", (double) (ch1Data[0] - 1000) / 10.0);
}
runOnUiThread( new Runnable() {
@Override
public void run() {
mListener.onScanResult(ch1Str);
// 値が取得できたので、コールバックで通知
mListener.onScanResult(serialStr, ch1Str);
}
});
//mBluetoothLeScanner.stopScan(mScanCallback) ;
}
}
};
......@@ -253,7 +273,7 @@ public class TR41BluetoothUtil {
pt += 2 ;
companyCode = Sb_Conv2ByteToInt(scanRecord[pt], scanRecord[pt+1]) ;
if(companyCode != 0x0392) {
Logger.d("","CompanyCode Error");
//Logger.d(TAG,"CompanyCode Error");
return -1;
}
......@@ -262,7 +282,7 @@ public class TR41BluetoothUtil {
serialNo[0] = Sb_Conv4ByteToLong(scanRecord[pt], scanRecord[pt+1], scanRecord[pt+2], scanRecord[pt+3]) ;
int devType = Sb_Get_DeviceType(serialNo[0]) ;
if(devType != 0x16 && devType != 0x17 && devType != 0x18) {
Logger.d("","serialNo Error");
//Logger.d(TAG,"serialNo Error");
return -1;
}
......@@ -274,7 +294,7 @@ public class TR41BluetoothUtil {
pt += 1 ;
formatCode = (int)scanRecord[pt] ;
if(formatCode != 1) {
Logger.d("","formatCode Error");
//Logger.d(TAG,"formatCode Error");
return -1;
}
......@@ -296,7 +316,7 @@ public class TR41BluetoothUtil {
return 0 ;
}
catch (Exception e) {
Logger.d("","" + e.getMessage());
Logger.d(TAG,"" + e.getMessage());
return -1 ;
}
......
......@@ -358,12 +358,8 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
Logger.e(TAG, "onScanFailed : " + errorCode);
Logger.d(TAG,"-------------------------------------------------");
String errorMessage =
errorMessage = String.format(getString(R.string.msg_bluetooth_connect_error), getString(R.string.center_thermometer));
errorAfterAbookCheckAip(String.format(getString(R.string.msg_tr41_scan_error), getString(R.string.tr41_thermometer)));
//if (StringUtil.isNullOrEmpty(errorMessage)) {
// errorAfterAbookCheckAip(errorMessage);
//}
// TR41スキャン停止
stopTR41BeaconScan();
......@@ -372,21 +368,30 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
}
@Override
public void onScanResult(String strTemperature) {
public void onScanResult(String serialNo, String strTemperature) {
Logger.d(TAG,"-------------------------------------------------");
Logger.d(TAG, "onScanResult temperature [%s]", strTemperature);
Logger.d(TAG, "onScanResult serialNo [%s]", serialNo);
Logger.d(TAG, "onScanResult mTR41SerialNo [%s]", mTR41SerialNo);
Logger.d(TAG,"-------------------------------------------------");
if (!serialNo.equals(mTR41SerialNo)){
return;
}
// 値取得待ちのダイアログ表示中のみ値を取得、設定する
if (mWaitingDialog != null) {
// TR41スキャン停止
stopTR41BeaconScan();
//setThermometerData(strTemperature);
// まだ、項目がないので、NFCとしてデータを返す
// まだ、項目がないので、NFCとしてデータを返す。音もならす
setNfcData(strTemperature);
// 取得できたら、ダイアログ消す。
dismissWaitngDialog();
// TR41スキャン停止
stopTR41BeaconScan();
// サウンド
audioPlay();
}
}
@Override
public void onScanStop() {
Logger.d(TAG,"-------------------------------------------------");
......@@ -576,7 +581,7 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
}
/**
* ABVContentViewActivityからの呼ばれるメッソドで各種デバイスとの連携
* ABVContentViewActivity::commonShouldOverrideUrlLoading()からの呼ばれるメッソドで各種デバイスとの連携
* @param abookCheckParam HTML側からのパラメーター情報
*/
@Override
......@@ -1232,10 +1237,10 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
stopTR41BeaconScan();
disConnectSppBluetooth();
try {
try {
//Beacon受信停止
unregisterReceiver(mReceiver);
} catch (Exception e){
// 重量計・放射温度計を切断後に実行したところ
// IllegalArgumentException
......
......@@ -989,9 +989,9 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
operationDto.reportType, finishCallback, taskReportLevel);
if (StringUtil.equalsAny(mCmd,ABookKeys.CMD_INSERT_TASK_REPORT, ABookKeys.CMD_UPDATE_TASK_REPORT,
ABookKeys.CMD_DELETE_TASK_REPORT , ABookKeys.CMD_CANCEL_TASK_REPORT)
ABookKeys.CMD_DELETE_TASK_REPORT , ABookKeys.CMD_CANCEL_TASK_REPORT, ABookKeys.CMD_LOCAL_SAVE_TASK_REPORT)
){
// 作業一覧に戻る時
// 作業一覧に戻る時,bluetoothを切断する。
disconnectBluetoothDevice();
}
......
......@@ -97,9 +97,6 @@ public class ABookCheckWebViewHelper extends ABookHelper {
sendTaskData(context, operationId, taskKey, taskReportLevel);
break;
case ABookKeys.CMD_LOCAL_SAVE_TASK_REPORT: // 一時保存
Logger.d("-------------------------------------------------");
Logger.d("一時保存");
Logger.d("-------------------------------------------------");
insertOrUpdateTaskReport(taskKey, enableReportHistory, operationId, contentId, param, contentPath, reportType, taskReportLevel, true);
copyTaskAttachedMovie(operationId, contentId, taskKey, taskReportLevel);
ABVToastUtil.showMakeText(context, R.string.msg_temp_save_result, Toast.LENGTH_SHORT);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment