Move triple-t meta data into main flavor subdir
[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 Shows a different icon when a headset is attached.
8 Both 3.5mm audio jack devices and USB headphones/headsets are supported.
9
10 The app aims to be a tiny as possible.
11
12 Runs on Android 4.4+.
13
14
15 =====
16 Usage
17 =====
18 After installation_, you have to start the application `at least once`__.
19 Then it will be running as a background service that shows the headset
20 status icon whenever the headphones are plugged in.
21
22 You can close the app, and the status icon will still work - even after
23 rebooting your phone.
24
25 __ http://stackoverflow.com/a/8535062/282601
26
27
28 ===================
29 Why was it written?
30 ===================
31 I wrote the headphone indicator app because I was immensely unsatisfied
32 with apps like `susomena's Headphones Indicator`__ which are over
33 2 MiB in size, but 99% of their code is only related to advertisement.
34
35 My task was to show that you can make it much, much better.
36
37 __ https://play.google.com/store/apps/details?id=com.susomena.headphonesindicator
38
39
40 ============
41 Installation
42 ============
43 You have several installation options:
44
45 #. Install from `F-Droid`__
46 #. Pay on `Google Play`__
47 #. Download ``.apk`` from `Github`__
48 #. `Build it yourself <#building>`_
49
50 __ https://f-droid.org/repository/browse/?fdid=de.cweiske.headphoneindicator
51 __ https://play.google.com/store/apps/details?id=de.cweiske.headphoneindicator
52 __ https://github.com/cweiske/headphoneindicator/releases
53
54
55 ========
56 Building
57 ========
58 ::
59
60     $ ./gradlew build
61
62
63 Releasing
64 =========
65 Modify the version in ``AndroidManifest.xml```.
66
67 Disable resource file optimization in ``gradle.properties``:
68
69     android.enableResourceOptimizations=false
70
71 Build it normally, then sign the generated package file::
72
73     $ gradle assembleRelease
74
75 To sign the release with your key, put the path to the signing configuration
76 file into ``gradle.properties``::
77
78     signingconfigfile=/path/to/signing-config.gradle
79
80 The signing configuration file should look like shown in
81 `Handling signing configs with Gradle`__
82
83 __ https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/
84
85
86 Dependencies
87 ============
88 * gradle 8.5.2 (earlier will probably work, too)
89 * Android SDK 34 (compiles for SDK 19 - Android 4.4)
90
91
92 Meta data
93 =========
94 The code repository contains the meta data needed for the Google Play store:
95 Text, icons, screenshots.
96
97 They follow the `Triple-T gradle publisher`__, which are also
98 `ingested by F-Droid`__.
99
100 The meta data directory is ``src/main/play/`` - with ``main`` even though
101 this app has no flavors, but it's `required by f-droid`__.
102
103 __ https://github.com/Triple-T/gradle-play-publisher
104 __ https://f-droid.org/en/docs/FAQ_-_App_Developers/#how-do-i-change-the-description-and-add-meta-information-like-screenshots
105 __ https://gitlab.com/fdroid/fdroiddata/-/issues/3447
106
107
108 =========================
109 About headphone indicator
110 =========================
111
112 Source code
113 ===========
114 Headphone indicators's source code is available from
115 http://git.cweiske.de/headphoneindicator.git
116 or the `mirror on github`__.
117
118 __ https://github.com/cweiske/headphoneindicator
119
120
121 License
122 =======
123 Headphone indicator is licensed under the `GPL v3 or later`__.
124
125 __ http://www.gnu.org/licenses/gpl.html
126
127
128 Author
129 ======
130 Headphone indicator was written by `Christian Weiske`__.
131
132 __ http://cweiske.de/