git-annex/doc/design/assistant/android.mdwn
Joey Hess b6d46c212e git-annex (5.20140402) unstable; urgency=medium
* unannex, uninit: Avoid committing after every file is unannexed,
    for massive speedup.
  * --notify-finish switch will cause desktop notifications after each
    file upload/download/drop completes
    (using the dbus Desktop Notifications Specification)
  * --notify-start switch will show desktop notifications when each
    file upload/download starts.
  * webapp: Automatically install Nautilus integration scripts
    to get and drop files.
  * tahoe: Pass -d parameter before subcommand; putting it after
    the subcommand no longer works with tahoe-lafs version 1.10.
    (Thanks, Alberto Berti)
  * forget --drop-dead: Avoid removing the dead remote from the trust.log,
    so that if git remotes for it still exist anywhere, git annex info
    will still know it's dead and not show it.
  * git-annex-shell: Make configlist automatically initialize
    a remote git repository, as long as a git-annex branch has
    been pushed to it, to simplify setup of remote git repositories,
    including via gitolite.
  * add --include-dotfiles: New option, perhaps useful for backups.
  * Version 5.20140227 broke creation of glacier repositories,
    not including the datacenter and vault in their configuration.
    This bug is fixed, but glacier repositories set up with the broken
    version of git-annex need to have the datacenter and vault set
    in order to be usable. This can be done using git annex enableremote
    to add the missing settings. For details, see
    http://git-annex.branchable.com/bugs/problems_with_glacier/
  * Added required content configuration.
  * assistant: Improve ssh authorized keys line generated in local pairing
    or for a remote ssh server to set environment variables in an
    alternative way that works with the non-POSIX fish shell, as well
    as POSIX shells.

# imported from the archive
2014-04-02 21:42:53 +01:00

42 lines
2.1 KiB
Markdown

The Android port is just about usable. Still, we have some fun todo items
to improve it.
## high-priority TODO
* [[bugs/Android_app_permission_denial_on_startup]]
* S3 doesn't work (at least to Internet Archive:
"connect: does not exist (connection refused)")
* Get app into Google Play and/or FDroid
## TODO
* Don't make app initially open terminal + webapp, but go to a page that
allows opening the webapp or terminal.
Possibly, switch from running inside terminal app to real standalone app.
See <https://github.com/neurocyte/android-haskell-activity>
and <https://github.com/neurocyte/foreign-jni>.
* I have seen an assistant thread crash with an interrupted system call
when the device went to sleep while it was running. Auto-detect and deal with
that somehow.
* Make git stop complaining that "warning: no threads uspport, ignoring --threads"
* git does not support http remotes. To fix, need to port libcurl and
allow git to link to it.
* getEnvironment is broken on Android <https://github.com/neurocyte/ghc-android/issues/7>
and a few places use it. I have some horrible workarounds in place.
* Get local pairing to work. network-multicast and network-info don't
currently install.
* Get test suite to pass. `git clone` of a local repo fails on android
for some reason.
* Make app autostart on boot, optionally. <http://stackoverflow.com/questions/1056570/how-to-autostart-an-android-application>
* The app should be aware of power status, and avoid expensive background
jobs when low on battery or run flat out when plugged in.
* The app should be aware of network status, and avoid expensive data
transfers when not on wifi. This may need to be configurable.
* glacier and local pairing are not yet enabled for Android.
* The "Files" link doesn't start a file browser. Should be possible to do
on Android via intents, I suppose?
* Adding removable drives would work, but the android app is not in the
appropriate group to write to them. `WRITE_MEDIA_STORAGE` permission
needed. Added to AndroidManifest, but did not seem to be used.
Googleing for it will find a workaround that needs a rooted device.