1.广角/主摄切换按钮已上移:
2.新增 isSwitchingLens 状态、避免切换镜头 stop 按钮禁用,不会触发 stopRecording 倍距按钮禁用,避免连续切换 ViewModel 层也兜底:isSwitchingLens=true 时直接拒绝 stop 3.合并失败兜底提示
This commit is contained in:
@@ -7,6 +7,7 @@ class RecordingSessionState {
|
||||
this.isTouchLocked = true,
|
||||
this.isPreviewReady = false,
|
||||
this.isStartingRecording = false,
|
||||
this.isSwitchingLens = false,
|
||||
this.hasDndAccess = false,
|
||||
this.isBatteryOptimizedIgnored = true,
|
||||
this.notificationsGranted = true,
|
||||
@@ -19,12 +20,14 @@ class RecordingSessionState {
|
||||
this.errorMessage,
|
||||
this.permissionWarning,
|
||||
this.fileSaveFailed = false,
|
||||
this.segmentOutputPaths = const [],
|
||||
});
|
||||
|
||||
final RecordingStatus status;
|
||||
final bool isTouchLocked;
|
||||
final bool isPreviewReady;
|
||||
final bool isStartingRecording;
|
||||
final bool isSwitchingLens;
|
||||
final bool hasDndAccess;
|
||||
final bool isBatteryOptimizedIgnored;
|
||||
final bool notificationsGranted;
|
||||
@@ -37,6 +40,7 @@ class RecordingSessionState {
|
||||
final String? errorMessage;
|
||||
final String? permissionWarning;
|
||||
final bool fileSaveFailed;
|
||||
final List<String> segmentOutputPaths;
|
||||
|
||||
bool get isRecording => status.isRecording;
|
||||
|
||||
@@ -53,6 +57,7 @@ class RecordingSessionState {
|
||||
bool? isTouchLocked,
|
||||
bool? isPreviewReady,
|
||||
bool? isStartingRecording,
|
||||
bool? isSwitchingLens,
|
||||
bool? hasDndAccess,
|
||||
bool? isBatteryOptimizedIgnored,
|
||||
bool? notificationsGranted,
|
||||
@@ -65,6 +70,7 @@ class RecordingSessionState {
|
||||
String? errorMessage,
|
||||
String? permissionWarning,
|
||||
bool? fileSaveFailed,
|
||||
List<String>? segmentOutputPaths,
|
||||
bool clearPermissionWarning = false,
|
||||
bool clearLastSaved = false,
|
||||
}) {
|
||||
@@ -73,6 +79,7 @@ class RecordingSessionState {
|
||||
isTouchLocked: isTouchLocked ?? this.isTouchLocked,
|
||||
isPreviewReady: isPreviewReady ?? this.isPreviewReady,
|
||||
isStartingRecording: isStartingRecording ?? this.isStartingRecording,
|
||||
isSwitchingLens: isSwitchingLens ?? this.isSwitchingLens,
|
||||
hasDndAccess: hasDndAccess ?? this.hasDndAccess,
|
||||
isBatteryOptimizedIgnored:
|
||||
isBatteryOptimizedIgnored ?? this.isBatteryOptimizedIgnored,
|
||||
@@ -90,6 +97,7 @@ class RecordingSessionState {
|
||||
? null
|
||||
: (permissionWarning ?? this.permissionWarning),
|
||||
fileSaveFailed: fileSaveFailed ?? this.fileSaveFailed,
|
||||
segmentOutputPaths: segmentOutputPaths ?? this.segmentOutputPaths,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user