mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 09:28:41 +00:00
fix #264
This commit is contained in:
parent
2bde206a8f
commit
b865afe355
3 changed files with 20 additions and 0 deletions
|
|
@ -49,6 +49,9 @@ class UserData {
|
|||
@JsonKey(defaultValue: true)
|
||||
bool useHighQuality = true;
|
||||
|
||||
@JsonKey(defaultValue: false)
|
||||
bool requestedAudioPermission = false;
|
||||
|
||||
@JsonKey(defaultValue: true)
|
||||
bool showFeedbackShortcut = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ UserData _$UserDataFromJson(Map<String, dynamic> json) => UserData(
|
|||
ThemeMode.system
|
||||
..defaultShowTime = (json['defaultShowTime'] as num?)?.toInt()
|
||||
..useHighQuality = json['useHighQuality'] as bool? ?? true
|
||||
..requestedAudioPermission =
|
||||
json['requestedAudioPermission'] as bool? ?? false
|
||||
..showFeedbackShortcut = json['showFeedbackShortcut'] as bool? ?? true
|
||||
..preSelectedEmojies = (json['preSelectedEmojies'] as List<dynamic>?)
|
||||
?.map((e) => e as String)
|
||||
|
|
@ -84,6 +86,7 @@ Map<String, dynamic> _$UserDataToJson(UserData instance) => <String, dynamic>{
|
|||
'themeMode': _$ThemeModeEnumMap[instance.themeMode]!,
|
||||
'defaultShowTime': instance.defaultShowTime,
|
||||
'useHighQuality': instance.useHighQuality,
|
||||
'requestedAudioPermission': instance.requestedAudioPermission,
|
||||
'showFeedbackShortcut': instance.showFeedbackShortcut,
|
||||
'preSelectedEmojies': instance.preSelectedEmojies,
|
||||
'autoDownloadOptions': instance.autoDownloadOptions,
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import 'package:twonly/src/database/daos/contacts_dao.dart';
|
|||
import 'package:twonly/src/database/twonly_database.dart';
|
||||
import 'package:twonly/src/utils/log.dart';
|
||||
import 'package:twonly/src/utils/misc.dart';
|
||||
import 'package:twonly/src/utils/storage.dart';
|
||||
import 'package:twonly/src/views/camera/camera_preview_components/permissions_view.dart';
|
||||
import 'package:twonly/src/views/camera/camera_preview_components/send_to.dart';
|
||||
import 'package:twonly/src/views/camera/camera_preview_components/video_recording_time.dart';
|
||||
|
|
@ -171,6 +172,19 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
|
|||
|
||||
Future<void> initAsync() async {
|
||||
hasAudioPermission = await Permission.microphone.isGranted;
|
||||
|
||||
if (!hasAudioPermission) {
|
||||
final user = await getUser();
|
||||
if (user != null) {
|
||||
if (!user.requestedAudioPermission) {
|
||||
await updateUserdata((u) {
|
||||
u.requestedAudioPermission = true;
|
||||
return u;
|
||||
});
|
||||
await requestMicrophonePermission();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!mounted) return;
|
||||
setState(() {});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue