forked from cwtch.im/cwtch-ui
Initial Commit of Fastlane + Debug Accessibiltiy Views
This commit is contained in:
parent
af3c6940bd
commit
47e26f18fc
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
After Width: | Height: | Size: 381 KiB |
Binary file not shown.
After Width: | Height: | Size: 204 KiB |
Binary file not shown.
After Width: | Height: | Size: 346 KiB |
Binary file not shown.
After Width: | Height: | Size: 177 KiB |
|
@ -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/
|
|
@ -0,0 +1 @@
|
|||
Metadata resistant privacy platform designed to help you resist surveillance
|
|
@ -0,0 +1 @@
|
|||
Cwtch
|
|
@ -0,0 +1 @@
|
|||
https://cwtch.im/cwtch-explainer.mp4
|
|
@ -132,6 +132,7 @@ class FlwtchState extends State<Flwtch> with WindowListener {
|
|||
],
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
title: 'Cwtch',
|
||||
showSemanticsDebugger: settings.useSemanticDebugger,
|
||||
theme: mkThemeData(settings),
|
||||
home: (!appState.cwtchInit || appState.modalState != ModalState.none) ? SplashView() : ProfileMgrView(),
|
||||
),
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -472,6 +472,24 @@ class _GlobalSettingsViewState extends State<GlobalSettingsView> {
|
|||
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(
|
||||
|
|
Loading…
Reference in New Issue