Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
README.md 3.48 KiB
Newer Older
Ricki Hirner's avatar
Ricki Hirner committed

# ICSdroid

Ricki Hirner's avatar
Ricki Hirner committed
Official Web site: https://icsdroid.bitfire.at/ – If you link to ICSdroid, please
use this URL, which is a redirection to the current repository now, but may be a
"real" homepage at some time.
Ricki Hirner's avatar
Ricki Hirner committed

News on Twitter: [@icsdroidapp](https://twitter.com/icsdroidapp)

Ricki Hirner's avatar
Ricki Hirner committed
Help and discussion: [ICSdroid forum](https://icsdroid.bitfire.at/forums)

Ricki Hirner's avatar
Ricki Hirner committed
If you like ICSdroid, please [consider a donation](https://icsdroid.bitfire.at/donate).

ICSdroid is a Android 4.0+ app to subscribe to remote or local iCalendar files (like
Ricki Hirner's avatar
Ricki Hirner committed
time tables of your school/university or event files of your sports team).

Ricki Hirner's avatar
Ricki Hirner committed
It will download the iCalendar file at a certain (free-to-choose) interval
and synchronize them into Android-native read-only calendars which can then used
with your favorite calendar app.
Ricki Hirner's avatar
Ricki Hirner committed

No data (neither login data, nor calendar data, nor statistical or usage data)
is transferred to anywhere except the chosen server. No Google Calendar or
account required.


## How to get it

* [Get it on Google Play](https://play.google.com/store/apps/details?id=at.bitfire.icsdroid)

The source code is available on Gitlab. Pre-built binaries are available on F-Droid.


Ricki Hirner's avatar
Ricki Hirner committed
## How to use

Ricki Hirner's avatar
Ricki Hirner committed
ICSdroid supports

* iCalendar files on the external storage (file:/// URLs)
* iCalendar resources at HTTP/HTTPS URLs

Ricki Hirner's avatar
Ricki Hirner committed
1. Subscribe to .ics calendars by clicking them in your browser (either http[s]://…/xxx.ics or
Ricki Hirner's avatar
Ricki Hirner committed
   webcal[s]:// URLs are supported) or local file manager. As an alternative, you can
   click on "+" in the ICSdroid main activity.
2. Enter a title for the calendar and select a color.
Ricki Hirner's avatar
Ricki Hirner committed
3. In the ICSdroid main activity, you can set your sync interval. Single-tap existing
Ricki Hirner's avatar
Ricki Hirner committed
   calendars to edit/delete them. 
Ricki Hirner's avatar
Ricki Hirner committed
4. Swipe the calendar list to force a synchronization.

Ricki Hirner's avatar
Ricki Hirner committed
Please note:
Ricki Hirner's avatar
Ricki Hirner committed

Ricki Hirner's avatar
Ricki Hirner committed
* User name and password for the calendars are stored in the calendar meta-data. Any
  app with calendar access might be able to read them.
* If you use a privacy guard, take into account that calendar access is necessary
  for ICSdroid to work.
* We have intentionally avoided per-resource sync intervals to keep things simple. Set
  the sync interval to the shortest required period of all your subscriptions.
Ricki Hirner's avatar
Ricki Hirner committed
## Implementation notes
Ricki Hirner's avatar
Ricki Hirner committed

Ricki Hirner's avatar
Ricki Hirner committed
For HTTP(S) resources, ICSdroid uses `ETag`/`If-None-Match` and
`Last-Modified`/`If-Modified-Since` to avoid repeated downloading of unchanged data.

When processing VEVENTs, ICSdroid uses the LAST-MODIFIED property to check whether
a resource (identified by UID) has changed. Only changed resources will be updated
in the calendar.
Ricki Hirner's avatar
Ricki Hirner committed

Ricki Hirner's avatar
Ricki Hirner committed
ICSdroid uses Android's `HttpURLConnection` which doesn't follow redirects to
different protocols (http:// to https:// or vice versa).

Ricki Hirner's avatar
Ricki Hirner committed

## License 

Copyright (C) 2013 – 2015 bitfire web engineering (Ricki Hirner, Bernhard Stockmann).

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome
to redistribute it under the conditions of the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html).

Ricki Hirner's avatar
Ricki Hirner committed
ICSdroid uses these libraries (more information available in the app):

* [Android Color Picker](https://github.com/yukuku/ambilwarna) (Apache License 2.0)
* [Android Support Library](https://developer.android.com/tools/support-library/) (Apache License 2.0)
* [Apache Commons](https://commons.apache.org) (Apache License 2.0)
* [ical4android](https://gitlab.com/bitfireAT/ical4android) (GPLv3)
  * [bnd, OSGI Core](http://bnd.bndtools.org) (Apache License 2.0)
  * [ical4j](https://github.com/ical4j/ical4j) (BSD 3-Clause License)
  * [slf4j](http://www.slf4j.org) (MIT License)