diff --git a/fastlane/metadata/android/en-US/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png new file mode 100644 index 00000000..e50812f7 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/icon.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png new file mode 100644 index 00000000..c36a8539 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png new file mode 100644 index 00000000..31722e3b Binary files /dev/null and b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png new file mode 100644 index 00000000..cbac23af Binary files /dev/null and b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png new file mode 100644 index 00000000..763c8c13 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png differ diff --git a/fastlane/metadata/android/en-US/long_description.txt b/fastlane/metadata/android/en-US/long_description.txt new file mode 100644 index 00000000..c16fafdf --- /dev/null +++ b/fastlane/metadata/android/en-US/long_description.txt @@ -0,0 +1,16 @@ +Cwtch (/kʊtʃ/ - a Welsh word roughly translating to “a hug that creates a safe place”) is a decentralized, + privacy-preserving, multi-party messaging protocol that can be used to build metadata resistant applications. + +- Decentralized and Open: There is no “Cwtch service” or “Cwtch network”. Participants in Cwtch +can host their own safe spaces, or lend their infrastructure to others seeking a safe space. +The Cwtch protocol is open, and anyone is free to build bots, services and user interfaces and +integrate and interact with Cwtch. + +- Privacy Preserving: All communication in Cwtch is end-to-end encrypted and takes place over Tor v3 +onion services. + + - Metadata Resistant: Cwtch has been designed such that no information is exchanged or available to +anyone without their explicit consent, including on-the-wire messages and protocol metadata. + +For more information on how Cwtch works and a guide to metadata resistant communication please +checkout the Cwtch Handbook: https://docs.cwtch.im/ \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 00000000..62488ada --- /dev/null +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +Metadata resistant privacy platform designed to help you resist surveillance \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/title.txt b/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 00000000..65bc833e --- /dev/null +++ b/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +Cwtch \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/video.txt b/fastlane/metadata/android/en-US/video.txt new file mode 100644 index 00000000..5871eeeb --- /dev/null +++ b/fastlane/metadata/android/en-US/video.txt @@ -0,0 +1 @@ +https://cwtch.im/cwtch-explainer.mp4 \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 48f9d14b..b2c9e897 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -132,6 +132,7 @@ class FlwtchState extends State with WindowListener { ], supportedLocales: AppLocalizations.supportedLocales, title: 'Cwtch', + showSemanticsDebugger: settings.useSemanticDebugger, theme: mkThemeData(settings), home: (!appState.cwtchInit || appState.modalState != ModalState.none) ? SplashView() : ProfileMgrView(), ), diff --git a/lib/settings.dart b/lib/settings.dart index 96aff320..986cce4f 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -63,9 +63,17 @@ class Settings extends ChangeNotifier { String _customTorAuth = ""; bool _useTorCache = false; String _torCacheDir = ""; + bool _useSemanticDebugger = false; String get torCacheDir => _torCacheDir; + set useSemanticDebugger(bool newval) { + this._useSemanticDebugger = newval; + notifyListeners(); + } + + bool get useSemanticDebugger => _useSemanticDebugger; + void setTheme(String themeId, String mode) { theme = getTheme(themeId, mode); notifyListeners(); diff --git a/lib/views/globalsettingsview.dart b/lib/views/globalsettingsview.dart index 170543fb..8b79755c 100644 --- a/lib/views/globalsettingsview.dart +++ b/lib/views/globalsettingsview.dart @@ -472,6 +472,24 @@ class _GlobalSettingsViewState extends State { child: SelectableText(AppLocalizations.of(context)!.versionBuilddate.replaceAll("%1", EnvironmentConfig.BUILD_VER).replaceAll("%2", EnvironmentConfig.BUILD_DATE)), ) ]), + Visibility( + visible: EnvironmentConfig.BUILD_VER == dev_version && !Platform.isAndroid, + child: SwitchListTile( + title: Text("Show Semantic Debugger", style: TextStyle(color: settings.current().mainTextColor)), + subtitle: Text("Show Accessibility Debugging View"), + value: settings.useSemanticDebugger, + onChanged: (bool value) { + if (value) { + settings.useSemanticDebugger = value; + } else { + settings.useSemanticDebugger = value; + } + saveSettings(context); + }, + activeTrackColor: settings.theme.defaultButtonActiveColor, + inactiveTrackColor: settings.theme.defaultButtonDisabledColor, + secondary: Icon(Icons.settings_accessibility, color: settings.current().mainTextColor), + )), Visibility( visible: EnvironmentConfig.BUILD_VER == dev_version && !Platform.isAndroid, child: FutureBuilder(