Browse Source

#15: Enabled "Add to playlist" in the search screen. Localized strings and improved UI.

housekeeping/remove-warnings
Antoine POPINEAU 4 years ago
parent
commit
d796fca26b
No known key found for this signature in database
GPG Key ID: A78AC64694F84063
  1. 5
      app/src/main/java/com/github/apognu/otter/activities/MainActivity.kt
  2. 12
      app/src/main/java/com/github/apognu/otter/activities/SearchActivity.kt
  3. 1
      app/src/main/java/com/github/apognu/otter/adapters/SearchAdapter.kt
  4. 2
      app/src/main/java/com/github/apognu/otter/fragments/AddToPlaylistDialog.kt
  5. 8
      app/src/main/res/layout/dialog_add_to_playlist.xml
  6. 2
      app/src/main/res/menu/row_track.xml
  7. 3
      app/src/main/res/values-fr/strings.xml
  8. 3
      app/src/main/res/values/strings.xml

5
app/src/main/java/com/github/apognu/otter/activities/MainActivity.kt

@ -19,6 +19,7 @@ import androidx.core.graphics.drawable.toDrawable @@ -19,6 +19,7 @@ import androidx.core.graphics.drawable.toDrawable
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import com.github.apognu.otter.Otter
import com.github.apognu.otter.R
@ -380,7 +381,9 @@ class MainActivity : AppCompatActivity() { @@ -380,7 +381,9 @@ class MainActivity : AppCompatActivity() {
is Command.RefreshTrack -> refreshCurrentTrack(command.track)
is Command.AddToPlaylist -> AddToPlaylistDialog.show(this@MainActivity, lifecycleScope, command.track)
is Command.AddToPlaylist -> if (lifecycle.currentState.isAtLeast(Lifecycle.State.RESUMED)) {
AddToPlaylistDialog.show(this@MainActivity, lifecycleScope, command.track)
}
}
}
}

12
app/src/main/java/com/github/apognu/otter/activities/SearchActivity.kt

@ -3,10 +3,12 @@ package com.github.apognu.otter.activities @@ -3,10 +3,12 @@ package com.github.apognu.otter.activities
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import com.github.apognu.otter.R
import com.github.apognu.otter.adapters.SearchAdapter
import com.github.apognu.otter.fragments.AddToPlaylistDialog
import com.github.apognu.otter.fragments.AlbumsFragment
import com.github.apognu.otter.fragments.ArtistsFragment
import com.github.apognu.otter.repositories.*
@ -47,6 +49,16 @@ class SearchActivity : AppCompatActivity() { @@ -47,6 +49,16 @@ class SearchActivity : AppCompatActivity() {
override fun onResume() {
super.onResume()
lifecycleScope.launch(Dispatchers.Main) {
CommandBus.get().collect { command ->
when (command) {
is Command.AddToPlaylist -> if (lifecycle.currentState.isAtLeast(Lifecycle.State.RESUMED)) {
AddToPlaylistDialog.show(this@SearchActivity, lifecycleScope, command.track)
}
}
}
}
lifecycleScope.launch(Dispatchers.IO) {
EventBus.get().collect { message ->
when (message) {

1
app/src/main/java/com/github/apognu/otter/adapters/SearchAdapter.kt

@ -215,6 +215,7 @@ class SearchAdapter(private val context: Context?, private val listener: OnSearc @@ -215,6 +215,7 @@ class SearchAdapter(private val context: Context?, private val listener: OnSearc
R.id.track_add_to_queue -> CommandBus.send(Command.AddToQueue(listOf(track)))
R.id.track_play_next -> CommandBus.send(Command.PlayNext(track))
R.id.track_pin -> CommandBus.send(Command.PinTrack(track))
R.id.track_add_to_playlist -> CommandBus.send(Command.AddToPlaylist(track))
R.id.queue_remove -> CommandBus.send(Command.RemoveFromQueue(track))
}

2
app/src/main/java/com/github/apognu/otter/fragments/AddToPlaylistDialog.kt

@ -18,7 +18,7 @@ import kotlinx.coroutines.launch @@ -18,7 +18,7 @@ import kotlinx.coroutines.launch
object AddToPlaylistDialog {
fun show(activity: Activity, lifecycleScope: CoroutineScope, track: Track) {
val dialog = AlertDialog.Builder(activity).run {
setTitle("Add track to playlist")
setTitle(activity.getString(R.string.playlist_add_to))
setView(activity.layoutInflater.inflate(R.layout.dialog_add_to_playlist, null))
create()

8
app/src/main/res/layout/dialog_add_to_playlist.xml

@ -11,9 +11,9 @@ @@ -11,9 +11,9 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="8dp"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="16dp"
android:hint="New playlist..."
android:hint="@string/playlist_add_to_new"
app:boxStrokeColor="@color/controlForeground"
app:hintTextColor="@color/controlForeground"
app:placeholderTextColor="@color/controlForeground">
@ -30,9 +30,9 @@ @@ -30,9 +30,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginHorizontal="8dp"
android:layout_marginHorizontal="16dp"
android:enabled="false"
android:text="Create playlist"
android:text="@string/playlist_add_to_create"
android:textColor="@color/controlForeground"
app:rippleColor="@color/ripple" />

2
app/src/main/res/menu/row_track.xml

@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
<item
android:id="@+id/track_add_to_playlist"
android:title="Add to playlist" />
android:title="@string/playlist_add_to" />
<item
android:id="@+id/track_pin"

3
app/src/main/res/values-fr/strings.xml

@ -113,6 +113,9 @@ @@ -113,6 +113,9 @@
<item quantity="one">%1$d piste • %2$s</item>
<item quantity="other">%1$d pistes • %2$s</item>
</plurals>
<string name="playlist_add_to">Ajouter à une playlist</string>
<string name="playlist_add_to_new">Nouvelle playlist...</string>
<string name="playlist_add_to_create">Créer playlist</string>
<string name="filters">Filtres</string>
<string name="fiters_all">Toute la musique</string>
<string name="filters_my_music">Ma musique</string>

3
app/src/main/res/values/strings.xml

@ -114,6 +114,9 @@ @@ -114,6 +114,9 @@
<item quantity="one">%1$d track • %2$s"</item>
<item quantity="other">%1$d tracks • %2$s"</item>
</plurals>
<string name="playlist_add_to">Add to playlist</string>
<string name="playlist_add_to_new">New playlist…</string>
<string name="playlist_add_to_create">Create playlist</string>
<string name="filters">Filters</string>
<string name="fiters_all">All music</string>
<string name="filters_my_music">My music</string>

Loading…
Cancel
Save