Task #1939
automatically detect and sync to ChatSecure
Status: | Closed | Start date: | 09/24/2013 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | hans | % Done: | 0% | |
Category: | - | |||
Target version: | 0.2 | |||
Component: |
Description
In order to make the ChatSecure syncing automatic, KeySync needs to detect MTP mounts, which are the way that Android 4.x devices present themselves to the OS. Then when it detects an MTP mount, it should automatically copy the ChatSecure otr_keystore.ofcaes
file into place there.
Related issues
Associated revisions
chatsecure: functions for detecting and copying to MTP mounts
This current functionality relies on GNOME's gvfs to mount the MTP device,
which is does automatically by default when an MTP device is plugged in.
For other OSes and GNU/Linux that doesn't use gvfs, a different approach is
required.
refs #1939
chatsecure: functions for detecting and copying to MTP mounts
This current functionality relies on GNOME's gvfs to mount the MTP device,
which is does automatically by default when an MTP device is plugged in.
For other OSes and GNU/Linux that doesn't use gvfs, a different approach is
required.
refs #1939
make simple copy function that plays nice with MTP
This is simple like shutil.copy(), but doesn't try to set perms or file
times, since MTP can be more limited.
refs #1939
make simple copy function that plays nice with MTP
This is simple like shutil.copy(), but doesn't try to set perms or file
times, since MTP can be more limited.
refs #1939
make function to easily make backups of conffiles, for safe replacement
In order for KeySync to automatically sync, it needs to overwrite an app's
conf files. This function can be run before overwriting any conf file so
that there is always a backup.
refs #1939
make function to easily make backups of conffiles, for safe replacement
In order for KeySync to automatically sync, it needs to overwrite an app's
conf files. This function can be run before overwriting any conf file so
that there is always a backup.
refs #1939
keysync-gui: constantly check whether the Android device is available
This allows the GUI to represent the available actions based on whether
the Android device is currently attached or not. It also provides clear
feedback when the user plugs the Android device in (the GUI changes).
keysync-gui: constantly check whether the Android device is available
This allows the GUI to represent the available actions based on whether
the Android device is currently attached or not. It also provides clear
feedback when the user plugs the Android device in (the GUI changes).
keysync-gui: detect if pymtp is available, and use it if its there
Before, pymtp was only used on Mac OS X, which has no MTP support. But it
turns out to be useful on GNU/Linux as well. Sometimes gvfs FUSE mounting
fails to be available, but then the MTP send_file_from_file still works.
refs #1939
support pymtp v0.0.6, which has essential bug fixes
refs #1939
keysync-gui: detect if pymtp is available, and use it if its there
Before, pymtp was only used on Mac OS X, which has no MTP support. But it
turns out to be useful on GNU/Linux as well. Sometimes gvfs FUSE mounting
fails to be available, but then the MTP send_file_from_file still works.
refs #1939
support pymtp v0.0.6, which has essential bug fixes
refs #1939
History
#1 Updated by hans over 4 years ago
- Subject changed from detect Android device via MTP mount, and copy otr_keystore.ofcaes to it to automatically detect and sync to ChatSecure
#2 Updated by hans over 4 years ago
This now works on GNOME via GNOME's gvfs
, which automatically mounts MTP devices to ~/.gvfs/mtp
. For Mac OS X, there is no MTP support until Mac OS X 10.8 (anyone know how it works?). For 10.6 and 10.7, we can use libmtp. The good news is that the official Google Android File Transfer app for Mac OS X uses libmtp, the bad news is its a pain to build on Mac OS X. Then we can use pymtp in keysync, its a ctypes wrapper of libmtp.
For Windows, we might need to use something like wmdlib but libmtp might work on Windows too.
#3 Updated by hans about 4 years ago
- Target version set to 0.2
#4 Updated by hans about 4 years ago
- Status changed from In Progress to Closed
- Assignee set to hans
This is working for GNU/Linux and Mac OS X, and we have a temp workaround for Windows, so I'm closing this one. There is a separate ticket to complete the Windows support.