This commit is contained in:
ByteHamster 2019-11-09 01:07:13 +01:00
parent d9e122f6d2
commit 57900be16e
14 changed files with 172 additions and 1022 deletions

View File

@ -1,194 +1,174 @@
DEVELOPERS danieloeh
========== mfietz
TomHennen
Alan Orth
Alexander Terczka
Alexei Bendebury
Ali
alifeflow
alimemonzx
amhokies
Anders Bo Rasmussen
Anderson Mesquita
Andrew Gaul
Andrey Krutov
Anthony Lieuallen
axq
bhlee
Borjan Tchakaloff
brad
Brad Pitcher
Burt Wiley Snyder
ByteHamster ByteHamster
Cameron Banga orionlee
Christian Ludwig domingos86
Christopher Szucko andersonvom
Cj Malone patheticpat
Colin Willson spacecowboy
Cédric Cabessa brad
damoasda Cj-Malone
Danial Klimkin gaul
Daniel Oeh
David Carver
David Reiss
Dean Brettle
dethstar
Dirk Mueller
Domingos Lopes
drabux
egsavage
EirikV
Eoin Mcloughlin
eraymond
Ercan Erden
falko
Falko Lehmann
Hannes Achleitner
hannesa2
Hanno Zulla
heckler01
Holger Jeromin
Humberto Fraga
InsidE
James Falcon
Jan Niehusmann
Jan-Peter von Hunnius
Jatin Kumar
Jens Klingenberg
Jens Müller
Joe Stein
Johan Liesén
Kaligule
Katrin Leinweber
Kevin Dalley
Koen Glotzbach
kroegerama
Kurian Vithayathil
LatinSuD
Lee Yeong Khang
lightonflux
ligi
Luis Cruz
Marc Lasson
Martin Fietz
Martin Olsson
mat tso
mateoeh
Matias de Andrea
Matthew Gaffen
Matthias Schütz
Matthieu De Beule
Maurice Gilden
Meir Schwarz
Michael Kaiser
Michael Scarito
Mike Chelen
minusf
MolarAmbiguity
Mostafa Ahangarha
Mounir Lamouri
mr-intj
Nathan Mascitelli
Nis Wechselberg
Oliver Crow
orelogo
pachecosf
Paul Ortyl
Petar Kukolj
qkolj qkolj
Raghul pachecosf
Raghul Jagannathan ahangarha
recalculated rharriso
rezanejati xgouchet
Ross Harrison damoasda
Sam Lee
Sam Whited
saqura
Selivanov Pavel
Serge
Seth Golub
sevenmaster sevenmaster
Shantana Hardy TheRealFalcon
Shinichiro Fujiwara keunes
Simon Danner shortspider
Simon Rutishauser hannesa2
Simon Schubert jas14
Soso Tughushi udif
Spencer Visick dirkmueller
Stefan Mitrik jatinkumarg
Stephen Kitt peschmae0
Terence Eden orelogo
Tim Butram
Tobias Preuss
Tom Hennen
Tom Tom
tommy watson
tuxayo
twiceyuan
Udi Finkelstein
VarunBarad
volhol
Volker Hollich
Wagubi Brian
WangYun
William Seemann
ydinath ydinath
CedricCabessa
mchelen
TRANSLATORS johnjohndoe
=========== dethstar
drabux
saqura
bibz
hzulla
deandreamatias
MeirAtIMDDE
egsavage
ligi
dreiss
liesen
nereocystis
rezanejati
twiceyuan
HaBaLeS
volhol
CameronBanga
HolgerJeromin
xisberto
jmue
katrinleinweber
LatinSuD
24hours
SosoTughushi
fabolhak
archibishop
alifeflow
toggles
matdb
kingargyle
dsmith47
hannesaa2
jhunnius
ShadowIce
raghulj
raghulrm
stevomit
skitt
mr-intj
tuxayo
alimemonzx
alanorth
alexte
andrey-krutov
arantius
bws9000
chrissicool
cszucko
CWftw
danielm5
ariedov
brettle
eirikv
eerden
jannic
Foso
Kaligule
kvithayathil
luiscruz
mlasson
M-arcel
mo
mdeveloper20
mschuetz
MolarAmbiguity
mounirlamouri
ortylp
PtilopsisLeucotis
SamWhited
selivan
sonnayasomnambula
sethoscope
shantanahardy
mamehacker
danners
corecode
vimsick
edent
atrus6
waylife
wseemann
amhokies
axq
fossterer
lightonflux
minusf
Arabic: abdelrahman.fahem93, abdunnasir, abuzar3.khalid, desha, iDemo, mohamedagamy, msahouli, nabilMaghura Arabic: abdelrahman.fahem93, abdunnasir, abuzar3.khalid, desha, iDemo, mohamedagamy, msahouli, nabilMaghura
Asturian (Spain): enolp Asturian (ast_ES): enolp
Azerbaijani: danieloeh, kotfenix Azerbaijani: danieloeh, kotfenix
Basque: gaztainalde, pospolos, zakurranputza
Bulgarian: solusitor Bulgarian: solusitor
Catalan: dvd1985, exort12, javiercoll, lambdani, marcmetallextrem, xc70 Catalan: dvd1985, exort12, javiercoll, lambdani, marcmetallextrem, xc70
Catalan (Spain): 00c0c0, javiercoll Catalan (ca_ES): 00c0c0, javiercoll
Chinese: dillonbecker, RainSlide, xukeek, yangyang Chinese: dillonbecker, RainSlide, xukeek, yangyang
Chinese (China): bebeauties38, domingos86, dudeG, ErlichLiu, Felix2yu, gaohongyuan, Guaidaodl, Huck0, iconteral, JayYoung, jhxie, kavdx, kyleehee, linxiangyu, molisiye, owen8877, RainSlide, Sak94664, spice2wolf, stellaxuyi, tupunco, wi24rd, wongsyrone, xukeek, yangyang, yiqiok, YogaGuru Chinese (zh_CN): bebeauties38, cyril3, domingos86, dudeG, ErlichLiu, Felix2yu, gaohongyuan, Guaidaodl, Huck0, iconteral, JayYoung, jhxie, kavdx, kyleehee, linxiangyu, molisiye, owen8877, RainSlide, Sak94664, spice2wolf, stellaxuyi, tupunco, wi24rd, wongsyrone, xukeek, yangyang, yiqiok, YogaGuru
Chinese (Taiwan): gugod, nigelinux, pggdt, ymhuang0808 Chinese (zh_TW): gugod, nigelinux, pggdt, Solomon, ymhuang0808
Czech (Czech Republic): elich, Hanzmeister, mcepl, petnek, svetlemodry Czech (cs_CZ): anotheranonymoususer, elich, Hanzmeister, mcepl, petnek, svetlemodry
Danish: CasperHN, jhertel Danish: CasperHN, jhertel
Dutch: e2jk, glotzbach, rwv, Vistaus Dutch: e2jk, glotzbach, rwv, Vistaus
English: mfietz, sterylmreep English: mfietz, sterylmreep
Estonian: Eraser Estonian: Eraser
Finnish: danieloeh, elguitar, Sahtor Finnish: danieloeh, elguitar, Sahtor
French: cactux, ChaoticMind, clombion, e2jk, lacouture, LouFex, Matth78, mfietz, Poussinou, PRIMOKORN, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow French: cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
Galician: antiparvos, pikamoku, Raichely Galician: antiparvos, pikamoku, Raichely
German: 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid German: 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ByteHamster, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
Greek: antonist, danieloeh, hua2016s, MSavoritias, pavlosv Modern Greek (1453-): antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv
Hebrew (Israel): amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11 Hebrew (he_IL): amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
Hindi (India): ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar Hindi (hi_IN): ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar
Hungarian: glatz.balazs, hurrikan, lna91, marthynw, naren93, tszauer, ttyborg42 Hungarian: glatz.balazs, hurrikan, lna91, marthynw, meskobalazs, naren93, tszauer, ttyborg42
Icelandic: marthjod Icelandic: marthjod
Indonesian: jff, levirs565, luke137, rezafaiza, silvanael16 Indonesian: jff, levirs565, luke137, rezafaiza, silvanael16
Italian: aalex70, allin, apanontin, Bonnee, giuseppep, Guybrush88, marco_pag, neonsoftware, sevenmaster, theloca95 Italian: aalex70, allin, apanontin, Bonnee, giuseppep, Guybrush88, marco_pag, neonsoftware, sevenmaster, theloca95
Italian (Italy): aalex70, allin, apanontin, Bonnee, buongiorgio, giuseppep, Guybrush88, m.chinni, neonsoftware, niccord, nixxo, sevenmaster, theloca95 Italian (it_IT): aalex70, allin, apanontin, Bonnee, buongiorgio, giuseppep, Guybrush88, ilmanzo, m.chinni, neonsoftware, niccord, nixxo, sevenmaster, theloca95
Japanese: Naofumi, RACER1, sh3llc4t, TranslatorG Japanese: Naofumi, RACER1, sh3llc4t, TranslatorG
Kannada (India): thejeshgn Kannada (kn_IN): chiraag.nataraj, thejeshgn
Korean: changwoo, libliboom, seungrye, skcha Korean: changwoo, libliboom, seungrye, skcha
Korean (South Korea): changwoo, seungrye Korean (ko_KR): changwoo, seungrye
Lithuanian: naglis Lithuanian: naglis
Macedonian: krisfremen Macedonian: krisfremen
Malayalam: rashivkp, rubenroy Malayalam: joice, rashivkp, rubenroy
Norwegian: timbast Norwegian: timbast
Norwegian Bokmål: corkie, danieloeh, heraldo Norwegian Bokmål: corkie, danieloeh, heraldo
Norwegian Bokmål (Norway): corkie, heraldo, kongk, timbast Norwegian Bokmål (nb_NO): corkie, heraldo, kongk, timbast
Persian: ahangarha, F7D, sinamoghaddas Persian: ahangarha, F7D, sinamoghaddas
Polish: Iwangelion, maniexx, mateossh, mfloryan Polish: Iwangelion, maniexx, mateossh, mfloryan
Polish (Poland): d6210809, hiro2020, Iwangelion, lomapur, mandlus, maniexx, Mephistofeles, shark103, tyle Polish (pl_PL): d6210809, hiro2020, Iwangelion, kRkk, lomapur, mandlus, maniexx, Mephistofeles, shark103, tyle
Portuguese: andersonvom, domingos86, emansije, smarquespt Portuguese: andersonvom, domingos86, emansije, smarquespt
Portuguese (Brazil): alexupits, alysonborges, andersonvom, arua, caioau, carlo_valente, castrors, deandreamatias, edman, Firmino, jackmiras, Junin, lipefire, lluccia, lucasmotacr, mbaltar, rogervezaro, RubeensVinicius, SamWilliam, silvanael16 Portuguese (pt_BR): alexupits, alysonborges, andersonvom, arua, caioau, carlo_valente, castrors, deandreamatias, edman, Firmino, jackmiras, Junin, lipefire, lluccia, lucasmotacr, mbaltar, rogervezaro, RubeensVinicius, SamWilliam, silvanael16
Romanian (Romania): corneliu.e, fuzzmz, ralienpp Romanian (ro_RO): corneliu.e, fuzzmz, ralienpp
Russian (Russia): astra1, btimofeev, Duke_Raven, gammja, GaynullinDima, MegMasters98, mercutiy, null, overmind88, PtilopsisLeucotis, s.chebotar, shams4real, skvheadless, un_logic, Vladryyu, whereisthetea, zhenya97 Russian (ru_RU): astra1, btimofeev, Duke_Raven, gammja, GaynullinDima, MegMasters98, mercutiy, null, overmind88, PtilopsisLeucotis, s.chebotar, shams4real, skvheadless, un_logic, Vladryyu, whereisthetea, zhenya97
Slovenian (Slovenia): panter23 Slovenian (sl_SI): panter23
Spanish: AleksSyntek, andersonvom, coperfix, deandreamatias, domingos86, dvd1985, Fitoschido, frandavid100, hard_ware, javiercoll, Juanmuto, lambdani, LatinSuD, leogrignafini, palopezv, TacoTheDank, tres.14159, wakutiteo Spanish: AleksSyntek, andersonvom, Atreyu94, coperfix, deandreamatias, domingos86, dvd1985, Fitoschido, frandavid100, hard_ware, javiercoll, Juanmuto, lambdani, LatinSuD, leogrignafini, palopezv, TacoTheDank, tres.14159, wakutiteo
Spanish (Spain): andersonvom, dvd1985, e2jk, frandavid100, hard_ware, palopezv, Raichely, TacoTheDank Spanish (es_ES): andersonvom, dvd1985, e2jk, frandavid100, hard_ware, palopezv, Raichely, TacoTheDank
Swahili: kmtra Swahili (macrolanguage): kmtra
Swahili (Kenya): BonfaceKilz Swahili (macrolanguage) (sw_KE): BonfaceKilz
Swedish (Sweden): albin.brantin, Bio, bpnilsson, ChaoticMind, jony08, nilso, SharpMelon, TiloWiklund, TwoD Swedish (sv_SE): albin.brantin, Bio, bpnilsson, ChaoticMind, jony08, nilso, SharpMelon, TiloWiklund, TwoD
Telugu: Isaasu, veeven Telugu: Isaasu, veeven
Turkish: basarancaner, brsata, Erdy, golcuk, overbite, Slsdem Turkish: basarancaner, brsata, Erdy, golcuk, overbite, Slsdem
Ukrainian (Ukraine): older, paul_sm, sergiyr, zhenya97 Ukrainian (uk_UA): older, paul_sm, sergiyr, zhenya97
Vietnamese: abnvolk, nguyenvui, ppanhh, vietnamesel10n Vietnamese: abnvolk, nguyenvui, ppanhh, vietnamesel10n
Vietnamese (Vietnam): bizover Vietnamese (vi_VN): bizover

