in AmazonKinesisVideoDemoApp/src/main/java/com/amazonaws/kinesisvideo/demoapp/fragment/StreamConfigurationFragment.java [64:117]
public View onCreateView(final LayoutInflater inflater,
final ViewGroup container,
final Bundle savedInstanceState) {
if (ContextCompat.checkSelfPermission(this.getActivity(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this.getActivity(), new String[]{Manifest.permission.CAMERA}, 9393);
}
getActivity().setTitle(getActivity().getString(R.string.title_fragment_stream));
final View view = inflater.inflate(R.layout.fragment_stream_configuration, container, false);
try {
mKinesisVideoClient = KinesisVideoAndroidClientFactory.createKinesisVideoClient(
getActivity(),
KinesisVideoDemoApp.KINESIS_VIDEO_REGION,
KinesisVideoDemoApp.getCredentialsProvider());
} catch (KinesisVideoException e) {
Log.e(TAG, "Failed to create Kinesis Video client", e);
}
mCamerasDropdown = new StringSpinnerWidget<>(
getActivity(),
view,
R.id.cameras_spinner,
ToStrings.CAMERA_DESCRIPTION,
getCameras(mKinesisVideoClient));
mCamerasDropdown.setItemSelectedListener(
new StringSpinnerWidget.ItemSelectedListener<CameraMediaSourceConfiguration>() {
@Override
public void itemSelected(final CameraMediaSourceConfiguration mediaSource) {
mResolutionDropdown = new StringSpinnerWidget<>(
getActivity(),
view,
R.id.resolutions_spinner,
getSupportedResolutions(getActivity(), mediaSource.getCameraId()));
select640orBelow();
updateMirroredCheckBox();
}
});
mMimeTypeDropdown = new StringSpinnerWidget<>(
getActivity(),
view,
R.id.codecs_spinner,
getSupportedMimeTypes());
mRotationDropdown = new StringSpinnerWidget<>(
getActivity(),
view,
R.id.rotation_spinner,
getRotations());
return view;
}