use max volume for calibration process
authora0220410 <peter-li@ti.com>
Mon, 18 Jul 2016 10:35:35 +0000 (18:35 +0800)
committera0220410 <peter-li@ti.com>
Mon, 18 Jul 2016 10:35:35 +0000 (18:35 +0800)
TAS2555-FTC/app/src/main/java/com/ti/tas2555/tas2555_ftc/MainActivity.java

index 3d046d3ecec004d365dda01f7f2b664ff3a59ea5..c102a3f094dab69812a6ee7957e41292862f550e 100755 (executable)
@@ -9,6 +9,7 @@ import android.media.AudioManager;
 import android.media.MediaPlayer;\r
 import android.net.Uri;\r
 import android.os.Bundle;\r
+import android.os.PowerManager;\r
 import android.support.design.widget.FloatingActionButton;\r
 import android.support.design.widget.Snackbar;\r
 import android.support.v7.app.AppCompatActivity;\r
@@ -33,6 +34,10 @@ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPre
     private TAS2555Node mDevNode;\r
     private TFTCConfiguration mFTCConfiguration;\r
     private Button mStartButton;\r
+    private Context mContext;\r
+    private AudioManager mAudioManager;\r
+    private int mAudioStreamMaxVolume;\r
+    private int mAudioStreamCurVolume;\r
     private MediaPlayer mMediaPlayer;\r
     private Timer mTimer;\r
     private Cal_State mCalState = Cal_State.IDLE;\r
@@ -62,10 +67,14 @@ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPre
             }\r
         });\r
 \r
+        mContext = getApplicationContext();\r
         mFTCItem = (ListView)findViewById(R.id.lvFTCItem);\r
         mTimer = new Timer("PlaybackTimer");\r
         mDevNode = new TAS2555Node();\r
         mFTCConfiguration = new TFTCConfiguration();\r
+        mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);\r
+        mAudioStreamMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);\r
+        mAudioStreamCurVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);\r
         mAdapter = new FTCListViewAdapter(getApplicationContext(), mFTCConfiguration);\r
         mFTCItem.setAdapter(mAdapter);\r
         mStartButton = (Button) findViewById(R.id.bnStart);\r
@@ -114,6 +123,7 @@ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPre
     @Override\r
     protected void onStop() {\r
         if(mMediaPlayer != null) mMediaPlayer.release();\r
+        mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioStreamCurVolume, 0);\r
         mTimer.cancel();\r
         mDevNode.CloseNode();\r
         super.onStop();\r
@@ -173,6 +183,7 @@ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPre
             if(file.exists()){\r
                 mMediaPlayer = new MediaPlayer();\r
                 mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);\r
+                mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioStreamMaxVolume, 0);\r
                 mMediaPlayer.setDataSource(file.getAbsolutePath());\r
                 mCalState = Cal_State.CALIBRATE;\r
                 mMediaPlayer.setOnPreparedListener(this);\r
@@ -371,8 +382,7 @@ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPre
                 }\r
             });\r
             // STEP 8: Save Re, f0, Q and Cal Temp into a file\r
-            Context context = getApplicationContext();\r
-            File file = context.getFilesDir();\r
+            File file = mContext.getFilesDir();\r
             mFTCConfiguration.saveCalResult(file.getAbsolutePath() +  "/tas2555_cal.txt");\r
 \r
             // STEP 9: Save .bin file for TAS2555 driver\r
@@ -392,7 +402,7 @@ public class MainActivity extends AppCompatActivity implements MediaPlayer.OnPre
                 runOnUiThread(new Runnable() {\r
                     @Override\r
                     public void run() {\r
-                        mInfo.append(getApplicationContext().getFilesDir().getAbsolutePath() + "/tas2555_cal.bin saved \n");\r
+                        mInfo.append(mContext.getFilesDir().getAbsolutePath() + "/tas2555_cal.bin saved \n");\r
                         mInfo.setSelection(mInfo.getText().length());\r
                         if(mFTCConfiguration.bLoadCalibration) {\r
                             mInfo.append("Load Calibration \n");\r