Compare commits

..

5 Commits

Author SHA1 Message Date
8157146498 Strings, updates, and sonarqube. 2017-10-21 20:11:18 +02:00
94d23888b1 Update CONTRIBUTING.md 2017-10-02 12:50:35 +02:00
737fe9bb4a Update Crowdin configuration file 2017-09-18 15:13:13 +02:00
0051ed2e73 Crowdin translation. 2017-09-16 22:28:20 +02:00
e0595957e2 Update README.md 2017-09-16 20:46:43 +02:00
13 changed files with 65 additions and 22 deletions

View File

@ -52,20 +52,21 @@ You'll have to:
- mercuryApiKey: A [Mercury](https://mercury.postlight.com/web-parser/) web parser api key for the internal browser - mercuryApiKey: A [Mercury](https://mercury.postlight.com/web-parser/) web parser api key for the internal browser
- feedbackEmail: An email to receive users feedback. - feedbackEmail: An email to receive users feedback.
- sourceUrl: an url to the source code, used in the settings - sourceUrl: an url to the source code, used in the settings. **It can be empty.**
- trackerUrl: an url to the tracker, used in the settings - trackerUrl: an url to the tracker, used in the settings. **It can be empty.**
- appLoginUrl, appLoginUsername and appLoginPassword: url, username and password of a selfoss instance. **These are only used for tests. They can be empty if you don't test API calls.**
### Examples: ### Examples:
#### Inside ~/.gradle/gradle.properties #### Inside ~/.gradle/gradle.properties
``` ```
appLoginUrl="URL" appLoginUrl="URL" # It can be empty.
appLoginUsername="LOGIN" appLoginUsername="LOGIN" # It can be empty.
appLoginPassword="PASS" appLoginPassword="PASS" # It can be empty.
mercuryApiKey="LONGAPIKEY" mercuryApiKey="LONGAPIKEY"
feedbackEmail="EMAIL" feedbackEmail="EMAIL"
sourceUrl="URLSOURCE" sourceUrl="URLSOURCE" # It can be empty.
trackerUrl="URLTRACKER" trackerUrl="URLTRACKER" # It can be empty.
``` ```
#### As gradle parameters #### As gradle parameters

2
.gitignore vendored
View File

@ -215,3 +215,5 @@ gradle-app.setting
# End of https://www.gitignore.io/api/java,gradle,android,androidstudio # End of https://www.gitignore.io/api/java,gradle,android,androidstudio
release/ release/
crowdin.properties

View File

@ -1,3 +1,9 @@
**1.5.3.01/02**
- Added translation link to the settings page.
- Added the translation link to the README.
**1.5.3.00** **1.5.3.00**
- (BETA) Added pull from bottom to load more pages of results. May be buggy. - (BETA) Added pull from bottom to load more pages of results. May be buggy.

View File

@ -1,12 +1,10 @@
# ReaderForSelfoss # ReaderForSelfoss
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/readerforselfoss/localized.svg)](https://crowdin.com/project/readerforselfoss) [![Gitter chat](https://badges.gitter.im/amine-bou/ReaderForSelfoss.png)](https://gitter.im/amine-bou/ReaderForSelfoss)
[![Build Status](http://jenkins.amine-bou.fr/job/ReaderForSelfoss/badge/icon)](http://jenkins.amine-bou.fr/job/ReaderForSelfoss/) [![Build Status](http://jenkins.amine-bou.fr/job/ReaderForSelfoss/badge/icon)](http://jenkins.amine-bou.fr/job/ReaderForSelfoss/)
[![Gitter chat](https://badges.gitter.im/amine-bou/ReaderForSelfoss.png)](https://gitter.im/amine-bou/ReaderForSelfoss) [![codebeat badge](https://codebeat.co/badges/bce66c0f-fd28-4341-a159-3b6dd22ac854)](https://codebeat.co/projects/github-com-aminecmi-readerforselfoss-master) [![Code Triagers Badge](https://www.codetriage.com/aminecmi/readerforselfoss/badges/users.svg)](https://www.codetriage.com/aminecmi/readerforselfoss)
[![codebeat badge](https://codebeat.co/badges/bce66c0f-fd28-4341-a159-3b6dd22ac854)](https://codebeat.co/projects/github-com-aminecmi-readerforselfoss-master)
[![Code Triagers Badge](https://www.codetriage.com/aminecmi/readerforselfoss/badges/users.svg)](https://www.codetriage.com/aminecmi/readerforselfoss)
This is the repo of [Reader For Selfoss](https://play.google.com/store/apps/details?id=apps.amine.bou.readerforselfoss&hl=en). This is the repo of [Reader For Selfoss](https://play.google.com/store/apps/details?id=apps.amine.bou.readerforselfoss&hl=en).

View File

@ -23,6 +23,8 @@ def versionNameFromGit() {
return gitVersion().trim() return gitVersion().trim()
} }
apply plugin: 'org.sonarqube'
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'io.fabric' apply plugin: 'io.fabric'
@ -30,12 +32,14 @@ apply plugin: 'io.fabric'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
repositories { repositories {
maven { url 'https://maven.fabric.io/public' } maven {
url 'https://maven.fabric.io/public'
}
} }
android { android {
compileSdkVersion 26 compileSdkVersion 26
buildToolsVersion "26.0.1" buildToolsVersion '26.0.2'
defaultConfig { defaultConfig {
applicationId "apps.amine.bou.readerforselfoss" applicationId "apps.amine.bou.readerforselfoss"
minSdkVersion 16 minSdkVersion 16
@ -58,6 +62,7 @@ android {
buildConfigField "String", "FEEDBACK_EMAIL", feedbackEmail buildConfigField "String", "FEEDBACK_EMAIL", feedbackEmail
buildConfigField "String", "SOURCE_URL", sourceUrl buildConfigField "String", "SOURCE_URL", sourceUrl
buildConfigField "String", "TRACKER_URL", trackerUrl buildConfigField "String", "TRACKER_URL", trackerUrl
buildConfigField "String", "TRANSLATION_URL", translationUrl
} }
buildTypes { buildTypes {
release { release {
@ -204,6 +209,7 @@ def initAppForSecretPropertiesIfNeeded() {
entry(key: "feedbackEmail", value: System.getProperty("feedbackEmail")) entry(key: "feedbackEmail", value: System.getProperty("feedbackEmail"))
entry(key: "sourceUrl", value: System.getProperty("sourceUrl")) entry(key: "sourceUrl", value: System.getProperty("sourceUrl"))
entry(key: "trackerUrl", value: System.getProperty("trackerUrl")) entry(key: "trackerUrl", value: System.getProperty("trackerUrl"))
entry(key: "translationUrl", value: System.getProperty("translationUrl"))
} }
} }
} }

View File

@ -28,7 +28,8 @@
android:name=".IntroActivity" android:name=".IntroActivity"
android:theme="@style/Theme.Intro"> android:theme="@style/Theme.Intro">
</activity> </activity>
<activity android:name=".LoginActivity" <activity
android:name=".LoginActivity"
android:label="@string/title_activity_login"> android:label="@string/title_activity_login">
</activity> </activity>
<activity android:name=".HomeActivity"> <activity android:name=".HomeActivity">
@ -41,13 +42,15 @@
android:name="android.support.PARENT_ACTIVITY" android:name="android.support.PARENT_ACTIVITY"
android:value="apps.amine.bou.readerforselfoss.HomeActivity" /> android:value="apps.amine.bou.readerforselfoss.HomeActivity" />
</activity> </activity>
<activity android:name=".SourcesActivity" <activity
android:name=".SourcesActivity"
android:parentActivityName=".HomeActivity"> android:parentActivityName=".HomeActivity">
<meta-data <meta-data
android:name="android.support.PARENT_ACTIVITY" android:name="android.support.PARENT_ACTIVITY"
android:value=".HomeActivity" /> android:value=".HomeActivity" />
</activity> </activity>
<activity android:name=".AddSourceActivity" <activity
android:name=".AddSourceActivity"
android:parentActivityName=".SourcesActivity"> android:parentActivityName=".SourcesActivity">
<meta-data <meta-data
android:name="android.support.PARENT_ACTIVITY" android:name="android.support.PARENT_ACTIVITY"
@ -61,9 +64,11 @@
<data android:mimeType="text/plain" /> <data android:mimeType="text/plain" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".ReaderActivity" <activity
android:name=".ReaderActivity"
android:theme="@style/DragDismissTheme"> android:theme="@style/DragDismissTheme">
</activity> </activity>
<meta-data <meta-data
android:name="apps.amine.bou.readerforselfoss.utils.glide.SelfSignedGlideModule" android:name="apps.amine.bou.readerforselfoss.utils.glide.SelfSignedGlideModule"
android:value="GlideModule" /> android:value="GlideModule" />

View File

@ -255,6 +255,14 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
return false; return false;
} }
}); });
findPreference("translation").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
openUrl(Uri.parse(BuildConfig.TRANSLATION_URL));
return false;
}
});
} }
@Override @Override

