diff options
author | 2022-03-22 00:58:11 +0000 | |
---|---|---|
committer | 2022-03-22 00:58:11 +0000 | |
commit | f10600c7ad0d3e8bc34c5d8f4845abfbaf62e139 (patch) | |
tree | bd8a6edef9e3d9bead3b43d99d58b26115504534 /tests/SoundTriggerTestApp | |
parent | a6462766f9638a41a608e18b16adf81d19494a84 (diff) | |
parent | 0089aa80f0aec6eb0b3a50d048fde5807d2d6716 (diff) |
Merge "correct sequence about granting permission of SoundTriggerTestApp" into tm-dev
Diffstat (limited to 'tests/SoundTriggerTestApp')
-rw-r--r-- | tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java index 72aa38dc7e4b..103d516e5967 100644 --- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java +++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestActivity.java @@ -97,13 +97,8 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe setVolumeControlStream(AudioManager.STREAM_MUSIC); - // Make sure that the service is started, so even if our activity goes down, we'll still - // have a request for it to run. - startService(new Intent(getBaseContext(), SoundTriggerTestService.class)); - - // Bind to SoundTriggerTestService. - Intent intent = new Intent(this, SoundTriggerTestService.class); - bindService(intent, mConnection, Context.BIND_AUTO_CREATE); + requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO}, + AUDIO_PERMISSIONS_REQUEST); } @Override @@ -267,12 +262,16 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe public synchronized void onCaptureAudioCheckboxClicked(View v) { // See if we have the right permissions - if (!mService.hasMicrophonePermission()) { - requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO}, - AUDIO_PERMISSIONS_REQUEST); - return; + if (mService == null) { + Log.e(TAG, "Can't set capture audio: not bound to SoundTriggerTestService"); } else { - mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked()); + if (!mService.hasMicrophonePermission()) { + requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO}, + AUDIO_PERMISSIONS_REQUEST); + return; + } else { + mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked()); + } } } @@ -283,8 +282,15 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe if (grantResults[0] != PackageManager.PERMISSION_GRANTED) { // Make sure that the check box is set to false. mCaptureAudioCheckBox.setChecked(false); + } else { + // After granted Record_Audio permission, start and bind the service. + // so we can run that sound trigger capability, + // even if our activity goes down, we'll still have a request for it to run. + startService(new Intent(getBaseContext(), SoundTriggerTestService.class)); + // Bind to SoundTriggerTestService. + Intent intent = new Intent(this, SoundTriggerTestService.class); + bindService(intent, mConnection, Context.BIND_AUTO_CREATE); } - mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked()); } } |