From 7c18334934221ab9220451400a547e75de4ba7c4 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 4 Nov 2021 10:48:09 +0900 Subject: [PATCH] privacy: app access default transition --- lib/model/settings/defaults.dart | 3 +-- lib/model/settings/settings.dart | 3 ++- lib/widgets/home_page.dart | 3 +++ lib/widgets/welcome_page.dart | 5 +++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/model/settings/defaults.dart b/lib/model/settings/defaults.dart index 96a8cc572..47db03e03 100644 --- a/lib/model/settings/defaults.dart +++ b/lib/model/settings/defaults.dart @@ -14,8 +14,7 @@ class SettingsDefaults { // app static const hasAcceptedTerms = false; static const canUseAnalysisService = true; - // TODO TLAD currently opt-out for transition (v1.5.4 -> vNext), should make it opt-in for vNext+1 - static const isInstalledAppAccessAllowed = true; + static const isInstalledAppAccessAllowed = false; static const isErrorReportingAllowed = false; static const mustBackTwiceToExit = true; static const keepScreenOn = KeepScreenOn.viewerOnly; diff --git a/lib/model/settings/settings.dart b/lib/model/settings/settings.dart index a694aea0f..62f76fd1c 100644 --- a/lib/model/settings/settings.dart +++ b/lib/model/settings/settings.dart @@ -175,7 +175,8 @@ class Settings extends ChangeNotifier { set canUseAnalysisService(bool newValue) => setAndNotify(canUseAnalysisServiceKey, newValue); - bool get isInstalledAppAccessAllowed => getBoolOrDefault(isInstalledAppAccessAllowedKey, SettingsDefaults.isInstalledAppAccessAllowed); + // TODO TLAD use `true` for transition (it's unset in v1.5.4), but replace by `SettingsDefaults.isInstalledAppAccessAllowed` in a later release + bool get isInstalledAppAccessAllowed => getBoolOrDefault(isInstalledAppAccessAllowedKey, true); set isInstalledAppAccessAllowed(bool newValue) => setAndNotify(isInstalledAppAccessAllowedKey, newValue); diff --git a/lib/widgets/home_page.dart b/lib/widgets/home_page.dart index 1ca54e63a..68ed5b420 100644 --- a/lib/widgets/home_page.dart +++ b/lib/widgets/home_page.dart @@ -69,6 +69,9 @@ class _HomePageState extends State { await androidFileUtils.init(); if (settings.isInstalledAppAccessAllowed) { + // TODO TLAD transition code (it's unset in v1.5.4), remove in a later release + settings.isInstalledAppAccessAllowed = settings.isInstalledAppAccessAllowed; + unawaited(androidFileUtils.initAppNames()); } diff --git a/lib/widgets/welcome_page.dart b/lib/widgets/welcome_page.dart index ba3ed3018..8737df58b 100644 --- a/lib/widgets/welcome_page.dart +++ b/lib/widgets/welcome_page.dart @@ -1,4 +1,5 @@ import 'package:aves/app_flavor.dart'; +import 'package:aves/model/settings/defaults.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/theme/durations.dart'; import 'package:aves/widgets/common/basic/markdown_container.dart'; @@ -30,6 +31,10 @@ class _WelcomePageState extends State { super.initState(); settings.setContextualDefaults(); _termsLoader = rootBundle.loadString('assets/terms.md'); + // explicitly set consent values to current defaults + // so they are not subject to future default changes + settings.isInstalledAppAccessAllowed = SettingsDefaults.isInstalledAppAccessAllowed; + settings.isErrorReportingAllowed = SettingsDefaults.isErrorReportingAllowed; } @override