Merge "correct sequence about granting permission of SoundTriggerTestApp" into tm-dev

This commit is contained in:
Rios Kao
2022-03-22 00:58:11 +00:00
committed by Android (Google) Code Review

View File

@@ -97,13 +97,8 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe
setVolumeControlStream(AudioManager.STREAM_MUSIC); setVolumeControlStream(AudioManager.STREAM_MUSIC);
// Make sure that the service is started, so even if our activity goes down, we'll still requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO},
// have a request for it to run. AUDIO_PERMISSIONS_REQUEST);
startService(new Intent(getBaseContext(), SoundTriggerTestService.class));
// Bind to SoundTriggerTestService.
Intent intent = new Intent(this, SoundTriggerTestService.class);
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
} }
@Override @Override
@@ -267,6 +262,9 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe
public synchronized void onCaptureAudioCheckboxClicked(View v) { public synchronized void onCaptureAudioCheckboxClicked(View v) {
// See if we have the right permissions // See if we have the right permissions
if (mService == null) {
Log.e(TAG, "Can't set capture audio: not bound to SoundTriggerTestService");
} else {
if (!mService.hasMicrophonePermission()) { if (!mService.hasMicrophonePermission()) {
requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO}, requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO},
AUDIO_PERMISSIONS_REQUEST); AUDIO_PERMISSIONS_REQUEST);
@@ -275,6 +273,7 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe
mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked()); mService.setCaptureAudio(mSelectedModelUuid, mCaptureAudioCheckBox.isChecked());
} }
} }
}
@Override @Override
public synchronized void onRequestPermissionsResult(int requestCode, String permissions[], public synchronized void onRequestPermissionsResult(int requestCode, String permissions[],
@@ -283,8 +282,15 @@ public class SoundTriggerTestActivity extends Activity implements SoundTriggerTe
if (grantResults[0] != PackageManager.PERMISSION_GRANTED) { if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
// Make sure that the check box is set to false. // Make sure that the check box is set to false.
mCaptureAudioCheckBox.setChecked(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());
} }
} }