View File

@ -31,7 +31,7 @@
<string name="cant_get_read">"Impossible de récupérer les éléments lus."</string> <string name="cant_get_read">"Impossible de récupérer les éléments lus."</string>
<string name="nothing_here">"Il n'y a rien ici !"</string> <string name="nothing_here">"Il n'y a rien ici !"</string>
<string name="tab_new">"Non lus"</string> <string name="tab_new">"Non lus"</string>
<string name="tab_read">"Lus"</string> <string name="tab_read">"Tous"</string>
<string name="tab_favs">"Favoris"</string> <string name="tab_favs">"Favoris"</string>
<string name="action_about">"À propos"</string> <string name="action_about">"À propos"</string>
<string name="marked_as_read">"Marqué comme lu"</string> <string name="marked_as_read">"Marqué comme lu"</string>
@ -151,4 +151,5 @@
<string name="login_everything_off">Aucun appel à l\'API ne sera logué</string> <string name="login_everything_off">Aucun appel à l\'API ne sera logué</string>
<string name="login_everything_on">Tous les appels à l\'API vont êtres logués</string> <string name="login_everything_on">Tous les appels à l\'API vont êtres logués</string>
<string name="pref_general_infinite_loading_title">(BETA) Charger plus d\'articles au scroll</string> <string name="pref_general_infinite_loading_title">(BETA) Charger plus d\'articles au scroll</string>
<string name="translation">Traduction</string>
</resources> </resources>