View File

@ -187,18 +187,7 @@ if (project.hasProperty("antennaPodServiceAccountEmail")) {
} }
} }
task filterAbout(type: Copy) { task copyLicense(type: Copy) {
from "src/main/templates/about.html"
into "src/main/assets"
filter(ReplaceTokens, tokens: [
versionname: android.defaultConfig.versionName,
commit : "git rev-parse --short HEAD".execute().text,
year : new Date().format('yyyy')])
outputs.upToDateWhen { false }
}
task copyTextFiles(type: Copy) {
from "../CONTRIBUTORS"
from "../LICENSE" from "../LICENSE"
into "src/main/assets/" into "src/main/assets/"
rename { String fileName -> rename { String fileName ->
@ -207,5 +196,5 @@ task copyTextFiles(type: Copy) {
outputs.upToDateWhen { false } outputs.upToDateWhen { false }
} }
preBuild.dependsOn filterAbout, copyTextFiles preBuild.dependsOn copyLicense

View File

@ -127,8 +127,3 @@
-dontwarn java.lang.management.ManagementFactory -dontwarn java.lang.management.ManagementFactory
-dontwarn java.lang.management.ThreadInfo -dontwarn java.lang.management.ThreadInfo
-dontwarn java.lang.management.ThreadMXBean -dontwarn java.lang.management.ThreadMXBean
# About screen teaser in html view
-keep class de.danoeh.antennapod**.R$drawable {
public int teaser;
}

View File

@ -140,14 +140,6 @@
<activity android:name=".activity.StorageErrorActivity"> <activity android:name=".activity.StorageErrorActivity">
</activity> </activity>
<activity
android:name=".activity.AboutActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/about_pref">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="de.danoeh.antennapod.activity.PreferenceActivity"/>
</activity>
<activity <activity
android:name=".activity.ImportExportActivity" android:name=".activity.ImportExportActivity"
android:label="@string/import_export"> android:label="@string/import_export">

View File

@ -16,7 +16,7 @@ Estonian;Eraser
Finnish;danieloeh, elguitar, Sahtor Finnish;danieloeh, elguitar, Sahtor
French;cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow French;cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
Galician;antiparvos, pikamoku, Raichely Galician;antiparvos, pikamoku, Raichely
German;112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid German;112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ByteHamster, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
Modern Greek (1453-);antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv Modern Greek (1453-);antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv
Hebrew (he_IL);amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11 Hebrew (he_IL);amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
Hindi (hi_IN);ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar Hindi (hi_IN);ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar
1 Arabic abdelrahman.fahem93, abdunnasir, abuzar3.khalid, desha, iDemo, mohamedagamy, msahouli, nabilMaghura
16 Finnish danieloeh, elguitar, Sahtor
17 French cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
18 Galician antiparvos, pikamoku, Raichely
19 German 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ByteHamster, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
20 Modern Greek (1453-) antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv
21 Hebrew (he_IL) amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
22 Hindi (hi_IN) ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar

View File

@ -1,158 +0,0 @@
package de.danoeh.antennapod.activity;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import de.danoeh.antennapod.core.util.IntentUtils;
import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* Displays the 'about' screen
*/
public class AboutActivity extends AppCompatActivity {
private static final String TAG = AboutActivity.class.getSimpleName();
private WebView webView;
private LinearLayout webViewContainer;
private Disposable disposable;
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme());
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayShowHomeEnabled(true);
setContentView(R.layout.about);
webViewContainer = findViewById(R.id.webViewContainer);
webView = findViewById(R.id.webViewAbout);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
webView.setBackgroundColor(Color.TRANSPARENT);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("http")) {
IntentUtils.openInBrowser(AboutActivity.this, url);
return true;
} else {
url = url.replace("file:///android_asset/", "");
loadAsset(url);
return true;
}
}
});
loadAsset("about.html");
}
private void loadAsset(String filename) {
disposable = Single.create(subscriber -> {
InputStream input = null;
try {
TypedArray res = AboutActivity.this.getTheme().obtainStyledAttributes(
new int[] { R.attr.about_screen_font_color, R.attr.about_screen_background,
R.attr.about_screen_card_background, R.attr.about_screen_card_border});
String fontColor = String.format("#%06X", 0xFFFFFF & res.getColor(0, 0));
String backgroundColor = String.format("#%06X", 0xFFFFFF & res.getColor(1, 0));
String cardBackground = String.format("#%06X", 0xFFFFFF & res.getColor(2, 0));
String cardBorder = String.format("#%06X", 0xFFFFFF & res.getColor(3, 0));
res.recycle();
input = getAssets().open(filename);
String webViewData = IOUtils.toString(input, Charset.defaultCharset());
if (!webViewData.startsWith("<!DOCTYPE html>")) {
webViewData = webViewData.replace("%", "&#37;");
webViewData =
"<!DOCTYPE html>" +
"<html>" +
"<head>" +
" <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">" +
" <style type=\"text/css\">" +
" @font-face {" +
" font-family: 'Roboto-Light';" +
" src: url('file:///android_asset/Roboto-Light.ttf');" +
" }" +
" * {" +
" color: @fontcolor@;" +
" font-family: roboto-Light;" +
" font-size: 8pt;" +
" }" +
" </style>" +
"</head><body><p>" + webViewData + "</p></body></html>";
webViewData = webViewData.replace("\n", "<br/>");
}
webViewData = webViewData.replace("@fontcolor@", fontColor);
webViewData = webViewData.replace("@background@", backgroundColor);
webViewData = webViewData.replace("@card_background@", cardBackground);
webViewData = webViewData.replace("@card_border@", cardBorder);
subscriber.onSuccess(webViewData);
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
subscriber.onError(e);
} finally {
IOUtils.closeQuietly(input);
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
webViewData ->
webView.loadDataWithBaseURL("file:///android_asset/", webViewData.toString(), "text/html", "utf-8", "file:///android_asset/" + filename.toString()),
error -> Log.e(TAG, Log.getStackTraceString(error))
);
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (disposable != null) {
disposable.dispose();
}
if (webViewContainer != null && webView != null) {
webViewContainer.removeAllViews();
webView.destroy();
}
}
}

View File

@ -31,7 +31,7 @@ public class AboutDevelopersFragment extends ListFragment {
developersLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> { developersLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
ArrayList<SimpleIconListAdapter.ListItem> developers = new ArrayList<>(); ArrayList<SimpleIconListAdapter.ListItem> developers = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader( BufferedReader reader = new BufferedReader(new InputStreamReader(
getContext().getAssets().open("developers.txt"))); getContext().getAssets().open("developers.csv")));
String line; String line;
while ((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
String[] info = line.split(";"); String[] info = line.split(";");

View File

@ -31,7 +31,7 @@ public class AboutTranslatorsFragment extends ListFragment {
translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> { translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
ArrayList<SimpleIconListAdapter.ListItem> translators = new ArrayList<>(); ArrayList<SimpleIconListAdapter.ListItem> translators = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader( BufferedReader reader = new BufferedReader(new InputStreamReader(
getContext().getAssets().open("translators.txt"))); getContext().getAssets().open("translators.csv")));
String line; String line;
while ((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
String[] info = line.split(";"); String[] info = line.split(";");

View File

@ -7,7 +7,6 @@ import androidx.preference.PreferenceFragmentCompat;
import com.bytehamster.lib.preferencesearch.SearchConfiguration; import com.bytehamster.lib.preferencesearch.SearchConfiguration;
import com.bytehamster.lib.preferencesearch.SearchPreference; import com.bytehamster.lib.preferencesearch.SearchPreference;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.AboutActivity;
import de.danoeh.antennapod.activity.BugReportActivity; import de.danoeh.antennapod.activity.BugReportActivity;
import de.danoeh.antennapod.activity.PreferenceActivity; import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.core.util.IntentUtils; import de.danoeh.antennapod.core.util.IntentUtils;

View File

@ -1,183 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style type="text/css">
@font-face {
font-family: 'Roboto-Light';
src: url('file:///android_asset/Roboto-Light.ttf');
}
html, body {
background: @background@;
margin: 0;
padding: 0;
}
* {
color: @fontcolor@;
font-family: roboto-Light;
font-size: 12pt;
}
img#logo {
display: block;
margin-left: auto;
margin-right: auto;
max-height: 200px;
max-height: 50vh;
max-width: 100%;
height: auto;
width: auto;
}
div#logobackground{
width: 100%;
background: #42a5f5;
}
.card {
background: @card_background@;
margin: 10px;
padding: 10px;
border: 1px solid @card_border@;
border-top-width: 0;
border-bottom-width: 2px;
}
h1 {
font-size: 15pt;
margin-left: 20px;
}
h2 {
font-size: 13pt;
margin-top: 0px;
}
a {
font-size: 14px;
color: #00A8DF;
text-decoration: none;
}
</style>
<title>About AntennaPod</title>
</head>
<body>
<div id="logobackground">
<img id="logo" src="file:///android_res/drawable/teaser.png" alt="Logo"/>
</div>
<h1>AntennaPod</h1>
<div class="card">
<table>
<tr><td>Version:</td><td><b>@versionname@</b></td></tr>
<tr><td>Commit:</td><td><b>@commit@</b></td></tr>
</table>
</div>
<div class="card">
Created by Daniel Oeh<br />
Copyright &copy; 2012-@year@<br />
AntennaPod Contributors <a href="CONTRIBUTORS.txt">(View)</a><br />
Licensed under the MIT License <a href="LICENSE.txt">(View)</a><br />
Privacy Policy <a href="https://antennapod.org/privacy.html">(View)</a>
</div>
<h1>Used libraries</h1>
<div class="card">
<h2>Apache Commons <a href="http://commons.apache.org/">(Link)</a></h2>
by The Apache Software Foundation, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>EventBus <a href="https://github.com/greenrobot/EventBus">(Link)</a></h2>
by greenrobot, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>ExoPlayer <a href="https://github.com/google/ExoPlayer">(Link)</a></h2>
by Google, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Floating Action Button Speed Dial <a href="https://github.com/leinardi/FloatingActionButtonSpeedDial">(Link)</a></h2>
by Roberto Leinardi, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Glide <a href="https://github.com/bumptech/glide/">(Link)</a></h2>
licensed under the Simplified BSD license <a href="LICENSE_GLIDE.txt">(View)</a>
</div>
<div class="card">
<h2>Iconify <a href="https://github.com/JoanZapata/android-iconify">(Link)</a></h2>
by Joan Zapata, licensed under the Apache 2.0 license <a href="LICENSE_ANDROID_ICONIFY.txt">(View)</a>
</div>
<div class="card">
<h2>jsoup <a href="http://jsoup.org/">(Link)</a></h2>
licensed under the MIT license <a href="LICENSE_JSOUP.txt">(View)</a>
</div>
<div class="card">
<h2>Material Design Icons <a href="https://github.com/google/material-design-icons">(Link)</a></h2>
by Google, licensed under an Attribution-ShareAlike 4.0 International license <a href="LICENSE_MATERIAL_DESIGN_ICONS.txt">(View)</a>
</div>
<div class="card">
<h2>Material Design Icons <a href="https://github.com/Templarian/MaterialDesign">(Link)</a></h2>
by Templarian, licensed under the SIL Open Font License, Version 1.1 <a href="LICENSE_SIL.txt">(View)</a>
</div>
<div class="card">
<h2>Material Dialogs <a href="https://github.com/afollestad/material-dialogs">(Link)</a></h2>
by Aidan Michael Follestad, licensed under the MIT License <a href="LICENSE_MATERIAL_DIALOGS.txt">(View)</a>
</div>
<div class="card">
<h2>OkHttp <a href="https://github.com/square/okhttp">(Link)</a></h2>
by Square, licensed under the Apache 2.0 license <a href="LICENSE_OKHTTP.txt">(View)</a>
</div>
<div class="card">
<h2>Okio <a href="https://github.com/square/okio">(Link)</a></h2>
by Square, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Presto Client <a href="http://www.aocate.com/presto/">(Link)</a></h2>
licensed under the Apache 2.0 license <a href="LICENSE_PRESTO.txt">(View)</a>
</div>
<div class="card">
<h2>RecyclerView-FlexibleDivider <a href="https://github.com/yqritc/RecyclerView-FlexibleDivider">(Link)</a></h2>
licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>RxAndroid <a href="https://github.com/ReactiveX/RxAndroid">(Link)</a></h2>
licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>StackBlur <a href="https://github.com/kikoso/android-stackblur">(Link)</a></h2>
by Enrique L&oacute;pez Ma&ntilde;as, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Triangle Label View <a href="https://github.com/shts/TriangleLabelView">(Link)</a></h2>
by Shota Saito, licensed under the Apache 2.0 license <a href="LICENSE_TRIANGLE_LABEL_VIEW.txt">(View)</a>
</div>
<div class="card">
<h2>AntennaPod-AudioPlayer <a href="https://github.com/AntennaPod/AntennaPod-AudioPlayer/">(Link)</a></h2>
by the AntennaPod team, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
</body>
</html>

View File

@ -1,471 +0,0 @@
#!/usr/bin/env python3
import requests
import subprocess
import configparser
import os
config = configparser.ConfigParser()
config.read(os.path.expanduser("~") + '/.transifexrc')
if 'https://www.transifex.com' in config:
TRANSIFEX_USER = config['https://www.transifex.com']['username']
TRANSIFEX_PW = config['https://www.transifex.com']['password']
else:
TRANSIFEX_USER = ""
TRANSIFEX_PW = ""
print('DEVELOPERS\n==========\n')
p = subprocess.Popen("git log --format='%aN' --no-merges "
+"| grep -v '@' " # No email adresses
+"| grep -v 'no.reply' " # no.reply
+"| sed -e 's/^\(Daniel\|daniel oeh\|danieloeh\)$/Daniel Oeh/I'" # Duplicate name
+"| sed -e 's/^keunes$/Koen Glotzbach/'" # Duplicate name
+"| sed -e 's/^H. Lehmann$/ByteHamster/'" # Duplicate name
+"| sed -e 's/^domingos86$/Domingos Lopes/'" # Duplicate name
+"| sed -e 's/^orionlee$/Sam Lee/'" # Duplicate name
+"| sort -fu", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
output = line.decode()
print(output, end='')
language_codes = {
"af_NA": "Afrikaans (Namibia)",
"af_ZA": "Afrikaans (South Africa)",
"af": "Afrikaans",
"ak_GH": "Akan (Ghana)",
"ak": "Akan",
"ast_ES": "Asturian (Spain)",
"sq_AL": "Albanian (Albania)",
"sq": "Albanian",
"am_ET": "Amharic (Ethiopia)",
"am": "Amharic",
"ar_DZ": "Arabic (Algeria)",
"ar_BH": "Arabic (Bahrain)",
"ar_EG": "Arabic (Egypt)",
"ar_IQ": "Arabic (Iraq)",
"ar_JO": "Arabic (Jordan)",
"ar_KW": "Arabic (Kuwait)",
"ar_LB": "Arabic (Lebanon)",
"ar_LY": "Arabic (Libya)",
"ar_MA": "Arabic (Morocco)",
"ar_OM": "Arabic (Oman)",
"ar_QA": "Arabic (Qatar)",
"ar_SA": "Arabic (Saudi Arabia)",
"ar_SD": "Arabic (Sudan)",
"ar_SY": "Arabic (Syria)",
"ar_TN": "Arabic (Tunisia)",
"ar_AE": "Arabic (United Arab Emirates)",
"ar_YE": "Arabic (Yemen)",
"ar": "Arabic",
"hy_AM": "Armenian (Armenia)",
"hy": "Armenian",
"as_IN": "Assamese (India)",
"as": "Assamese",
"asa_TZ": "Asu (Tanzania)",
"asa": "Asu",
"az_Cyrl": "Azerbaijani (Cyrillic)",
"az_Cyrl_AZ": "Azerbaijani (Cyrillic, Azerbaijan)",
"az_Latn": "Azerbaijani (Latin)",
"az_Latn_AZ": "Azerbaijani (Latin, Azerbaijan)",
"az": "Azerbaijani",
"bm_ML": "Bambara (Mali)",
"bm": "Bambara",
"eu_ES": "Basque (Spain)",
"eu": "Basque",
"be_BY": "Belarusian (Belarus)",
"be": "Belarusian",
"bem_ZM": "Bemba (Zambia)",
"bem": "Bemba",
"bez_TZ": "Bena (Tanzania)",
"bez": "Bena",
"bn_BD": "Bengali (Bangladesh)",
"bn_IN": "Bengali (India)",
"bn": "Bengali",
"bs_BA": "Bosnian (Bosnia and Herzegovina)",
"bs": "Bosnian",
"bg_BG": "Bulgarian (Bulgaria)",
"bg": "Bulgarian",
"my_MM": "Burmese (Myanmar [Burma])",
"my": "Burmese",
"ca_ES": "Catalan (Spain)",
"ca": "Catalan",
"tzm_Latn": "Central Morocco Tamazight (Latin)",
"tzm_Latn_MA": "Central Morocco Tamazight (Latin, Morocco)",
"tzm": "Central Morocco Tamazight",
"chr_US": "Cherokee (United States)",
"chr": "Cherokee",
"cgg_UG": "Chiga (Uganda)",
"cgg": "Chiga",
"zh": "Chinese (Simplified)",
"zh_CN": "Chinese (China)",
"zh_HK": "Chinese (Hong Kong SAR China)",
"zh_MO": "Chinese (Macau SAR China)",
"zh_MO_SG": "Chinese (Singapore)",
"zh_TW": "Chinese (Taiwan)",
"zh": "Chinese",
"kw_GB": "Cornish (United Kingdom)",
"kw": "Cornish",
"hr_HR": "Croatian (Croatia)",
"hr": "Croatian",
"cs_CZ": "Czech (Czech Republic)",
"cs": "Czech",
"da_DK": "Danish (Denmark)",
"da": "Danish",
"nl_BE": "Dutch (Belgium)",
"nl_NL": "Dutch (Netherlands)",
"nl": "Dutch",
"ebu_KE": "Embu (Kenya)",
"ebu": "Embu",
"en_AS": "English (American Samoa)",
"en_AU": "English (Australia)",
"en_BE": "English (Belgium)",
"en_BZ": "English (Belize)",
"en_BW": "English (Botswana)",
"en_CA": "English (Canada)",
"en_GU": "English (Guam)",
"en_HK": "English (Hong Kong SAR China)",
"en_IN": "English (India)",
"en_IE": "English (Ireland)",
"en_JM": "English (Jamaica)",
"en_MT": "English (Malta)",
"en_MH": "English (Marshall Islands)",
"en_MU": "English (Mauritius)",
"en_NA": "English (Namibia)",
"en_NZ": "English (New Zealand)",
"en_MP": "English (Northern Mariana Islands)",
"en_PK": "English (Pakistan)",
"en_PH": "English (Philippines)",
"en_SG": "English (Singapore)",
"en_ZA": "English (South Africa)",
"en_TT": "English (Trinidad and Tobago)",
"en_UM": "English (U.S. Minor Outlying Islands)",
"en_VI": "English (U.S. Virgin Islands)",
"en_GB": "English (United Kingdom)",
"en_US": "English (United States)",
"en_ZW": "English (Zimbabwe)",
"en": "English",
"eo": "Esperanto",
"et_EE": "Estonian (Estonia)",
"et": "Estonian",
"ee_GH": "Ewe (Ghana)",
"ee_TG": "Ewe (Togo)",
"ee": "Ewe",
"fo_FO": "Faroese (Faroe Islands)",
"fo": "Faroese",
"fil_PH": "Filipino (Philippines)",
"fil": "Filipino",
"fi_FI": "Finnish (Finland)",
"fi": "Finnish",
"fr_BE": "French (Belgium)",
"fr_BJ": "French (Benin)",
"fr_BF": "French (Burkina Faso)",
"fr_BI": "French (Burundi)",
"fr_CM": "French (Cameroon)",
"fr_CA": "French (Canada)",
"fr_CF": "French (Central African Republic)",
"fr_TD": "French (Chad)",
"fr_KM": "French (Comoros)",
"fr_CG": "French (Congo - Brazzaville)",
"fr_CD": "French (Congo - Kinshasa)",
"fr_CI": "French (Côte dIvoire)",
"fr_DJ": "French (Djibouti)",
"fr_GQ": "French (Equatorial Guinea)",
"fr_FR": "French (France)",
"fr_GA": "French (Gabon)",
"fr_GP": "French (Guadeloupe)",
"fr_GN": "French (Guinea)",
"fr_LU": "French (Luxembourg)",
"fr_MG": "French (Madagascar)",
"fr_ML": "French (Mali)",
"fr_MQ": "French (Martinique)",
"fr_MC": "French (Monaco)",
"fr_NE": "French (Niger)",
"fr_RW": "French (Rwanda)",
"fr_RE": "French (Réunion)",
"fr_BL": "French (Saint Barthélemy)",
"fr_MF": "French (Saint Martin)",
"fr_SN": "French (Senegal)",
"fr_CH": "French (Switzerland)",
"fr_TG": "French (Togo)",
"fr": "French",
"ff_SN": "Fulah (Senegal)",
"ff": "Fulah",
"gl_ES": "Galician (Spain)",
"gl": "Galician",
"lg_UG": "Ganda (Uganda)",
"lg": "Ganda",
"ka_GE": "Georgian (Georgia)",
"ka": "Georgian",
"de_AT": "German (Austria)",
"de_BE": "German (Belgium)",
"de_DE": "German (Germany)",
"de_LI": "German (Liechtenstein)",
"de_LU": "German (Luxembourg)",
"de_CH": "German (Switzerland)",
"de": "German",
"el_CY": "Greek (Cyprus)",
"el_GR": "Greek (Greece)",
"el": "Greek",
"gu_IN": "Gujarati (India)",
"gu": "Gujarati",
"guz_KE": "Gusii (Kenya)",
"guz": "Gusii",
"ha_Latn": "Hausa (Latin)",
"ha_Latn_GH": "Hausa (Latin, Ghana)",
"ha_Latn_NE": "Hausa (Latin, Niger)",
"ha_Latn_NG": "Hausa (Latin, Nigeria)",
"ha": "Hausa",
"haw_US": "Hawaiian (United States)",
"haw": "Hawaiian",
"he_IL": "Hebrew (Israel)",
"he": "Hebrew",
"hi_IN": "Hindi (India)",
"hi": "Hindi",
"hu_HU": "Hungarian (Hungary)",
"hu": "Hungarian",
"is_IS": "Icelandic (Iceland)",
"is": "Icelandic",
"ig_NG": "Igbo (Nigeria)",
"ig": "Igbo",
"id_ID": "Indonesian (Indonesia)",
"id": "Indonesian",
"ga_IE": "Irish (Ireland)",
"ga": "Irish",
"it_IT": "Italian (Italy)",
"it_CH": "Italian (Switzerland)",
"it": "Italian",
"ja_JP": "Japanese (Japan)",
"ja": "Japanese",
"kea_CV": "Kabuverdianu (Cape Verde)",
"kea": "Kabuverdianu",
"kab_DZ": "Kabyle (Algeria)",
"kab": "Kabyle",
"kl_GL": "Kalaallisut (Greenland)",
"kl": "Kalaallisut",
"kln_KE": "Kalenjin (Kenya)",
"kln": "Kalenjin",
"kam_KE": "Kamba (Kenya)",
"kam": "Kamba",
"kn_IN": "Kannada (India)",
"kn": "Kannada",
"kk_Cyrl": "Kazakh (Cyrillic)",
"kk_Cyrl_KZ": "Kazakh (Cyrillic, Kazakhstan)",
"kk": "Kazakh",
"km_KH": "Khmer (Cambodia)",
"km": "Khmer",
"ki_KE": "Kikuyu (Kenya)",
"ki": "Kikuyu",
"rw_RW": "Kinyarwanda (Rwanda)",
"rw": "Kinyarwanda",
"kok_IN": "Konkani (India)",
"kok": "Konkani",
"ko_KR": "Korean (South Korea)",
"ko": "Korean",
"khq_ML": "Koyra Chiini (Mali)",
"khq": "Koyra Chiini",
"ses_ML": "Koyraboro Senni (Mali)",
"ses": "Koyraboro Senni",
"lag_TZ": "Langi (Tanzania)",
"lag": "Langi",
"lv_LV": "Latvian (Latvia)",
"lv": "Latvian",
"lt_LT": "Lithuanian (Lithuania)",
"lt": "Lithuanian",
"luo_KE": "Luo (Kenya)",
"luo": "Luo",
"luy_KE": "Luyia (Kenya)",
"luy": "Luyia",
"mk_MK": "Macedonian (Macedonia)",
"mk": "Macedonian",
"jmc_TZ": "Machame (Tanzania)",
"jmc": "Machame",
"kde_TZ": "Makonde (Tanzania)",
"kde": "Makonde",
"mg_MG": "Malagasy (Madagascar)",
"mg": "Malagasy",
"ms_BN": "Malay (Brunei)",
"ms_MY": "Malay (Malaysia)",
"ms": "Malay",
"ml_IN": "Malayalam (India)",
"ml": "Malayalam",
"mt_MT": "Maltese (Malta)",
"mt": "Maltese",
"gv_GB": "Manx (United Kingdom)",
"gv": "Manx",
"mr_IN": "Marathi (India)",
"mr": "Marathi",
"mas_KE": "Masai (Kenya)",
"mas_TZ": "Masai (Tanzania)",
"mas": "Masai",
"mer_KE": "Meru (Kenya)",
"mer": "Meru",
"mfe_MU": "Morisyen (Mauritius)",
"mfe": "Morisyen",
"naq_NA": "Nama (Namibia)",
"naq": "Nama",
"ne_IN": "Nepali (India)",
"ne_NP": "Nepali (Nepal)",
"ne": "Nepali",
"nd_ZW": "North Ndebele (Zimbabwe)",
"nd": "North Ndebele",
"no": "Norwegian",
"nb_NO": "Norwegian Bokmål (Norway)",
"nb": "Norwegian Bokmål",
"nn_NO": "Norwegian Nynorsk (Norway)",
"nn": "Norwegian Nynorsk",
"nyn_UG": "Nyankole (Uganda)",
"nyn": "Nyankole",
"or_IN": "Oriya (India)",
"or": "Oriya",
"om_ET": "Oromo (Ethiopia)",
"m_KE": "Oromo (Kenya)",
"om": "Oromo",
"ps_AF": "Pashto (Afghanistan)",
"ps": "Pashto",
"fa_AF": "Persian (Afghanistan)",
"fa_IR": "Persian (Iran)",
"fa": "Persian",
"pl_PL": "Polish (Poland)",
"pl": "Polish",
"pt_BR": "Portuguese (Brazil)",
"pt_GW": "Portuguese (Guinea-Bissau)",
"pt_MZ": "Portuguese (Mozambique)",
"pt_PT": "Portuguese (Portugal)",
"pt": "Portuguese",
"pa_Arab": "Punjabi (Arabic)",
"pa_Arab_PK": "Punjabi (Arabic, Pakistan)",
"pa_Guru": "Punjabi (Gurmukhi)",
"pa_Guru_IN": "Punjabi (Gurmukhi, India)",
"pa": "Punjabi",
"ro_MD": "Romanian (Moldova)",
"ro_RO": "Romanian (Romania)",
"ro": "Romanian",
"rm_CH": "Romansh (Switzerland)",
"rm": "Romansh",
"rof_TZ": "Rombo (Tanzania)",
"rof": "Rombo",
"ru_MD": "Russian (Moldova)",
"ru_RU": "Russian (Russia)",
"ru_UA": "Russian (Ukraine)",
"ru": "Russian",
"rwk_TZ": "Rwa (Tanzania)",
"rwk": "Rwa",
"saq_KE": "Samburu (Kenya)",
"saq": "Samburu",
"sg_CF": "Sango (Central African Republic)",
"sg": "Sango",
"seh_MZ": "Sena (Mozambique)",
"seh": "Sena",
"sr_Cyrl": "Serbian (Cyrillic)",
"sr_Cyrl_BA": "Serbian (Cyrillic, Bosnia and Herzegovina)",
"sr_Cyrl_ME": "Serbian (Cyrillic, Montenegro)",
"sr_Cyrl_RS": "Serbian (Cyrillic, Serbia)",
"sr_Latn": "Serbian (Latin)",
"sr_Latn_BA": "Serbian (Latin, Bosnia and Herzegovina)",
"sr_Latn_ME": "Serbian (Latin, Montenegro)",
"sr_Latn_RS": "Serbian (Latin, Serbia)",
"sr": "Serbian",
"sn_ZW": "Shona (Zimbabwe)",
"sn": "Shona",
"ii_CN": "Sichuan Yi (China)",
"ii": "Sichuan Yi",
"si_LK": "Sinhala (Sri Lanka)",
"si": "Sinhala",
"sk_SK": "Slovak (Slovakia)",
"sk": "Slovak",
"sl_SI": "Slovenian (Slovenia)",
"sl": "Slovenian",
"xog_UG": "Soga (Uganda)",
"xog": "Soga",
"so_DJ": "Somali (Djibouti)",
"so_ET": "Somali (Ethiopia)",
"so_KE": "Somali (Kenya)",
"so_SO": "Somali (Somalia)",
"so": "Somali",
"es_AR": "Spanish (Argentina)",
"es_BO": "Spanish (Bolivia)",
"es_CL": "Spanish (Chile)",
"es_CO": "Spanish (Colombia)",
"es_CR": "Spanish (Costa Rica)",
"es_DO": "Spanish (Dominican Republic)",
"es_EC": "Spanish (Ecuador)",
"es_SV": "Spanish (El Salvador)",
"es_GQ": "Spanish (Equatorial Guinea)",
"es_GT": "Spanish (Guatemala)",
"es_HN": "Spanish (Honduras)",
"es_419": "Spanish (Latin America)",
"es_MX": "Spanish (Mexico)",
"es_NI": "Spanish (Nicaragua)",
"es_PA": "Spanish (Panama)",
"es_PY": "Spanish (Paraguay)",
"es_PE": "Spanish (Peru)",
"es_PR": "Spanish (Puerto Rico)",
"es_ES": "Spanish (Spain)",
"es_US": "Spanish (United States)",
"es_UY": "Spanish (Uruguay)",
"es_VE": "Spanish (Venezuela)",
"es": "Spanish",
"sw_KE": "Swahili (Kenya)",
"sw_TZ": "Swahili (Tanzania)",
"sw": "Swahili",
"sv_FI": "Swedish (Finland)",
"sv_SE": "Swedish (Sweden)",
"sv": "Swedish",
"gsw_CH": "Swiss German (Switzerland)",
"gsw": "Swiss German",
"shi_Latn": "Tachelhit (Latin)",
"shi_Latn_MA": "Tachelhit (Latin, Morocco)",
"shi_Tfng": "Tachelhit (Tifinagh)",
"shi_Tfng_MA": "Tachelhit (Tifinagh, Morocco)",
"shi": "Tachelhit",
"dav_KE": "Taita (Kenya)",
"dav": "Taita",
"ta_IN": "Tamil (India)",
"ta_LK": "Tamil (Sri Lanka)",
"ta": "Tamil",
"te_IN": "Telugu (India)",
"te": "Telugu",
"teo_KE": "Teso (Kenya)",
"teo_UG": "Teso (Uganda)",
"teo": "Teso",
"th_TH": "Thai (Thailand)",
"th": "Thai",
"bo_CN": "Tibetan (China)",
"bo_IN": "Tibetan (India)",
"bo": "Tibetan",
"ti_ER": "Tigrinya (Eritrea)",
"ti_ET": "Tigrinya (Ethiopia)",
"ti": "Tigrinya",
"to_TO": "Tonga (Tonga)",
"to": "Tonga",
"tr_TR": "Turkish (Turkey)",
"tr": "Turkish",
"uk_UA": "Ukrainian (Ukraine)",
"uk": "Ukrainian",
"ur_IN": "Urdu (India)",
"ur_PK": "Urdu (Pakistan)",
"ur": "Urdu",
"uz_Arab": "Uzbek (Arabic)",
"uz_Arab_AF": "Uzbek (Arabic, Afghanistan)",
"uz_Cyrl": "Uzbek (Cyrillic)",
"uz_Cyrl_UZ": "Uzbek (Cyrillic, Uzbekistan)",
"uz_Latn": "Uzbek (Latin)",
"uz_Latn_UZ": "Uzbek (Latin, Uzbekistan)",
"uz": "Uzbek",
"vi_VN": "Vietnamese (Vietnam)",
"vi": "Vietnamese",
"vun_TZ": "Vunjo (Tanzania)",
"vun": "Vunjo",
"cy_GB": "Welsh (United Kingdom)",
"cy": "Welsh",
"yo_NG": "Yoruba (Nigeria)",
"yo": "Yoruba",
"zu_ZA": "Zulu (South Africa)",
"zu": "Zulu"
}
print('\n\nTRANSLATORS\n===========\n')
r = requests.get('http://www.transifex.com/api/2/project/antennapod/languages/', auth=(TRANSIFEX_USER, TRANSIFEX_PW))
for lang in r.json():
lang_contributers = lang['coordinators'] + lang['reviewers'] + lang['translators']
lang_contributers = sorted(lang_contributers, key=str.lower)
print(language_codes[lang['language_code']], ": ", ', '.join(lang_contributers), sep="")

View File

@ -4,7 +4,8 @@ import requests
MAINTAINERS = ['mfietz', 'ByteHamster'] MAINTAINERS = ['mfietz', 'ByteHamster']
FORMER_MAINTAINERS = ['TomHennen'] FORMER_MAINTAINERS = ['TomHennen']
csvFile = open("app/src/main/assets/developers.txt", "w") csvFile = open("app/src/main/assets/developers.csv", "w")
contributorsFile = open("CONTRIBUTORS", "a")
page = 1 page = 1
hasMore = True hasMore = True
while hasMore: while hasMore:
@ -21,7 +22,9 @@ while hasMore:
line = contributor['login'].replace(";", "") + ';' + str(contributor['id']) + ';' + role line = contributor['login'].replace(";", "") + ';' + str(contributor['id']) + ';' + role
csvFile.write(line + '\n') csvFile.write(line + '\n')
print(line) print(line)
contributorsFile.write(contributor['login'] + '\n')
page = page + 1 page = page + 1
hasMore = len(json) > 0 hasMore = len(json) > 0
csvFile.close() csvFile.close()
contributorsFile.close()

View File

@ -13,24 +13,27 @@ else:
TRANSIFEX_USER = "" TRANSIFEX_USER = ""
TRANSIFEX_PW = "" TRANSIFEX_PW = ""
csvFile = open("app/src/main/assets/translators.txt", "w") csvFile = open("app/src/main/assets/translators.csv", "w")
contributorsFile = open("CONTRIBUTORS", "a")
r = requests.get('http://www.transifex.com/api/2/project/antennapod/languages/', r = requests.get('http://www.transifex.com/api/2/project/antennapod/languages/',
auth=(TRANSIFEX_USER, TRANSIFEX_PW)) auth=(TRANSIFEX_USER, TRANSIFEX_PW))
for lang in r.json(): for lang in r.json():
lang_contributers = lang['coordinators'] + lang['reviewers'] + lang['translators'] langContributers = lang['coordinators'] + lang['reviewers'] + lang['translators']
lang_contributers = sorted(lang_contributers, key=str.lower) langContributers = sorted(langContributers, key=str.lower)
lang_code = lang['language_code'] langCode = lang['language_code']
try: try:
lang_name = pycountry.languages.lookup(lang_code).name langName = pycountry.languages.lookup(langCode).name
except: except:
try: try:
lang_name = pycountry.languages.lookup( langName = pycountry.languages.lookup(
lang_code.split('_')[0]).name + ' (' + lang_code + ')' langCode.split('_')[0]).name + ' (' + langCode + ')'
except: except:
lang_name = lang['language_code'] langName = lang['language_code']
print('\033[91mLanguage code not found:' + lang_code + '\033[0m') print('\033[91mLanguage code not found:' + langCode + '\033[0m')
line = lang_name + ';' + ', '.join(lang_contributers).replace(';', '') joinedTranslators = ', '.join(langContributers).replace(';', '');
csvFile.write(line + '\n') contributorsFile.write(langName + ": " + joinedTranslators + '\n')
print(line) csvFile.write(langName + ';' + joinedTranslators + '\n')
print(langName + ';' + joinedTranslators)
csvFile.close() csvFile.close()
contributorsFile.close()

View File

@ -9,9 +9,10 @@ set -e
DEST=$2 DEST=$2
VERSION_NAME=$1 VERSION_NAME=$1
# need to get rid of this so that it gets regenerated rm CONTRIBUTORS
# probably a way to solve this in Gradle too... ./createDevelopersList.py
rm -f app/src/main/assets/about.html ./createTranslatorsList.py
./gradlew clean assemblePlayDebug assemblePlayRelease ./gradlew clean assemblePlayDebug assemblePlayRelease
cp app/build/outputs/apk/app-play-debug.apk $DEST/AntennaPod_${VERSION_NAME}_debug.apk cp app/build/outputs/apk/app-play-debug.apk $DEST/AntennaPod_${VERSION_NAME}_debug.apk
cp app/build/outputs/apk/app-play-release.apk $DEST/AntennaPod_${VERSION_NAME}_release.apk cp app/build/outputs/apk/app-play-release.apk $DEST/AntennaPod_${VERSION_NAME}_release.apk