diff --git a/assets/translations/de.json b/assets/translations/de.json index 7e0b4a6..fbb9ed9 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "App entfernen?", "other": "Apps entfernen?" diff --git a/assets/translations/en.json b/assets/translations/en.json index cb9bf5d..08d8bb5 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "Remove App?", "other": "Remove Apps?" diff --git a/assets/translations/es.json b/assets/translations/es.json index 8e31c7c..5b3ecec 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "¿Eliminar Aplicación?", "other": "¿Eliminar Aplicaciones?" diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 393d0c7..8110064 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "برنامه حذف شود؟", "other": "برنامه ها حذف شوند؟" diff --git a/assets/translations/fr.json b/assets/translations/fr.json index b403c1f..7b26b45 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "Supprimer l'application ?", "other": "Supprimer les applications ?" diff --git a/assets/translations/hu.json b/assets/translations/hu.json index e071a50..4dc30ba 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -236,6 +236,7 @@ "removeOnExternalUninstall": "A külsőleg eltávolított appok auto. eltávolítása", "pickHighestVersionCode": "A legmagasabb verziószámú APK auto. kiválasztása", "checkUpdateOnDetailPage": "Frissítések keresése az app részleteit tartalmazó oldal megnyitásakor", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "Eltávolítja az alkalmazást?", "other": "Eltávolítja az alkalmazást?" diff --git a/assets/translations/it.json b/assets/translations/it.json index 8010b37..9c368e1 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "Rimuovere l'app?", "other": "Rimuovere le app?" diff --git a/assets/translations/ja.json b/assets/translations/ja.json index 08977e7..eff5b48 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "外部でアンインストールされたアプリを自動的に削除する", "pickHighestVersionCode": "最も高いバージョンコードのAPKを自動的に選択する", "checkUpdateOnDetailPage": "アプリの詳細ページを開く際にアップデートを確認する", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "アプリを削除しますか?", "other": "アプリを削除しますか?" diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 903640e..28c6b43 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -241,6 +241,7 @@ "removeOnExternalUninstall": "Automatyczne usuń odinstalowane zewnętrznie aplikacje", "pickHighestVersionCode": "Automatycznie wybierz najwyższy kod wersji APK", "checkUpdateOnDetailPage": "Sprawdzaj aktualizacje podczas otwierania strony szczegółów aplikacji", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "Usunąć aplikację?", "other": "Usunąć aplikacje?" diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 2a78445..c36c992 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Автоматически убирать из списка удаленные извне приложения", "pickHighestVersionCode": "Автовыбор кода наивысшей версии APK", "checkUpdateOnDetailPage": "Проверять наличие обновлений при открытии страницы представления приложения", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "Удалить приложение?", "other": "Удалить приложения?" diff --git a/assets/translations/zh.json b/assets/translations/zh.json index f72eb31..f8828ee 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -237,6 +237,7 @@ "removeOnExternalUninstall": "Automatically remove externally uninstalled Apps", "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", + "disablePageTransitions": "Disable page transition animations", "removeAppQuestion": { "one": "是否删除应用?", "other": "是否删除应用?" diff --git a/lib/main.dart b/lib/main.dart index 0e1a60e..bd11b10 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -21,7 +21,7 @@ import 'package:easy_localization/src/easy_localization_controller.dart'; // ignore: implementation_imports import 'package:easy_localization/src/localization.dart'; -const String currentVersion = '0.13.17'; +const String currentVersion = '0.13.18'; const String currentReleaseTag = 'v$currentVersion-beta'; // KEEP THIS IN SYNC WITH GITHUB RELEASES diff --git a/lib/pages/home.dart b/lib/pages/home.dart index c64ed03..0c9cc3a 100644 --- a/lib/pages/home.dart +++ b/lib/pages/home.dart @@ -7,6 +7,7 @@ import 'package:obtainium/pages/apps.dart'; import 'package:obtainium/pages/import_export.dart'; import 'package:obtainium/pages/settings.dart'; import 'package:obtainium/providers/apps_provider.dart'; +import 'package:obtainium/providers/settings_provider.dart'; import 'package:provider/provider.dart'; class HomePage extends StatefulWidget { @@ -42,6 +43,7 @@ class _HomePageState extends State { @override Widget build(BuildContext context) { AppsProvider appsProvider = context.watch(); + SettingsProvider settingsProvider = context.watch(); setIsReversing(int targetIndex) { bool reversing = selectedIndexHistory.isNotEmpty && @@ -89,6 +91,9 @@ class _HomePageState extends State { child: Scaffold( backgroundColor: Theme.of(context).colorScheme.surface, body: PageTransitionSwitcher( + duration: Duration( + milliseconds: + settingsProvider.disablePageTransitions ? 0 : 300), reverse: isReversing, transitionBuilder: ( Widget child, diff --git a/lib/pages/settings.dart b/lib/pages/settings.dart index c63d2e8..bfd52df 100644 --- a/lib/pages/settings.dart +++ b/lib/pages/settings.dart @@ -396,6 +396,21 @@ class _SettingsPageState extends State { }) ], ), + height16, + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Flexible( + child: Text(tr('disablePageTransitions'))), + Switch( + value: + settingsProvider.disablePageTransitions, + onChanged: (value) { + settingsProvider.disablePageTransitions = + value; + }) + ], + ), height32, Text( tr('categories'), diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart index 9fcfba0..deef897 100644 --- a/lib/providers/settings_provider.dart +++ b/lib/providers/settings_provider.dart @@ -291,4 +291,13 @@ class SettingsProvider with ChangeNotifier { prefs?.setBool('checkUpdateOnDetailPage', show); notifyListeners(); } + + bool get disablePageTransitions { + return prefs?.getBool('disablePageTransitions') ?? false; + } + + set disablePageTransitions(bool show) { + prefs?.setBool('disablePageTransitions', show); + notifyListeners(); + } } diff --git a/pubspec.yaml b/pubspec.yaml index db13b8a..67cc8bf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.13.17+181 # When changing this, update the tag in main() accordingly +version: 0.13.18+182 # When changing this, update the tag in main() accordingly environment: sdk: '>=2.18.2 <3.0.0'