46 lines
2 KiB
Markdown
46 lines
2 KiB
Markdown
### goals
|
|
|
|
1. Get git-annex working at the command line in Android,
|
|
along with all the programs it needs, and the assistant. **done**
|
|
2. Deal with crippled filesystem; no symlinks; etc. **done**
|
|
3. Get an easy to install Android app built. **done**
|
|
4. Get the webapp working. Needs Template Haskell, or
|
|
switching to <http://www.yesodweb.com/blog/2012/10/yesod-pure>.
|
|
5. 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>.
|
|
|
|
### Android specific features
|
|
|
|
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.
|
|
|
|
## Template Haskell for android?
|
|
|
|
Best lead I have on getting cross compilation of TH working is that GHCJS
|
|
does it, and that it involves compiling each file twice, once natively for
|
|
TH and once for cross.
|
|
|
|
## TODO
|
|
|
|
* webapp
|
|
* autostart any configured assistants. Best on boot, but may need to only
|
|
do it when app is opened for the first time.
|
|
* Don't make app initially open terminal, but go to a page that
|
|
allows opening the webapp or terminal.
|
|
* 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.
|
|
* Enable WebDAV support. Currently needs template haskell (could be avoided
|
|
by changing the DAV library to not use it), and also networking support,
|
|
which seems broken in current ghc-android.
|
|
* Get test suite to pass. Current failure is because `git fetch` is somehow
|
|
broken with local repositories.
|