Commit eee026f9 by Lee Jaebin

Merge branch 'contract/sato/1.0.0' into contract/sato/1.0.0_FZ-L1

parents 6612220b c5f5d0fd
......@@ -103,12 +103,6 @@ public class BleManagerUtil {
// 切断が発生する場合、Bluetoothと接続を切断する。
disconnect();
runOnUiThread( new Runnable() {
public void run() {
// 切断トーストメッセージを表示する。
// listener.onDisConnectionState();
}
} );
return;
}
}
......@@ -170,16 +164,6 @@ public class BleManagerUtil {
setCharacteristicNotification(UUID_SERVICE_PRIVATE, UUID_NOTIFY, true);
return;
}
if( UUID_CHARACTERISTIC_PRIVATE2.equals( characteristic.getUuid() ) ) { // キャラクタリスティック2:データサイズは、8バイト(文字列を想定。半角文字8文字)
final String strChara = characteristic.getStringValue( 0 );
runOnUiThread( new Runnable() {
public void run() {
// 渡すデータがある場合
}
});
return;
}
}
// キャラクタリスティック変更が通知されたときの処理
......@@ -189,7 +173,12 @@ public class BleManagerUtil {
final String strTemperature = byteToString(characteristic.getValue());
runOnUiThread( new Runnable() {
@Override
public void run() {
// 複数呼ばれるため、mBluetoothGattがnullの場合、以下の処理を行わない
if( null == mBluetoothGatt ) {
return;
}
// 芯温計の温度を渡す。
listener.onGetDeviceInfo(strTemperature);
}
......
......@@ -5,7 +5,10 @@ import android.bluetooth.BluetoothAdapter;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.AssetFileDescriptor;
import android.location.LocationManager;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Build;
import android.os.Bundle;
import android.widget.Toast;
......@@ -17,6 +20,7 @@ import com.nttdocomo.android.sdaiflib.Define;
import org.json.adf.JSONObject;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
......@@ -33,6 +37,7 @@ import jp.agentec.abook.abv.ui.common.util.ABVToastUtil;
import jp.agentec.abook.abv.ui.common.util.AlertDialogUtil;
import jp.agentec.abook.abv.ui.home.activity.BarCodeReaderActivity;
import jp.agentec.abook.abv.ui.home.helper.ABookPermissionHelper;
import jp.agentec.adf.util.StringUtil;
public class ABVCheckContentViewActivity extends ABVContentViewActivity {
private static final String TAG ="ABVCheckContentViewActivity";
......@@ -78,6 +83,8 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
//デバイスタイプ(1:中心温度計、2:置くだけセンサー、3:バーコード)
private int mDeviceType;
// メディアプレイヤー
private MediaPlayer mMediaPlayer;
/**
* Beaconスキャン結果受信Receiver.
......@@ -402,6 +409,10 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
thermometerDataJson.put(ABookKeys.TASK_QUESTION_ID, mQid);
thermometerDataJson.put("value", strTemp);
afterABookCheckApi(mCmd, "", 0, "", thermometerDataJson.toString());
// 値が空ではない場合、成功音を出す。
if (strTemp != null && strTemp.length() > 0) {
audioPlay();
}
Logger.v(TAG, "thermometer JSON [%s]", thermometerDataJson.toString());
}
......@@ -445,4 +456,75 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
private void errorAfterAbookCheckAip(String errorMessage) {
afterABookCheckApi(mCmd, "", 1, errorMessage, "");
}
/**
* mediaPlayerにmp3ファイルをセット
* @return
*/
private boolean audioSetup() {
boolean fileCheck = false;
// インタンスを生成
mMediaPlayer = new MediaPlayer();
//音楽ファイル名, あるいはパス
String filePath = "temperatureAudio.mp3";
// assetsから mp3 ファイルを読み込み
try(AssetFileDescriptor afdescripter = getAssets().openFd(filePath))
{
// MediaPlayerに読み込んだ音楽ファイルを指定
mMediaPlayer.setDataSource(afdescripter.getFileDescriptor(),
afdescripter.getStartOffset(),
afdescripter.getLength());
// 音量調整を端末のボタンに任せる
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mMediaPlayer.prepare();
fileCheck = true;
} catch (IOException e1) {
e1.printStackTrace();
}
return fileCheck;
}
/**
* mediaplayerをセットして、mp3を再生するメソッド
*/
private void audioPlay() {
// mMediaPlayerがnullではない場合は、再生終了されてないと見做し、audioStopメソッドを実行
if (mMediaPlayer != null) {
Logger.v("error not stop audio");
audioStop();
}
// audio ファイルを読出し
if (!audioSetup()) {
Logger.e("mediaplayer audio set up error");
return;
}
// 再生する
mMediaPlayer.start();
// 終了を検知するリスナー
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Logger.d("debug","end of audio");
audioStop();
}
});
}
// mediaPlayerを再生終了する
private void audioStop() {
// 再生終了
mMediaPlayer.stop();
// リセット
mMediaPlayer.reset();
// リソースの解放
mMediaPlayer.release();
// mediaPlayerを初期化
mMediaPlayer = null;
}
}
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