Added song count and other quick actions
This commit is contained in:
parent
f11c392b8d
commit
94ce6e86e8
15 changed files with 226 additions and 35 deletions
|
@ -547,7 +547,6 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
||||||
case R.id.action_song_sort_order_composer:
|
case R.id.action_song_sort_order_composer:
|
||||||
sortOrder = SongSortOrder.COMPOSER;
|
sortOrder = SongSortOrder.COMPOSER;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,7 @@ abstract class AbsOffsetSongAdapter(
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SongAdapter.ViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SongAdapter.ViewHolder {
|
||||||
if (viewType == OFFSET_ITEM) {
|
if (viewType == OFFSET_ITEM) {
|
||||||
val view = LayoutInflater.from(activity)
|
val view = LayoutInflater.from(activity).inflate(R.layout.item_list_quick_actions, parent, false)
|
||||||
.inflate(R.layout.item_list_quick_actions, parent, false)
|
|
||||||
return createViewHolder(view)
|
return createViewHolder(view)
|
||||||
}
|
}
|
||||||
return super.onCreateViewHolder(parent, viewType)
|
return super.onCreateViewHolder(parent, viewType)
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
package code.name.monkey.retromusic.adapter.song
|
package code.name.monkey.retromusic.adapter.song
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.PopupMenu
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.appcompat.widget.AppCompatImageView
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
|
import code.name.monkey.retromusic.helper.SortOrder.SongSortOrder
|
||||||
import code.name.monkey.retromusic.interfaces.CabHolder
|
import code.name.monkey.retromusic.interfaces.CabHolder
|
||||||
import code.name.monkey.retromusic.model.Song
|
import code.name.monkey.retromusic.model.Song
|
||||||
import com.google.android.material.button.MaterialButton
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
|
import com.google.android.material.textview.MaterialTextView
|
||||||
|
|
||||||
class ShuffleButtonSongAdapter(
|
class ShuffleButtonSongAdapter(
|
||||||
activity: AppCompatActivity,
|
activity: AppCompatActivity,
|
||||||
|
@ -22,24 +26,83 @@ class ShuffleButtonSongAdapter(
|
||||||
override fun onBindViewHolder(holder: SongAdapter.ViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: SongAdapter.ViewHolder, position: Int) {
|
||||||
if (holder.itemViewType == OFFSET_ITEM) {
|
if (holder.itemViewType == OFFSET_ITEM) {
|
||||||
val viewHolder = holder as ViewHolder
|
val viewHolder = holder as ViewHolder
|
||||||
viewHolder.playAction?.let {
|
viewHolder.playAction?.setOnClickListener {
|
||||||
it.setOnClickListener {
|
|
||||||
MusicPlayerRemote.openQueue(dataSet, 0, true)
|
MusicPlayerRemote.openQueue(dataSet, 0, true)
|
||||||
}
|
}
|
||||||
}
|
viewHolder.shuffleAction?.setOnClickListener {
|
||||||
viewHolder.shuffleAction?.let {
|
|
||||||
it.setOnClickListener {
|
|
||||||
MusicPlayerRemote.openAndShuffleQueue(dataSet, true)
|
MusicPlayerRemote.openAndShuffleQueue(dataSet, true)
|
||||||
}
|
}
|
||||||
|
val songCount = activity.resources.getQuantityString(R.plurals.songCount, dataSet.size, dataSet.size)
|
||||||
|
viewHolder.songCount?.text = songCount
|
||||||
|
viewHolder.sortAction?.setOnClickListener {
|
||||||
|
showSortPopupMenu(it)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
super.onBindViewHolder(holder, position - 1)
|
super.onBindViewHolder(holder, position - 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun showGridPopupMenu(view: View) {
|
||||||
|
val popupMenu = PopupMenu(activity, view)
|
||||||
|
popupMenu.menuInflater.inflate(R.menu.menu_grid_options, popupMenu.menu)
|
||||||
|
popupMenu.setOnMenuItemClickListener {
|
||||||
|
when (it.itemId) {
|
||||||
|
R.id.action_grid_size_1 -> {
|
||||||
|
PreferenceUtil.getInstance(activity).setSongGridSize(1)
|
||||||
|
}
|
||||||
|
R.id.action_grid_size_2 -> {
|
||||||
|
PreferenceUtil.getInstance(activity).setSongGridSize(2)
|
||||||
|
}
|
||||||
|
R.id.action_grid_size_3 -> {
|
||||||
|
PreferenceUtil.getInstance(activity).setSongGridSize(3)
|
||||||
|
}
|
||||||
|
R.id.action_grid_size_4 -> {
|
||||||
|
PreferenceUtil.getInstance(activity).setSongGridSize(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return@setOnMenuItemClickListener true
|
||||||
|
}
|
||||||
|
popupMenu.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showSortPopupMenu(view: View) {
|
||||||
|
val popupMenu = PopupMenu(activity, view)
|
||||||
|
popupMenu.menuInflater.inflate(R.menu.menu_song_sort, popupMenu.menu)
|
||||||
|
popupMenu.setOnMenuItemClickListener {
|
||||||
|
when (it.itemId) {
|
||||||
|
R.id.action_song_sort_order_asc -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.SONG_A_Z
|
||||||
|
}
|
||||||
|
R.id.action_song_sort_order_desc -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.SONG_Z_A
|
||||||
|
}
|
||||||
|
R.id.action_song_sort_order_artist -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.SONG_ARTIST
|
||||||
|
}
|
||||||
|
R.id.action_song_sort_order_album -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.SONG_ALBUM
|
||||||
|
}
|
||||||
|
R.id.action_song_sort_order_date -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.SONG_DATE
|
||||||
|
}
|
||||||
|
R.id.action_song_sort_order_composer -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.COMPOSER
|
||||||
|
}
|
||||||
|
R.id.action_song_sort_order_year -> {
|
||||||
|
PreferenceUtil.getInstance(activity).songSortOrder = SongSortOrder.SONG_YEAR
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return@setOnMenuItemClickListener true
|
||||||
|
}
|
||||||
|
popupMenu.show()
|
||||||
|
}
|
||||||
|
|
||||||
inner class ViewHolder(itemView: View) : AbsOffsetSongAdapter.ViewHolder(itemView) {
|
inner class ViewHolder(itemView: View) : AbsOffsetSongAdapter.ViewHolder(itemView) {
|
||||||
val playAction: MaterialButton? = itemView.findViewById(R.id.playAction)
|
val playAction: AppCompatImageView? = itemView.findViewById(R.id.playAction)
|
||||||
val shuffleAction: MaterialButton? = itemView.findViewById(R.id.shuffleAction)
|
val shuffleAction: AppCompatImageView? = itemView.findViewById(R.id.shuffleAction)
|
||||||
|
val sortAction: AppCompatImageView? = itemView.findViewById(R.id.sortAction)
|
||||||
|
val songCount: MaterialTextView? = itemView.findViewById(R.id.songCount)
|
||||||
|
|
||||||
override fun onClick(v: View?) {
|
override fun onClick(v: View?) {
|
||||||
if (itemViewType == OFFSET_ITEM) {
|
if (itemViewType == OFFSET_ITEM) {
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package code.name.monkey.retromusic.fragments.mainactivity
|
package code.name.monkey.retromusic.fragments.mainactivity
|
||||||
|
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.annotation.LayoutRes
|
import androidx.annotation.LayoutRes
|
||||||
|
@ -18,7 +20,7 @@ import java.util.ArrayList
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdapter, LinearLayoutManager>(),
|
class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdapter, LinearLayoutManager>(),
|
||||||
SongView, MainActivityFragmentCallbacks {
|
SongView, MainActivityFragmentCallbacks, OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var songPresenter: SongPresenter
|
lateinit var songPresenter: SongPresenter
|
||||||
|
@ -82,11 +84,13 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
||||||
super.onResume()
|
super.onResume()
|
||||||
if (adapter?.dataSet.isNullOrEmpty())
|
if (adapter?.dataSet.isNullOrEmpty())
|
||||||
songPresenter.loadSongs()
|
songPresenter.loadSongs()
|
||||||
|
PreferenceUtil.getInstance(requireContext()).registerOnSharedPreferenceChangedListener(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
songPresenter.detachView()
|
songPresenter.detachView()
|
||||||
|
PreferenceUtil.getInstance(requireContext()).unregisterOnSharedPreferenceChangedListener(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun showEmptyView() {
|
override fun showEmptyView() {
|
||||||
|
@ -133,4 +137,10 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment<SongAdap
|
||||||
override fun handleBackPress(): Boolean {
|
override fun handleBackPress(): Boolean {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||||
|
if (key == PreferenceUtil.SONG_SORT_ORDER || key == PreferenceUtil.SONG_GRID_SIZE) {
|
||||||
|
songPresenter.loadSongs()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,13 +153,13 @@ public final class PreferenceUtil {
|
||||||
|
|
||||||
private static final String ALBUM_SONG_SORT_ORDER = "album_song_sort_order";
|
private static final String ALBUM_SONG_SORT_ORDER = "album_song_sort_order";
|
||||||
|
|
||||||
private static final String SONG_SORT_ORDER = "song_sort_order";
|
public static final String SONG_SORT_ORDER = "song_sort_order";
|
||||||
|
|
||||||
private static final String ALBUM_GRID_SIZE = "album_grid_size";
|
private static final String ALBUM_GRID_SIZE = "album_grid_size";
|
||||||
|
|
||||||
private static final String ALBUM_GRID_SIZE_LAND = "album_grid_size_land";
|
private static final String ALBUM_GRID_SIZE_LAND = "album_grid_size_land";
|
||||||
|
|
||||||
private static final String SONG_GRID_SIZE = "song_grid_size";
|
public static final String SONG_GRID_SIZE = "song_grid_size";
|
||||||
|
|
||||||
private static final String SONG_GRID_SIZE_LAND = "song_grid_size_land";
|
private static final String SONG_GRID_SIZE_LAND = "song_grid_size_land";
|
||||||
|
|
||||||
|
|
18
app/src/main/res/drawable/popup_background.xml
Normal file
18
app/src/main/res/drawable/popup_background.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (c) 2020 Hemanth Savarala.
|
||||||
|
~
|
||||||
|
~ Licensed under the GNU General Public License v3
|
||||||
|
~
|
||||||
|
~ This is free software: you can redistribute it and/or modify it under
|
||||||
|
~ the terms of the GNU General Public License as published by
|
||||||
|
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||||
|
~
|
||||||
|
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
~ See the GNU General Public License for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<corners android:radius="16dp" />
|
||||||
|
<solid android:color="?attr/colorSurface" />
|
||||||
|
</shape>
|
|
@ -14,32 +14,44 @@
|
||||||
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:paddingStart="8dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="8dp">
|
android:paddingEnd="0dp">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/playAction"
|
android:id="@+id/songCount"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
|
||||||
android:layout_marginEnd="4dp"
|
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="@string/action_play_all"
|
android:textAppearance="@style/TextViewSubtitle1"
|
||||||
app:backgroundTint="?attr/colorSurface"
|
android:textStyle="bold" />
|
||||||
app:icon="@drawable/ic_play_arrow_white_24dp" />
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/shuffleAction"
|
android:id="@+id/shuffleAction"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_weight="0"
|
||||||
android:layout_marginEnd="4dp"
|
android:background="?attr/roundSelector"
|
||||||
android:layout_weight="1"
|
android:padding="16dp"
|
||||||
android:text="@string/shuffle"
|
app:srcCompat="@drawable/ic_shuffle_white_24dp"
|
||||||
app:backgroundTint="?attr/colorSurface"
|
app:tint="?attr/colorControlNormal"
|
||||||
app:icon="@drawable/ic_shuffle_white_24dp" />
|
tools:tint="@color/black_color" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/sortAction"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0"
|
||||||
|
android:background="?attr/roundSelector"
|
||||||
|
android:padding="16dp"
|
||||||
|
app:srcCompat="@drawable/ic_sort_white_24dp"
|
||||||
|
app:tint="?attr/colorControlNormal"
|
||||||
|
tools:tint="@color/black_color" />
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
28
app/src/main/res/menu/menu_grid_options.xml
Normal file
28
app/src/main/res/menu/menu_grid_options.xml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (c) 2020 Hemanth Savarala.
|
||||||
|
~
|
||||||
|
~ Licensed under the GNU General Public License v3
|
||||||
|
~
|
||||||
|
~ This is free software: you can redistribute it and/or modify it under
|
||||||
|
~ the terms of the GNU General Public License as published by
|
||||||
|
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||||
|
~
|
||||||
|
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
~ See the GNU General Public License for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_grid_size_1"
|
||||||
|
android:title="@string/grid_size_1" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_grid_size_2"
|
||||||
|
android:title="@string/grid_size_2" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_grid_size_3"
|
||||||
|
android:title="@string/grid_size_3" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_grid_size_4"
|
||||||
|
android:title="@string/grid_size_4" />
|
||||||
|
</menu>
|
37
app/src/main/res/menu/menu_song_sort.xml
Normal file
37
app/src/main/res/menu/menu_song_sort.xml
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (c) 2020 Hemanth Savarala.
|
||||||
|
~
|
||||||
|
~ Licensed under the GNU General Public License v3
|
||||||
|
~
|
||||||
|
~ This is free software: you can redistribute it and/or modify it under
|
||||||
|
~ the terms of the GNU General Public License as published by
|
||||||
|
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||||
|
~
|
||||||
|
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
~ See the GNU General Public License for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_asc"
|
||||||
|
android:title="@string/sort_order_a_z" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_desc"
|
||||||
|
android:title="@string/sort_order_z_a" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_artist"
|
||||||
|
android:title="@string/sort_order_artist" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_album"
|
||||||
|
android:title="@string/sort_order_album" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_date"
|
||||||
|
android:title="@string/sort_order_date" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_year"
|
||||||
|
android:title="@string/sort_order_year" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_song_sort_order_composer"
|
||||||
|
android:title="@string/sort_order_composer" />
|
||||||
|
</menu>
|
|
@ -34,5 +34,7 @@
|
||||||
<item name="android:windowLightNavigationBar">false</item>
|
<item name="android:windowLightNavigationBar">false</item>
|
||||||
<!--Manual setting colors-->
|
<!--Manual setting colors-->
|
||||||
<item name="colorSurface">@color/darkColorSurface</item>
|
<item name="colorSurface">@color/darkColorSurface</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
|
@ -34,5 +34,6 @@
|
||||||
<!--Manual setting colors-->
|
<!--Manual setting colors-->
|
||||||
<item name="colorPrimary">@color/darkColorPrimary</item>
|
<item name="colorPrimary">@color/darkColorPrimary</item>
|
||||||
<item name="colorSurface">@color/darkColorSurface</item>
|
<item name="colorSurface">@color/darkColorSurface</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
|
@ -31,6 +31,8 @@
|
||||||
<item name="rectSelector">@drawable/rect_selector</item>
|
<item name="rectSelector">@drawable/rect_selector</item>
|
||||||
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
|
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
|
||||||
<item name="android:windowLightNavigationBar">true</item>
|
<item name="android:windowLightNavigationBar">true</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.RetroMusic.Base" parent="Theme.MaterialComponents.NoActionBar">
|
<style name="Theme.RetroMusic.Base" parent="Theme.MaterialComponents.NoActionBar">
|
||||||
|
@ -55,6 +57,8 @@
|
||||||
<item name="android:windowLightNavigationBar">false</item>
|
<item name="android:windowLightNavigationBar">false</item>
|
||||||
<!--Manual setting colors-->
|
<!--Manual setting colors-->
|
||||||
<item name="colorSurface">@color/darkColorSurface</item>
|
<item name="colorSurface">@color/darkColorSurface</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.RetroMusic.Base.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
|
<style name="Theme.RetroMusic.Base.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
|
||||||
|
@ -76,5 +80,7 @@
|
||||||
<item name="materialAlertDialogTheme">@style/MaterialAlertDialogTheme</item>
|
<item name="materialAlertDialogTheme">@style/MaterialAlertDialogTheme</item>
|
||||||
<item name="materialButtonStyle">@style/MaterialButtonTheme</item>
|
<item name="materialButtonStyle">@style/MaterialButtonTheme</item>
|
||||||
<item name="android:windowLightNavigationBar">false</item>
|
<item name="android:windowLightNavigationBar">false</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
|
@ -307,7 +307,7 @@
|
||||||
<string name="grid_size_7">7</string>
|
<string name="grid_size_7">7</string>
|
||||||
<string name="grid_size_8">8</string>
|
<string name="grid_size_8">8</string>
|
||||||
|
|
||||||
<string name="grid_style_label"><![CDATA[Grids & Style]]></string>
|
<string name="grid_style_label">Grid style</string>
|
||||||
|
|
||||||
<string name="hinge">Hinge</string>
|
<string name="hinge">Hinge</string>
|
||||||
|
|
||||||
|
@ -827,4 +827,8 @@
|
||||||
<string name="retro_music_player">Retro Music Player</string>
|
<string name="retro_music_player">Retro Music Player</string>
|
||||||
<string name="pro">Pro</string>
|
<string name="pro">Pro</string>
|
||||||
<string name="free">Free</string>
|
<string name="free">Free</string>
|
||||||
|
<plurals name="songCount">
|
||||||
|
<item quantity="one">%d Song</item>
|
||||||
|
<item quantity="other">%d Songs</item>
|
||||||
|
</plurals>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -184,4 +184,8 @@
|
||||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="RetroPopupTheme">
|
||||||
|
<item name="android:popupBackground">@drawable/popup_background</item>
|
||||||
|
<item name="android:popupElevation">4dp</item>
|
||||||
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
<item name="roundSelector">@drawable/round_selector</item>
|
<item name="roundSelector">@drawable/round_selector</item>
|
||||||
<item name="rectSelector">@drawable/rect_selector</item>
|
<item name="rectSelector">@drawable/rect_selector</item>
|
||||||
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
|
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.RetroMusic.Base" parent="Theme.MaterialComponents.NoActionBar">
|
<style name="Theme.RetroMusic.Base" parent="Theme.MaterialComponents.NoActionBar">
|
||||||
|
@ -41,6 +43,8 @@
|
||||||
|
|
||||||
<!--Manual setting colors-->
|
<!--Manual setting colors-->
|
||||||
<item name="colorSurface">@color/darkColorSurface</item>
|
<item name="colorSurface">@color/darkColorSurface</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.RetroMusic.Base.Black" parent="Theme.MaterialComponents.NoActionBar">
|
<style name="Theme.RetroMusic.Base.Black" parent="Theme.MaterialComponents.NoActionBar">
|
||||||
|
@ -61,6 +65,8 @@
|
||||||
<item name="colorOnBackground">@color/blackColorSurface</item>
|
<item name="colorOnBackground">@color/blackColorSurface</item>
|
||||||
<item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item>
|
<item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item>
|
||||||
<item name="mcab_popup_theme">@style/ThemeOverlay.AppCompat.Dark</item>
|
<item name="mcab_popup_theme">@style/ThemeOverlay.AppCompat.Dark</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.RetroMusic.Base.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
|
<style name="Theme.RetroMusic.Base.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
|
||||||
|
@ -81,6 +87,8 @@
|
||||||
<item name="windowActionBar">false</item>
|
<item name="windowActionBar">false</item>
|
||||||
<item name="materialAlertDialogTheme">@style/MaterialAlertDialogTheme</item>
|
<item name="materialAlertDialogTheme">@style/MaterialAlertDialogTheme</item>
|
||||||
<item name="materialButtonStyle">@style/MaterialButtonTheme</item>
|
<item name="materialButtonStyle">@style/MaterialButtonTheme</item>
|
||||||
|
<item name="popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
|
<item name="android:popupMenuStyle">@style/RetroPopupTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue