Add CI smoke build, fix Gradle Lint warnings, fixes #451 (#504)

- Added CI smoke build config that spawns a build for pull-requests
- Removed extra translations that have no base strings anymore
- Added skip MissingTranslation option to lint as there are missing strings that are not filled in Transifex
This commit is contained in:
Antic1tizen One 2017-01-12 22:01:19 +04:00 committed by Adrian Ulrich
parent 882c03274b
commit c270b13296
12 changed files with 80 additions and 75 deletions

31
.travis.yml Normal file
View File

@ -0,0 +1,31 @@
language: android
jdk:
- oraclejdk8
env:
global:
# install timeout in minutes (2 minutes by default)
- ADB_INSTALL_TIMEOUT=8
android:
components:
# use the latest revision of Android SDK Tools
- platform-tools
- tools
# The BuildTools version used
- build-tools-24.0.2
# The SDK version used
- android-24
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
script:
- ./gradlew --info assembleRelease

View File

@ -17,6 +17,10 @@ allprojects {
apply plugin: 'com.android.application'
android {
lintOptions {
disable 'MissingTranslation'
}
compileSdkVersion 24
buildToolsVersion "24.0.2"

View File

@ -2,7 +2,6 @@
<!--Generated by crowdin.net-->
<resources>
<string name="settings">Instellingen</string>
<string name="library">Bibliotheek</string>
<string name="random">Willekeurig</string>
<string name="play">Speel</string>
<string name="edit">Wijzig</string>
@ -15,7 +14,6 @@
<string name="artists">Artiesten</string>
<string name="albums">Albums</string>
<string name="files">Bestanden</string>
<string name="none">Geen</string>
<string name="unknown">Onbekend</string>
<string name="play_all">Speel alles</string>
<string name="name">Naam</string>

View File

@ -4,14 +4,12 @@
<string name="app_name">Vanilla Music</string>
<string name="no_songs">Ingen låter finnes på enheten.</string>
<string name="settings">Instillinger</string>
<string name="library">Bibliotek</string>
<string name="random_enabling">Tilfeldig aktivert</string>
<string name="song_load_failed">Kunne ikke laste låt %s. Den kan være skadet eller mangler.</string>
<string name="queue_cleared">Kø ryddet.</string>
<string name="choose_playlist_name">Velg Spilleliste Navn</string>
<string name="create">Lage</string>
<string name="overwrite">Overskriv</string>
<string name="cancel">Avbryt</string>
<string name="enqueue"></string>
<string name="play">Spill</string>
<string name="edit">Endre</string>
@ -27,34 +25,25 @@
<string name="songs">Låter</string>
<string name="playlists">Spillelister</string>
<string name="genres">Gjangre</string>
<string name="none">Ingen</string>
<string name="unknown">Ukjent</string>
<string name="play_all">Soill Alt</string>
<string name="enqueue_all">Kø Alt</string>
<string name="all_songs">Alle Låter</string>
<string name="volume_title">Volum</string>
<string name="media_button_title">Bruk Hodetelefon Knapper</string>
<string name="headset_only_title">Kun Ekstern Lydutgang</string>
<string name="headset_pause_title">Pause Når Frakoblet</string>
<string name="headset_pause_summary">Pause når hodetelefonen er frakoblet.</string>
<string name="headset_play_title">Spill Når Tilkoblet</string>
<string name="headset_play_summary">Spill når hodetelefonen er tilkoblet. (Fungerer bare når tjenesten kjører.)</string>
<string name="notification_mode_title">Varselmodus</string>
<string name="notification_action_title">Varsel Handling</string>
<string name="notification_invert_color_title">Inverter Varsling Farge</string>
<string name="notification_invert_color_summary">Bruk hvit tekst i stedet for svart tekst</string>
<string name="display_mode_title">Visningsmodus</string>
<string name="swipe_up_action_title">Sveip Opp Handling</string>
<string name="swipe_down_action_title">Sveip Ned Handling</string>
<string name="cover_press_action_title">Cover Tapp Handling</string>
<string name="cover_longpress_action_title">Lang Cover Trykk Handling</string>
<string name="controls_in_selector_title">Medieknapper i Bibliotek</string>
<string name="controls_in_selector_summary">Vis låten som spilles og mediekontrollene i biblioteket</string>
<string name="default_action_title">Standard Handling</string>
<string name="use_idle_timeout_title">Aktiver Tomgang</string>
<string name="use_idle_timeout_summary">Når aktiv, blir avspillingen stoppet etter en gitt periode med inaktivitet</string>
<string name="idle_timeout_title">Tomgang</string>
<string name="disable_cover_art_title">Deaktiver Cover bilde</string>
<string name="double_tap_title">Dobbeltapp Widget</string>
<string name="double_tap_summary">Dobbeltapping på 1x1 widget vil åpne spilleren. Forvent en 400ms forsinkelse før widgeten reagerer på handlingen.</string>
<string name="scrobble_title">Bruk ScrobbleDroid API</string>

View File

@ -4,14 +4,12 @@
<string name="app_name">Vanilla Music</string>
<string name="no_songs">V zariadení neboli nájdené žiadne skladby.</string>
<string name="settings">Nastavenia</string>
<string name="library">Knižnica</string>
<string name="random_enabling">Náhodný výber zapnutý.</string>
<string name="song_load_failed">Načítanie skladby %s zlyhalo. Môže byť poškodená, alebo chýba.</string>
<string name="queue_cleared">Zoznam vymazaný.</string>
<string name="choose_playlist_name">Vyberte názov zoznamu skladieb</string>
<string name="create">Vytvoriť</string>
<string name="overwrite">Prepísať</string>
<string name="cancel">Zrušiť</string>
<string name="enqueue">Zaradiť do zoznamu</string>
<string name="play">Prehrať</string>
<string name="edit">Upraviť</string>
@ -27,34 +25,25 @@
<string name="songs">Skladby</string>
<string name="playlists">Zoznamy skladieb</string>
<string name="genres">Žánre</string>
<string name="none">Nič</string>
<string name="unknown">Neznáme</string>
<string name="play_all">Prehrať všetko</string>
<string name="enqueue_all">Pridať do zoznamu všetko</string>
<string name="all_songs">Všetky skladby</string>
<string name="volume_title">Hlasitosť</string>
<string name="media_button_title">Použiť ovládanie náhlavnej súpravy</string>
<string name="headset_only_title">Iba externý výstup</string>
<string name="headset_pause_title">Pozastaviť pri odpojení</string>
<string name="headset_pause_summary">Pozastaví prehrávanie keď odpojíte sluchátka.</string>
<string name="headset_play_title">Prehrať po pripojení</string>
<string name="headset_play_summary">Spustí prehrávanie keď zapojíte sluchátka. Funguje iba keď beží služba.</string>
<string name="notification_mode_title">Režim upozornení</string>
<string name="notification_action_title">Akcia upozornenia</string>
<string name="notification_invert_color_title">Invertovať farbu oznámenia</string>
<string name="notification_invert_color_summary">Použije biely text namiesto čierneho.</string>
<string name="display_mode_title">Režim zobrazenia</string>
<string name="swipe_up_action_title">Akcia prejedním prstu nahor</string>
<string name="swipe_down_action_title">Prejdením prstom nadol</string>
<string name="cover_press_action_title">Akcia pri ťuknutí na obal</string>
<string name="cover_longpress_action_title">Akcia pri podržaní na obale</string>
<string name="controls_in_selector_title">Ovládanie v knižnici</string>
<string name="controls_in_selector_summary">V knižnici zobrazí aktuálne prehrávanú skladbu a ovládanie prehrávania.</string>
<string name="default_action_title">Predvolená akcia</string>
<string name="use_idle_timeout_title">Povoliť časový limit nečinnosti</string>
<string name="use_idle_timeout_summary">Keď je povolené, prehrávanie sa zastaví po danom čase nečinnosti.</string>
<string name="idle_timeout_title">Časový limit nečinnosti</string>
<string name="disable_cover_art_title">Vypnúť obal albumu</string>
<string name="double_tap_title">Dvojité ťuknutie na miniaplikáciu</string>
<string name="double_tap_summary">Dvojité ťuknutie na 1×1 miniaplikáciu otvorí prehrávač. Vytvorí oneskorenie 0,4 sekúnd pred tým, ako miniaplikácia reaguje na akciu.</string>
<string name="scrobble_title">Použiť ScrobbleDroid API</string>

View File

@ -5,7 +5,6 @@
<string name="no_songs">На вашому пристрої не знайдено пісень.</string>
<string name="empty_queue">Не вибрано пісень. Додайте їх з бібліотеки або натисніть тут для додавання любих.</string>
<string name="settings">Параметри</string>
<string name="library">Бібліотека</string>
<string name="no_shuffle">Не відтворювати у випадковому порядку</string>
<string name="shuffle_songs">Випадкові пісні</string>
<string name="shuffle_albums">Випадкові альбоми</string>
@ -30,7 +29,6 @@
<string name="choose_playlist_name">Введіть назву списку</string>
<string name="create">Створити</string>
<string name="overwrite">Перезаписати</string>
<string name="cancel">Скасувати</string>
<string name="delete_playlist">Видалити список %s?</string>
<string name="enqueue">Видалити з черги</string>
<string name="play">Грати</string>
@ -45,9 +43,7 @@
<string name="search">Знайти</string>
<string name="done">Виконано</string>
<string name="remove">Усунути</string>
<string name="clear_search">Очистити пошук</string>
<string name="play_or_enqueue">Видали з черги при відтворенні; Відтворити при зупиненні</string>
<string name="deleted">%s видалено.</string>
<string name="delete_file_failed">Не вдалося видалити %s.</string>
<string name="artists">Виконавець</string>
<string name="albums">Альбоми</string>
@ -55,7 +51,6 @@
<string name="playlists">Списки</string>
<string name="genres">Жанри</string>
<string name="files">Файли</string>
<string name="none">Немає</string>
<string name="unknown">Невідомий</string>
<string name="play_all">Відтворити все</string>
<string name="enqueue_all">Очистити чергу</string>
@ -70,12 +65,7 @@
<string name="artist_album_track">Виконавець, альбом, номер пісні</string>
<string name="artist_album_title">Виконавець, альбом, назва</string>
<string name="artist_year">Виконавець, рік</string>
<string name="ascending">За зростанням</string>
<string name="descending">За спаданням</string>
<string name="notification_title_paused">%s (призупинено)</string>
<string name="audio">Аудіо</string>
<string name="queue">Черга</string>
<string name="volume_title">Гучність</string>
<string name="media_button_title">Гарнітура/Bluetooth керування</string>
<string name="media_button_summary">Це потрібно для контролю на екрані блокування Android 4.0 і вище.</string>
<string name="media_button_beep_title">Звуковий сигнал при управлінні з гарнітури</string>
@ -84,13 +74,9 @@
<string name="headset_only_summary">Заборонити відтворення музики через гучномовець.</string>
<string name="headset_pause_title">Призупиняти при від’єднанні</string>
<string name="headset_pause_summary">Призупиняє при від’єднанні навушників.</string>
<string name="headset_play_title">Продовжувати при приєднанні</string>
<string name="headset_play_summary">Продовжувати при приєднанні навушників (Спрацює лише при запущеному сервісі)</string>
<string name="notifications">Сповіщення</string>
<string name="notification_mode_title">Режим сповіщення</string>
<string name="notification_action_title">Дія сповіщення</string>
<string name="notification_invert_color_title">Інвертувати колір сповіщення</string>
<string name="notification_invert_color_summary">Показувати білий текст замість чорного</string>
<string name="playback_screen">Екран відтворення</string>
<string name="playback_on_startup_title">Відкривати при запуску</string>
<string name="playback_on_startup_summary">Показувати екран відтворення при запуску</string>
@ -100,8 +86,6 @@
<string name="cover_press_action_title">Дія при натиску на обкладинку</string>
<string name="cover_longpress_action_title">Дія при утриманні на обкладинці</string>
<string name="library_screen">Екран бібліотеки</string>
<string name="controls_in_selector_title">Елементи керування в бібліотеці</string>
<string name="controls_in_selector_summary">Показувати поточну пісню та елементи керування в бібліотеці</string>
<string name="default_action_title">Стандартна дія</string>
<string name="default_playlist_action_title">Стандартна дія списку</string>
<string name="accelerometer_shake">Струс акселерометра</string>
@ -115,18 +99,12 @@
<string name="use_idle_timeout_title">Зупиняти при неактивності</string>
<string name="use_idle_timeout_summary">Коли увімкнено, відтворення буде зупинено після певного періоду бездіяльності</string>
<string name="idle_timeout_title">Час простою</string>
<string name="disable_cover_art_title">Вимкнути обкладинки</string>
<string name="disable_cover_art_summary">Не завантажує обкладинки у всій програмі</string>
<string name="double_tap_title">Віджет з подвійним натиском</string>
<string name="double_tap_summary">ПОдвійний тап по віджеті 1х1 відкриє плеєр. Віджет чекає 400мс перед реагуванням на дію.</string>
<string name="scrobble_title">Використовувати ScrobbleDroid API</string>
<string name="scrobble_summary">Відсилати до Last.FM через ScrobbleDroid або простим Scrobbler Last.FM</string>
<string name="stock_broadcast_title">Емулювати звичайні події</string>
<string name="stock_broadcast_summary">Посилати події, які відсилає стандартний плеєр для роботи інших віджетів та ін.</string>
<string name="media_scan">Оновити бібліотеку</string>
<string name="tap_to_scan">Натисніть для сканування зовнішнього сховища</string>
<string name="scan_in_progress">Сканування…</string>
<string name="finished_scanning">Сканування закінчено. Натисніть для сканування ще раз.</string>
<string name="about">Про програму</string>
<string name="tabs">Порядок вкладок</string>
<string name="customize_tab_order">Налаштуйте порядок та видимість тегів у бібліотеці</string>
@ -153,7 +131,6 @@
<string name="enqueue_current_album">Видалити альбом з черги</string>
<string name="enqueue_current_artist">Видалити виконавця з черги</string>
<string name="enqueue_current_genre">Видалити жанр з черги</string>
<string name="clear_queue">Очистити чергу</string>
<string name="toggle_controls">Перемкнути відображення елементів керування</string>
<plurals name="playing">
<item quantity="one">1 пісня грає.</item>

View File

@ -21,7 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<resources>
<string-array name="entry_values">
<string-array translatable="false" name="entry_values">
<!-- Note: even if this was an integer-array, these would be converted
to strings anyway.
http://code.google.com/p/android/issues/detail?id=2096 -->

View File

@ -349,7 +349,7 @@ public class FullPlaybackActivity extends SlidingPlaybackActivity
Intent intent = new Intent();
intent.putExtra("type", MediaUtils.TYPE_SONG);
intent.putExtra("id", song.id);
PlaylistDialog dialog = new PlaylistDialog(this, intent, null);
PlaylistDialog dialog = PlaylistDialog.newInstance(this, intent, null);
dialog.show(getFragmentManager(), "PlaylistDialog");
}
break;

View File

@ -754,7 +754,7 @@ public class LibraryActivity
case CTX_MENU_RENAME_PLAYLIST: {
final String playlistName = intent.getStringExtra("title");
final long playlistId = intent.getLongExtra("id", -1);
PlaylistInputDialog dialog = new PlaylistInputDialog(new PlaylistInputDialog.Callback() {
PlaylistInputDialog dialog = PlaylistInputDialog.newInstance(new PlaylistInputDialog.Callback() {
@Override
public void onSuccess(String input) {
PlaylistTask playlistTask = new PlaylistTask(playlistId, input);
@ -812,7 +812,7 @@ public class LibraryActivity
break;
case CTX_MENU_ADD_TO_PLAYLIST:
long id = intent.getLongExtra("id", LibraryAdapter.INVALID_ID);
PlaylistDialog plDialog = new PlaylistDialog(this, intent, (id == LibraryAdapter.HEADER_ID ? (MediaAdapter)mCurrentAdapter : null));
PlaylistDialog plDialog = PlaylistDialog.newInstance(this, intent, (id == LibraryAdapter.HEADER_ID ? (MediaAdapter)mCurrentAdapter : null));
plDialog.show(getFragmentManager(), "PlaylistDialog");
break;
default:

View File

@ -34,6 +34,24 @@ import android.os.Bundle;
public class PlaylistDialog extends DialogFragment
implements DialogInterface.OnClickListener
{
/**
* Default constructor as required by Gradle Release Lint
*/
public PlaylistDialog() {
}
/**
* Creates a new playlist dialog to assemble a playlist using an intent.
* Uses a static constructor method to satisfy Gradle Release Lint.
*/
public static PlaylistDialog newInstance(Callback callback, Intent intent, MediaAdapter allSource) {
PlaylistDialog pd = new PlaylistDialog();
pd.mCallback = callback;
pd.mData = pd.new Data();
pd.mData.sourceIntent = intent;
pd.mData.allSource = allSource;
return pd;
}
/**
* A class implementing our callback interface
@ -71,15 +89,6 @@ public class PlaylistDialog extends DialogFragment
public MediaAdapter allSource;
}
/**
* Creates a new playlist dialog to assemble a playlist using an intent
*/
PlaylistDialog(Callback callback, Intent intent, MediaAdapter allSource) {
mCallback = callback;
mData = new PlaylistDialog.Data();
mData.sourceIntent = intent;
mData.allSource = allSource;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
@ -112,7 +121,7 @@ public class PlaylistDialog extends DialogFragment
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case BUTTON_CREATE_PLAYLIST:
PlaylistInputDialog newDialog = new PlaylistInputDialog(new PlaylistInputDialog.Callback() {
PlaylistInputDialog newDialog = PlaylistInputDialog.newInstance(new PlaylistInputDialog.Callback() {
@Override
public void onSuccess(String input) {
mData.id = -1;

View File

@ -37,6 +37,26 @@ import android.widget.EditText;
public class PlaylistInputDialog extends DialogFragment
implements DialogInterface.OnClickListener, TextWatcher
{
/**
* Default constructor as required by Gradle Release Lint
*/
public PlaylistInputDialog() {
}
/**
* Creates a new instance.
* Uses a static constructor method to satisfy Gradle Release Lint.
* @param callback the callback to call back
* @param initialText the initial value mEditText
* @param actionRes the label of the positive button
*/
public static PlaylistInputDialog newInstance(Callback callback, String initialText, int actionRes) {
PlaylistInputDialog pid = new PlaylistInputDialog();
pid.mCallback = callback;
pid.mInitialText = initialText;
pid.mActionRes = actionRes;
return pid;
}
public interface Callback {
void onSuccess(String input);
@ -64,18 +84,6 @@ public class PlaylistInputDialog extends DialogFragment
*/
private AlertDialog mDialog;
/**
* Creates a new instance
* @param callback the callback to call back
* @param initialText the initial value mEditText
* @param actionRes the label of the positive button
*/
PlaylistInputDialog(Callback callback, String initialText, int actionRes) {
mCallback = callback;
mInitialText = initialText;
mActionRes = actionRes;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mEditText = new EditText(getActivity());

View File

@ -143,7 +143,7 @@ public class SlidingPlaybackActivity extends PlaybackActivity
mSlidingView.hideSlide();
break;
case MENU_SAVE_QUEUE:
PlaylistDialog dialog = new PlaylistDialog(this, null, null);
PlaylistDialog dialog = PlaylistDialog.newInstance(this, null, null);
dialog.show(getFragmentManager(), "PlaylistDialog");
break;
default:
@ -163,7 +163,7 @@ public class SlidingPlaybackActivity extends PlaybackActivity
final Intent intent = item.getIntent();
switch (item.getItemId()) {
case CTX_MENU_ADD_TO_PLAYLIST: {
PlaylistDialog dialog = new PlaylistDialog(this, intent, null);
PlaylistDialog dialog = PlaylistDialog.newInstance(this, intent, null);
dialog.show(getFragmentManager(), "PlaylistDialog");
break;
}