[auth] Fix privacy screen color for dark mode (#4696)
## Description ## Tests
This commit is contained in:
@@ -70,6 +70,8 @@ class EnteColorScheme {
|
||||
final Color gradientButtonBgColor;
|
||||
final List<Color> gradientButtonBgColors;
|
||||
|
||||
bool get isLightTheme => backgroundBase == backgroundBaseLight;
|
||||
|
||||
const EnteColorScheme(
|
||||
this.backgroundBase,
|
||||
this.backgroundElevated,
|
||||
|
||||
@@ -45,6 +45,8 @@ EnteColorScheme getEnteColorScheme(
|
||||
: Theme.of(context).colorScheme.enteTheme.colorScheme;
|
||||
}
|
||||
|
||||
|
||||
|
||||
EnteTextTheme getEnteTextTheme(
|
||||
BuildContext context, {
|
||||
bool inverse = false,
|
||||
|
||||
@@ -19,6 +19,7 @@ import 'package:ente_auth/services/preference_service.dart';
|
||||
import 'package:ente_auth/services/user_service.dart';
|
||||
import 'package:ente_auth/store/code_display_store.dart';
|
||||
import 'package:ente_auth/store/code_store.dart';
|
||||
import 'package:ente_auth/theme/ente_theme.dart';
|
||||
import 'package:ente_auth/theme/text_style.dart';
|
||||
import 'package:ente_auth/ui/account/logout_dialog.dart';
|
||||
import 'package:ente_auth/ui/code_error_widget.dart';
|
||||
@@ -36,6 +37,7 @@ import 'package:ente_auth/ui/settings_page.dart';
|
||||
import 'package:ente_auth/ui/sort_option_menu.dart';
|
||||
import 'package:ente_auth/ui/tools/app_lock.dart';
|
||||
import 'package:ente_auth/utils/dialog_util.dart';
|
||||
import 'package:ente_auth/utils/lock_screen_settings.dart';
|
||||
import 'package:ente_auth/utils/platform_util.dart';
|
||||
import 'package:ente_auth/utils/totp_util.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
@@ -360,6 +362,8 @@ class _HomePageState extends State<HomePage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
LockScreenSettings.instance
|
||||
.setLightMode(getEnteColorScheme(context).isLightTheme);
|
||||
final l10n = context.l10n;
|
||||
isCompactMode = PreferenceService.instance.isCompactMode();
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import "dart:typed_data";
|
||||
import "package:ente_auth/core/configuration.dart";
|
||||
import "package:ente_auth/utils/platform_util.dart";
|
||||
import "package:ente_crypto_dart/ente_crypto_dart.dart";
|
||||
import "package:flutter/material.dart";
|
||||
import "package:flutter_secure_storage/flutter_secure_storage.dart";
|
||||
import "package:privacy_screen/privacy_screen.dart";
|
||||
import "package:shared_preferences/shared_preferences.dart";
|
||||
@@ -24,6 +25,7 @@ class LockScreenSettings {
|
||||
static const keyHasMigratedLockScreenChanges =
|
||||
"ls_has_migrated_lock_screen_changes";
|
||||
static const keyShowOfflineModeWarning = "ls_show_offline_mode_warning";
|
||||
static const String kIsLightMode = "is_light_mode";
|
||||
|
||||
final List<Duration> autoLockDurations = const [
|
||||
Duration(milliseconds: 650),
|
||||
@@ -74,18 +76,30 @@ class LockScreenSettings {
|
||||
await _preferences.setBool(keyHasMigratedLockScreenChanges, true);
|
||||
}
|
||||
|
||||
Future<void> setLightMode(bool isLightMode) async {
|
||||
if (isLightMode != (_preferences.getBool(kIsLightMode) ?? true)) {
|
||||
await _preferences.setBool(kIsLightMode, isLightMode);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> setHideAppContent(bool hideContent) async {
|
||||
if (PlatformUtil.isDesktop()) return;
|
||||
final bool isLightMode = _preferences.getBool(kIsLightMode) ?? true;
|
||||
!hideContent
|
||||
? PrivacyScreen.instance.disable()
|
||||
: await PrivacyScreen.instance.enable(
|
||||
iosOptions: const PrivacyIosOptions(
|
||||
enablePrivacy: true,
|
||||
privacyImageName: 'LaunchImage',
|
||||
),
|
||||
androidOptions: const PrivacyAndroidOptions(
|
||||
enableSecure: true,
|
||||
),
|
||||
blurEffect: PrivacyBlurEffect.extraLight,
|
||||
backgroundColor:
|
||||
isLightMode ? const Color(0xffffffff) : const Color(0xff000000),
|
||||
blurEffect: isLightMode
|
||||
? PrivacyBlurEffect.extraLight
|
||||
: PrivacyBlurEffect.extraLight,
|
||||
);
|
||||
await _preferences.setBool(keyHideAppContent, hideContent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user