Compare commits

..

No commits in common. "master" and "v1.2.1" have entirely different histories.

102 changed files with 389 additions and 587 deletions

1
.idea/.name Normal file
View File

@ -0,0 +1 @@
Tsumugi-app

View File

@ -14,6 +14,7 @@
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
</set> </set>
</option> </option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
</component> </component>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">

View File

@ -25,7 +25,7 @@ android {
jvmTarget = "11" jvmTarget = "11"
} }
defaultConfig { defaultConfig {
applicationId "fr.riff_app.riff" applicationId "fr.forum_thalie.tsumugi"
minSdkVersion 16 minSdkVersion 16
targetSdkVersion 32 targetSdkVersion 32
multiDexEnabled true multiDexEnabled true

View File

@ -0,0 +1,24 @@
package fr.forum_thalie.tsumugi
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("fr.forum_thalie.tsumugi", appContext.packageName)
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1,14 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group android:scaleX="0.84375"
android:scaleY="0.84375">
<path
android:strokeWidth="1"
android:pathData="M-22.4,-18.02h249.46v189.63h-249.46z"
android:fillColor="#000000"
android:strokeColor="#ffffff"/>
</group>
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="fr.riff_app.riff"> package="fr.forum_thalie.tsumugi">
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
@ -40,8 +40,8 @@
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="fr.riff_app.riff.PLAY_OR_FALLBACK" /> <action android:name="fr.forum_thalie.tsumugi.PLAY_OR_FALLBACK" />
<action android:name="fr.riff_app.riff.NOTIFY" /> <!-- this is for Snooze --> <action android:name="fr.forum_thalie.tsumugi.NOTIFY" /> <!-- this is for Snooze -->
<category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.DEFAULT"/>
</intent-filter> </intent-filter>
</receiver> </receiver>

View File

@ -1,76 +1,82 @@
{ {
"planning": [ "planning": [
{ {
"title": "La playlist Base Rock", "title": "Le Classique du Matin",
"periodicity": "1111111", "periodicity": "1111111",
"hour_begin": "00:00", "hour_begin": "6:00",
"hour_end": "7:00"
},
{
"title": "Tsumugi Rétro",
"periodicity": "1000000",
"hour_begin": "09:00",
"hour_end": "12:00"
},
{
"title": "Tournant du Millénaire",
"periodicity": "0100000",
"hour_begin": "09:00",
"hour_end": "12:00"
},
{
"title": "Tsumugi Netpop",
"periodicity": "0010000",
"hour_begin": "09:00",
"hour_end": "12:00"
},
{
"title": "Tsumugi Moderne",
"periodicity": "0001000",
"hour_begin": "09:00",
"hour_end": "12:00"
},
{
"title": "Tsumugi Très Récent",
"periodicity": "0000100",
"hour_begin": "09:00",
"hour_end": "12:00"
},
{
"title": "Jeux Vidéos Aprem'",
"periodicity": "1111111",
"hour_begin": "14:00",
"hour_end": "15:30"
},
{
"title": "Anime Aprem'",
"periodicity": "1111111",
"hour_begin": "15:30",
"hour_end": "17:00"
},
{
"title": "Jeux Vidéos Soirée",
"periodicity": "1111100",
"hour_begin": "19:00",
"hour_end": "20:00"
},
{
"title": "Anime Soirée",
"periodicity": "1111100",
"hour_begin": "20:00",
"hour_end": "21:00" "hour_end": "21:00"
}, },
{ {
"title": "Only Covers", "title": "Anime Nuit",
"periodicity": "1000000", "periodicity": "1111111",
"hour_begin": "20:30", "hour_begin": "00:00",
"hour_end": "00:00" "hour_end": "01:00"
}, },
{ {
"title": "Only Indies", "title": "Jeux Vidéos Nuit",
"periodicity": "0100000", "periodicity": "1111111",
"hour_begin": "20:30", "hour_begin": "01:00",
"hour_end": "00:00" "hour_end": "02:00"
}, },
{ {
"title": "Only Acoustic", "title": "Programmation nocturne",
"periodicity": "0010000", "periodicity": "1111111",
"hour_begin": "20:30", "hour_begin": "02:00",
"hour_end": "00:00" "hour_end": "06:00"
},
{
"title": "Only Sweden",
"periodicity": "0001000",
"hour_begin": "20:30",
"hour_end": "00:00"
},
{
"title": "Only Lives",
"periodicity": "0000100",
"hour_begin": "20:30",
"hour_end": "00:00"
},
{
"title": "Only Games",
"periodicity": "0000010",
"hour_begin": "21:00",
"hour_end": "23:15"
},
{
"title": "Beyond [Azraël]",
"periodicity": "0100000",
"hour_begin": "21:00",
"hour_end": "23:00"
},
{
"title": "Piste Rouge [Louise et Trotsky]",
"periodicity": "0010000",
"hour_begin": "21:00",
"hour_end": "23:00"
},
{
"title": "Katamariff [Herondil & co.]",
"periodicity": "0000100",
"hour_begin": "21:00",
"hour_end": "23:00"
},
{
"title": "Le 4/4 Jazz [Melomaniaque]",
"periodicity": "0000001",
"hour_begin": "21:00",
"hour_end": "22:00"
},
{
"title": "Beyond, la playlist",
"periodicity": "0000001",
"hour_begin": "22:10",
"hour_end": "00:00"
} }
], ],
"regular_programme" : "Programmation habituelle", "regular_programme" : "Programmation habituelle",

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
enum class Actions enum class Actions
{ {

View File

@ -1,8 +1,8 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.os.AsyncTask import android.os.AsyncTask
import android.util.Log import android.util.Log
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
class Async(val handler: (Any?) -> Any?, val post: (Any?) -> Unit = {}, class Async(val handler: (Any?) -> Any?, val post: (Any?) -> Unit = {},
private val actionOnError: ActionOnError = ActionOnError.RESET, private val parameters: Any? = null) : private val actionOnError: ActionOnError = ActionOnError.RESET, private val parameters: Any? = null) :

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.app.Notification import android.app.Notification
import android.app.NotificationChannel import android.app.NotificationChannel

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
@ -6,9 +6,9 @@ import android.content.Intent
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import fr.riff_app.riff.alarm.RadioAlarm import fr.forum_thalie.tsumugi.alarm.RadioAlarm
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
class BootBroadcastReceiver : BroadcastReceiver(){ class BootBroadcastReceiver : BroadcastReceiver(){

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.os.Bundle import android.os.Bundle
import com.google.android.material.bottomnavigation.BottomNavigationView import com.google.android.material.bottomnavigation.BottomNavigationView
@ -11,13 +11,13 @@ import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import androidx.navigation.NavController import androidx.navigation.NavController
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import java.util.Timer import java.util.Timer
import android.view.MenuItem import android.view.MenuItem
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import fr.riff_app.riff.alarm.RadioAlarm import fr.forum_thalie.tsumugi.alarm.RadioAlarm
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
/* Log to file import /* Log to file import

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.content.Intent import android.content.Intent

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Context import android.content.Context
@ -8,7 +8,7 @@ import android.support.v4.media.session.MediaSessionCompat
import android.support.v4.media.session.PlaybackStateCompat import android.support.v4.media.session.PlaybackStateCompat
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
class NowPlayingNotification( class NowPlayingNotification(
notificationChannelId: String, notificationChannelId: String,

View File

@ -1,8 +1,8 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.os.Bundle import android.os.Bundle
import android.view.MenuItem import android.view.MenuItem
import fr.riff_app.riff.preferences.* import fr.forum_thalie.tsumugi.preferences.*
class ParametersActivity : BaseActivity() { class ParametersActivity : BaseActivity() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.app.Service import android.app.Service
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
@ -32,10 +32,10 @@ import androidx.media.AudioManagerCompat
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.google.android.exoplayer2.* import com.google.android.exoplayer2.*
import com.google.android.exoplayer2.metadata.icy.* import com.google.android.exoplayer2.metadata.icy.*
import fr.riff_app.riff.alarm.RadioAlarm import fr.forum_thalie.tsumugi.alarm.RadioAlarm
import fr.riff_app.riff.alarm.RadioSleeper import fr.forum_thalie.tsumugi.alarm.RadioSleeper
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import java.util.* import java.util.*
import kotlin.math.exp import kotlin.math.exp
import kotlin.math.ln import kotlin.math.ln
@ -428,7 +428,7 @@ class RadioService : MediaBrowserServiceCompat() {
) )
// This is the MediaSource representing the media to be played. // This is the MediaSource representing the media to be played.
radioMediaSource = ProgressiveMediaSource.Factory(dataSourceFactory) radioMediaSource = ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(Uri.parse(getString(R.string.STREAM_URL_RIFF))) .createMediaSource(Uri.parse(getString(R.string.STREAM_URL_TSUMUGI)))
fallbackMediaSource = ProgressiveMediaSource.Factory(dataSourceFactory) fallbackMediaSource = ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(Uri.parse("file:///android_asset/the_stream_is_down.mp3")) .createMediaSource(Uri.parse("file:///android_asset/the_stream_is_down.mp3"))

View File

@ -1,7 +1,7 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.support.v4.media.session.PlaybackStateCompat import android.support.v4.media.session.PlaybackStateCompat
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import java.util.* import java.util.*
class ApiFetchTick : TimerTask() { class ApiFetchTick : TimerTask() {

View File

@ -1,12 +1,12 @@
package fr.riff_app.riff package fr.forum_thalie.tsumugi
import android.content.SharedPreferences import android.content.SharedPreferences
import android.content.res.ColorStateList import android.content.res.ColorStateList
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
const val tag = "fr.riff_app.riff" const val tag = "fr.forum_thalie.tsumugi"
const val noConnectionValue = "" const val noConnectionValue = ""
const val streamDownValue = "Riff est HS !" // we don't want this value to be displaed in the "last played" screen. const val streamDownValue = "Tsumugi est HS !" // we don't want this value to be displaed in the "last played" screen.
val weekdaysArray : Array<String> = arrayOf( "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche") val weekdaysArray : Array<String> = arrayOf( "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
const val newsDateTimePattern = "EEE, d MMM yyyy HH:mm:ss Z" const val newsDateTimePattern = "EEE, d MMM yyyy HH:mm:ss Z"
const val newsDisplayDatePattern = "dd MMM yyyy" const val newsDisplayDatePattern = "dd MMM yyyy"

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.alarm package fr.forum_thalie.tsumugi.alarm
import android.app.AlarmManager import android.app.AlarmManager
import android.app.PendingIntent import android.app.PendingIntent
@ -8,9 +8,9 @@ import android.os.Build
import android.util.Log import android.util.Log
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import androidx.core.app.AlarmManagerCompat import androidx.core.app.AlarmManagerCompat
import fr.riff_app.riff.BootBroadcastReceiver import fr.forum_thalie.tsumugi.BootBroadcastReceiver
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import fr.riff_app.riff.* import fr.forum_thalie.tsumugi.*
import java.util.* import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.alarm package fr.forum_thalie.tsumugi.alarm
import android.app.AlarmManager import android.app.AlarmManager
import android.app.PendingIntent import android.app.PendingIntent
@ -10,7 +10,7 @@ import androidx.annotation.RequiresApi
import androidx.core.app.AlarmManagerCompat import androidx.core.app.AlarmManagerCompat
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import fr.riff_app.riff.* import fr.forum_thalie.tsumugi.*
class RadioSleeper { class RadioSleeper {

View File

@ -1,11 +1,11 @@
package fr.riff_app.riff.planning package fr.forum_thalie.tsumugi.planning
import android.content.Context import android.content.Context
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import fr.riff_app.riff.Async import fr.forum_thalie.tsumugi.Async
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.noConnectionValue import fr.forum_thalie.tsumugi.noConnectionValue
import fr.riff_app.riff.weekdays import fr.forum_thalie.tsumugi.weekdays
import org.json.JSONObject import org.json.JSONObject
import java.io.IOException import java.io.IOException
import java.net.URL import java.net.URL

View File

@ -1,8 +1,8 @@
package fr.riff_app.riff.planning package fr.forum_thalie.tsumugi.planning
import android.util.Log import android.util.Log
import fr.riff_app.riff.tag import fr.forum_thalie.tsumugi.tag
import fr.riff_app.riff.weekdays import fr.forum_thalie.tsumugi.weekdays
import java.util.* import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.playerstore package fr.forum_thalie.tsumugi.playerstore
import android.content.Context import android.content.Context
import android.graphics.Bitmap import android.graphics.Bitmap
@ -6,8 +6,8 @@ import android.graphics.BitmapFactory
import android.support.v4.media.session.PlaybackStateCompat import android.support.v4.media.session.PlaybackStateCompat
import android.util.Log import android.util.Log
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import fr.riff_app.riff.* import fr.forum_thalie.tsumugi.*
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import org.json.JSONObject import org.json.JSONObject
import java.net.URL import java.net.URL
import java.text.ParseException import java.text.ParseException

View File

@ -1,8 +1,8 @@
package fr.riff_app.riff.playerstore package fr.forum_thalie.tsumugi.playerstore
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import fr.riff_app.riff.noConnectionValue import fr.forum_thalie.tsumugi.noConnectionValue
class Song(artistTitle: String = "", _id : Int = 0) { class Song(artistTitle: String = "", _id : Int = 0) {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.preferences package fr.forum_thalie.tsumugi.preferences
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@ -14,10 +14,10 @@ import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.preference.SeekBarPreference import androidx.preference.SeekBarPreference
import androidx.preference.SwitchPreferenceCompat import androidx.preference.SwitchPreferenceCompat
import fr.riff_app.riff.Actions import fr.forum_thalie.tsumugi.Actions
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.RadioService import fr.forum_thalie.tsumugi.RadioService
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import kotlinx.coroutines.* import kotlinx.coroutines.*
import kotlin.coroutines.CoroutineContext import kotlin.coroutines.CoroutineContext
import kotlin.math.max import kotlin.math.max

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.preferences package fr.forum_thalie.tsumugi.preferences
import android.app.TimePickerDialog import android.app.TimePickerDialog
import android.content.Context import android.content.Context
@ -11,10 +11,10 @@ import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.edit import androidx.core.content.edit
import androidx.preference.* import androidx.preference.*
import fr.riff_app.riff.* import fr.forum_thalie.tsumugi.*
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.alarm.RadioAlarm import fr.forum_thalie.tsumugi.alarm.RadioAlarm
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope.coroutineContext import kotlinx.coroutines.GlobalScope.coroutineContext
import kotlinx.coroutines.Job import kotlinx.coroutines.Job

View File

@ -1,12 +1,12 @@
package fr.riff_app.riff.preferences package fr.forum_thalie.tsumugi.preferences
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.preference.* import androidx.preference.*
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.preferenceStore import fr.forum_thalie.tsumugi.preferenceStore
class CustomizeFragment : PreferenceFragmentCompat() { class CustomizeFragment : PreferenceFragmentCompat() {
override fun onAttach(context: Context) { override fun onAttach(context: Context) {

View File

@ -1,9 +1,9 @@
package fr.riff_app.riff.preferences package fr.forum_thalie.tsumugi.preferences
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import android.annotation.SuppressLint import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.preference.* import androidx.preference.*

View File

@ -1,12 +1,12 @@
package fr.riff_app.riff.preferences package fr.forum_thalie.tsumugi.preferences
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import androidx.preference.* import androidx.preference.*
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import android.text.InputType import android.text.InputType
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import fr.riff_app.riff.alarm.RadioSleeper import fr.forum_thalie.tsumugi.alarm.RadioSleeper
class SleepFragment : PreferenceFragmentCompat() { class SleepFragment : PreferenceFragmentCompat() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui package fr.forum_thalie.tsumugi.ui
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter import androidx.fragment.app.FragmentPagerAdapter

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.news package fr.forum_thalie.tsumugi.ui.news
import java.util.* import java.util.*

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.news package fr.forum_thalie.tsumugi.ui.news
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
@ -20,8 +20,8 @@ import androidx.core.content.ContextCompat
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import androidx.core.widget.TextViewCompat import androidx.core.widget.TextViewCompat
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.newsDisplayDatePattern import fr.forum_thalie.tsumugi.newsDisplayDatePattern
import java.io.IOException import java.io.IOException
import java.io.InputStream import java.io.InputStream
import java.net.URL import java.net.URL

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.news package fr.forum_thalie.tsumugi.ui.news
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
@ -12,7 +12,7 @@ import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
class NewsFragment : Fragment() { class NewsFragment : Fragment() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.news package fr.forum_thalie.tsumugi.ui.news
import android.content.Context import android.content.Context
import android.os.Build import android.os.Build
@ -8,9 +8,9 @@ import android.webkit.WebView
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.prof.rssparser.Parser import com.prof.rssparser.Parser
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.newsDateTimePattern import fr.forum_thalie.tsumugi.newsDateTimePattern
import fr.riff_app.riff.tag import fr.forum_thalie.tsumugi.tag
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job import kotlinx.coroutines.Job

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.news package fr.forum_thalie.tsumugi.ui.news
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.nowplaying package fr.forum_thalie.tsumugi.ui.nowplaying
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.ClipboardManager import android.content.ClipboardManager
@ -16,11 +16,11 @@ import androidx.constraintlayout.widget.ConstraintSet
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import com.google.android.material.snackbar.BaseTransientBottomBar import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import fr.riff_app.riff.* import fr.forum_thalie.tsumugi.*
import fr.riff_app.riff.alarm.RadioSleeper import fr.forum_thalie.tsumugi.alarm.RadioSleeper
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import fr.riff_app.riff.playerstore.Song import fr.forum_thalie.tsumugi.playerstore.Song
class NowPlayingFragment : Fragment() { class NowPlayingFragment : Fragment() {
@ -89,7 +89,7 @@ class NowPlayingFragment : Fragment() {
Planning.instance.currentProgramme.observe(viewLifecycleOwner, Observer { Planning.instance.currentProgramme.observe(viewLifecycleOwner, Observer {
currentProgrammeText.text = "${requireContext().getString(R.string.current_programme)} $it" currentProgrammeText.text = "${context!!.getString(R.string.current_programme)} $it"
}) })
@ -184,7 +184,7 @@ class NowPlayingFragment : Fragment() {
val setClipboardListener: View.OnLongClickListener = View.OnLongClickListener { val setClipboardListener: View.OnLongClickListener = View.OnLongClickListener {
val text = PlayerStore.instance.currentSong.artist.value + " - " + PlayerStore.instance.currentSong.title.value val text = PlayerStore.instance.currentSong.artist.value + " - " + PlayerStore.instance.currentSong.title.value
val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clipboard = context!!.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = android.content.ClipData.newPlainText("Copied Text", text) val clip = android.content.ClipData.newPlainText("Copied Text", text)
clipboard.setPrimaryClip(clip) clipboard.setPrimaryClip(clip)
val snackBarLength = if (preferenceStore.getBoolean("snackbarPersistent", false)) val snackBarLength = if (preferenceStore.getBoolean("snackbarPersistent", false))

View File

@ -1,11 +1,11 @@
package fr.riff_app.riff.ui.nowplaying package fr.forum_thalie.tsumugi.ui.nowplaying
import android.widget.SeekBar import android.widget.SeekBar
import androidx.core.content.edit import androidx.core.content.edit
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
import fr.riff_app.riff.preferenceStore import fr.forum_thalie.tsumugi.preferenceStore
class NowPlayingViewModel: ViewModel() { class NowPlayingViewModel: ViewModel() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.programme package fr.forum_thalie.tsumugi.ui.programme
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.view.LayoutInflater import android.view.LayoutInflater
@ -6,12 +6,12 @@ import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.colorAccent import fr.forum_thalie.tsumugi.colorAccent
import fr.riff_app.riff.colorWhited import fr.forum_thalie.tsumugi.colorWhited
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import fr.riff_app.riff.planning.Programme import fr.forum_thalie.tsumugi.planning.Programme
import fr.riff_app.riff.weekdaysSundayFirst import fr.forum_thalie.tsumugi.weekdaysSundayFirst
import java.util.* import java.util.*
class ProgrammeAdapter(private val dataSet: ArrayList<Programme>, private val day: String class ProgrammeAdapter(private val dataSet: ArrayList<Programme>, private val day: String

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.programme package fr.forum_thalie.tsumugi.ui.programme
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
@ -9,10 +9,10 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import fr.riff_app.riff.planning.Programme import fr.forum_thalie.tsumugi.planning.Programme
import fr.riff_app.riff.weekdays import fr.forum_thalie.tsumugi.weekdays
class ProgrammeDayFragment : Fragment() { class ProgrammeDayFragment : Fragment() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.programme package fr.forum_thalie.tsumugi.ui.programme
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.programme package fr.forum_thalie.tsumugi.ui.programme
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
@ -9,10 +9,10 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.planning.Planning import fr.forum_thalie.tsumugi.planning.Planning
import fr.riff_app.riff.ui.APagerAdapter import fr.forum_thalie.tsumugi.ui.APagerAdapter
import fr.riff_app.riff.weekdays import fr.forum_thalie.tsumugi.weekdays
import java.util.* import java.util.*
class ProgrammeFragment : Fragment() { class ProgrammeFragment : Fragment() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.songs package fr.forum_thalie.tsumugi.ui.songs
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
@ -9,10 +9,10 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter import androidx.fragment.app.FragmentPagerAdapter
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.ui.APagerAdapter import fr.forum_thalie.tsumugi.ui.APagerAdapter
import fr.riff_app.riff.ui.programme.ProgrammeDayFragment import fr.forum_thalie.tsumugi.ui.programme.ProgrammeDayFragment
import fr.riff_app.riff.ui.songs.queuelp.LastPlayedFragment import fr.forum_thalie.tsumugi.ui.songs.queuelp.LastPlayedFragment
class SongsFragment : Fragment() { class SongsFragment : Fragment() {

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.songs.queuelp package fr.forum_thalie.tsumugi.ui.songs.queuelp
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
@ -9,8 +9,8 @@ import android.view.ViewGroup
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.playerstore.PlayerStore import fr.forum_thalie.tsumugi.playerstore.PlayerStore
/** /**
* A simple [Fragment] subclass. * A simple [Fragment] subclass.

View File

@ -1,4 +1,4 @@
package fr.riff_app.riff.ui.songs.queuelp package fr.forum_thalie.tsumugi.ui.songs.queuelp
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
@ -8,11 +8,11 @@ import android.view.ViewGroup
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import fr.riff_app.riff.R import fr.forum_thalie.tsumugi.R
import fr.riff_app.riff.colorBlue import fr.forum_thalie.tsumugi.colorBlue
import fr.riff_app.riff.colorWhited import fr.forum_thalie.tsumugi.colorWhited
import fr.riff_app.riff.playerstore.Song import fr.forum_thalie.tsumugi.playerstore.Song
import fr.riff_app.riff.tag import fr.forum_thalie.tsumugi.tag
import kotlinx.android.synthetic.main.song_view.view.* import kotlinx.android.synthetic.main.song_view.view.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList

View File

@ -1,11 +1,11 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" <layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque"> android:opacity="opaque">
<!-- The background color, preferably the same as your normal theme --> <!-- The background color, preferably the same as your normal theme -->
<item android:drawable="@color/black"/> <item android:drawable="@color/colorAccent"/>
<!-- Your product logo - 144dp color version of your app icon --> <!-- Your product logo - 144dp color version of your app icon -->
<item <item
android:drawable="@mipmap/ic_launcher" android:drawable="@drawable/ic_tsumugi_lineart"
android:gravity="center" android:gravity="center"
android:height="144dp" android:height="144dp"
android:width="144dp" android:width="144dp"

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp" android:width="108dp"
android:height="128dp" android:height="108dp"
android:viewportWidth="128" android:viewportWidth="108"
android:viewportHeight="128"> android:viewportHeight="108"
<path >
android:strokeWidth="1" <path
android:pathData="M-22.4,-18.02h249.46v189.63h-249.46z" android:fillColor="@color/colorAccent"
android:fillColor="#000000" android:pathData="M0,0h108v108h-108z" />
android:strokeColor="#ffffff"/>
</vector> </vector>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,13 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" <layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque"> android:opacity="opaque">
<!-- The background color, preferably the same as your normal theme --> <!-- The background color, preferably the same as your normal theme -->
<item android:drawable="@color/black"/> <item android:drawable="@color/colorPrimaryDark"/>
<!-- Your product logo - 144dp color version of your app icon --> <!-- Your product logo - 144dp color version of your app icon -->
<item <item
> >
<bitmap <bitmap
android:src="@mipmap/ic_launcher" android:src="@drawable/splash_logo"
android:gravity="center" android:gravity="center"
/> />
</item> </item>

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -42,7 +42,7 @@
android:id="@+id/logo_persistent" android:id="@+id/logo_persistent"
android:layout_width="?attr/actionBarSize" android:layout_width="?attr/actionBarSize"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
app:srcCompat="@mipmap/ic_launcher" app:srcCompat="@drawable/logo_roundsquare"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
android:padding="12dp" android:padding="12dp"

View File

@ -39,7 +39,7 @@
app:layout_constraintBottom_toBottomOf="@id/scrollViewMetadataNext" app:layout_constraintBottom_toBottomOf="@id/scrollViewMetadataNext"
app:layout_constraintStart_toStartOf="@id/imageGuideline" app:layout_constraintStart_toStartOf="@id/imageGuideline"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/ic_launcher" app:srcCompat="@drawable/logo_roundsquare"
android:layout_margin="8dp" android:layout_margin="8dp"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<!-- app:layout_constraintBottom_toTopOf="@id/imageLeftGuideline" --> <!-- app:layout_constraintBottom_toTopOf="@id/imageLeftGuideline" -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -7,7 +7,7 @@
tools:ignore="UnusedNavigation"> tools:ignore="UnusedNavigation">
<fragment <fragment
android:id="@+id/fragment_news" android:id="@+id/fragment_news"
android:name="fr.riff_app.riff.ui.news.NewsFragment" android:name="fr.forum_thalie.tsumugi.ui.news.NewsFragment"
android:label="@string/title_news" android:label="@string/title_news"
tools:layout="@layout/fragment_songs" /> tools:layout="@layout/fragment_songs" />
</navigation> </navigation>

View File

@ -8,7 +8,7 @@
<fragment <fragment
android:id="@+id/fragment_nowplaying" android:id="@+id/fragment_nowplaying"
android:name="fr.riff_app.riff.ui.nowplaying.NowPlayingFragment" android:name="fr.forum_thalie.tsumugi.ui.nowplaying.NowPlayingFragment"
android:label="@string/title_nowplaying" /> android:label="@string/title_nowplaying" />
</navigation> </navigation>

View File

@ -8,7 +8,7 @@
<fragment <fragment
android:id="@+id/fragment_programme" android:id="@+id/fragment_programme"
android:name="fr.riff_app.riff.ui.programme.ProgrammeFragment" android:name="fr.forum_thalie.tsumugi.ui.programme.ProgrammeFragment"
android:label="@string/title_programme" /> android:label="@string/title_programme" />
</navigation> </navigation>

View File

@ -7,7 +7,7 @@
tools:ignore="UnusedNavigation"> tools:ignore="UnusedNavigation">
<fragment <fragment
android:id="@+id/fragment_songs" android:id="@+id/fragment_songs"
android:name="fr.riff_app.riff.ui.songs.SongsFragment" android:name="fr.forum_thalie.tsumugi.ui.songs.SongsFragment"
android:label="@string/title_queue_lp" android:label="@string/title_queue_lp"
tools:layout="@layout/fragment_songs" /> tools:layout="@layout/fragment_songs" />
</navigation> </navigation>

View File

@ -1,6 +1,6 @@
<resources> <resources>
<string name="app_name">Riff</string> <string name="app_name">Tsumugi</string>
<string name="title_nowplaying">Riff</string> <string name="title_nowplaying">Tsumugi</string>
<string name="title_queue_lp">Titres</string> <string name="title_queue_lp">Titres</string>
<string name="title_chat">Chat</string> <string name="title_chat">Chat</string>
<string name="title_news">Actus</string> <string name="title_news">Actus</string>

View File

@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<!-- URLs --> <!-- URLs -->
<string name="STREAM_URL_RIFF">https://sstream.riff-radio.org/;stream.mp3</string> <string name="STREAM_URL_TSUMUGI">https://radio.mahoro-net.org/streams/tsumugi</string>
</resources> </resources>

View File

@ -2,7 +2,7 @@
<resources> <resources>
<color name="colorPrimary">#333333</color> <color name="colorPrimary">#333333</color>
<color name="colorPrimaryDark">#222222</color> <color name="colorPrimaryDark">#222222</color>
<color name="colorAccent">#ff0000</color> <color name="colorAccent">#f58b01</color>
<color name="dark">#454545</color> <color name="dark">#454545</color>
<color name="orange">#DF4C3A</color> <color name="orange">#DF4C3A</color>
<color name="whited">#DDDDDD</color> <color name="whited">#DDDDDD</color>
@ -19,15 +19,13 @@
<color name="reqButtonDisabled">#a15755</color> <color name="reqButtonDisabled">#a15755</color>
<color name="seek_bar_background">#585858</color> <color name="seek_bar_background">#585858</color>
<color name="seek_bar_progress">#ff0000</color> <color name="seek_bar_progress">#f58b01</color>
<color name="seek_bar_secondary_progress">#ff0000</color> <color name="seek_bar_secondary_progress">#3A7AAF</color>
<color name="progress_bar_background">#585858</color> <color name="progress_bar_background">#585858</color>
<color name="progress_bar_progress">#ff0000</color> <color name="progress_bar_progress">#3A7AAF</color>
<color name="progress_bar_secondary_progress">#ff0000</color> <color name="progress_bar_secondary_progress">#f58b01</color>
<color name="white">#FFFFFF</color> <color name="white">#FFFFFF</color>
<color name="black">#000000</color> <color name="black">#000000</color>
<color name="riffRed">#ff0000</color>
</resources> </resources>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="ic_launcher_background">#000000</color> <color name="ic_launcher_background">#F58B01</color>
</resources> </resources>

View File

@ -1,19 +1,18 @@
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<!-- URLs --> <!-- URLs -->
<string name="STREAM_URL_RADIO">https://sstream.riff-radio.org/;stream.mp3</string> <string name="STREAM_URL_RADIO">https://relay0.r-a-d.io/main.mp3</string>
<string name="STREAM_URL_RIFF">https://sstream.riff-radio.org/;stream.mp3</string> <string name="STREAM_URL_TSUMUGI">http://shelter.mahoro-net.org:8000/tsumugi</string>
<string name="STREAM_URL_RSTLSS">https://sstream.riff-radio.org/;stream.mp3</string> <string name="STREAM_URL_RSTLSS">http://stream.radiosolution.fr/rstlss.mp3</string>
<string name="github_url_new_issue">https://git.pagelibre.org/riff/riff_app</string> <string name="github_url_new_issue">https://github.com/yattoz/Tsumugi-app/issues/</string>
<string name="website_url">https://m.riff-radio.fr/</string> <string name="website_url">https://tsumugi.forum-thalie.fr/</string>
<string name="rss_url">https://www.riff-radio.org/rss.xml</string> <string name="rss_url">https://tsumugi.forum-thalie.fr/?feed=rss2</string>
<!-- <string name="API_URL">https://radio.mahoro-net.org/airtime/api/live-info-v2</string>--> <string name="API_URL">https://radio.mahoro-net.org/airtime/api/live-info-v2</string>
<string name="API_URL">http://media.pagelibre.org/riff/api/live-info-v2</string>
<string name="planning_url">ADD SOME URL HERE</string> <string name="planning_url">ADD SOME URL HERE</string>
<string name="app_name">Riff</string> <string name="app_name">Tsumugi</string>
<string name="title_nowplaying">Riff</string> <string name="title_nowplaying">Tsumugi</string>
<string name="title_queue_lp">Songs</string> <string name="title_queue_lp">Songs</string>
<string name="title_chat">Chat</string> <string name="title_chat">Chat</string>
<string name="title_news">News</string> <string name="title_news">News</string>
@ -27,14 +26,14 @@
<string name="volume">Volume: </string> <string name="volume">Volume: </string>
<string name="up_next">Up next :</string> <string name="up_next">Up next :</string>
<string name="current_programme">Playing now : </string> <string name="current_programme">Current programme : </string>
<string name="now_streaming">Now streaming</string> <string name="now_streaming">Now streaming</string>
<string name="error_webView">Error loading WebView. Try downloading Google Chrome on Google Play, or enabling it if you disabled it.</string> <string name="error_webView">Error loading WebView. Try downloading Google Chrome on Google Play, or enabling it if you disabled it.</string>
<string name="action_settings">Settings</string> <string name="action_settings">Settings</string>
<string name="action_bug_submit">Submit a bug (GitHub)</string> <string name="action_bug_submit">Submit a bug (GitHub)</string>
<string name="nowPlayingNotificationChannel">Riff Stream Service</string> <string name="nowPlayingNotificationChannel">Tsumugi Stream Service</string>
<string name="nowPlayingChannelId">fr.riff_app.riff.PLAYER_SERVICE</string> <string name="nowPlayingChannelId">fr.forum_thalie.tsumugi.PLAYER_SERVICE</string>
<string name="snackbarPersistent">Stay visible, can be closed with \"OK\" button</string> <string name="snackbarPersistent">Stay visible, can be closed with \"OK\" button</string>
<string name="snackbarNonPersistent">Disappear after some time</string> <string name="snackbarNonPersistent">Disappear after some time</string>

View File

@ -5,9 +5,9 @@
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/riffRed</item> <item name="colorAccent">@color/colorAccent</item>
<item name="icon">@mipmap/ic_launcher</item> <item name="icon">@drawable/logo_roundsquare</item>
<item name="android:textColorHighlight">@color/riffRed</item> <item name="android:textColorHighlight">@color/rblue</item>
<item name="android:colorBackground">@color/colorPrimaryDark</item> <item name="android:colorBackground">@color/colorPrimaryDark</item>
</style> </style>
@ -15,8 +15,8 @@
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/riffRed</item> <item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorHighlight">@color/riffRed</item> <item name="android:textColorHighlight">@color/rblue</item>
<item name="android:colorBackground">@color/colorPrimaryDark</item> <item name="android:colorBackground">@color/colorPrimaryDark</item>
<item name="icon">@drawable/none</item> <item name="icon">@drawable/none</item>
</style> </style>
@ -30,8 +30,8 @@
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/riffRed</item> <item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorHighlight">@color/riffRed</item> <item name="android:textColorHighlight">@color/rblue</item>
<item name="android:colorBackground">@color/colorPrimaryDark</item> <item name="android:colorBackground">@color/colorPrimaryDark</item>
</style> </style>

View File

@ -43,7 +43,7 @@
android:title="@string/test_alarm_volume" android:title="@string/test_alarm_volume"
android:summary="@string/test_alarm_volume_summary" android:summary="@string/test_alarm_volume_summary"
app:icon="@drawable/ic_volume_high" app:icon="@drawable/ic_volume_high"
app:fragment="fr.riff_app.riff.preferences.AlarmAdjustVolumeFragment" app:fragment="fr.forum_thalie.tsumugi.preferences.AlarmAdjustVolumeFragment"
/> />
</PreferenceScreen> </PreferenceScreen>

View File

@ -6,21 +6,21 @@
app:icon="@drawable/ic_alarm" app:icon="@drawable/ic_alarm"
app:key="alarmScreen" app:key="alarmScreen"
app:title="@string/setupAlarmClock" app:title="@string/setupAlarmClock"
app:fragment="fr.riff_app.riff.preferences.AlarmFragment" app:fragment="fr.forum_thalie.tsumugi.preferences.AlarmFragment"
/> />
<Preference <Preference
app:icon="@drawable/ic_av_timer" app:icon="@drawable/ic_av_timer"
app:key="sleepScreen" app:key="sleepScreen"
app:title="@string/setSleepTimer" app:title="@string/setSleepTimer"
app:fragment="fr.riff_app.riff.preferences.SleepFragment" app:fragment="fr.forum_thalie.tsumugi.preferences.SleepFragment"
/> />
<Preference <Preference
app:icon="@drawable/ic_customize" app:icon="@drawable/ic_customize"
app:key="CustomizeFragment" app:key="CustomizeFragment"
app:title="@string/customizeAppBehavior" app:title="@string/customizeAppBehavior"
app:fragment="fr.riff_app.riff.preferences.CustomizeFragment" app:fragment="fr.forum_thalie.tsumugi.preferences.CustomizeFragment"
/> />
<Preference <Preference

View File

@ -0,0 +1,17 @@
package fr.forum_thalie.tsumugi
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}

View File

@ -1,2 +1,2 @@
include ':app' include ':app'
rootProject.name='riff_app' rootProject.name='Tsumugi-app'

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="128"
height="128"
viewBox="0 0 128 128"
sodipodi:docname="ic_launcher_background.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1676"
inkscape:window-height="934"
id="namedview4"
showgrid="false"
inkscape:zoom="1.8554688"
inkscape:cx="46.738169"
inkscape:cy="74.057228"
inkscape:window-x="1920"
inkscape:window-y="111"
inkscape:window-maximized="0"
inkscape:current-layer="g10" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g10">
<rect
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
id="rect8065"
width="249.45645"
height="189.62999"
x="-22.404869"
y="-18.024458" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

Some files were not shown because too many files have changed in this diff Show More