View File

@ -152,4 +152,5 @@
<string name="login_everything_off">No api call will be logged</string> <string name="login_everything_off">No api call will be logged</string>
<string name="login_everything_on">This will log every api call for debug purpose.</string> <string name="login_everything_on">This will log every api call for debug purpose.</string>
<string name="pref_general_infinite_loading_title">(BETA) Load more articles on scroll</string> <string name="pref_general_infinite_loading_title">(BETA) Load more articles on scroll</string>
<string name="translation">Vertaling</string>
</resources> </resources>

View File

@ -31,7 +31,7 @@
<string name="cant_get_read">"Can't get read articles"</string> <string name="cant_get_read">"Can't get read articles"</string>
<string name="nothing_here">"Nothing here"</string> <string name="nothing_here">"Nothing here"</string>
<string name="tab_new">"New"</string> <string name="tab_new">"New"</string>
<string name="tab_read">"Read"</string> <string name="tab_read">"All"</string>
<string name="tab_favs">"Favorites"</string> <string name="tab_favs">"Favorites"</string>
<string name="action_about">"About"</string> <string name="action_about">"About"</string>
<string name="marked_as_read">"Item read"</string> <string name="marked_as_read">"Item read"</string>
@ -154,4 +154,5 @@
<string name="login_everything_on">This will log every api call for debug purpose.</string> <string name="login_everything_on">This will log every api call for debug purpose.</string>
<string name="login_everything_off">No api call will be logged</string> <string name="login_everything_off">No api call will be logged</string>
<string name="pref_general_infinite_loading_title">(BETA) Load more articles on scroll</string> <string name="pref_general_infinite_loading_title">(BETA) Load more articles on scroll</string>
<string name="translation">Translation</string>
</resources> </resources>

View File

@ -7,4 +7,7 @@
<Preference android:title="@string/source_code" <Preference android:title="@string/source_code"
android:key="sourceLink" /> android:key="sourceLink" />
<Preference android:title="@string/translation"
android:key="translation" />
</PreferenceScreen> </PreferenceScreen>

View File

@ -5,14 +5,20 @@ buildscript {
repositories { repositories {
jcenter() jcenter()
google() google()
maven {
url "https://jitpack.io"
}
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta5' classpath 'com.android.tools.build:gradle:3.0.0-rc2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.1.0' classpath 'com.google.gms:google-services:3.1.0'
// Not the official version https://stackoverflow.com/questions/46525040/sonarqube-android-not-working-for-gradle-3-0-0/46813528#46813528
classpath "com.github.Shusshu:sonar-scanner-gradle:feature~support-android-gradle-3-SNAPSHOT"
} }
} }

5
crowdin.yml Normal file
View File

@ -0,0 +1,5 @@
files:
- source: /app/src/main/res/values/strings.xml
translation: /app/src/main/res/values-%two_letters_code%/%original_file_name%
translate_attributes: '0'
content_segmentation: '0'