openCamera method
Implementation
Future<NEResult> openCamera(NECamera camera, int viewId) async {
CallKitUILog.i(_tag, "openCamera camera = $camera");
NEResult result = NEResult(code: 0, message: 'success');
if (Platform.isAndroid) {
CallKitUILog.i(_tag, 'CallManager openCamera');
PermissionResult permissionResult = PermissionResult.granted;
if (await Permission.has(permissions: [PermissionType.camera])) {
permissionResult = await Permission.request(NECallType.video);
}
if (PermissionResult.granted == permissionResult) {
var ret = await NECallEngine.instance.enableLocalVideo(true);
result = NEResult(code: ret.code, message: ret.msg);
} else {
result = NEResult(code: -1, message: "Start camera permission denied.");
}
} else {
var ret = await NECallEngine.instance.enableLocalVideo(true);
result = NEResult(code: ret.code, message: ret.msg);
}
if (result.code == 0 &&
NECallStatus.none != CallState.instance.selfUser.callStatus) {
CallState.instance.isCameraOpen = true;
CallState.instance.camera = camera;
CallState.instance.selfUser.videoAvailable = true;
}
NECallKitPlatform.instance.updateCallStateToNative();
return result;
}