chore(mobile): remove screen auto-dimming (#14699)
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Docker / pre-job (push) Waiting to run
Docker / Re-Tag ML () (push) Blocked by required conditions
Docker / Re-Tag ML (-armnn) (push) Blocked by required conditions
Docker / Re-Tag ML (-cuda) (push) Blocked by required conditions
Docker / Re-Tag ML (-openvino) (push) Blocked by required conditions
Docker / Re-Tag Server () (push) Blocked by required conditions
Docker / Build and Push ML (armnn, linux/arm64, -armnn) (push) Blocked by required conditions
Docker / Build and Push ML (cpu, linux/amd64,linux/arm64) (push) Blocked by required conditions
Docker / Build and Push ML (cuda, linux/amd64, -cuda) (push) Blocked by required conditions
Docker / Build and Push ML (openvino, linux/amd64, -openvino) (push) Blocked by required conditions
Docker / Build and Push Server (cpu, linux/amd64,linux/arm64) (push) Blocked by required conditions
Docker / Docker Build & Push Server Success (push) Blocked by required conditions
Docker / Docker Build & Push ML Success (push) Blocked by required conditions
Docs build / pre-job (push) Waiting to run
Docs build / Docs Build (push) Blocked by required conditions
Static Code Analysis / pre-job (push) Waiting to run
Static Code Analysis / Run Dart Code Analysis (push) Blocked by required conditions
Test / pre-job (push) Waiting to run
Test / Test & Lint Server (push) Blocked by required conditions
Test / Unit Test CLI (push) Blocked by required conditions
Test / Unit Test CLI (Windows) (push) Blocked by required conditions
Test / Test & Lint Web (push) Blocked by required conditions
Test / End-to-End Lint (push) Blocked by required conditions
Test / Medium Tests (Server) (push) Blocked by required conditions
Test / End-to-End Tests (Server & CLI) (push) Blocked by required conditions
Test / End-to-End Tests (Web) (push) Blocked by required conditions
Test / Unit Test Mobile (push) Blocked by required conditions
Test / Unit Test ML (push) Blocked by required conditions
Test / ShellCheck (push) Waiting to run
Test / OpenAPI Clients (push) Waiting to run
Test / TypeORM Checks (push) Waiting to run

This commit is contained in:
Alex
2024-12-14 12:53:15 -07:00
committed by GitHub
parent cc111a1fcb
commit dd9feeec45

View File

@@ -1,11 +1,9 @@
import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'dart:math'; import 'dart:math';
import 'package:auto_route/auto_route.dart'; import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart';
@@ -31,8 +29,6 @@ class BackupControllerPage extends HookConsumerWidget {
BackUpState backupState = ref.watch(backupProvider); BackUpState backupState = ref.watch(backupProvider);
final hasAnyAlbum = backupState.selectedBackupAlbums.isNotEmpty; final hasAnyAlbum = backupState.selectedBackupAlbums.isNotEmpty;
final didGetBackupInfo = useState(false); final didGetBackupInfo = useState(false);
final isScreenDarkened = useState(false);
final darkenScreenTimer = useRef<Timer?>(null);
bool hasExclusiveAccess = bool hasExclusiveAccess =
backupState.backupProgress != BackUpProgressEnum.inBackground; backupState.backupProgress != BackUpProgressEnum.inBackground;
@@ -43,25 +39,6 @@ class BackupControllerPage extends HookConsumerWidget {
? false ? false
: true; : true;
void startScreenDarkenTimer() {
darkenScreenTimer.value = Timer(const Duration(seconds: 30), () {
isScreenDarkened.value = true;
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
});
}
void stopScreenDarkenTimer() {
darkenScreenTimer.value?.cancel();
isScreenDarkened.value = false;
SystemChrome.setEnabledSystemUIMode(
SystemUiMode.manual,
overlays: [
SystemUiOverlay.top,
SystemUiOverlay.bottom,
],
);
}
useEffect( useEffect(
() { () {
// Update the background settings information just to make sure we // Update the background settings information just to make sure we
@@ -77,8 +54,6 @@ class BackupControllerPage extends HookConsumerWidget {
return () { return () {
WakelockPlus.disable(); WakelockPlus.disable();
darkenScreenTimer.value?.cancel();
isScreenDarkened.value = false;
}; };
}, },
[], [],
@@ -99,10 +74,8 @@ class BackupControllerPage extends HookConsumerWidget {
useEffect( useEffect(
() { () {
if (backupState.backupProgress == BackUpProgressEnum.inProgress) { if (backupState.backupProgress == BackUpProgressEnum.inProgress) {
startScreenDarkenTimer();
WakelockPlus.enable(); WakelockPlus.enable();
} else { } else {
stopScreenDarkenTimer();
WakelockPlus.disable(); WakelockPlus.disable();
} }
@@ -297,19 +270,7 @@ class BackupControllerPage extends HookConsumerWidget {
); );
} }
return GestureDetector( return Scaffold(
onTap: () {
if (isScreenDarkened.value) {
stopScreenDarkenTimer();
}
if (backupState.backupProgress == BackUpProgressEnum.inProgress) {
startScreenDarkenTimer();
}
},
child: AnimatedOpacity(
opacity: isScreenDarkened.value ? 0.1 : 1.0,
duration: const Duration(seconds: 1),
child: Scaffold(
appBar: AppBar( appBar: AppBar(
elevation: 0, elevation: 0,
title: const Text( title: const Text(
@@ -329,8 +290,7 @@ class BackupControllerPage extends HookConsumerWidget {
Padding( Padding(
padding: const EdgeInsets.only(right: 8.0), padding: const EdgeInsets.only(right: 8.0),
child: IconButton( child: IconButton(
onPressed: () => onPressed: () => context.pushRoute(const BackupOptionsRoute()),
context.pushRoute(const BackupOptionsRoute()),
splashRadius: 24, splashRadius: 24,
icon: const Icon( icon: const Icon(
Icons.settings_outlined, Icons.settings_outlined,
@@ -342,8 +302,7 @@ class BackupControllerPage extends HookConsumerWidget {
body: Stack( body: Stack(
children: [ children: [
Padding( Padding(
padding: padding: const EdgeInsets.only(left: 16.0, right: 16, bottom: 32),
const EdgeInsets.only(left: 16.0, right: 16, bottom: 32),
child: ListView( child: ListView(
// crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
children: hasAnyAlbum children: hasAnyAlbum
@@ -352,31 +311,21 @@ class BackupControllerPage extends HookConsumerWidget {
BackupInfoCard( BackupInfoCard(
title: "backup_controller_page_total".tr(), title: "backup_controller_page_total".tr(),
subtitle: "backup_controller_page_total_sub".tr(), subtitle: "backup_controller_page_total_sub".tr(),
info: ref info: ref.watch(backupProvider).availableAlbums.isEmpty
.watch(backupProvider)
.availableAlbums
.isEmpty
? "..." ? "..."
: "${backupState.allUniqueAssets.length}", : "${backupState.allUniqueAssets.length}",
), ),
BackupInfoCard( BackupInfoCard(
title: "backup_controller_page_backup".tr(), title: "backup_controller_page_backup".tr(),
subtitle: "backup_controller_page_backup_sub".tr(), subtitle: "backup_controller_page_backup_sub".tr(),
info: ref info: ref.watch(backupProvider).availableAlbums.isEmpty
.watch(backupProvider)
.availableAlbums
.isEmpty
? "..." ? "..."
: "${backupState.selectedAlbumsBackupAssetsIds.length}", : "${backupState.selectedAlbumsBackupAssetsIds.length}",
), ),
BackupInfoCard( BackupInfoCard(
title: "backup_controller_page_remainder".tr(), title: "backup_controller_page_remainder".tr(),
subtitle: subtitle: "backup_controller_page_remainder_sub".tr(),
"backup_controller_page_remainder_sub".tr(), info: ref.watch(backupProvider).availableAlbums.isEmpty
info: ref
.watch(backupProvider)
.availableAlbums
.isEmpty
? "..." ? "..."
: "${max(0, backupState.allUniqueAssets.length - backupState.selectedAlbumsBackupAssetsIds.length)}", : "${max(0, backupState.allUniqueAssets.length - backupState.selectedAlbumsBackupAssetsIds.length)}",
), ),
@@ -393,8 +342,6 @@ class BackupControllerPage extends HookConsumerWidget {
), ),
], ],
), ),
),
),
); );
} }
} }