add LICENSE file
[headphoneindicator.git] / README.rst
1 *******************
2 Headphone indicator
3 *******************
4 Android app that shows a notification icon in the status bar when
5 headphones are plugged into the phone.
6
7 The app aims to be a tiny as possible.
8
9 Runs on Android 4.4+.
10
11
12 =====
13 Usage
14 =====
15 After installation_, you have to start the application `at least once`__.
16 Then it will be running as a background service that shows the headset
17 status icon whenever the headphones are plugged in.
18
19 You can close the app, and the status icon will still work - even after
20 rebooting your phone.
21
22 __ http://stackoverflow.com/a/8535062/282601
23
24
25 ===================
26 Why was it written?
27 ===================
28 I wrote the headphone indicator app because I was immensely unsatisfied
29 with apps like `susomena's Headphones Indicator`__ which are over
30 2 MiB in size, but 99% of their code is only related to advertisement.
31
32 My task was to show that you can make it much, much better.
33
34 __ https://play.google.com/store/apps/details?id=com.susomena.headphonesindicator
35
36
37 ============
38 Installation
39 ============
40 You have several installation options:
41
42 #. Install from `F-Droid`__
43 #. Pay on `Google Play`__
44 #. Download ``.apk`` from `Github`__
45 #. `Build it yourself <#building>`_
46
47 __ https://f-droid.org/repository/browse/?fdid=de.cweiske.headphoneindicator
48 __ https://play.google.com/store/apps/details?id=de.cweiske.headphoneindicator
49 __ https://github.com/cweiske/headphoneindicator/releases
50
51
52 ========
53 Building
54 ========
55 ::
56
57     $ gradle build
58
59 Note that AndroidStudio 1.5.1 does not detect the gradle configuration correctly
60 and produces ``.apk`` files much larger than necessary, with duplicated files.
61
62 ``gradle`` on command line does it correctly, though.
63
64
65 Releasing
66 =========
67 Build it normally, then sign the generated package file::
68
69     $ gradle assembleRelease
70
71 To sign the release with your key, put the path to the signing configuration
72 file into ``gradle.properties``::
73
74     signingconfigfile=/path/to/signing-config.gradle
75
76 The signing configuration file should look like shown in
77 `Handling signing configs with Gradle`__
78
79 __ https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/
80
81
82 Dependencies
83 ============
84 * gradle 2.12 (earlier will probably work, too)
85 * Android SDK 19
86
87
88 =========================
89 About headphone indicator
90 =========================
91
92 Source code
93 ===========
94 Headphone indicators's source code is available from
95 http://git.cweiske.de/headphoneindicator.git
96 or the `mirror on github`__.
97
98 __ https://github.com/cweiske/headphoneindicator
99
100
101 License
102 =======
103 Headphone indicator is licensed under the `GPL v3 or later`__.
104
105 __ http://www.gnu.org/licenses/gpl.html
106
107
108 Author
109 ======
110 Headphone indicator was written by `Christian Weiske`__.
111
112 __ http://cweiske.de/
113