diff --git a/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognition.java b/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognition.java index ad45845..98856ed 100644 --- a/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognition.java +++ b/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognition.java @@ -12,6 +12,8 @@ import android.support.annotation.Nullable; import android.util.Log; +import java.util.Locale; + /** * Created by Maxwell on 13-Jan-18. */ @@ -86,8 +88,12 @@ public void setSpeechRecognitionPermissionListener(@NonNull OnSpeechRecognitionP this.onSpeechRecognitionPermissionListener = onSpeechRecognitionPermissionListener; } - public void setPreferredLanguage(){ - throw new UnsupportedOperationException(); + public void setPreferredLanguage(String preferredLanguage) { + recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, preferredLanguage); + } + + public void setDevicePreferredLanguage() { + recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault().toString().replace("_", "-")); } /** diff --git a/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognitionPermissions.java b/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognitionPermissions.java index 878d677..e58e1cb 100644 --- a/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognitionPermissions.java +++ b/app/src/main/java/com/maxwell/speechrecognition/SpeechRecognitionPermissions.java @@ -57,11 +57,14 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in // If request is granted, the result arrays are not empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - onSpeechRecognitionPermissionListener.onPermissionGranted(); + if (onSpeechRecognitionPermissionListener != null) { + onSpeechRecognitionPermissionListener.onPermissionGranted(); + } return; } } - - onSpeechRecognitionPermissionListener.onPermissionDenied(); + if (onSpeechRecognitionPermissionListener != null) { + onSpeechRecognitionPermissionListener.onPermissionDenied(); + } } }