diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index a9e601630..de00dc863 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -12,9 +12,6 @@
-
-
-
-
-
-
-
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index e31303ae3..e092081f6 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -45,10 +45,6 @@
$(FLUTTER_BUILD_NUMBER)
FlutterDeepLinkingEnabled
- GADApplicationIdentifier
- ca-app-pub-1312561055261176~1813171043
- GADDelayAppMeasurementInit
-
ITSAppUsesNonExemptEncryption
LSRequiresIPhoneOS
@@ -57,179 +53,6 @@
Take photos to add to your notes
NSPhotoLibraryUsageDescription
Include your photos in your notes
- NSUserTrackingUsageDescription
- This identifier will be used to deliver personalized ads to you.
- SKAdNetworkItems
-
-
- SKAdNetworkIdentifier
- cstr6suwn9.skadnetwork
-
-
- SKAdNetworkIdentifier
- 4fzdc2evr5.skadnetwork
-
-
- SKAdNetworkIdentifier
- 2fnua5tdw4.skadnetwork
-
-
- SKAdNetworkIdentifier
- ydx93a7ass.skadnetwork
-
-
- SKAdNetworkIdentifier
- p78axxw29g.skadnetwork
-
-
- SKAdNetworkIdentifier
- v72qych5uu.skadnetwork
-
-
- SKAdNetworkIdentifier
- ludvb6z3bs.skadnetwork
-
-
- SKAdNetworkIdentifier
- cp8zw746q7.skadnetwork
-
-
- SKAdNetworkIdentifier
- 3sh42y64q3.skadnetwork
-
-
- SKAdNetworkIdentifier
- c6k4g5qg8m.skadnetwork
-
-
- SKAdNetworkIdentifier
- s39g8k73mm.skadnetwork
-
-
- SKAdNetworkIdentifier
- 3qy4746246.skadnetwork
-
-
- SKAdNetworkIdentifier
- hs6bdukanm.skadnetwork
-
-
- SKAdNetworkIdentifier
- mlmmfzh3r3.skadnetwork
-
-
- SKAdNetworkIdentifier
- v4nxqhlyqp.skadnetwork
-
-
- SKAdNetworkIdentifier
- wzmmz9fp6w.skadnetwork
-
-
- SKAdNetworkIdentifier
- su67r6k2v3.skadnetwork
-
-
- SKAdNetworkIdentifier
- yclnxrl5pm.skadnetwork
-
-
- SKAdNetworkIdentifier
- 7ug5zh24hu.skadnetwork
-
-
- SKAdNetworkIdentifier
- gta9lk7p23.skadnetwork
-
-
- SKAdNetworkIdentifier
- vutu7akeur.skadnetwork
-
-
- SKAdNetworkIdentifier
- y5ghdn5j9k.skadnetwork
-
-
- SKAdNetworkIdentifier
- v9wttpbfk9.skadnetwork
-
-
- SKAdNetworkIdentifier
- n38lu8286q.skadnetwork
-
-
- SKAdNetworkIdentifier
- 47vhws6wlr.skadnetwork
-
-
- SKAdNetworkIdentifier
- kbd757ywx3.skadnetwork
-
-
- SKAdNetworkIdentifier
- 9t245vhmpl.skadnetwork
-
-
- SKAdNetworkIdentifier
- a2p9lx4jpn.skadnetwork
-
-
- SKAdNetworkIdentifier
- 22mmun2rn5.skadnetwork
-
-
- SKAdNetworkIdentifier
- 4468km3ulz.skadnetwork
-
-
- SKAdNetworkIdentifier
- 2u9pt9hc89.skadnetwork
-
-
- SKAdNetworkIdentifier
- 8s468mfl3y.skadnetwork
-
-
- SKAdNetworkIdentifier
- ppxm28t8ap.skadnetwork
-
-
- SKAdNetworkIdentifier
- uw77j35x4d.skadnetwork
-
-
- SKAdNetworkIdentifier
- pwa73g5rt2.skadnetwork
-
-
- SKAdNetworkIdentifier
- 578prtvx9j.skadnetwork
-
-
- SKAdNetworkIdentifier
- 4dzt52r2t5.skadnetwork
-
-
- SKAdNetworkIdentifier
- Tl55sbb4fm.skadnetwork
-
-
- SKAdNetworkIdentifier
- e5fvkxwrpn.skadnetwork
-
-
- SKAdNetworkIdentifier
- 8c4e2ghe7u.skadnetwork
-
-
- SKAdNetworkIdentifier
- 3rd42ekr43.skadnetwork
-
-
- SKAdNetworkIdentifier
- 3qcr597p9d.skadnetwork
-
-
UIApplicationSupportsIndirectInputEvents
UIBackgroundModes
diff --git a/lib/components/home/_banner_ad_widget_dummy.dart b/lib/components/home/_banner_ad_widget_dummy.dart
deleted file mode 100644
index 380fdd06a..000000000
--- a/lib/components/home/_banner_ad_widget_dummy.dart
+++ /dev/null
@@ -1,66 +0,0 @@
-import 'dart:async';
-
-import 'package:flutter/material.dart';
-
-const _kDummyAdMessage = 'This is a dummy class for when ads are disabled.';
-
-@Deprecated(_kDummyAdMessage)
-abstract class AdState {
- @Deprecated(_kDummyAdMessage)
- static bool get adsSupported => false;
- @Deprecated(_kDummyAdMessage)
- static bool get adsEnabled => false;
-
- @Deprecated(_kDummyAdMessage)
- static void init() {}
-
- @Deprecated(_kDummyAdMessage)
- static void showConsentForm() {}
-}
-
-@Deprecated(_kDummyAdMessage)
-class BannerAdWidget extends StatelessWidget {
- const BannerAdWidget({
- super.key,
- this.adSize = AdSize.banner,
- }) : fallbackAdSize = adSize;
-
- const BannerAdWidget.adaptive({
- super.key,
- required double screenWidth,
- this.fallbackAdSize = AdSize.banner,
- }) : adSize = fallbackAdSize;
-
- final AdSize adSize;
- final AdSize fallbackAdSize;
-
- @override
- Widget build(BuildContext context) {
- return SizedBox(
- width: adSize.width.toDouble(),
- height: adSize.height.toDouble(),
- child: const Placeholder(),
- );
- }
-}
-
-@Deprecated(_kDummyAdMessage)
-class AdSize {
- const AdSize({
- required this.width,
- required this.height,
- });
-
- final int width;
- final int height;
-
- @Deprecated(_kDummyAdMessage)
- static const banner = AdSize(width: 320, height: 50);
-
- @Deprecated(_kDummyAdMessage)
- static Future getCurrentOrientationAnchoredAdaptiveBannerAdSize(
- int width,
- ) async {
- return banner;
- }
-}
diff --git a/lib/components/home/banner_ad_widget.dart b/lib/components/home/banner_ad_widget.dart
deleted file mode 100644
index 872d3f727..000000000
--- a/lib/components/home/banner_ad_widget.dart
+++ /dev/null
@@ -1,230 +0,0 @@
-import 'dart:async';
-import 'dart:io';
-
-import 'package:app_tracking_transparency/app_tracking_transparency.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
-import 'package:google_mobile_ads/google_mobile_ads.dart';
-import 'package:logging/logging.dart';
-import 'package:saber/data/prefs.dart';
-
-export 'package:google_mobile_ads/google_mobile_ads.dart' show AdSize;
-
-abstract class AdState {
- static bool _initializeStarted = false;
- static bool _initializeCompleted = false;
- static late final String _bannerAdUnitId;
-
- static bool get adsSupported => _bannerAdUnitId.isNotEmpty;
- static bool get adsEnabled => adsSupported && !Prefs.disableAds.value;
-
- static final log = Logger('AdState');
-
- static void init() {
- if (kDebugMode) {
- // test ads
- if (Platform.isAndroid) {
- _bannerAdUnitId = 'ca-app-pub-3940256099942544/6300978111';
- } else if (Platform.isIOS) {
- _bannerAdUnitId = 'ca-app-pub-3940256099942544/2934735716';
- } else {
- _bannerAdUnitId = '';
- }
- } else {
- // actual ads
- if (Platform.isAndroid) {
- _bannerAdUnitId = 'ca-app-pub-1312561055261176/7616317590';
- } else if (Platform.isIOS) {
- _bannerAdUnitId = 'ca-app-pub-1312561055261176/9191971763';
- } else {
- _bannerAdUnitId = '';
- }
- }
-
- if (adsSupported) {
- _startInitialize();
- Prefs.disableAds.addListener(_startInitialize);
- }
- }
-
- static void _startInitialize() async {
- if (!adsEnabled) return;
- assert(adsSupported);
- if (_initializeStarted) return;
- assert(!_initializeCompleted);
-
- if (Platform.isIOS) {
- var status = await AppTrackingTransparency.trackingAuthorizationStatus;
- if (status == TrackingStatus.notDetermined) {
- // wait to avoid crash
- await Future.delayed(const Duration(seconds: 3));
-
- status = await AppTrackingTransparency.requestTrackingAuthorization();
- }
- if (status == TrackingStatus.authorized) {
- _checkForRequiredConsent();
- }
- } else {
- _checkForRequiredConsent();
- }
-
- _initializeStarted = true;
- await MobileAds.instance.initialize();
- _initializeCompleted = true;
- }
-
- static void _checkForRequiredConsent() {
- final params = ConsentRequestParameters();
- ConsentInformation.instance.requestConsentInfoUpdate(
- params,
- () async {
- final status = await ConsentInformation.instance.getConsentStatus();
- if (status != ConsentStatus.required) return;
- if (await ConsentInformation.instance.isConsentFormAvailable()) {
- showConsentForm();
- }
- },
- (formError) {},
- );
- }
-
- static void showConsentForm() {
- ConsentForm.loadConsentForm(
- (ConsentForm consentForm) async {
- consentForm.show((formError) async {
- if (formError != null) {
- // Handle dismissal by reloading form
- showConsentForm();
- }
- });
- },
- (formError) {},
- );
- }
-
- static Future _createBannerAd(AdSize adSize) async {
- if (!adsSupported) {
- log.warning('Banner ad unit ID is empty.');
- return null;
- } else if (!_initializeStarted) {
- log.warning('Ad initialization has not started.');
- return null;
- }
-
- while (!_initializeCompleted) {
- await Future.delayed(const Duration(milliseconds: 100));
- }
-
- return BannerAd(
- adUnitId: _bannerAdUnitId,
- request: const AdRequest(),
- size: adSize,
- listener: BannerAdListener(
- onAdLoaded: (Ad ad) {
- log.info('Ad loaded!');
- },
- onAdFailedToLoad: (Ad ad, LoadAdError error) {
- log.severe('Ad failed to load: $error');
- ad.dispose();
- },
- ),
- )..load();
- }
-}
-
-class BannerAdWidget extends StatefulWidget {
- const BannerAdWidget({
- super.key,
- required AdSize this.adSize,
- }) : fallbackAdSize = adSize;
-
- BannerAdWidget.adaptive({
- super.key,
- required double screenWidth,
- this.fallbackAdSize = AdSize.banner,
- }) : adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
- screenWidth.floor(),
- ).then((adSize) => adSize ?? fallbackAdSize);
-
- final FutureOr adSize;
-
- /// Used to display a blank space while the actual adSize is loading.
- final AdSize fallbackAdSize;
-
- @override
- State createState() => _BannerAdWidgetState();
-}
-
-class _BannerAdWidgetState extends State
- with AutomaticKeepAliveClientMixin {
- late AdSize _adSize = widget.fallbackAdSize;
- BannerAd? _bannerAd;
-
- @override
- void initState() {
- super.initState();
- _createBannerAd();
- }
-
- Future _createBannerAd() async {
- _adSize = await widget.adSize;
- final bannerAd = await AdState._createBannerAd(_adSize);
- if (mounted) {
- setState(() => _bannerAd = bannerAd);
- } else {
- _bannerAd = null;
- bannerAd?.dispose();
- }
- updateKeepAlive();
- }
-
- @override
- Widget build(BuildContext context) {
- super.build(context);
-
- final colorScheme = Theme.of(context).colorScheme;
-
- return Card(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(16),
- ),
- child: ClipRRect(
- borderRadius: BorderRadius.circular(16),
- child: Stack(
- children: [
- Positioned.fill(
- child: Center(
- child: ExcludeSemantics(
- child: Text(
- 'Ad',
- style: TextStyle(
- color: colorScheme.onSurface.withOpacity(0.5),
- ),
- ),
- ),
- ),
- ),
- FittedBox(
- fit: BoxFit.fill,
- child: SizedBox(
- width: _adSize.width.toDouble(),
- height: _adSize.height.toDouble(),
- child: _bannerAd == null ? null : AdWidget(ad: _bannerAd!),
- ),
- ),
- ],
- ),
- ),
- );
- }
-
- @override
- void dispose() {
- _bannerAd?.dispose();
- _bannerAd = null;
- super.dispose();
- }
-
- @override
- bool get wantKeepAlive => _bannerAd != null;
-}
diff --git a/lib/components/home/sync_indicator.dart b/lib/components/home/sync_indicator.dart
index d1db45d78..571b70327 100644
--- a/lib/components/home/sync_indicator.dart
+++ b/lib/components/home/sync_indicator.dart
@@ -84,7 +84,8 @@ class _SyncIndicatorState extends State {
child: switch (status) {
_SyncIndicatorStatus.done => null,
_SyncIndicatorStatus.uploading => const Icon(Icons.upload),
- _SyncIndicatorStatus.downloading => const Icon(Icons.download),
+ _SyncIndicatorStatus.downloading =>
+ const Icon(Icons.download),
_SyncIndicatorStatus.merging => const Icon(Icons.sync),
},
);
diff --git a/lib/data/prefs.dart b/lib/data/prefs.dart
index cd4e8ea03..bd68bd968 100644
--- a/lib/data/prefs.dart
+++ b/lib/data/prefs.dart
@@ -29,22 +29,12 @@ abstract class Prefs {
@visibleForTesting
static bool testingMode = false;
- /// The current Android version.
- ///
- /// If the user is on Android 9 or older, we can't use
- /// platform views (e.g. ads) performantly.
- ///
- /// If the device is not an Android device, this will be 9999.
- static int androidVersion = 9999;
-
/// If true, a warning will be printed if a pref is accessed before it is loaded.
///
/// If [testingMode] is true, the warning will not be printed even if this is true.
@visibleForTesting
static bool warnIfPrefAccessedBeforeLoaded = true;
- static late final PlainPref disableAds;
-
static late final PlainPref customDataDir;
static late final EncPref allowInsecureConnections;
@@ -165,13 +155,6 @@ abstract class Prefs {
static late final PlainPref locale;
static void init() {
- final disableAdsDefault = androidVersion < 10;
- if (disableAdsDefault) {
- log.info(
- 'Disabling ads because Android version ($androidVersion) is < 10');
- }
- disableAds = PlainPref('disableAds', disableAdsDefault);
-
customDataDir = PlainPref('customDataDir', null);
allowInsecureConnections = EncPref('allowInsecureConnections', false);
url = EncPref('url', '');
diff --git a/lib/i18n/_missing_translations.yaml b/lib/i18n/_missing_translations.yaml
index b20957c52..9653bcde7 100644
--- a/lib/i18n/_missing_translations.yaml
+++ b/lib/i18n/_missing_translations.yaml
@@ -40,8 +40,6 @@ ar:
advanced(OUTDATED): Advanced
prefLabels:
shouldAlwaysAlertForUpdates(OUTDATED): Faster updates
- disableAds(OUTDATED): Disable ads
- changeAdsConsent(OUTDATED): Change ads consent
allowInsecureConnections(OUTDATED): Allow insecure connections
disableEraserAfterUse(OUTDATED): Auto-disable the eraser
hideFingerDrawingToggle(OUTDATED): Hide the finger drawing toggle
@@ -53,7 +51,6 @@ ar:
customDataDir(OUTDATED): Custom Saber folder
pencilSoundSetting(OUTDATED): Pencil sound effect
prefDescriptions:
- disableAds(OUTDATED): "Ads help support Saber's development, but you can disable them if you'd like"
allowInsecureConnections(OUTDATED): (Not recommended) Allow Saber to connect to servers with self-signed/untrusted certificates
disableEraserAfterUse(OUTDATED): Automatically switches back to the pen after using the eraser
hideFingerDrawing:
@@ -514,8 +511,6 @@ hu:
prefLabels:
layoutSize(OUTDATED): Layout type
shouldAlwaysAlertForUpdates(OUTDATED): Faster updates
- disableAds(OUTDATED): Disable ads
- changeAdsConsent(OUTDATED): Change ads consent
allowInsecureConnections(OUTDATED): Allow insecure connections
disableEraserAfterUse(OUTDATED): Auto-disable the eraser
hideFingerDrawingToggle(OUTDATED): Hide the finger drawing toggle
@@ -528,7 +523,6 @@ hu:
customDataDir(OUTDATED): Custom Saber folder
pencilSoundSetting(OUTDATED): Pencil sound effect
prefDescriptions:
- disableAds(OUTDATED): "Ads help support Saber's development, but you can disable them if you'd like"
allowInsecureConnections(OUTDATED): (Not recommended) Allow Saber to connect to servers with self-signed/untrusted certificates
disableEraserAfterUse(OUTDATED): Automatically switches back to the pen after using the eraser
hideFingerDrawing:
diff --git a/lib/i18n/community/strings_ar.i18n.yaml b/lib/i18n/community/strings_ar.i18n.yaml
index 399381d3c..fa0165c9e 100644
--- a/lib/i18n/community/strings_ar.i18n.yaml
+++ b/lib/i18n/community/strings_ar.i18n.yaml
@@ -91,8 +91,6 @@ settings:
autoStraightenLines(OUTDATED): تصويب الخطوط تلقائيا
shapeRecognitionDelay(OUTDATED): تأخير التعرف على الشكل
recentColorsLength(OUTDATED): كم عدد الألوان الحديثة التي سيتم تخزينها
- changeAdsConsent(OUTDATED): تغيير موافقة الإعلانات
- disableAds(OUTDATED): عطل الاعلانات
allowInsecureConnections(OUTDATED): السماح بعلاقات غير آمنة
autosaveDelay(OUTDATED): تأخير الحفظ التلقائي
hideFingerDrawingToggle(OUTDATED): إخفاء تبديل رسم الإصبع
@@ -117,7 +115,6 @@ settings:
onAlways(OUTDATED): ممكّن (حتى في الوضع الصامت)
autoStraightenLines(OUTDATED): يقوم بفرد الخطوط الطويلة دون الحاجة إلى استخدام قلم الشكل
shapeRecognitionDelay(OUTDATED): عدد مرات تحديث معاينة الشكل
- disableAds(OUTDATED): (أدز) يساعد في دعم تطوير (سابر) لكن يمكنك إزالتهم إذا أردت
allowInsecureConnections(OUTDATED): (غير مستحسن) السماح لـ Saber بالاتصال بالخوادم ذات الشهادات الموقعة ذاتيًا / غير الموثوق بها
autosaveDelay(OUTDATED): كم من الوقت للانتظار قبل تقديم مذكرة
disableEraserAfterUse(OUTDATED): يعود تلقائيًا إلى القلم بعد استخدام الممحاة
diff --git a/lib/i18n/community/strings_cs.i18n.yaml b/lib/i18n/community/strings_cs.i18n.yaml
index 87b3bb09e..4d13f7011 100644
--- a/lib/i18n/community/strings_cs.i18n.yaml
+++ b/lib/i18n/community/strings_cs.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Lépe čitelný font
shouldCheckForUpdates: Automaticky kontrolovat dostupnost aktualizací aplikace Saber
shouldAlwaysAlertForUpdates: Rychlejší aktualizace
- disableAds: Vypnout reklamy
- changeAdsConsent: Změnit předvolby pro reklamy
allowInsecureConnections: Povolit nezabezpečená připojení
editorToolbarAlignment: Umístění nabídky editoru
editorToolbarShowInFullscreen: Zobrazovat nabídku editoru v režimu celé obrazovky
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: Zvukový efekt psaní tužkou
prefDescriptions:
hyperlegibleFont: Font Atkinson Hyperlegible zvyšuje čitelnost pro čtenáře se slabým zrakem
- disableAds: "Reklamy podporují vývoj aplikace Saber, ale pokud chcete, můžete je vypnout"
allowInsecureConnections: (Nedoporučuje se) Povolit aplikaci Saber připojovat se k serverům se samopodepsaným/nedůvěryhodným certifikátem.
preferGreyscale: Pro elektronické čtečky knih s e-ink displejem
autoClearWhiteboardOnExit: Bude synchronizováno do dalších zařízení
diff --git a/lib/i18n/community/strings_de.i18n.yaml b/lib/i18n/community/strings_de.i18n.yaml
index a8f948272..199c00775 100644
--- a/lib/i18n/community/strings_de.i18n.yaml
+++ b/lib/i18n/community/strings_de.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Hyperlesbare Schrift
shouldCheckForUpdates: Suche automatisch nach Saber-Aktualisierungen
shouldAlwaysAlertForUpdates: Schneller aktualisieren
- disableAds: Werbung deaktivieren
- changeAdsConsent: Werbungsinhalt anpassen
allowInsecureConnections: Unsichere Verbindung erlauben
editorToolbarAlignment: Position der Werkzeugleiste
editorToolbarShowInFullscreen: Zeige die Werkzeugleiste im Vollbild
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: Bleistiftgeräusch
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegible verbessert die Lesbarkeit für Menschen mit eingeschränkter Sicht
- disableAds: Die Entwicklung von Saber wird duch Werbung finanziert. Die Werbung kann auf Wunsch deaktiviert werden.
allowInsecureConnections: "(Nicht empfohlen) Saber erlauben, sich mit selbstsignierten/unsicheren Zertifikaten zu verbinden"
preferGreyscale: Für E-Ink-Bildschirme
autoClearWhiteboardOnExit: Es wird dennoch mit deinen anderen Geräten synchronisiert
diff --git a/lib/i18n/community/strings_es.i18n.yaml b/lib/i18n/community/strings_es.i18n.yaml
index 76eaa6891..65d135d7c 100644
--- a/lib/i18n/community/strings_es.i18n.yaml
+++ b/lib/i18n/community/strings_es.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Fuente hiperlegible
shouldCheckForUpdates: Buscar actualizaciones de Saber automáticamente
shouldAlwaysAlertForUpdates: Actualizaciones más rápidas
- disableAds: Desactivar anuncios
- changeAdsConsent: Cambiar el consentimiento de los anuncios
allowInsecureConnections: Permitir conexiones inseguras
editorToolbarAlignment: Alineación de la barra de herramientas del editor
editorToolbarShowInFullscreen: Mostrar la barra de herramientas del editor en el modo de pantalla completa
@@ -100,7 +98,6 @@ settings:
shapeRecognitionDelay(OUTDATED): Retraso en el reconocimiento de formas
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegible aumenta la legibilidad para lectores con poca visión
- disableAds: "Los anuncios ayudan al desarrollo de Saber, pero puedes desactivarlos si lo prefieres"
allowInsecureConnections: (No recomendado) Autorizar a Saber a conectarse a servidores con certificados autofirmados o no fiables
preferGreyscale: Para pantallas con tinta electrónica
autoClearWhiteboardOnExit: Aún se sincronizará con tus otros dispositivos
diff --git a/lib/i18n/community/strings_fa.i18n.yaml b/lib/i18n/community/strings_fa.i18n.yaml
index 8c78c0345..9e519bde0 100644
--- a/lib/i18n/community/strings_fa.i18n.yaml
+++ b/lib/i18n/community/strings_fa.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: فونت بیش از حد خوانا
shouldCheckForUpdates: بهروزرسانی برنامه را بهطور خودکار بررسی کنید
shouldAlwaysAlertForUpdates: به روز رسانی سریع تر
- disableAds: غیرفعال کردن تبلیغات
- changeAdsConsent: تغییر رضایت تبلیغات
allowInsecureConnections: به اتصالات ناامن اجازه دهید
editorToolbarAlignment: تراز کردن نوار ابزار ویرایشگر
editorToolbarShowInFullscreen: نوار ابزار ویرایشگر را در حالت تمام صفحه نمایش دهید
@@ -100,7 +98,6 @@ settings:
autoStraightenLines(OUTDATED): صاف کردن خودکار خطوط
prefDescriptions:
hyperlegibleFont: خوانایی را برای خوانندگان کم بینا افزایش می دهد
- disableAds: تبلیغات به پشتیبانی از توسعه Saber کمک می کند، اما در صورت تمایل می توانید آنها را غیرفعال کنید
allowInsecureConnections: (توصیه نمی شود) به Saber اجازه دهید به سرورهایی با گواهینامه های خودامضا/غیر قابل اعتماد متصل شود
preferGreyscale: برای نمایشگر های e-ink
autoClearWhiteboardOnExit: همچنان با دستگاههای دیگر شما همگامسازی میشود
diff --git a/lib/i18n/community/strings_fr.i18n.yaml b/lib/i18n/community/strings_fr.i18n.yaml
index 48cef7bea..6b7ecfaa4 100644
--- a/lib/i18n/community/strings_fr.i18n.yaml
+++ b/lib/i18n/community/strings_fr.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Fonte Hyperlegible
shouldCheckForUpdates: Rechercher automatiquement les mises à jour
shouldAlwaysAlertForUpdates: M'alerter à chaque mise à jour
- disableAds: Désactiver les publicités
- changeAdsConsent: Modifier le consentement aux publicités
allowInsecureConnections: Autoriser les connexions non sécurisées
editorToolbarAlignment: Position de la barre d'outils
editorToolbarShowInFullscreen: Afficher la barre d'outils en mode plein écran
@@ -100,7 +98,6 @@ settings:
autoStraightenLines(OUTDATED): Redresser automatiquement les lignes
prefDescriptions:
hyperlegibleFont: La fonte Atkinson Hyperlegible améliore la lisibilité pour les personnes malvoyantes
- disableAds: "Les publicités aident au développement de Saber, mais vous pouvez les désactiver si vous le souhaitez"
allowInsecureConnections: (Déconseillé) Autoriser Saber à se connecter à des serveurs dont les certificats sont auto-signés/non-sécurisé
preferGreyscale: Pour les couleurs de stylos proposées
autoClearWhiteboardOnExit: Il restera synchronisé avec vos autres appareils
diff --git a/lib/i18n/community/strings_he.i18n.yaml b/lib/i18n/community/strings_he.i18n.yaml
index a31d945ec..89d321ae5 100644
--- a/lib/i18n/community/strings_he.i18n.yaml
+++ b/lib/i18n/community/strings_he.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: גופן Atkinson Hyperreadible
shouldCheckForUpdates: בדוק אם קיימים עדכוני Saber
shouldAlwaysAlertForUpdates: עדכונים מהירים יותר
- disableAds: השבת פרסומות
- changeAdsConsent: שנה את הסכמת המודעות
allowInsecureConnections: אפשר חיבורים לא מאובטחים
editorToolbarAlignment: מיקום סרגל הכלים
editorToolbarShowInFullscreen: הצג את סרגל הכלים במצב מסך מלא
@@ -100,7 +98,6 @@ settings:
recentColorsLength(OUTDATED): כמה צבעים אחרונים לאחסן
prefDescriptions:
hyperlegibleFont: מגביר את הקריאות למשתמשים עם ראייה לקויה
- disableAds: "מודעות עוזרות לתמוך בפיתוח של סאבר, אבל אתה יכול להשבית אותן אם תרצה"
allowInsecureConnections: (לא מומלץ) אפשר לסבר להתחבר לשרתים עם אישורים חתומים/לא מהימנים
preferGreyscale: עבור תצוגות דיו אלקטרוני
autoClearWhiteboardOnExit: מנקה את לוח הציור לאחר היציאה מהאפליקציה
diff --git a/lib/i18n/community/strings_hu.i18n.yaml b/lib/i18n/community/strings_hu.i18n.yaml
index 33a9a2bf8..72f65ad8d 100644
--- a/lib/i18n/community/strings_hu.i18n.yaml
+++ b/lib/i18n/community/strings_hu.i18n.yaml
@@ -89,9 +89,7 @@ settings:
autoStraightenLines(OUTDATED): A vonalak automatikus kiegyenesítése
shapeRecognitionDelay(OUTDATED): Alakfelismerési késleltetés
recentColorsLength(OUTDATED): Hány friss színt kell tárolni
- changeAdsConsent(OUTDATED): A hirdetések megváltoztatása beleegyezik
layoutSize(OUTDATED): Elrendezés típusa
- disableAds(OUTDATED): Hirdetések letiltása
printPageIndicators(OUTDATED): Nyomtatási oldaljelzők
allowInsecureConnections(OUTDATED): Engedélyezze a nem biztonságos kapcsolatokat
autosaveDelay(OUTDATED): Auto-save késleltetés
@@ -116,7 +114,6 @@ settings:
onAlways(OUTDATED): Engedélyezve (néma módban is)
autoStraightenLines(OUTDATED): "Kiegyenesíti a hosszú vonalakat anélkül, hogy az alakos tollat kellene használnia"
shapeRecognitionDelay(OUTDATED): Milyen gyakran kell frissíteni az alakzat előnézetét
- disableAds(OUTDATED): "A hirdetések segítik a Saber fejlesztését, de tilthatja őket, ha tetszik"
printPageIndicators(OUTDATED): Mutasson oldalmutatókat az exportban
allowInsecureConnections(OUTDATED): "(Nem ajánlott) Engedélyezze a Saber-nek, hogy csatlakozzon önaláírt/nem megbízható tanúsítványokkal rendelkező szerverekhez"
autosaveDelay(OUTDATED): Mennyi ideig kell várni a jegyzet automatikus mentése előtt
diff --git a/lib/i18n/community/strings_it.i18n.yaml b/lib/i18n/community/strings_it.i18n.yaml
index 25118efe1..4ae2839c3 100644
--- a/lib/i18n/community/strings_it.i18n.yaml
+++ b/lib/i18n/community/strings_it.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Carattere iperleggibile
shouldCheckForUpdates: Controlla automaticamente gli aggiornamenti di Saber
shouldAlwaysAlertForUpdates: Aggiornamenti veloci
- disableAds: Disattiva annunci
- changeAdsConsent: Modifica il consenso agli annunci
allowInsecureConnections: Consenti connessioni non sicure
editorToolbarAlignment: Allineamento della barra degli strumenti dell'editor
editorToolbarShowInFullscreen: Mostra la barra degli strumenti dell'editor in modalità a schermo intero
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: Effetto sonoro della matita
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegible aumenta la leggibilità per i lettori ipovedenti
- disableAds: "Gli annunci aiutano a supportare lo sviluppo di Saber, ma puoi disattivarli se lo desideri"
allowInsecureConnections: (Non consigliato) Consenti a Saber di connettersi ai server con certificati autofirmati/non attendibili
preferGreyscale: Per display e-ink
autoClearWhiteboardOnExit: Sarà comunque sincronizzato con gli altri tuoi dispositivi
diff --git a/lib/i18n/community/strings_ja.i18n.yaml b/lib/i18n/community/strings_ja.i18n.yaml
index c4b9ed9e9..d20b41914 100644
--- a/lib/i18n/community/strings_ja.i18n.yaml
+++ b/lib/i18n/community/strings_ja.i18n.yaml
@@ -75,8 +75,6 @@ settings:
customAccentColor: オリジナルの色
hyperlegibleFont: Hyperlegible フォント
shouldCheckForUpdates: Saberの更新を自動的に確認する
- disableAds: 広告を表示しない
- changeAdsConsent: 広告の同意を変更する
allowInsecureConnections: 安全でない接続を許可する
editorToolbarAlignment: 編集ツールバーの位置調整
editorToolbarShowInFullscreen: フルスクリーンモードで編集ツールバーを表示する
@@ -100,7 +98,6 @@ settings:
disableEraserAfterUse(OUTDATED): 消しゴムを自動的に無効にする
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegibleは、弱視読者の読みやすさを向上させます。
- disableAds: 広告はSaberの開発支援に貢献できますが、必要に応じて無効にすることも可能です
allowInsecureConnections: (非推奨) Saber が自己署名/信頼できない証明書を持つサーバーに接続できるようにする
preferGreyscale: e-inkディスプレイ用
autoClearWhiteboardOnExit: 他のデバイスと同期されます
diff --git a/lib/i18n/community/strings_pt_BR.i18n.yaml b/lib/i18n/community/strings_pt_BR.i18n.yaml
index 8bfc09bf4..37399d3ae 100644
--- a/lib/i18n/community/strings_pt_BR.i18n.yaml
+++ b/lib/i18n/community/strings_pt_BR.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Fonte hiperlegível
shouldCheckForUpdates: Verificar automaticamente as atualizações do Saber
shouldAlwaysAlertForUpdates: Atualizações mais rápidas
- disableAds: Desativar anúncios
- changeAdsConsent: Alterar o consentimento de anúncios
allowInsecureConnections: Permitir conexões inseguras
editorToolbarAlignment: Alinhamento da barra de ferramentas do editor
editorToolbarShowInFullscreen: Mostrar a barra de ferramentas do editor no modo de tela cheia
@@ -100,7 +98,6 @@ settings:
recentColorsLength(OUTDATED): Quantas cores recentes armazenar
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegible aumenta a legibilidade para leitores com baixa visão
- disableAds: "Os anúncios ajudam no desenvolvimento do Saber, mas você pode desativá-los se quiser"
allowInsecureConnections: (Não recomendado) Permitir que o Saber se conecte a servidores com certificados autoassinados/não-confiáveis
preferGreyscale: Para telas e-ink
autoClearWhiteboardOnExit: Ainda será sincronizado com seus outros dispositivos
diff --git a/lib/i18n/community/strings_ru.i18n.yaml b/lib/i18n/community/strings_ru.i18n.yaml
index 9a2239f8d..259d9efe0 100644
--- a/lib/i18n/community/strings_ru.i18n.yaml
+++ b/lib/i18n/community/strings_ru.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Гипер разборчивый шрифт
shouldCheckForUpdates: Автоматически проверять обновления Saber
shouldAlwaysAlertForUpdates: Быстрые обновления
- disableAds: Отключить рекламу
- changeAdsConsent: Согласие на рекламу
allowInsecureConnections: Разрешить небезопасные соединения
editorToolbarAlignment: Панель инструментов редактора
editorToolbarShowInFullscreen: Показывать инструменты в полноэкранном режиме
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: Звуковой эффект карандаша
prefDescriptions:
hyperlegibleFont: Шрифт Atkinson Hyperlegible повышает разборчивость для читателей с плохим зрением
- disableAds: "Реклама помогает поддерживать разработку Saber, но вы можете отключить её, если захотите."
allowInsecureConnections: (Не рекомендуется) Разрешить Saber подключаться к серверам с самоподписанными/ненадёжными сертификатами.
preferGreyscale: Для e-ink экранов
autoClearWhiteboardOnExit: Это будет синхронизировано с другими вашими устройствами
diff --git a/lib/i18n/community/strings_tr.i18n.yaml b/lib/i18n/community/strings_tr.i18n.yaml
index 551d726d0..0ed408d48 100644
--- a/lib/i18n/community/strings_tr.i18n.yaml
+++ b/lib/i18n/community/strings_tr.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Hyperlegible font
shouldCheckForUpdates: Otomatik olarak Saber güncellemelerini kontrol et
shouldAlwaysAlertForUpdates: Hızlı güncellemeler
- disableAds: Reklamları devre dışı bırak
- changeAdsConsent: Reklam iznini değiştir
allowInsecureConnections: Güvensiz bağlantılara izin ver
editorToolbarAlignment: Editör araç çubuğunun yerleşimi
editorToolbarShowInFullscreen: Editör araç kutusunu tam ekranda göster
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: Kurşun kalem ses efekti
prefDescriptions:
hyperlegibleFont: "Atkinson Hyperlegible, görme sorunu yaşayanların okumasını kolaylaştıran bir fonttur"
- disableAds: Reklamlar Saber'ın geliştirilmesine yardım ediyor fakat dilerseniz devre dışı bırakabilirsiniz
allowInsecureConnections: (Önerilmez) Saber'ın kendinden imzalı/güvensiz sertifika kullanan sunuculara bağlanmasına izin verir
preferGreyscale: E-mürekkep ekranlar için
autoClearWhiteboardOnExit: Diğer cihazlarınıza senkronize edilmeye devam edecek
diff --git a/lib/i18n/community/strings_zh_Hans_CN.i18n.yaml b/lib/i18n/community/strings_zh_Hans_CN.i18n.yaml
index 76f38f535..fae59d5a0 100644
--- a/lib/i18n/community/strings_zh_Hans_CN.i18n.yaml
+++ b/lib/i18n/community/strings_zh_Hans_CN.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: 易读字体
shouldCheckForUpdates: 自动检查 Saber 更新
shouldAlwaysAlertForUpdates: 更快的更新提醒
- disableAds: 禁用广告
- changeAdsConsent: 更改广告许可
allowInsecureConnections: 允许不安全的连接
editorToolbarAlignment: 编辑工具栏对齐方式
editorToolbarShowInFullscreen: 在全屏模式中显示编辑菜单栏
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: 铅笔音效
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegible 字体为低视力读者提高易读性
- disableAds: 广告有助于支持 Saber 的开发,但如果你不喜欢,你可以禁用它们
allowInsecureConnections: (不推荐)允许 Saber 连接到具有自签名/不受信任证书的服务器
preferGreyscale: 用于电子墨水显示器
autoClearWhiteboardOnExit: 这将会同步到您的其他设备
diff --git a/lib/i18n/community/strings_zh_Hant_TW.i18n.yaml b/lib/i18n/community/strings_zh_Hant_TW.i18n.yaml
index c4c63744e..cfd5f7839 100644
--- a/lib/i18n/community/strings_zh_Hant_TW.i18n.yaml
+++ b/lib/i18n/community/strings_zh_Hant_TW.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: 易讀字體
shouldCheckForUpdates: 自動檢查 Saber 更新
shouldAlwaysAlertForUpdates: 更快的更新
- disableAds: 禁用廣告
- changeAdsConsent: 修改廣告同意書
allowInsecureConnections: 允許不安全的連結
editorToolbarAlignment: 編輯器工具列的對齊方式
editorToolbarShowInFullscreen: 在全螢幕模式中顯示編輯器工具列
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: 筆的音效
prefDescriptions:
hyperlegibleFont: Atkinson Hyperlegible 字體為低視力讀者提高易讀性
- disableAds: 廣告有助於支持Saber的發展,但如果您不願意,可以禁用它
allowInsecureConnections: (不推薦)允許Saber連結到具有自簽名/不受信任證書的伺服器
preferGreyscale: 用於電子紙螢幕
autoClearWhiteboardOnExit: 它仍會同步到您的其他裝置
diff --git a/lib/i18n/strings.g.dart b/lib/i18n/strings.g.dart
index e54d5ead7..354e2cf1e 100644
--- a/lib/i18n/strings.g.dart
+++ b/lib/i18n/strings.g.dart
@@ -469,8 +469,6 @@ class _StringsSettingsPrefLabelsEn {
String get hyperlegibleFont => 'Atkinson Hyperlegible font';
String get shouldCheckForUpdates => 'Check for Saber updates';
String get shouldAlwaysAlertForUpdates => 'Faster updates';
- String get disableAds => 'Disable ads';
- String get changeAdsConsent => 'Change ads consent';
String get allowInsecureConnections => 'Allow insecure connections';
String get editorToolbarAlignment => 'Toolbar position';
String get editorToolbarShowInFullscreen => 'Show the toolbar in fullscreen mode';
@@ -501,7 +499,6 @@ class _StringsSettingsPrefDescriptionsEn {
// Translations
String get hyperlegibleFont => 'Increases legibility for users with low vision';
- String get disableAds => 'Ads help support Saber\'s development, but you can disable them if you\'d like';
String get allowInsecureConnections => '(Not recommended) Allow Saber to connect to servers with self-signed/untrusted certificates';
String get preferGreyscale => 'For e-ink displays';
String get autoClearWhiteboardOnExit => 'Clears the whiteboard after you exit the app';
@@ -1314,8 +1311,6 @@ class _StringsSettingsPrefLabelsAr extends _StringsSettingsPrefLabelsEn {
@override String get autoStraightenLines => 'تصويب الخطوط تلقائيا';
@override String get shapeRecognitionDelay => 'تأخير التعرف على الشكل';
@override String get recentColorsLength => 'كم عدد الألوان الحديثة التي سيتم تخزينها';
- @override String get changeAdsConsent => 'تغيير موافقة الإعلانات';
- @override String get disableAds => 'عطل الاعلانات';
@override String get allowInsecureConnections => 'السماح بعلاقات غير آمنة';
@override String get autosaveDelay => 'تأخير الحفظ التلقائي';
@override String get hideFingerDrawingToggle => 'إخفاء تبديل رسم الإصبع';
@@ -1342,7 +1337,6 @@ class _StringsSettingsPrefDescriptionsAr extends _StringsSettingsPrefDescription
@override late final _StringsSettingsPrefDescriptionsPencilSoundSettingAr pencilSoundSetting = _StringsSettingsPrefDescriptionsPencilSoundSettingAr._(_root);
@override String get autoStraightenLines => 'يقوم بفرد الخطوط الطويلة دون الحاجة إلى استخدام قلم الشكل';
@override String get shapeRecognitionDelay => 'عدد مرات تحديث معاينة الشكل';
- @override String get disableAds => '(أدز) يساعد في دعم تطوير (سابر) لكن يمكنك إزالتهم إذا أردت';
@override String get allowInsecureConnections => '(غير مستحسن) السماح لـ Saber بالاتصال بالخوادم ذات الشهادات الموقعة ذاتيًا / غير الموثوق بها';
@override String get autosaveDelay => 'كم من الوقت للانتظار قبل تقديم مذكرة';
@override String get disableEraserAfterUse => 'يعود تلقائيًا إلى القلم بعد استخدام الممحاة';
@@ -2131,8 +2125,6 @@ class _StringsSettingsPrefLabelsCs extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Lépe čitelný font';
@override String get shouldCheckForUpdates => 'Automaticky kontrolovat dostupnost aktualizací aplikace Saber';
@override String get shouldAlwaysAlertForUpdates => 'Rychlejší aktualizace';
- @override String get disableAds => 'Vypnout reklamy';
- @override String get changeAdsConsent => 'Změnit předvolby pro reklamy';
@override String get allowInsecureConnections => 'Povolit nezabezpečená připojení';
@override String get editorToolbarAlignment => 'Umístění nabídky editoru';
@override String get editorToolbarShowInFullscreen => 'Zobrazovat nabídku editoru v režimu celé obrazovky';
@@ -2163,7 +2155,6 @@ class _StringsSettingsPrefDescriptionsCs extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Font Atkinson Hyperlegible zvyšuje čitelnost pro čtenáře se slabým zrakem';
- @override String get disableAds => 'Reklamy podporují vývoj aplikace Saber, ale pokud chcete, můžete je vypnout';
@override String get allowInsecureConnections => '(Nedoporučuje se) Povolit aplikaci Saber připojovat se k serverům se samopodepsaným/nedůvěryhodným certifikátem.';
@override String get preferGreyscale => 'Pro elektronické čtečky knih s e-ink displejem';
@override String get autoClearWhiteboardOnExit => 'Bude synchronizováno do dalších zařízení';
@@ -2963,8 +2954,6 @@ class _StringsSettingsPrefLabelsDe extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Hyperlesbare Schrift';
@override String get shouldCheckForUpdates => 'Suche automatisch nach Saber-Aktualisierungen';
@override String get shouldAlwaysAlertForUpdates => 'Schneller aktualisieren';
- @override String get disableAds => 'Werbung deaktivieren';
- @override String get changeAdsConsent => 'Werbungsinhalt anpassen';
@override String get allowInsecureConnections => 'Unsichere Verbindung erlauben';
@override String get editorToolbarAlignment => 'Position der Werkzeugleiste';
@override String get editorToolbarShowInFullscreen => 'Zeige die Werkzeugleiste im Vollbild';
@@ -2995,7 +2984,6 @@ class _StringsSettingsPrefDescriptionsDe extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible verbessert die Lesbarkeit für Menschen mit eingeschränkter Sicht';
- @override String get disableAds => 'Die Entwicklung von Saber wird duch Werbung finanziert. Die Werbung kann auf Wunsch deaktiviert werden.';
@override String get allowInsecureConnections => '(Nicht empfohlen) Saber erlauben, sich mit selbstsignierten/unsicheren Zertifikaten zu verbinden';
@override String get preferGreyscale => 'Für E-Ink-Bildschirme';
@override String get autoClearWhiteboardOnExit => 'Es wird dennoch mit deinen anderen Geräten synchronisiert';
@@ -3792,8 +3780,6 @@ class _StringsSettingsPrefLabelsEs extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Fuente hiperlegible';
@override String get shouldCheckForUpdates => 'Buscar actualizaciones de Saber automáticamente';
@override String get shouldAlwaysAlertForUpdates => 'Actualizaciones más rápidas';
- @override String get disableAds => 'Desactivar anuncios';
- @override String get changeAdsConsent => 'Cambiar el consentimiento de los anuncios';
@override String get allowInsecureConnections => 'Permitir conexiones inseguras';
@override String get editorToolbarAlignment => 'Alineación de la barra de herramientas del editor';
@override String get editorToolbarShowInFullscreen => 'Mostrar la barra de herramientas del editor en el modo de pantalla completa';
@@ -3824,7 +3810,6 @@ class _StringsSettingsPrefDescriptionsEs extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible aumenta la legibilidad para lectores con poca visión';
- @override String get disableAds => 'Los anuncios ayudan al desarrollo de Saber, pero puedes desactivarlos si lo prefieres';
@override String get allowInsecureConnections => '(No recomendado) Autorizar a Saber a conectarse a servidores con certificados autofirmados o no fiables';
@override String get preferGreyscale => 'Para pantallas con tinta electrónica';
@override String get autoClearWhiteboardOnExit => 'Aún se sincronizará con tus otros dispositivos';
@@ -4622,8 +4607,6 @@ class _StringsSettingsPrefLabelsFa extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'فونت بیش از حد خوانا';
@override String get shouldCheckForUpdates => 'بهروزرسانی برنامه را بهطور خودکار بررسی کنید';
@override String get shouldAlwaysAlertForUpdates => 'به روز رسانی سریع تر';
- @override String get disableAds => 'غیرفعال کردن تبلیغات';
- @override String get changeAdsConsent => 'تغییر رضایت تبلیغات';
@override String get allowInsecureConnections => 'به اتصالات ناامن اجازه دهید';
@override String get editorToolbarAlignment => 'تراز کردن نوار ابزار ویرایشگر';
@override String get editorToolbarShowInFullscreen => 'نوار ابزار ویرایشگر را در حالت تمام صفحه نمایش دهید';
@@ -4654,7 +4637,6 @@ class _StringsSettingsPrefDescriptionsFa extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'خوانایی را برای خوانندگان کم بینا افزایش می دهد';
- @override String get disableAds => 'تبلیغات به پشتیبانی از توسعه Saber کمک می کند، اما در صورت تمایل می توانید آنها را غیرفعال کنید';
@override String get allowInsecureConnections => '(توصیه نمی شود) به Saber اجازه دهید به سرورهایی با گواهینامه های خودامضا/غیر قابل اعتماد متصل شود';
@override String get preferGreyscale => 'برای نمایشگر های e-ink';
@override String get autoClearWhiteboardOnExit => 'همچنان با دستگاههای دیگر شما همگامسازی میشود';
@@ -5452,8 +5434,6 @@ class _StringsSettingsPrefLabelsFr extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Fonte Hyperlegible';
@override String get shouldCheckForUpdates => 'Rechercher automatiquement les mises à jour';
@override String get shouldAlwaysAlertForUpdates => 'M\'alerter à chaque mise à jour';
- @override String get disableAds => 'Désactiver les publicités';
- @override String get changeAdsConsent => 'Modifier le consentement aux publicités';
@override String get allowInsecureConnections => 'Autoriser les connexions non sécurisées';
@override String get editorToolbarAlignment => 'Position de la barre d\'outils';
@override String get editorToolbarShowInFullscreen => 'Afficher la barre d\'outils en mode plein écran';
@@ -5484,7 +5464,6 @@ class _StringsSettingsPrefDescriptionsFr extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'La fonte Atkinson Hyperlegible améliore la lisibilité pour les personnes malvoyantes';
- @override String get disableAds => 'Les publicités aident au développement de Saber, mais vous pouvez les désactiver si vous le souhaitez';
@override String get allowInsecureConnections => '(Déconseillé) Autoriser Saber à se connecter à des serveurs dont les certificats sont auto-signés/non-sécurisé';
@override String get preferGreyscale => 'Pour les couleurs de stylos proposées';
@override String get autoClearWhiteboardOnExit => 'Il restera synchronisé avec vos autres appareils';
@@ -6282,8 +6261,6 @@ class _StringsSettingsPrefLabelsHe extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'גופן Atkinson Hyperreadible';
@override String get shouldCheckForUpdates => 'בדוק אם קיימים עדכוני Saber';
@override String get shouldAlwaysAlertForUpdates => 'עדכונים מהירים יותר';
- @override String get disableAds => 'השבת פרסומות';
- @override String get changeAdsConsent => 'שנה את הסכמת המודעות';
@override String get allowInsecureConnections => 'אפשר חיבורים לא מאובטחים';
@override String get editorToolbarAlignment => 'מיקום סרגל הכלים';
@override String get editorToolbarShowInFullscreen => 'הצג את סרגל הכלים במצב מסך מלא';
@@ -6314,7 +6291,6 @@ class _StringsSettingsPrefDescriptionsHe extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'מגביר את הקריאות למשתמשים עם ראייה לקויה';
- @override String get disableAds => 'מודעות עוזרות לתמוך בפיתוח של סאבר, אבל אתה יכול להשבית אותן אם תרצה';
@override String get allowInsecureConnections => '(לא מומלץ) אפשר לסבר להתחבר לשרתים עם אישורים חתומים/לא מהימנים';
@override String get preferGreyscale => 'עבור תצוגות דיו אלקטרוני';
@override String get autoClearWhiteboardOnExit => 'מנקה את לוח הציור לאחר היציאה מהאפליקציה';
@@ -7125,9 +7101,7 @@ class _StringsSettingsPrefLabelsHu extends _StringsSettingsPrefLabelsEn {
@override String get autoStraightenLines => 'A vonalak automatikus kiegyenesítése';
@override String get shapeRecognitionDelay => 'Alakfelismerési késleltetés';
@override String get recentColorsLength => 'Hány friss színt kell tárolni';
- @override String get changeAdsConsent => 'A hirdetések megváltoztatása beleegyezik';
@override String get layoutSize => 'Elrendezés típusa';
- @override String get disableAds => 'Hirdetések letiltása';
@override String get printPageIndicators => 'Nyomtatási oldaljelzők';
@override String get allowInsecureConnections => 'Engedélyezze a nem biztonságos kapcsolatokat';
@override String get autosaveDelay => 'Auto-save késleltetés';
@@ -7154,7 +7128,6 @@ class _StringsSettingsPrefDescriptionsHu extends _StringsSettingsPrefDescription
@override late final _StringsSettingsPrefDescriptionsPencilSoundSettingHu pencilSoundSetting = _StringsSettingsPrefDescriptionsPencilSoundSettingHu._(_root);
@override String get autoStraightenLines => 'Kiegyenesíti a hosszú vonalakat anélkül, hogy az alakos tollat kellene használnia';
@override String get shapeRecognitionDelay => 'Milyen gyakran kell frissíteni az alakzat előnézetét';
- @override String get disableAds => 'A hirdetések segítik a Saber fejlesztését, de tilthatja őket, ha tetszik';
@override String get printPageIndicators => 'Mutasson oldalmutatókat az exportban';
@override String get allowInsecureConnections => '(Nem ajánlott) Engedélyezze a Saber-nek, hogy csatlakozzon önaláírt/nem megbízható tanúsítványokkal rendelkező szerverekhez';
@override String get autosaveDelay => 'Mennyi ideig kell várni a jegyzet automatikus mentése előtt';
@@ -7944,8 +7917,6 @@ class _StringsSettingsPrefLabelsIt extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Carattere iperleggibile';
@override String get shouldCheckForUpdates => 'Controlla automaticamente gli aggiornamenti di Saber';
@override String get shouldAlwaysAlertForUpdates => 'Aggiornamenti veloci';
- @override String get disableAds => 'Disattiva annunci';
- @override String get changeAdsConsent => 'Modifica il consenso agli annunci';
@override String get allowInsecureConnections => 'Consenti connessioni non sicure';
@override String get editorToolbarAlignment => 'Allineamento della barra degli strumenti dell\'editor';
@override String get editorToolbarShowInFullscreen => 'Mostra la barra degli strumenti dell\'editor in modalità a schermo intero';
@@ -7976,7 +7947,6 @@ class _StringsSettingsPrefDescriptionsIt extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible aumenta la leggibilità per i lettori ipovedenti';
- @override String get disableAds => 'Gli annunci aiutano a supportare lo sviluppo di Saber, ma puoi disattivarli se lo desideri';
@override String get allowInsecureConnections => '(Non consigliato) Consenti a Saber di connettersi ai server con certificati autofirmati/non attendibili';
@override String get preferGreyscale => 'Per display e-ink';
@override String get autoClearWhiteboardOnExit => 'Sarà comunque sincronizzato con gli altri tuoi dispositivi';
@@ -8773,8 +8743,6 @@ class _StringsSettingsPrefLabelsJa extends _StringsSettingsPrefLabelsEn {
@override String get customAccentColor => 'オリジナルの色';
@override String get hyperlegibleFont => 'Hyperlegible フォント';
@override String get shouldCheckForUpdates => 'Saberの更新を自動的に確認する';
- @override String get disableAds => '広告を表示しない';
- @override String get changeAdsConsent => '広告の同意を変更する';
@override String get allowInsecureConnections => '安全でない接続を許可する';
@override String get editorToolbarAlignment => '編集ツールバーの位置調整';
@override String get editorToolbarShowInFullscreen => 'フルスクリーンモードで編集ツールバーを表示する';
@@ -8806,7 +8774,6 @@ class _StringsSettingsPrefDescriptionsJa extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegibleは、弱視読者の読みやすさを向上させます。';
- @override String get disableAds => '広告はSaberの開発支援に貢献できますが、必要に応じて無効にすることも可能です';
@override String get allowInsecureConnections => '(非推奨) Saber が自己署名/信頼できない証明書を持つサーバーに接続できるようにする';
@override String get preferGreyscale => 'e-inkディスプレイ用';
@override String get autoClearWhiteboardOnExit => '他のデバイスと同期されます';
@@ -9604,8 +9571,6 @@ class _StringsSettingsPrefLabelsPtBr extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Fonte hiperlegível';
@override String get shouldCheckForUpdates => 'Verificar automaticamente as atualizações do Saber';
@override String get shouldAlwaysAlertForUpdates => 'Atualizações mais rápidas';
- @override String get disableAds => 'Desativar anúncios';
- @override String get changeAdsConsent => 'Alterar o consentimento de anúncios';
@override String get allowInsecureConnections => 'Permitir conexões inseguras';
@override String get editorToolbarAlignment => 'Alinhamento da barra de ferramentas do editor';
@override String get editorToolbarShowInFullscreen => 'Mostrar a barra de ferramentas do editor no modo de tela cheia';
@@ -9636,7 +9601,6 @@ class _StringsSettingsPrefDescriptionsPtBr extends _StringsSettingsPrefDescripti
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible aumenta a legibilidade para leitores com baixa visão';
- @override String get disableAds => 'Os anúncios ajudam no desenvolvimento do Saber, mas você pode desativá-los se quiser';
@override String get allowInsecureConnections => '(Não recomendado) Permitir que o Saber se conecte a servidores com certificados autoassinados/não-confiáveis';
@override String get preferGreyscale => 'Para telas e-ink';
@override String get autoClearWhiteboardOnExit => 'Ainda será sincronizado com seus outros dispositivos';
@@ -10436,8 +10400,6 @@ class _StringsSettingsPrefLabelsRu extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Гипер разборчивый шрифт';
@override String get shouldCheckForUpdates => 'Автоматически проверять обновления Saber';
@override String get shouldAlwaysAlertForUpdates => 'Быстрые обновления';
- @override String get disableAds => 'Отключить рекламу';
- @override String get changeAdsConsent => 'Согласие на рекламу';
@override String get allowInsecureConnections => 'Разрешить небезопасные соединения';
@override String get editorToolbarAlignment => 'Панель инструментов редактора';
@override String get editorToolbarShowInFullscreen => 'Показывать инструменты в полноэкранном режиме';
@@ -10468,7 +10430,6 @@ class _StringsSettingsPrefDescriptionsRu extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Шрифт Atkinson Hyperlegible повышает разборчивость для читателей с плохим зрением';
- @override String get disableAds => 'Реклама помогает поддерживать разработку Saber, но вы можете отключить её, если захотите.';
@override String get allowInsecureConnections => '(Не рекомендуется) Разрешить Saber подключаться к серверам с самоподписанными/ненадёжными сертификатами.';
@override String get preferGreyscale => 'Для e-ink экранов';
@override String get autoClearWhiteboardOnExit => 'Это будет синхронизировано с другими вашими устройствами';
@@ -11268,8 +11229,6 @@ class _StringsSettingsPrefLabelsTr extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => 'Hyperlegible font';
@override String get shouldCheckForUpdates => 'Otomatik olarak Saber güncellemelerini kontrol et';
@override String get shouldAlwaysAlertForUpdates => 'Hızlı güncellemeler';
- @override String get disableAds => 'Reklamları devre dışı bırak';
- @override String get changeAdsConsent => 'Reklam iznini değiştir';
@override String get allowInsecureConnections => 'Güvensiz bağlantılara izin ver';
@override String get editorToolbarAlignment => 'Editör araç çubuğunun yerleşimi';
@override String get editorToolbarShowInFullscreen => 'Editör araç kutusunu tam ekranda göster';
@@ -11300,7 +11259,6 @@ class _StringsSettingsPrefDescriptionsTr extends _StringsSettingsPrefDescription
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible, görme sorunu yaşayanların okumasını kolaylaştıran bir fonttur';
- @override String get disableAds => 'Reklamlar Saber\'ın geliştirilmesine yardım ediyor fakat dilerseniz devre dışı bırakabilirsiniz';
@override String get allowInsecureConnections => '(Önerilmez) Saber\'ın kendinden imzalı/güvensiz sertifika kullanan sunuculara bağlanmasına izin verir';
@override String get preferGreyscale => 'E-mürekkep ekranlar için';
@override String get autoClearWhiteboardOnExit => 'Diğer cihazlarınıza senkronize edilmeye devam edecek';
@@ -12100,8 +12058,6 @@ class _StringsSettingsPrefLabelsZhHansCn extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => '易读字体';
@override String get shouldCheckForUpdates => '自动检查 Saber 更新';
@override String get shouldAlwaysAlertForUpdates => '更快的更新提醒';
- @override String get disableAds => '禁用广告';
- @override String get changeAdsConsent => '更改广告许可';
@override String get allowInsecureConnections => '允许不安全的连接';
@override String get editorToolbarAlignment => '编辑工具栏对齐方式';
@override String get editorToolbarShowInFullscreen => '在全屏模式中显示编辑菜单栏';
@@ -12132,7 +12088,6 @@ class _StringsSettingsPrefDescriptionsZhHansCn extends _StringsSettingsPrefDescr
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible 字体为低视力读者提高易读性';
- @override String get disableAds => '广告有助于支持 Saber 的开发,但如果你不喜欢,你可以禁用它们';
@override String get allowInsecureConnections => '(不推荐)允许 Saber 连接到具有自签名/不受信任证书的服务器';
@override String get preferGreyscale => '用于电子墨水显示器';
@override String get autoClearWhiteboardOnExit => '这将会同步到您的其他设备';
@@ -12932,8 +12887,6 @@ class _StringsSettingsPrefLabelsZhHantTw extends _StringsSettingsPrefLabelsEn {
@override String get hyperlegibleFont => '易讀字體';
@override String get shouldCheckForUpdates => '自動檢查 Saber 更新';
@override String get shouldAlwaysAlertForUpdates => '更快的更新';
- @override String get disableAds => '禁用廣告';
- @override String get changeAdsConsent => '修改廣告同意書';
@override String get allowInsecureConnections => '允許不安全的連結';
@override String get editorToolbarAlignment => '編輯器工具列的對齊方式';
@override String get editorToolbarShowInFullscreen => '在全螢幕模式中顯示編輯器工具列';
@@ -12964,7 +12917,6 @@ class _StringsSettingsPrefDescriptionsZhHantTw extends _StringsSettingsPrefDescr
// Translations
@override String get hyperlegibleFont => 'Atkinson Hyperlegible 字體為低視力讀者提高易讀性';
- @override String get disableAds => '廣告有助於支持Saber的發展,但如果您不願意,可以禁用它';
@override String get allowInsecureConnections => '(不推薦)允許Saber連結到具有自簽名/不受信任證書的伺服器';
@override String get preferGreyscale => '用於電子紙螢幕';
@override String get autoClearWhiteboardOnExit => '它仍會同步到您的其他裝置';
diff --git a/lib/i18n/strings.i18n.yaml b/lib/i18n/strings.i18n.yaml
index 24cb30378..abadbd5b8 100644
--- a/lib/i18n/strings.i18n.yaml
+++ b/lib/i18n/strings.i18n.yaml
@@ -76,8 +76,6 @@ settings:
hyperlegibleFont: Atkinson Hyperlegible font
shouldCheckForUpdates: Check for Saber updates
shouldAlwaysAlertForUpdates: Faster updates
- disableAds: Disable ads
- changeAdsConsent: Change ads consent
allowInsecureConnections: Allow insecure connections
editorToolbarAlignment: Toolbar position
editorToolbarShowInFullscreen: Show the toolbar in fullscreen mode
@@ -100,7 +98,6 @@ settings:
pencilSoundSetting: Pencil sound effect
prefDescriptions:
hyperlegibleFont: Increases legibility for users with low vision
- disableAds: "Ads help support Saber's development, but you can disable them if you'd like"
allowInsecureConnections: (Not recommended) Allow Saber to connect to servers with self-signed/untrusted certificates
preferGreyscale: For e-ink displays
autoClearWhiteboardOnExit: Clears the whiteboard after you exit the app
@@ -193,7 +190,7 @@ login:
profile:
title: My profile
logout: Log out
- quotaUsage: You're using $used of $total ($percent%)
+ quotaUsage: "You're using $used of $total ($percent%)"
connectedTo: Connected to
quickLinks:
serverHomepage: Server homepage
diff --git a/lib/main_common.dart b/lib/main_common.dart
index b3330440b..1d17184dc 100644
--- a/lib/main_common.dart
+++ b/lib/main_common.dart
@@ -3,7 +3,6 @@ import 'dart:developer' as dev;
import 'dart:io';
import 'package:args/args.dart';
-import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -15,7 +14,6 @@ import 'package:printing/printing.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:saber/components/canvas/invert_shader.dart';
import 'package:saber/components/canvas/pencil_shader.dart';
-import 'package:saber/components/home/banner_ad_widget.dart';
import 'package:saber/components/theming/dynamic_material_app.dart';
import 'package:saber/data/editor/pencil_sound.dart';
import 'package:saber/data/file_manager/file_manager.dart';
@@ -61,15 +59,6 @@ Future main(
);
});
- if (Platform.isAndroid) {
- final deviceInfo = DeviceInfoPlugin();
- final androidInfo = await deviceInfo.androidInfo;
- Logger.root
- .fine('androidInfo.version.release: ${androidInfo.version.release}');
- Prefs.androidVersion =
- int.tryParse(androidInfo.version.release) ?? Prefs.androidVersion;
- }
-
StrokeOptionsExtension.setDefaults();
Prefs.init();
@@ -79,7 +68,6 @@ Future main(
windowManager.ensureInitialized(),
workerManager.init(),
Prefs.locale.waitUntilLoaded(),
- Prefs.disableAds.waitUntilLoaded(),
Prefs.url.waitUntilLoaded(),
Prefs.allowInsecureConnections.waitUntilLoaded(),
InvertShader.init(),
@@ -91,8 +79,6 @@ Future main(
OnyxSdkPenArea.init(),
]);
- AdState.init();
-
setLocale();
Prefs.locale.addListener(setLocale);
Prefs.customDataDir.addListener(FileManager.migrateDataDir);
diff --git a/lib/pages/home/home.dart b/lib/pages/home/home.dart
index ae33d3b7a..f21f88e0d 100644
--- a/lib/pages/home/home.dart
+++ b/lib/pages/home/home.dart
@@ -1,6 +1,5 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-import 'package:saber/components/home/banner_ad_widget.dart';
import 'package:saber/components/navbar/responsive_navbar.dart';
import 'package:saber/components/settings/update_manager.dart';
import 'package:saber/components/theming/dynamic_material_app.dart';
@@ -67,19 +66,7 @@ class _HomePageState extends State {
return ResponsiveNavbar(
selectedIndex: HomePage.subpages.indexOf(widget.subpage),
- body: AdState.adsEnabled
- ? Column(
- children: [
- Expanded(child: body),
- SafeArea(
- top: false,
- child: BannerAdWidget.adaptive(
- screenWidth: MediaQuery.sizeOf(context).width,
- ),
- ),
- ],
- )
- : body,
+ body: body,
);
}
diff --git a/lib/pages/home/settings.dart b/lib/pages/home/settings.dart
index 328daceea..4a6b90588 100644
--- a/lib/pages/home/settings.dart
+++ b/lib/pages/home/settings.dart
@@ -6,7 +6,6 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:material_symbols_icons/symbols.dart';
-import 'package:saber/components/home/banner_ad_widget.dart';
import 'package:saber/components/navbar/responsive_navbar.dart';
import 'package:saber/components/settings/app_info.dart';
import 'package:saber/components/settings/nextcloud_profile.dart';
@@ -561,24 +560,6 @@ class _SettingsPageState extends State {
),
),
],
- if (AdState.adsSupported) ...[
- SettingsSwitch(
- title: t.settings.prefLabels.disableAds,
- subtitle: t.settings.prefDescriptions.disableAds,
- icon: FontAwesomeIcons.rectangleAd,
- pref: Prefs.disableAds,
- afterChange: (_) => setState(() {}),
- ),
- Collapsible(
- collapsed: Prefs.disableAds.value,
- axis: CollapsibleAxis.vertical,
- child: SettingsButton(
- title: t.settings.prefLabels.changeAdsConsent,
- icon: FontAwesomeIcons.cookieBite,
- onPressed: () => AdState.showConsentForm(),
- ),
- ),
- ],
SettingsSwitch(
title: t.settings.prefLabels.allowInsecureConnections,
subtitle: t.settings.prefDescriptions.allowInsecureConnections,
diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
index 842d9db8a..b64ef5c10 100644
--- a/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -19,7 +19,6 @@ import share_plus
import shared_preferences_foundation
import super_native_extensions
import url_launcher_macos
-import webview_flutter_wkwebview
import window_manager
import window_to_front
@@ -38,7 +37,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SuperNativeExtensionsPlugin.register(with: registry.registrar(forPlugin: "SuperNativeExtensionsPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
- FLTWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "FLTWebViewFlutterPlugin"))
WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin"))
WindowToFrontPlugin.register(with: registry.registrar(forPlugin: "WindowToFrontPlugin"))
}
diff --git a/patches/remove_proprietary_dependencies.sh b/patches/remove_proprietary_dependencies.sh
index 5129de8d6..dafe38dfb 100755
--- a/patches/remove_proprietary_dependencies.sh
+++ b/patches/remove_proprietary_dependencies.sh
@@ -29,14 +29,3 @@ if grep -q "repo.boox.com" "android/build.gradle"; then
else
echo "already done"
fi
-
-# Remove google_mobile_ads package and related code
-echo "Removing Google Ads"
-# Remove google_mobile_ads from pubspec.yaml
-sed -i -e '/google_mobile_ads/d' pubspec.yaml
-# Replace banner_ad_widget.dart with _banner_ad_widget_dummy.dart
-mv lib/components/home/_banner_ad_widget_dummy.dart lib/components/home/banner_ad_widget.dart
-
-# Remove AD_ID permission
-echo "Removing AD_ID permission"
-sed -i -e '/com.google.android.gms.permission.AD_ID/d' android/app/src/main/AndroidManifest.xml
diff --git a/privacy_policy.md b/privacy_policy.md
index 00f1b0996..cc5195c34 100644
--- a/privacy_policy.md
+++ b/privacy_policy.md
@@ -26,6 +26,10 @@ The application uses third-party services to provide certain features.
#### Google AdMob
+Update: As of 23 September 2024, ads have been removed from the development version of the application
+and will soon be removed from the stable version. Please disregard this section if you are using
+Saber v0.24.7 or later.
+
Certain versions of the application are supported by Google AdMob ads including Google's ad network
and other GDPR-compliant ad networks:
- The iOS version available on the App Store
diff --git a/pubspec.lock b/pubspec.lock
index 480175c32..0dd7bdf4e 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -33,14 +33,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.11"
- app_tracking_transparency:
- dependency: "direct main"
- description:
- name: app_tracking_transparency
- sha256: "64d9745931e565790abdea91b518ac8dc3cebe6d0d0aaf7119343271b983259a"
- url: "https://pub.dev"
- source: hosted
- version: "2.0.6"
archive:
dependency: "direct main"
description:
@@ -671,14 +663,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.2.1"
- google_mobile_ads:
- dependency: "direct main"
- description:
- name: google_mobile_ads
- sha256: e2d18992d30b2be77cb6976b931112fc3c4612feffb5eb7a8b036bd7a64934da
- url: "https://pub.dev"
- source: hosted
- version: "5.1.0"
gtk:
dependency: transitive
description:
@@ -1617,38 +1601,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.3"
- webview_flutter:
- dependency: transitive
- description:
- name: webview_flutter
- sha256: ec81f57aa1611f8ebecf1d2259da4ef052281cb5ad624131c93546c79ccc7736
- url: "https://pub.dev"
- source: hosted
- version: "4.9.0"
- webview_flutter_android:
- dependency: transitive
- description:
- name: webview_flutter_android
- sha256: "6e64fcb1c19d92024da8f33503aaeeda35825d77142c01d0ea2aa32edc79fdc8"
- url: "https://pub.dev"
- source: hosted
- version: "3.16.7"
- webview_flutter_platform_interface:
- dependency: transitive
- description:
- name: webview_flutter_platform_interface
- sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
- url: "https://pub.dev"
- source: hosted
- version: "2.10.0"
- webview_flutter_wkwebview:
- dependency: transitive
- description:
- name: webview_flutter_wkwebview
- sha256: "1942a12224ab31e9508cf00c0c6347b931b023b8a4f0811e5dec3b06f94f117d"
- url: "https://pub.dev"
- source: hosted
- version: "3.15.0"
win32:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 2ece42598..7a5bb5bfc 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -117,9 +117,6 @@ dependencies:
fast_image_resizer: ^0.0.2
- google_mobile_ads: ^5.0.0
- app_tracking_transparency: ^2.0.4
-
bson: ^5.0.0
flutter_speed_dial: ^7.0.0
diff --git a/test/screenshot_goldens_test.dart b/test/screenshot_goldens_test.dart
index 2886190d8..4f92edcd7 100644
--- a/test/screenshot_goldens_test.dart
+++ b/test/screenshot_goldens_test.dart
@@ -8,7 +8,6 @@ import 'package:google_fonts/google_fonts.dart';
import 'package:saber/components/canvas/invert_shader.dart';
import 'package:saber/components/canvas/pencil_shader.dart';
import 'package:saber/components/canvas/shader_image.dart';
-import 'package:saber/components/home/banner_ad_widget.dart';
import 'package:saber/components/home/syncing_button.dart';
import 'package:saber/components/settings/app_info.dart';
import 'package:saber/components/settings/nextcloud_profile.dart';
@@ -39,7 +38,6 @@ void main() {
FlavorConfig.setup();
Prefs.testingMode = true;
Prefs.init();
- AdState.init();
SyncingButton.forceButtonActive = true;
AppInfo.showDebugMessage = false;