diff --git a/app/build.gradle b/app/build.gradle index 6cf25781f..6383d3739 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,15 +41,6 @@ android { } } - - flavorDimensions "default" - - productFlavors { - normal { - dimension "default" - } - } - packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' @@ -87,17 +78,15 @@ dependencies { implementation "androidx.gridlayout:gridlayout:1.0.0" implementation "androidx.cardview:cardview:1.0.0" - implementation "androidx.palette:palette:1.0.0" implementation "androidx.viewpager2:viewpager2:1.1.0-alpha01" implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.annotation:annotation:1.1.0' - implementation 'androidx.preference:preference:1.1.1' - + implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.core:core-ktx:1.3.0' implementation 'androidx.fragment:fragment-ktx:1.2.5' implementation 'androidx.palette:palette-ktx:1.0.0' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta8' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'com.google.android.material:material:1.3.0-alpha01' @@ -118,11 +107,8 @@ dependencies { implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { transitive = true } - /*UI Library*/ - implementation 'me.zhanghai.android.materialprogressbar:library:1.6.1' - + def kotlin_coroutines_version = "1.3.8" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" - def kotlin_coroutines_version = "1.3.3" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" @@ -141,9 +127,13 @@ dependencies { implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" - kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version" implementation 'me.jorgecastillo:androidcolorx:0.2.0' debugImplementation 'com.amitshekhar.android:debug-db:1.0.4' implementation 'com.github.dhaval2404:imagepicker:1.7.1' + + def koin_version = "2.1.5" + implementation "org.koin:koin-core:$koin_version" + implementation "org.koin:koin-android:$koin_version" + implementation "org.koin:koin-android-viewmodel:$koin_version" } \ No newline at end of file diff --git a/app/release/output.json b/app/release/output.json new file mode 100644 index 000000000..758f3ea4a --- /dev/null +++ b/app/release/output.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "code.name.monkey.retromusic", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "properties": [], + "versionCode": 10438, + "versionName": "10438", + "enabled": true, + "outputFile": "app-release.apk" + } + ] +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 98cf057d0..30cf2312c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -106,7 +106,7 @@ - + @@ -121,7 +121,7 @@ + AlbumDetailsViewModel(get(), albumId) + } + + viewModel { (artistId: Int) -> + ArtistDetailsViewModel(get(), artistId) + } + + viewModel { (playlist: Playlist) -> + PlaylistDetailsViewModel(get(), playlist) + } + + viewModel { (genre: Genre) -> + GenreDetailsViewModel(get(), genre) + } + + viewModel { + SearchViewModel(get()) + } +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/PeekingLinearLayoutManager.kt b/app/src/main/java/io/github/muntashirakon/music/PeekingLinearLayoutManager.kt new file mode 100644 index 000000000..a7961ffd3 --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/PeekingLinearLayoutManager.kt @@ -0,0 +1,46 @@ +package code.name.monkey.retromusic + +import android.content.Context +import android.util.AttributeSet +import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView + +class PeekingLinearLayoutManager : LinearLayoutManager { + @JvmOverloads + constructor( + context: Context?, + @RecyclerView.Orientation orientation: Int = RecyclerView.VERTICAL, + reverseLayout: Boolean = false + ) : super(context, orientation, reverseLayout) + + constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super( + context, + attrs, + defStyleAttr, + defStyleRes + ) + + override fun generateDefaultLayoutParams() = + scaledLayoutParams(super.generateDefaultLayoutParams()) + + override fun generateLayoutParams(lp: ViewGroup.LayoutParams?) = + scaledLayoutParams(super.generateLayoutParams(lp)) + + override fun generateLayoutParams(c: Context?, attrs: AttributeSet?) = + scaledLayoutParams(super.generateLayoutParams(c, attrs)) + + private fun scaledLayoutParams(layoutParams: RecyclerView.LayoutParams) = + layoutParams.apply { + when (orientation) { + HORIZONTAL -> width = (horizontalSpace * ratio).toInt() + VERTICAL -> height = (verticalSpace * ratio).toInt() + } + } + + private val horizontalSpace get() = width - paddingStart - paddingEnd + + private val verticalSpace get() = height - paddingTop - paddingBottom + + private val ratio = 0.8f // change to 0.7f for 70% +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/Result.kt b/app/src/main/java/io/github/muntashirakon/music/Result.kt deleted file mode 100644 index 4a6cecbb1..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/Result.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music - -/** - * Created by hemanths on 2019-10-23. - */ - -sealed class Result { - - class Success(val data: T) : Result() - - class Error(val exception: Throwable) : Result() -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/DriveModeActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/DriveModeActivity.kt index 6f78e992e..51c17e796 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/DriveModeActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/DriveModeActivity.kt @@ -88,7 +88,7 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback { val isFavourite = MusicUtil.isFavorite(this@DriveModeActivity, MusicPlayerRemote.currentSong) withContext(Dispatchers.Main) { - songFavourite.setImageResource(if (isFavourite) R.drawable.ic_favorite_white_24dp else R.drawable.ic_favorite_border_white_24dp) + songFavourite.setImageResource(if (isFavourite) R.drawable.ic_favorite else R.drawable.ic_favorite_border) } } } @@ -161,9 +161,9 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { - playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_play_arrow) } } @@ -183,18 +183,18 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback { private fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/MainActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/MainActivity.kt index 41c622902..f8ba8137d 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/MainActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/MainActivity.kt @@ -12,7 +12,6 @@ import android.view.View import androidx.core.app.ActivityCompat import androidx.fragment.app.Fragment import androidx.fragment.app.commit -import androidx.lifecycle.ViewModelProvider import code.name.monkey.appthemehelper.util.ATHUtil.resolveColor import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper import io.github.muntashirakon.music.R @@ -51,6 +50,7 @@ import com.afollestad.materialcab.MaterialCab import com.google.android.material.appbar.AppBarLayout import io.github.muntashirakon.music.* import kotlinx.android.synthetic.main.activity_main_content.* +import org.koin.android.ext.android.inject import java.util.* class MainActivity : AbsSlidingMusicPanelActivity(), @@ -60,7 +60,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), const val EXPAND_PANEL = "expand_panel" } - lateinit var libraryViewModel: LibraryViewModel + val libraryViewModel: LibraryViewModel by inject() private var cab: MaterialCab? = null private val intentFilter = IntentFilter(Intent.ACTION_SCREEN_OFF) private lateinit var currentFragment: MainActivityFragmentCallbacks @@ -93,9 +93,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), hideStatusBar() setBottomBarVisibility(View.VISIBLE) - libraryViewModel = ViewModelProvider(this).get(LibraryViewModel::class.java) addMusicServiceEventListener(libraryViewModel) - if (savedInstanceState == null) { selectedFragment(PreferenceUtil.lastPage) } else { @@ -142,20 +140,20 @@ class MainActivity : AbsSlidingMusicPanelActivity(), menu ?: return super.onCreateOptionsMenu(menu) if (isPlaylistPage()) { menu.add(0, R.id.action_new_playlist, 1, R.string.new_playlist_title) - .setIcon(R.drawable.ic_playlist_add_white_24dp) + .setIcon(R.drawable.ic_playlist_add) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM) } if (isHomePage()) { menu.add(0, R.id.action_mic, 1, getString(R.string.action_search)) - .setIcon(R.drawable.ic_mic_white_24dp) + .setIcon(R.drawable.ic_mic) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM) } if (isFolderPage()) { menu.add(0, R.id.action_scan, 0, R.string.scan_media) - .setIcon(R.drawable.ic_scanner_white_24dp) + .setIcon(R.drawable.ic_scanner) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM) menu.add(0, R.id.action_go_to_start_directory, 1, R.string.action_go_to_start_directory) - .setIcon(R.drawable.ic_bookmark_music_white_24dp) + .setIcon(R.drawable.ic_bookmark_music) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM) } val fragment: Fragment? = getCurrentFragment() @@ -173,10 +171,10 @@ class MainActivity : AbsSlidingMusicPanelActivity(), menu.removeItem(R.id.action_sort_order) } menu.add(0, R.id.action_settings, 6, getString(R.string.action_settings)) - .setIcon(R.drawable.ic_settings_white_24dp) + .setIcon(R.drawable.ic_settings) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM) menu.add(0, R.id.action_search, 0, getString(R.string.action_search)) - .setIcon(R.drawable.ic_search_white_24dp) + .setIcon(R.drawable.ic_search) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS) ToolbarContentTintHelper.handleOnCreateOptionsMenu( this, @@ -534,6 +532,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), fragment: Fragment, tag: String ) { + supportFragmentManager.commit { replace(R.id.fragment_container, fragment, tag) } @@ -682,7 +681,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), } cab = MaterialCab(this, R.id.cab_stub) .setMenu(menuRes) - .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setCloseDrawableRes(R.drawable.ic_close) .setBackgroundColor( RetroColorUtil.shiftBackgroundColorForLightText( resolveColor( diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsActivity.kt index d82ac8de0..7bf653c3d 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsActivity.kt @@ -10,13 +10,13 @@ import android.view.SubMenu import android.view.View import android.widget.ImageView import androidx.core.app.ActivityCompat -import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.MaterialUtil import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper +import io.github.muntashirakon.music.R import io.github.muntashirakon.music.activities.base.AbsSlidingMusicPanelActivity import io.github.muntashirakon.music.activities.tageditor.AbsTagEditorActivity import io.github.muntashirakon.music.activities.tageditor.AlbumTagEditorActivity @@ -36,26 +36,26 @@ import io.github.muntashirakon.music.helper.SortOrder.AlbumSongSortOrder import io.github.muntashirakon.music.interfaces.CabHolder import io.github.muntashirakon.music.model.Album import io.github.muntashirakon.music.model.Artist -import io.github.muntashirakon.music.mvp.presenter.AlbumDetailsView -import io.github.muntashirakon.music.rest.model.LastFmAlbum +import io.github.muntashirakon.music.network.model.LastFmAlbum import io.github.muntashirakon.music.util.* import io.github.muntashirakon.music.util.color.MediaNotificationProcessor import com.afollestad.materialcab.MaterialCab import com.bumptech.glide.Glide -import io.github.muntashirakon.music.R import kotlinx.android.synthetic.main.activity_album.* import kotlinx.android.synthetic.main.activity_album_content.* +import org.koin.android.viewmodel.ext.android.viewModel +import org.koin.core.parameter.parametersOf import java.util.* import android.util.Pair as UtilPair -class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, CabHolder { +class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder { override fun openCab(menuRes: Int, callback: MaterialCab.Callback): MaterialCab { cab?.let { if (it.isActive) it.finish() } cab = MaterialCab(this, R.id.cab_stub) .setMenu(menuRes) - .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setCloseDrawableRes(R.drawable.ic_close) .setBackgroundColor( RetroColorUtil.shiftBackgroundColorForLightText( ATHUtil.resolveColor( @@ -68,7 +68,9 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C return cab as MaterialCab } - private lateinit var viewModel: AlbumDetailsViewModel + private val detailsViewModel: AlbumDetailsViewModel by viewModel { + parametersOf(extraNotNull(EXTRA_ALBUM_ID).value) + } private lateinit var simpleSongAdapter: SimpleSongAdapter private lateinit var album: Album private lateinit var artistImage: ImageView @@ -100,19 +102,19 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C window.sharedElementsUseOverlay = true windowEnterTransition() - val albumId = extraNotNull(EXTRA_ALBUM_ID).value + addMusicServiceEventListener(detailsViewModel) ActivityCompat.postponeEnterTransition(this) - val viewModelFactory = AlbumDetailsViewModelFactory(application, albumId) - viewModel = ViewModelProvider(this, viewModelFactory).get(AlbumDetailsViewModel::class.java) - addMusicServiceEventListener(viewModel) - viewModel.getAlbum().observe(this, androidx.lifecycle.Observer { + //val viewModelFactory = AlbumDetailsViewModelFactory(application, albumId) + //viewModel = ViewModelProvider(this, viewModelFactory).get(AlbumDetailsViewModel::class.java) + + detailsViewModel.getAlbum().observe(this, androidx.lifecycle.Observer { ActivityCompat.startPostponedEnterTransition(this@AlbumDetailsActivity) album(it) }) - viewModel.getArtist().observe(this, androidx.lifecycle.Observer { + detailsViewModel.getArtist().observe(this, androidx.lifecycle.Observer { loadArtistImage(it) }) - viewModel.getAlbumInfo().observe(this, androidx.lifecycle.Observer { + detailsViewModel.getAlbumInfo().observe(this, androidx.lifecycle.Observer { aboutAlbum(it) }) setupRecyclerView() @@ -153,11 +155,11 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C } } - override fun complete() { + fun complete() { ActivityCompat.startPostponedEnterTransition(this) } - override fun album(album: Album) { + fun album(album: Album) { complete() if (album.songs!!.isEmpty()) { finish() @@ -190,11 +192,11 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C } loadAlbumCover() simpleSongAdapter.swapDataSet(album.songs) - viewModel.loadArtist(album.artistId) - viewModel.loadAlbumInfo(album) + detailsViewModel.loadArtist(album.artistId) + detailsViewModel.loadAlbumInfo(album) } - override fun moreAlbums(albums: List) { + fun moreAlbums(albums: List) { moreTitle.show() moreRecyclerView.show() moreTitle.text = String.format(getString(R.string.label_more_from), album.artistName) @@ -209,7 +211,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C moreRecyclerView.adapter = albumAdapter } - override fun aboutAlbum(lastFmAlbum: LastFmAlbum) { + fun aboutAlbum(lastFmAlbum: LastFmAlbum) { if (lastFmAlbum.album != null) { if (lastFmAlbum.album.wiki != null) { aboutAlbumText.show() @@ -230,7 +232,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C } } - override fun loadArtistImage(artist: Artist) { + fun loadArtistImage(artist: Artist) { ArtistGlideRequest.Builder.from(Glide.with(this), artist) .generatePalette(this) .build() @@ -391,8 +393,9 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C override fun onDestroy() { super.onDestroy() - removeMusicServiceEventListener(viewModel) + removeMusicServiceEventListener(detailsViewModel) } + companion object { const val EXTRA_ALBUM_ID = "extra_album_id" diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModel.kt b/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModel.kt index 3add1f2ab..9f584605c 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModel.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModel.kt @@ -1,25 +1,24 @@ package io.github.muntashirakon.music.activities.albums -import android.app.Application -import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import io.github.muntashirakon.music.interfaces.MusicServiceEventListener import io.github.muntashirakon.music.model.Album import io.github.muntashirakon.music.model.Artist import io.github.muntashirakon.music.providers.RepositoryImpl -import io.github.muntashirakon.music.rest.model.LastFmAlbum +import io.github.muntashirakon.music.network.model.LastFmAlbum import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.launch class AlbumDetailsViewModel( - application: Application, + private val repository: RepositoryImpl, private val albumId: Int -) : AndroidViewModel(application), MusicServiceEventListener { - private val _repository = RepositoryImpl(application.applicationContext) +) : ViewModel(), MusicServiceEventListener { + private val _album = MutableLiveData() private val _artist = MutableLiveData() private val _lastFmAlbum = MutableLiveData() @@ -38,20 +37,18 @@ class AlbumDetailsViewModel( } fun loadAlbumInfo(album: Album) = viewModelScope.launch(Dispatchers.IO) { - try { - val lastFmAlbum = _repository.albumInfo(album.artistName ?: "-", album.title ?: "-") - _lastFmAlbum.postValue(lastFmAlbum) - } catch (ignored: Exception) {} + val lastFmAlbum = repository.albumInfo(album.artistName ?: "-", album.title ?: "-") + _lastFmAlbum.postValue(lastFmAlbum) } fun loadArtist(artistId: Int) = viewModelScope.launch(Dispatchers.IO) { - val artist = _repository.artistById(artistId) + val artist = repository.artistById(artistId) _artist.postValue(artist) } private val loadAlbumAsync: Deferred get() = viewModelScope.async(Dispatchers.IO) { - _repository.albumById(albumId) + repository.albumById(albumId) } override fun onMediaStoreChanged() { diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModelFactory.kt b/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModelFactory.kt deleted file mode 100644 index 01182c67a..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/activities/albums/AlbumDetailsViewModelFactory.kt +++ /dev/null @@ -1,19 +0,0 @@ -package io.github.muntashirakon.music.activities.albums - -import android.app.Application -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider - -class AlbumDetailsViewModelFactory( - private val application: Application, - private val albumId: Int -) : - ViewModelProvider.AndroidViewModelFactory(application) { - override fun create(modelClass: Class): T { - return if (modelClass.isAssignableFrom(AlbumDetailsViewModel::class.java)) { - AlbumDetailsViewModel(application, albumId) as T - } else { - throw IllegalArgumentException("ViewModel Not Found") - } - } -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailActivity.kt index 01f00872d..9edd77651 100755 --- a/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailActivity.kt @@ -11,12 +11,12 @@ import android.view.View import android.widget.Toast import androidx.core.app.ActivityCompat import androidx.core.text.HtmlCompat -import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.MaterialUtil +import io.github.muntashirakon.music.R import io.github.muntashirakon.music.activities.base.AbsSlidingMusicPanelActivity import io.github.muntashirakon.music.adapter.album.HorizontalAlbumAdapter import io.github.muntashirakon.music.adapter.song.SimpleSongAdapter @@ -30,26 +30,26 @@ import io.github.muntashirakon.music.glide.RetroMusicColoredTarget import io.github.muntashirakon.music.helper.MusicPlayerRemote import io.github.muntashirakon.music.interfaces.CabHolder import io.github.muntashirakon.music.model.Artist -import io.github.muntashirakon.music.mvp.presenter.ArtistDetailsView -import io.github.muntashirakon.music.rest.model.LastFmArtist +import io.github.muntashirakon.music.network.model.LastFmArtist import io.github.muntashirakon.music.util.* import io.github.muntashirakon.music.util.color.MediaNotificationProcessor import com.afollestad.materialcab.MaterialCab import com.bumptech.glide.Glide -import io.github.muntashirakon.music.R import kotlinx.android.synthetic.main.activity_artist_content.* import kotlinx.android.synthetic.main.activity_artist_details.* +import org.koin.android.viewmodel.ext.android.viewModel +import org.koin.core.parameter.parametersOf import java.util.* import kotlin.collections.ArrayList -class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView, CabHolder { +class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder { override fun openCab(menuRes: Int, callback: MaterialCab.Callback): MaterialCab { cab?.let { if (it.isActive) it.finish() } cab = MaterialCab(this, R.id.cab_stub) .setMenu(menuRes) - .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setCloseDrawableRes(R.drawable.ic_close) .setBackgroundColor( RetroColorUtil.shiftBackgroundColorForLightText( ATHUtil.resolveColor( @@ -68,7 +68,9 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView, private lateinit var songAdapter: SimpleSongAdapter private lateinit var albumAdapter: HorizontalAlbumAdapter private var forceDownload: Boolean = false - private lateinit var viewModel: ArtistDetailsViewModel + private val detailsViewModel: ArtistDetailsViewModel by viewModel { + parametersOf(extraNotNull(EXTRA_ARTIST_ID).value) + } override fun createContentView(): View { return wrapSlidingMusicPanel(R.layout.activity_artist_details) @@ -93,23 +95,16 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView, setBottomBarVisibility(View.GONE) window.sharedElementsUseOverlay = true windowEnterTransition() - - val artistId = extraNotNull(EXTRA_ARTIST_ID).value - val viewModelFactory = ArtistDetailsViewModelFactory(application, artistId) - viewModel = - ViewModelProvider(this, viewModelFactory).get(ArtistDetailsViewModel::class.java) - addMusicServiceEventListener(viewModel) - viewModel.getArtist().observe(this, androidx.lifecycle.Observer { + ActivityCompat.postponeEnterTransition(this) + addMusicServiceEventListener(detailsViewModel) + detailsViewModel.getArtist().observe(this, androidx.lifecycle.Observer { ActivityCompat.startPostponedEnterTransition(this@ArtistDetailActivity) artist(it) }) - viewModel.getArtistInfo().observe(this, androidx.lifecycle.Observer { + detailsViewModel.getArtistInfo().observe(this, androidx.lifecycle.Observer { artistInfo(it) }) - ActivityCompat.postponeEnterTransition(this) - setupRecyclerView() - playAction.apply { setOnClickListener { MusicPlayerRemote.openQueue(artist.songs, 0, true) } } @@ -155,14 +150,11 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView, } } - override fun showEmptyView() { - } - - override fun complete() { + fun complete() { ActivityCompat.startPostponedEnterTransition(this) } - override fun artist(artist: Artist) { + fun artist(artist: Artist) { complete() if (artist.songCount <= 0) { finish() @@ -203,10 +195,10 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView, ) { biography = null this.lang = lang - viewModel.loadBiography(name, lang, null) + detailsViewModel.loadBiography(name, lang, null) } - override fun artistInfo(lastFmArtist: LastFmArtist?) { + fun artistInfo(lastFmArtist: LastFmArtist?) { if (lastFmArtist != null && lastFmArtist.artist != null) { val bioContent = lastFmArtist.artist.bio.content if (bioContent != null && bioContent.trim { it <= ' ' }.isNotEmpty()) { @@ -323,7 +315,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView, override fun onDestroy() { super.onDestroy() - removeMusicServiceEventListener(viewModel) + removeMusicServiceEventListener(detailsViewModel) } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModel.kt b/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModel.kt index 2a7fc1181..e088921cf 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModel.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModel.kt @@ -1,29 +1,28 @@ package io.github.muntashirakon.music.activities.artists -import android.app.Application -import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import io.github.muntashirakon.music.interfaces.MusicServiceEventListener import io.github.muntashirakon.music.model.Artist import io.github.muntashirakon.music.providers.RepositoryImpl -import io.github.muntashirakon.music.rest.model.LastFmArtist +import io.github.muntashirakon.music.network.model.LastFmArtist import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.launch class ArtistDetailsViewModel( - application: Application, + private val repository: RepositoryImpl, private val artistId: Int -) : AndroidViewModel(application), MusicServiceEventListener { +) : ViewModel(), MusicServiceEventListener { private val loadArtistDetailsAsync: Deferred get() = viewModelScope.async(Dispatchers.IO) { - _repository.artistById(artistId) + repository.artistById(artistId) } - private val _repository = RepositoryImpl(application.applicationContext) + private val _artist = MutableLiveData() private val _lastFmArtist = MutableLiveData() @@ -41,7 +40,7 @@ class ArtistDetailsViewModel( } fun loadBiography(name: String, lang: String?, cache: String?) = viewModelScope.launch { - val info = _repository.artistInfo(name, lang, cache) + val info = repository.artistInfo(name, lang, cache) _lastFmArtist.postValue(info) } diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModelFactory.kt b/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModelFactory.kt deleted file mode 100644 index 4dc94f73c..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/activities/artists/ArtistDetailsViewModelFactory.kt +++ /dev/null @@ -1,19 +0,0 @@ -package io.github.muntashirakon.music.activities.artists - -import android.app.Application -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider - -class ArtistDetailsViewModelFactory( - private val application: Application, - private val artistId: Int -) : - ViewModelProvider.AndroidViewModelFactory(application) { - override fun create(modelClass: Class): T { - return if (modelClass.isAssignableFrom(ArtistDetailsViewModel::class.java)) { - ArtistDetailsViewModel(application, artistId) as T - } else { - throw IllegalArgumentException("ViewModel Not Found") - } - } -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/bugreport/BugReportActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/bugreport/BugReportActivity.kt index 68b9138d9..1c208803e 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/bugreport/BugReportActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/bugreport/BugReportActivity.kt @@ -94,7 +94,7 @@ open class BugReportActivity : AbsThemeActivity() { sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() { override fun onHidden(fab: FloatingActionButton?) { super.onHidden(fab) - sendFab.setImageResource(R.drawable.ic_send_white_24dp) + sendFab.setImageResource(R.drawable.ic_send) sendFab.show() } }) @@ -110,7 +110,7 @@ open class BugReportActivity : AbsThemeActivity() { sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() { override fun onHidden(fab: FloatingActionButton?) { super.onHidden(fab) - sendFab.setImageResource(R.drawable.ic_open_in_browser_white_24dp) + sendFab.setImageResource(R.drawable.ic_open_in_browser) sendFab.show() } }) diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/GenreDetailsActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/genre/GenreDetailsActivity.kt similarity index 76% rename from app/src/main/java/io/github/muntashirakon/music/activities/GenreDetailsActivity.kt rename to app/src/main/java/io/github/muntashirakon/music/activities/genre/GenreDetailsActivity.kt index c7c2fad6a..33ca04ad0 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/GenreDetailsActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/genre/GenreDetailsActivity.kt @@ -1,4 +1,4 @@ -package io.github.muntashirakon.music.activities +package io.github.muntashirakon.music.activities.genre import android.os.Bundle import android.view.Menu @@ -17,24 +17,25 @@ import io.github.muntashirakon.music.helper.menu.GenreMenuHelper import io.github.muntashirakon.music.interfaces.CabHolder import io.github.muntashirakon.music.model.Genre import io.github.muntashirakon.music.model.Song -import io.github.muntashirakon.music.mvp.presenter.GenreDetailsPresenter -import io.github.muntashirakon.music.mvp.presenter.GenreDetailsPresenter.GenreDetailsPresenterImpl -import io.github.muntashirakon.music.mvp.presenter.GenreDetailsView -import io.github.muntashirakon.music.providers.RepositoryImpl import io.github.muntashirakon.music.util.DensityUtil import io.github.muntashirakon.music.util.RetroColorUtil import com.afollestad.materialcab.MaterialCab import kotlinx.android.synthetic.main.activity_playlist_detail.* +import org.koin.android.viewmodel.ext.android.viewModel +import org.koin.core.parameter.parametersOf import java.util.* /** * @author Hemanth S (h4h13). */ -class GenreDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder, GenreDetailsView { +class GenreDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder { - private lateinit var genreDetailsPresenter: GenreDetailsPresenter + private val detailsViewModel: GenreDetailsViewModel by viewModel { + parametersOf(extraNotNull(EXTRA_GENRE_ID).value) + } + private lateinit var genre: Genre private lateinit var songAdapter: ShuffleButtonSongAdapter private var cab: MaterialCab? = null @@ -62,38 +63,25 @@ class GenreDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder, GenreDet setTaskDescriptionColorAuto() setLightNavigationBar(true) setBottomBarVisibility(View.GONE) - - genre = extraNotNull(EXTRA_GENRE_ID).value - - setUpToolBar() + applyToolbar(toolbar) setupRecyclerView() - genreDetailsPresenter = - GenreDetailsPresenterImpl(RepositoryImpl(this)) - genreDetailsPresenter.attachView(this) - } + detailsViewModel.getSongs().observe(this, androidx.lifecycle.Observer { + songs(it) + }) - private fun setUpToolBar() { - applyToolbar(toolbar) - title = genre.name - } + detailsViewModel.getGenre().observe(this, androidx.lifecycle.Observer { + genre = it + supportActionBar?.title = it.name + }) - override fun onResume() { - super.onResume() - genreDetailsPresenter.loadGenreSongs(genre.id) - } - - override fun onDestroy() { - super.onDestroy() - genreDetailsPresenter.detachView() + addMusicServiceEventListener(detailsViewModel) } override fun createContentView(): View { return wrapSlidingMusicPanel(R.layout.activity_playlist_detail) } - override fun showEmptyView() { - } override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu_genre_detail, menu) @@ -122,14 +110,14 @@ class GenreDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder, GenreDet }) } - override fun songs(songs: List) { + fun songs(songs: List) { songAdapter.swapDataSet(songs) } override fun openCab(menuRes: Int, callback: MaterialCab.Callback): MaterialCab { if (cab != null && cab!!.isActive) cab?.finish() cab = MaterialCab(this, R.id.cab_stub).setMenu(menuRes) - .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setCloseDrawableRes(R.drawable.ic_close) .setBackgroundColor( RetroColorUtil.shiftBackgroundColorForLightText( ATHUtil.resolveColor( @@ -149,11 +137,6 @@ class GenreDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder, GenreDet } } - override fun onMediaStoreChanged() { - super.onMediaStoreChanged() - genreDetailsPresenter.loadGenreSongs(genre.id) - } - companion object { const val EXTRA_GENRE_ID = "extra_genre_id" } diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/genre/GenreDetailsViewModel.kt b/app/src/main/java/io/github/muntashirakon/music/activities/genre/GenreDetailsViewModel.kt new file mode 100644 index 000000000..03aba809a --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/activities/genre/GenreDetailsViewModel.kt @@ -0,0 +1,49 @@ +package code.name.monkey.retromusic.activities.genre + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import code.name.monkey.retromusic.interfaces.MusicServiceEventListener +import code.name.monkey.retromusic.model.Genre +import code.name.monkey.retromusic.model.Song +import code.name.monkey.retromusic.providers.RepositoryImpl +import kotlinx.coroutines.Dispatchers.Main +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +class GenreDetailsViewModel( + private val repository: RepositoryImpl, + private val genre: Genre +) : ViewModel(), MusicServiceEventListener { + + private val _playListSongs = MutableLiveData>() + private val _genre = MutableLiveData().apply { + postValue(genre) + } + + fun getSongs(): LiveData> = _playListSongs + + fun getGenre(): LiveData = _genre + + init { + loadGenreSongs(genre) + } + + private fun loadGenreSongs(genre: Genre) = viewModelScope.launch { + val songs = repository.getGenre(genre.id) + withContext(Main) { _playListSongs.postValue(songs) } + } + + override fun onMediaStoreChanged() { + loadGenreSongs(genre) + } + + override fun onServiceConnected() {} + override fun onServiceDisconnected() {} + override fun onQueueChanged() {} + override fun onPlayingMetaChanged() {} + override fun onPlayStateChanged() {} + override fun onRepeatModeChanged() {} + override fun onShuffleModeChanged() {} +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/PlaylistDetailActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/playlist/PlaylistDetailActivity.kt similarity index 81% rename from app/src/main/java/io/github/muntashirakon/music/activities/PlaylistDetailActivity.kt rename to app/src/main/java/io/github/muntashirakon/music/activities/playlist/PlaylistDetailActivity.kt index d8a515ff7..888ffc953 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/PlaylistDetailActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/playlist/PlaylistDetailActivity.kt @@ -1,12 +1,14 @@ -package io.github.muntashirakon.music.activities +package io.github.muntashirakon.music.activities.playlist import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.View +import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.util.ATHUtil + import io.github.muntashirakon.music.R import io.github.muntashirakon.music.activities.base.AbsSlidingMusicPanelActivity import io.github.muntashirakon.music.adapter.song.OrderablePlaylistSongAdapter @@ -16,14 +18,9 @@ import io.github.muntashirakon.music.extensions.applyToolbar import io.github.muntashirakon.music.extensions.extraNotNull import io.github.muntashirakon.music.helper.menu.PlaylistMenuHelper import io.github.muntashirakon.music.interfaces.CabHolder -import io.github.muntashirakon.music.loaders.PlaylistLoader import io.github.muntashirakon.music.model.AbsCustomPlaylist import io.github.muntashirakon.music.model.Playlist import io.github.muntashirakon.music.model.Song -import io.github.muntashirakon.music.mvp.presenter.PlaylistSongsPresenter -import io.github.muntashirakon.music.mvp.presenter.PlaylistSongsPresenter.PlaylistSongsPresenterImpl -import io.github.muntashirakon.music.mvp.presenter.PlaylistSongsView -import io.github.muntashirakon.music.providers.RepositoryImpl import io.github.muntashirakon.music.util.DensityUtil import io.github.muntashirakon.music.util.PlaylistsUtil import io.github.muntashirakon.music.util.RetroColorUtil @@ -32,11 +29,16 @@ import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemA import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils import kotlinx.android.synthetic.main.activity_playlist_detail.* - -class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, PlaylistSongsView { +import org.koin.android.viewmodel.ext.android.viewModel +import org.koin.core.parameter.parametersOf - private lateinit var presenter: PlaylistSongsPresenter +class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder { + + + private val viewModel: PlaylistDetailsViewModel by viewModel { + parametersOf(extraNotNull(EXTRA_PLAYLIST).value) + } private lateinit var playlist: Playlist private var cab: MaterialCab? = null private lateinit var adapter: SongAdapter @@ -52,13 +54,20 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli setLightNavigationBar(true) setBottomBarVisibility(View.GONE) - presenter = PlaylistSongsPresenterImpl(RepositoryImpl(this)) - presenter.attachView(this) - playlist = extraNotNull(EXTRA_PLAYLIST).value setUpToolBar() setUpRecyclerView() + + viewModel.getSongs().observe(this, Observer { + songs(it) + }) + + viewModel.getPlaylist().observe(this, Observer { + playlist = it + supportActionBar?.title = it.name + }) + addMusicServiceEventListener(viewModel) } override fun createContentView(): View { @@ -66,7 +75,6 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli } private fun setUpRecyclerView() { - recyclerView.layoutManager = LinearLayoutManager(this) if (playlist is AbsCustomPlaylist) { adapter = PlaylistSongAdapter(this, ArrayList(), R.layout.item_list, this) @@ -108,11 +116,6 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli }) } - override fun onResume() { - super.onResume() - presenter.loadPlaylistSongs(playlist) - } - private fun setUpToolBar() { applyToolbar(toolbar) title = playlist.name @@ -141,7 +144,7 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli cab!!.finish() } cab = MaterialCab(this, R.id.cab_stub).setMenu(menuRes) - .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setCloseDrawableRes(R.drawable.ic_close) .setBackgroundColor( RetroColorUtil.shiftBackgroundColorForLightText( ATHUtil.resolveColor( @@ -162,28 +165,6 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli } } - override fun onMediaStoreChanged() { - super.onMediaStoreChanged() - if (playlist !is AbsCustomPlaylist) { - // Playlist deleted - if (!PlaylistsUtil.doesPlaylistExist(this, playlist.id)) { - finish() - return - } - // Playlist renamed - val playlistName = PlaylistsUtil.getNameForPlaylist(this, playlist.id.toLong()) - if (playlistName != playlist.name) { - playlist = PlaylistLoader.getPlaylist(this, playlist.id) - setToolbarTitle(playlist.name) - } - } - presenter.loadPlaylistSongs(playlist) - } - - private fun setToolbarTitle(title: String) { - supportActionBar?.title = title - } - private fun checkForPadding() { val height = DensityUtil.dip2px(this, 52f) recyclerView.setPadding(0, 0, 0, (height)) @@ -223,19 +204,22 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli wrappedAdapter = null } super.onDestroy() - presenter.detachView() } - override fun showEmptyView() { + fun showEmptyView() { empty.visibility = View.VISIBLE emptyText.visibility = View.VISIBLE } - override fun songs(songs: List) { - adapter.swapDataSet(songs) + fun songs(songs: List) { + if (songs.isNotEmpty()) { + adapter.swapDataSet(songs) + } else { + showEmptyView() + } } companion object { var EXTRA_PLAYLIST = "extra_playlist" } -} +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/playlist/PlaylistDetailsViewModel.kt b/app/src/main/java/io/github/muntashirakon/music/activities/playlist/PlaylistDetailsViewModel.kt new file mode 100644 index 000000000..0ea4bc037 --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/activities/playlist/PlaylistDetailsViewModel.kt @@ -0,0 +1,67 @@ +package code.name.monkey.retromusic.activities.playlist + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import code.name.monkey.retromusic.App +import code.name.monkey.retromusic.interfaces.MusicServiceEventListener +import code.name.monkey.retromusic.loaders.PlaylistLoader +import code.name.monkey.retromusic.model.AbsCustomPlaylist +import code.name.monkey.retromusic.model.Playlist +import code.name.monkey.retromusic.model.Song +import code.name.monkey.retromusic.providers.RepositoryImpl +import code.name.monkey.retromusic.util.PlaylistsUtil +import kotlinx.coroutines.Dispatchers.Main +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +class PlaylistDetailsViewModel( + private val repository: RepositoryImpl, + private var playlist: Playlist +) : ViewModel(), MusicServiceEventListener { + private val _playListSongs = MutableLiveData>() + + private val _playlist = MutableLiveData().apply { + postValue(playlist) + } + + fun getPlaylist(): LiveData = _playlist + + fun getSongs(): LiveData> = _playListSongs + + init { + loadPlaylistSongs(playlist) + } + + private fun loadPlaylistSongs(playlist: Playlist) = viewModelScope.launch { + val songs = repository.getPlaylistSongs(playlist) + withContext(Main) { _playListSongs.postValue(songs) } + } + + override fun onMediaStoreChanged() { + if (playlist !is AbsCustomPlaylist) { + // Playlist deleted + if (!PlaylistsUtil.doesPlaylistExist(App.getContext(), playlist.id)) { + //TODO Finish the page + return + } + // Playlist renamed + val playlistName = + PlaylistsUtil.getNameForPlaylist(App.getContext(), playlist.id.toLong()) + if (playlistName != playlist.name) { + playlist = PlaylistLoader.getPlaylist(App.getContext(), playlist.id) + _playlist.postValue(playlist) + } + } + loadPlaylistSongs(playlist) + } + + override fun onServiceConnected() {} + override fun onServiceDisconnected() {} + override fun onQueueChanged() {} + override fun onPlayingMetaChanged() {} + override fun onPlayStateChanged() {} + override fun onRepeatModeChanged() {} + override fun onShuffleModeChanged() {} +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/SearchActivity.kt b/app/src/main/java/io/github/muntashirakon/music/activities/search/SearchActivity.kt similarity index 88% rename from app/src/main/java/io/github/muntashirakon/music/activities/SearchActivity.kt rename to app/src/main/java/io/github/muntashirakon/music/activities/search/SearchActivity.kt index dd28491c4..8eebd95eb 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/SearchActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/activities/search/SearchActivity.kt @@ -1,4 +1,4 @@ -package io.github.muntashirakon.music.activities +package io.github.muntashirakon.music.activities.search import android.app.Activity import android.app.Service @@ -24,19 +24,17 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper import io.github.muntashirakon.music.R import io.github.muntashirakon.music.activities.base.AbsMusicServiceActivity import io.github.muntashirakon.music.adapter.SearchAdapter -import io.github.muntashirakon.music.mvp.presenter.SearchPresenter -import io.github.muntashirakon.music.mvp.presenter.SearchPresenter.SearchPresenterImpl -import io.github.muntashirakon.music.mvp.presenter.SearchView -import io.github.muntashirakon.music.providers.RepositoryImpl +import io.github.muntashirakon.music.extensions.extra import io.github.muntashirakon.music.util.RetroUtil import com.google.android.material.textfield.TextInputEditText import kotlinx.android.synthetic.main.activity_search.* +import org.koin.android.ext.android.inject import java.util.* import kotlin.collections.ArrayList -class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatcher, SearchView { +class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatcher { - private lateinit var presenter: SearchPresenter + private val viewModel: SearchViewModel by inject() private var searchAdapter: SearchAdapter? = null private var query: String? = null @@ -49,14 +47,11 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch setTaskDescriptionColorAuto() setLightNavigationBar(true) - presenter = SearchPresenterImpl(RepositoryImpl(this)) - presenter.attachView(this) - setupRecyclerView() setUpToolBar() setupSearchView() - if (intent.getBooleanExtra(EXTRA_SHOW_MIC, false)) { + if (extra(EXTRA_SHOW_MIC).value == true) { startMicSearch() } @@ -84,6 +79,10 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch if (savedInstanceState != null) { query = savedInstanceState.getString(QUERY) } + + viewModel.getSearchResult().observe(this, androidx.lifecycle.Observer { + showData(it) + }) } private fun setupRecyclerView() { @@ -114,11 +113,6 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch searchView.addTextChangedListener(this) } - override fun onDestroy() { - super.onDestroy() - presenter.detachView() - } - override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) outState.putString(QUERY, query) @@ -133,7 +127,7 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch TransitionManager.beginDelayedTransition(appBarLayout) voiceSearch.visibility = if (query.isNotEmpty()) View.GONE else View.VISIBLE clearText.visibility = if (query.isNotEmpty()) View.VISIBLE else View.GONE - presenter.search(query) + viewModel.search(query) } override fun onMediaStoreChanged() { @@ -158,12 +152,16 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch } } - override fun showEmptyView() { + private fun showEmptyView() { searchAdapter?.swapDataSet(ArrayList()) } - override fun showData(data: MutableList) { - searchAdapter?.swapDataSet(data) + private fun showData(data: MutableList) { + if (data.isNotEmpty()) { + searchAdapter?.swapDataSet(data) + } else { + showEmptyView() + } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -175,7 +173,7 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) query = result?.get(0) searchView.setText(query, BufferType.EDITABLE) - presenter.search(query!!) + viewModel.search(query!!) } } } @@ -190,7 +188,10 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()) intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.speech_prompt)) try { - startActivityForResult(intent, REQ_CODE_SPEECH_INPUT) + startActivityForResult( + intent, + REQ_CODE_SPEECH_INPUT + ) } catch (e: ActivityNotFoundException) { e.printStackTrace() Toast.makeText(this, getString(R.string.speech_not_supported), Toast.LENGTH_SHORT) diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/search/SearchViewModel.kt b/app/src/main/java/io/github/muntashirakon/music/activities/search/SearchViewModel.kt new file mode 100644 index 000000000..550a8d237 --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/activities/search/SearchViewModel.kt @@ -0,0 +1,22 @@ +package code.name.monkey.retromusic.activities.search + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import code.name.monkey.retromusic.providers.RepositoryImpl +import kotlinx.coroutines.Dispatchers.IO +import kotlinx.coroutines.Dispatchers.Main +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +class SearchViewModel(private val repository: RepositoryImpl) : ViewModel() { + private val results = MutableLiveData>() + + fun getSearchResult(): LiveData> = results + + fun search(query: String?) = viewModelScope.launch(IO) { + val result = repository.search(query) + withContext(Main) { results.postValue(result) } + } +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/activities/tageditor/WriteTagsAsyncTask.java b/app/src/main/java/io/github/muntashirakon/music/activities/tageditor/WriteTagsAsyncTask.java index 776cddab1..25cb35cf6 100644 --- a/app/src/main/java/io/github/muntashirakon/music/activities/tageditor/WriteTagsAsyncTask.java +++ b/app/src/main/java/io/github/muntashirakon/music/activities/tageditor/WriteTagsAsyncTask.java @@ -34,8 +34,7 @@ import io.github.muntashirakon.music.misc.UpdateToastMediaScannerCompletionListe import io.github.muntashirakon.music.util.MusicUtil; import io.github.muntashirakon.music.util.SAFUtil; -public class WriteTagsAsyncTask extends - DialogAsyncTask { +public class WriteTagsAsyncTask extends DialogAsyncTask { private WeakReference activity; diff --git a/app/src/main/java/io/github/muntashirakon/music/adapter/ContributorAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/adapter/ContributorAdapter.kt index c36fff034..7b781a1d0 100644 --- a/app/src/main/java/io/github/muntashirakon/music/adapter/ContributorAdapter.kt +++ b/app/src/main/java/io/github/muntashirakon/music/adapter/ContributorAdapter.kt @@ -69,8 +69,8 @@ class ContributorAdapter( text.text = contributor.summary Glide.with(image.context) .load(contributor.profileImage) - .error(R.drawable.ic_account_white_24dp) - .placeholder(R.drawable.ic_account_white_24dp) + .error(R.drawable.ic_account) + .placeholder(R.drawable.ic_account) .dontAnimate() .into(image) } diff --git a/app/src/main/java/io/github/muntashirakon/music/adapter/HomeAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/adapter/HomeAdapter.kt index 29a25547a..d8972d1c5 100644 --- a/app/src/main/java/io/github/muntashirakon/music/adapter/HomeAdapter.kt +++ b/app/src/main/java/io/github/muntashirakon/music/adapter/HomeAdapter.kt @@ -11,9 +11,12 @@ import androidx.appcompat.widget.AppCompatTextView import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.HORIZONTAL import code.name.monkey.appthemehelper.ThemeStore +import code.name.monkey.appthemehelper.util.ColorUtil +import io.github.muntashirakon.music.PeekingLinearLayoutManager import io.github.muntashirakon.music.R -import io.github.muntashirakon.music.adapter.album.AlbumFullWidthAdapter +import io.github.muntashirakon.music.adapter.album.AlbumAdapter import io.github.muntashirakon.music.adapter.artist.ArtistAdapter import io.github.muntashirakon.music.adapter.song.SongAdapter import io.github.muntashirakon.music.extensions.show @@ -24,6 +27,7 @@ import io.github.muntashirakon.music.model.* import io.github.muntashirakon.music.model.Playlist import io.github.muntashirakon.music.util.PreferenceUtil import com.bumptech.glide.Glide +import com.google.android.material.card.MaterialCardView class HomeAdapter( private val activity: AppCompatActivity, @@ -41,8 +45,14 @@ class HomeAdapter( .inflate(R.layout.section_recycler_view, parent, false) return when (viewType) { RECENT_ARTISTS, TOP_ARTISTS -> ArtistViewHolder(layout) - PLAYLISTS -> PlaylistViewHolder(layout) - SUGGESTIONS -> { + TOP_ALBUMS, RECENT_ALBUMS -> { + AlbumViewHolder( + LayoutInflater.from(activity) + .inflate(R.layout.metal_section_recycler_view, parent, false) + ) + } + FAVOURITES -> PlaylistViewHolder(layout) + else -> { SuggestionsViewHolder( LayoutInflater.from(activity).inflate( R.layout.item_suggestions, @@ -51,15 +61,6 @@ class HomeAdapter( ) ) } - else -> { - AlbumViewHolder( - LayoutInflater.from(activity).inflate( - R.layout.metal_section_recycler_view, - parent, - false - ) - ) - } } } @@ -90,19 +91,19 @@ class HomeAdapter( val viewHolder = holder as ArtistViewHolder viewHolder.bindView(list[position].arrayList as List, R.string.top_artists) } - PLAYLISTS -> { - val viewHolder = holder as PlaylistViewHolder - viewHolder.bindView( - list[position].arrayList as List, - R.string.favorites - ) - } SUGGESTIONS -> { val viewHolder = holder as SuggestionsViewHolder viewHolder.bindView( list[position].arrayList as List ) } + FAVOURITES -> { + val viewHolder = holder as PlaylistViewHolder + viewHolder.bindView( + list[position].arrayList as List, + R.string.favorites + ) + } } } @@ -117,7 +118,7 @@ class HomeAdapter( companion object { - @IntDef(RECENT_ALBUMS, TOP_ALBUMS, RECENT_ARTISTS, TOP_ARTISTS, PLAYLISTS, SUGGESTIONS) + @IntDef(RECENT_ALBUMS, TOP_ALBUMS, RECENT_ARTISTS, TOP_ARTISTS, SUGGESTIONS, FAVOURITES) @Retention(AnnotationRetention.SOURCE) annotation class HomeSection @@ -125,8 +126,8 @@ class HomeAdapter( const val TOP_ALBUMS = 1 const val RECENT_ARTISTS = 2 const val TOP_ARTISTS = 0 - const val SUGGESTIONS = 4 - const val PLAYLISTS = 5 + const val SUGGESTIONS = 5 + const val FAVOURITES = 4 } private inner class AlbumViewHolder(view: View) : AbsHomeViewItem(view) { @@ -134,7 +135,9 @@ class HomeAdapter( if (list.isNotEmpty()) { recyclerView.apply { show() - adapter = AlbumFullWidthAdapter(activity, list, displayMetrics) + adapter = AlbumAdapter(activity, list, R.layout.pager_item, null) + layoutManager = + PeekingLinearLayoutManager(activity, HORIZONTAL, false) } title.text = activity.getString(titleRes) } @@ -176,17 +179,20 @@ class HomeAdapter( fun bindView(arrayList: List) { val color = ThemeStore.accentColor(activity) itemView.findViewById(R.id.text).setTextColor(color) - - images.forEachIndexed { index, i -> - itemView.findViewById(i).setOnClickListener { - MusicPlayerRemote.playNext(arrayList[index]) - } - SongGlideRequest.Builder.from(Glide.with(activity), arrayList[index]) - .asBitmap() - .build() - .into(itemView.findViewById(i)) - + itemView.findViewById(R.id.card6).apply { + setCardBackgroundColor(ColorUtil.withAlpha(color, 0.2f)) } + if (arrayList.size > 9) + images.forEachIndexed { index, i -> + itemView.findViewById(i).setOnClickListener { + MusicPlayerRemote.playNext(arrayList[index]) + } + SongGlideRequest.Builder.from(Glide.with(activity), arrayList[index]) + .asBitmap() + .build() + .into(itemView.findViewById(i)) + + } } } diff --git a/app/src/main/java/io/github/muntashirakon/music/adapter/SongFileAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/adapter/SongFileAdapter.kt index b6a317bda..a7fd9e87c 100644 --- a/app/src/main/java/io/github/muntashirakon/music/adapter/SongFileAdapter.kt +++ b/app/src/main/java/io/github/muntashirakon/music/adapter/SongFileAdapter.kt @@ -100,7 +100,7 @@ class SongFileAdapter( if (file.isDirectory) { holder.image?.let { it.setColorFilter(iconColor, PorterDuff.Mode.SRC_IN) - it.setImageResource(R.drawable.ic_folder_white_24dp) + it.setImageResource(R.drawable.ic_folder) } holder.imageTextContainer?.setCardBackgroundColor( ATHUtil.resolveColor( @@ -110,7 +110,7 @@ class SongFileAdapter( ) } else { val error = RetroUtil.getTintedVectorDrawable( - activity, R.drawable.ic_file_music_white_24dp, iconColor + activity, R.drawable.ic_file_music, iconColor ) Glide.with(activity) .load(AudioFileCover(file.path)) diff --git a/app/src/main/java/io/github/muntashirakon/music/adapter/album/AlbumFullWidthAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/adapter/album/AlbumFullWidthAdapter.kt deleted file mode 100644 index a734417cb..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/adapter/album/AlbumFullWidthAdapter.kt +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2017. Alexander Bilchuk - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.github.muntashirakon.music.adapter.album - -import android.app.Activity -import android.app.ActivityOptions -import android.util.DisplayMetrics -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import io.github.muntashirakon.music.R -import io.github.muntashirakon.music.glide.AlbumGlideRequest -import io.github.muntashirakon.music.glide.RetroMusicColoredTarget -import io.github.muntashirakon.music.helper.MusicPlayerRemote -import io.github.muntashirakon.music.model.Album -import io.github.muntashirakon.music.util.NavigationUtil -import io.github.muntashirakon.music.util.color.MediaNotificationProcessor -import io.github.muntashirakon.music.views.MetalRecyclerViewPager -import com.bumptech.glide.Glide - -class AlbumFullWidthAdapter( - private val activity: Activity, - private val dataSet: List, - metrics: DisplayMetrics -) : MetalRecyclerViewPager.MetalAdapter(metrics) { - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): FullMetalViewHolder { - return FullMetalViewHolder( - LayoutInflater.from(parent.context).inflate( - R.layout.pager_item, - parent, - false - ) - ) - } - - override fun onBindViewHolder(holder: FullMetalViewHolder, position: Int) { - // don't forget about calling supper.onBindViewHolder! - super.onBindViewHolder(holder, position) - val album = dataSet[position] - holder.title?.text = getAlbumTitle(album) - holder.text?.text = getAlbumText(album) - holder.playSongs?.setOnClickListener { - album.songs?.let { songs -> - MusicPlayerRemote.openQueue( - songs, - 0, - true - ) - } - } - loadAlbumCover(album, holder) - } - - private fun getAlbumTitle(album: Album): String? { - return album.title - } - - private fun getAlbumText(album: Album): String? { - return album.artistName - } - - private fun loadAlbumCover(album: Album, holder: FullMetalViewHolder) { - if (holder.image == null) { - return - } - - AlbumGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong()) - .checkIgnoreMediaStore(activity) - .generatePalette(activity) - .build() - .into(object : RetroMusicColoredTarget(holder.image!!) { - override fun onColorReady(colors: MediaNotificationProcessor) { - - } - }) - } - - override fun getItemCount(): Int { - return dataSet.size - } - - inner class FullMetalViewHolder(itemView: View) : - MetalRecyclerViewPager.MetalViewHolder(itemView) { - - override fun onClick(v: View?) { - val activityOptions = ActivityOptions.makeSceneTransitionAnimation( - activity, - imageContainerCard ?: image, - activity.getString(R.string.transition_album_art) - ) - NavigationUtil.goToAlbumOptions(activity, dataSet[layoutPosition].id, activityOptions) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/adapter/playlist/PlaylistAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/adapter/playlist/PlaylistAdapter.kt index dfd7151fe..165351398 100755 --- a/app/src/main/java/io/github/muntashirakon/music/adapter/playlist/PlaylistAdapter.kt +++ b/app/src/main/java/io/github/muntashirakon/music/adapter/playlist/PlaylistAdapter.kt @@ -94,12 +94,12 @@ class PlaylistAdapter( return if (MusicUtil.isFavoritePlaylist(activity, playlist)) TintHelper.createTintedDrawable( activity, - R.drawable.ic_favorite_white_24dp, + R.drawable.ic_favorite, ThemeStore.accentColor(activity) ) else TintHelper.createTintedDrawable( activity, - R.drawable.ic_playlist_play_white_24dp, + R.drawable.ic_playlist_play, ATHUtil.resolveColor(activity, R.attr.colorControlNormal) ) } diff --git a/app/src/main/java/io/github/muntashirakon/music/adapter/song/SongAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/adapter/song/SongAdapter.kt index 1413e695b..42d260b4b 100644 --- a/app/src/main/java/io/github/muntashirakon/music/adapter/song/SongAdapter.kt +++ b/app/src/main/java/io/github/muntashirakon/music/adapter/song/SongAdapter.kt @@ -3,7 +3,6 @@ package io.github.muntashirakon.music.adapter.song import android.app.ActivityOptions import android.content.res.ColorStateList import android.content.res.Resources -import android.graphics.drawable.Drawable import android.view.LayoutInflater import android.view.MenuItem import android.view.View @@ -25,12 +24,10 @@ import io.github.muntashirakon.music.model.Song import io.github.muntashirakon.music.util.MusicUtil import io.github.muntashirakon.music.util.NavigationUtil import io.github.muntashirakon.music.util.PreferenceUtil - import io.github.muntashirakon.music.util.color.MediaNotificationProcessor import com.afollestad.materialcab.MaterialCab import com.bumptech.glide.Glide import me.zhanghai.android.fastscroll.PopupTextProvider -import java.util.* /** * Created by hemanths on 13/08/17. @@ -56,7 +53,7 @@ open class SongAdapter( } open fun swapDataSet(dataSet: List) { - this.dataSet = dataSet.toMutableList() + this.dataSet = ArrayList(dataSet) notifyDataSetChanged() } @@ -109,11 +106,6 @@ open class SongAdapter( .checkIgnoreMediaStore(activity) .generatePalette(activity).build() .into(object : RetroMusicColoredTarget(holder.image!!) { - override fun onLoadCleared(placeholder: Drawable?) { - super.onLoadCleared(placeholder) - - } - override fun onColorReady(colors: MediaNotificationProcessor) { setColors(colors, holder) } @@ -210,7 +202,6 @@ open class SongAdapter( } companion object { - val TAG: String = SongAdapter::class.java.simpleName } } diff --git a/app/src/main/java/io/github/muntashirakon/music/appshortcuts/AppShortcutLauncherActivity.kt b/app/src/main/java/io/github/muntashirakon/music/appshortcuts/AppShortcutLauncherActivity.kt index 14e742791..fc5417778 100644 --- a/app/src/main/java/io/github/muntashirakon/music/appshortcuts/AppShortcutLauncherActivity.kt +++ b/app/src/main/java/io/github/muntashirakon/music/appshortcuts/AppShortcutLauncherActivity.kt @@ -17,7 +17,7 @@ package io.github.muntashirakon.music.appshortcuts import android.app.Activity import android.content.Intent import android.os.Bundle -import io.github.muntashirakon.music.activities.SearchActivity +import io.github.muntashirakon.music.activities.search.SearchActivity import io.github.muntashirakon.music.appshortcuts.shortcuttype.LastAddedShortcutType import io.github.muntashirakon.music.appshortcuts.shortcuttype.SearchShortCutType import io.github.muntashirakon.music.appshortcuts.shortcuttype.ShuffleAllShortcutType diff --git a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetBig.kt b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetBig.kt index fcf4f3b78..0d2995b4f 100644 --- a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetBig.kt +++ b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetBig.kt @@ -57,7 +57,7 @@ class AppWidgetBig : BaseAppWidget() { R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, MaterialValueHelper.getPrimaryTextColor(context, false) )!!, 1f ) @@ -66,7 +66,7 @@ class AppWidgetBig : BaseAppWidget() { R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, MaterialValueHelper.getPrimaryTextColor(context, false) )!!, 1f ) @@ -117,7 +117,7 @@ class AppWidgetBig : BaseAppWidget() { val primaryColor = MaterialValueHelper.getPrimaryTextColor(service, false) // Set correct drawable for pause state val playPauseRes = - if (isPlaying) R.drawable.ic_pause_white_24dp else R.drawable.ic_play_arrow_white_32dp + if (isPlaying) R.drawable.ic_pause else R.drawable.ic_play_arrow_white_32dp appWidgetView.setImageViewBitmap( R.id.button_toggle_play_pause, createBitmap( RetroUtil.getTintedVectorDrawable( @@ -133,7 +133,7 @@ class AppWidgetBig : BaseAppWidget() { R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( service, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, primaryColor )!!, 1f ) @@ -142,7 +142,7 @@ class AppWidgetBig : BaseAppWidget() { R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( service, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, primaryColor )!!, 1f ) diff --git a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetCard.kt b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetCard.kt index a84c66421..056da1874 100644 --- a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetCard.kt +++ b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetCard.kt @@ -55,7 +55,7 @@ class AppWidgetCard : BaseAppWidget() { R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, secondaryColor )!!, 1f ) @@ -64,7 +64,7 @@ class AppWidgetCard : BaseAppWidget() { R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, secondaryColor )!!, 1f ) @@ -103,7 +103,7 @@ class AppWidgetCard : BaseAppWidget() { // Set correct drawable for pause state val playPauseRes = - if (isPlaying) R.drawable.ic_pause_white_24dp else R.drawable.ic_play_arrow_white_32dp + if (isPlaying) R.drawable.ic_pause else R.drawable.ic_play_arrow_white_32dp appWidgetView.setImageViewBitmap( R.id.button_toggle_play_pause, createBitmap( RetroUtil.getTintedVectorDrawable( @@ -119,7 +119,7 @@ class AppWidgetCard : BaseAppWidget() { R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( service, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, MaterialValueHelper.getSecondaryTextColor(service, true) )!!, 1f ) @@ -128,7 +128,7 @@ class AppWidgetCard : BaseAppWidget() { R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( service, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, MaterialValueHelper.getSecondaryTextColor(service, true) )!!, 1f ) @@ -189,14 +189,14 @@ class AppWidgetCard : BaseAppWidget() { appWidgetView.setImageViewBitmap( R.id.button_next, ImageUtil.createBitmap( ImageUtil.getTintedVectorDrawable( - service, R.drawable.ic_skip_next_white_24dp, color + service, R.drawable.ic_skip_next, color ) ) ) appWidgetView.setImageViewBitmap( R.id.button_prev, ImageUtil.createBitmap( ImageUtil.getTintedVectorDrawable( - service, R.drawable.ic_skip_previous_white_24dp, color + service, R.drawable.ic_skip_previous, color ) ) ) diff --git a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetClassic.kt b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetClassic.kt index a95e20270..9012c7be9 100644 --- a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetClassic.kt +++ b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetClassic.kt @@ -57,7 +57,7 @@ class AppWidgetClassic : BaseAppWidget() { createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, MaterialValueHelper.getSecondaryTextColor(context, true) )!!, 1f ) @@ -67,7 +67,7 @@ class AppWidgetClassic : BaseAppWidget() { createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, MaterialValueHelper.getSecondaryTextColor(context, true) )!!, 1f ) @@ -151,7 +151,7 @@ class AppWidgetClassic : BaseAppWidget() { private fun update(bitmap: Bitmap?, color: Int) { // Set correct drawable for pause state val playPauseRes = - if (isPlaying) R.drawable.ic_pause_white_24dp else R.drawable.ic_play_arrow_white_24dp + if (isPlaying) R.drawable.ic_pause else R.drawable.ic_play_arrow appWidgetView.setImageViewBitmap( R.id.button_toggle_play_pause, ImageUtil.createBitmap( @@ -169,7 +169,7 @@ class AppWidgetClassic : BaseAppWidget() { ImageUtil.createBitmap( ImageUtil.getTintedVectorDrawable( service, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, color ) ) @@ -179,7 +179,7 @@ class AppWidgetClassic : BaseAppWidget() { ImageUtil.createBitmap( ImageUtil.getTintedVectorDrawable( service, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, color ) ) diff --git a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetSmall.kt b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetSmall.kt index 647e62373..848d3cbdc 100644 --- a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetSmall.kt +++ b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetSmall.kt @@ -54,7 +54,7 @@ class AppWidgetSmall : BaseAppWidget() { createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, MaterialValueHelper.getSecondaryTextColor(context, true) )!!, 1f ) @@ -64,7 +64,7 @@ class AppWidgetSmall : BaseAppWidget() { createBitmap( RetroUtil.getTintedVectorDrawable( context, - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, MaterialValueHelper.getSecondaryTextColor(context, true) )!!, 1f ) @@ -150,7 +150,7 @@ class AppWidgetSmall : BaseAppWidget() { private fun update(bitmap: Bitmap?, color: Int) { // Set correct drawable for pause state - val playPauseRes = if (isPlaying) R.drawable.ic_pause_white_24dp + val playPauseRes = if (isPlaying) R.drawable.ic_pause else R.drawable.ic_play_arrow_white_32dp appWidgetView.setImageViewBitmap( R.id.button_toggle_play_pause, createBitmap( @@ -164,14 +164,14 @@ class AppWidgetSmall : BaseAppWidget() { appWidgetView.setImageViewBitmap( R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( - service, R.drawable.ic_skip_next_white_24dp, color + service, R.drawable.ic_skip_next, color )!!, 1f ) ) appWidgetView.setImageViewBitmap( R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( - service, R.drawable.ic_skip_previous_white_24dp, color + service, R.drawable.ic_skip_previous, color )!!, 1f ) ) diff --git a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetText.kt b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetText.kt index b41b73962..db28445e8 100644 --- a/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetText.kt +++ b/app/src/main/java/io/github/muntashirakon/music/appwidgets/AppWidgetText.kt @@ -37,7 +37,7 @@ class AppWidgetText : BaseAppWidget() { appWidgetView.setImageViewBitmap( R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( - context, R.drawable.ic_skip_next_white_24dp, ContextCompat.getColor( + context, R.drawable.ic_skip_next, ContextCompat.getColor( context, R.color.md_white_1000 ) )!!, 1f @@ -46,7 +46,7 @@ class AppWidgetText : BaseAppWidget() { appWidgetView.setImageViewBitmap( R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( - context, R.drawable.ic_skip_previous_white_24dp, ContextCompat.getColor( + context, R.drawable.ic_skip_previous, ContextCompat.getColor( context, R.color.md_white_1000 ) )!!, 1f @@ -119,7 +119,7 @@ class AppWidgetText : BaseAppWidget() { linkButtons(service, appWidgetView) // Set correct drawable for pause state - val playPauseRes = if (isPlaying) R.drawable.ic_pause_white_24dp + val playPauseRes = if (isPlaying) R.drawable.ic_pause else R.drawable.ic_play_arrow_white_32dp appWidgetView.setImageViewBitmap( R.id.button_toggle_play_pause, createBitmap( @@ -134,7 +134,7 @@ class AppWidgetText : BaseAppWidget() { R.id.button_next, createBitmap( RetroUtil.getTintedVectorDrawable( App.getContext(), - R.drawable.ic_skip_next_white_24dp, + R.drawable.ic_skip_next, ContextCompat.getColor( App.getContext(), R.color.md_white_1000 ) @@ -145,7 +145,7 @@ class AppWidgetText : BaseAppWidget() { R.id.button_prev, createBitmap( RetroUtil.getTintedVectorDrawable( App.getContext(), - R.drawable.ic_skip_previous_white_24dp, + R.drawable.ic_skip_previous, ContextCompat.getColor( App.getContext(), R.color.md_white_1000 ) diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/AddToPlaylistDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/AddToPlaylistDialog.kt index 01cdaa1fb..70779a683 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/AddToPlaylistDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/AddToPlaylistDialog.kt @@ -19,11 +19,12 @@ import android.os.Bundle import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.EXTRA_SONG import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.extraNotNull +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.loaders.PlaylistLoader import io.github.muntashirakon.music.model.Song import io.github.muntashirakon.music.util.PlaylistsUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder class AddToPlaylistDialog : DialogFragment() { @@ -31,17 +32,13 @@ class AddToPlaylistDialog : DialogFragment() { savedInstanceState: Bundle? ): Dialog { val playlists = PlaylistLoader.getAllPlaylists(requireContext()) - val playlistNames = mutableListOf() + val playlistNames = mutableListOf() playlistNames.add(requireContext().resources.getString(R.string.action_new_playlist)) for (p in playlists) { playlistNames.add(p.name) } - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.add_playlist_title) + return materialDialog(R.string.add_playlist_title) .setItems(playlistNames.toTypedArray()) { _, which -> val songs = extraNotNull>(EXTRA_SONG).value if (which == 0) { @@ -57,7 +54,7 @@ class AddToPlaylistDialog : DialogFragment() { } dismiss() } - .create() + .create().colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/BlacklistFolderChooserDialog.java b/app/src/main/java/io/github/muntashirakon/music/dialogs/BlacklistFolderChooserDialog.java index da0f29d32..dff08cc8a 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/BlacklistFolderChooserDialog.java +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/BlacklistFolderChooserDialog.java @@ -71,9 +71,9 @@ public class BlacklistFolderChooserDialog extends DialogFragment implements Mate public Dialog onCreateDialog(Bundle savedInstanceState) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ActivityCompat.checkSelfPermission( - getActivity(), Manifest.permission.READ_EXTERNAL_STORAGE) + requireActivity(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { - return new MaterialDialog.Builder(getActivity()) + return new MaterialDialog.Builder(requireActivity()) .title(R.string.md_error_label) .content(R.string.md_storage_perm_error) .positiveText(android.R.string.ok) @@ -89,7 +89,7 @@ public class BlacklistFolderChooserDialog extends DialogFragment implements Mate checkIfCanGoUp(); parentContents = listFiles(); MaterialDialog.Builder builder = - new MaterialDialog.Builder(getActivity()) + new MaterialDialog.Builder(requireActivity()) .title(parentFolder.getAbsolutePath()) .items((CharSequence[]) getContentsArray()) .itemsCallback(this) diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/CreatePlaylistDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/CreatePlaylistDialog.kt index d22fa4234..088fe7d38 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/CreatePlaylistDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/CreatePlaylistDialog.kt @@ -23,10 +23,11 @@ import androidx.fragment.app.DialogFragment import code.name.monkey.appthemehelper.util.MaterialUtil import io.github.muntashirakon.music.EXTRA_SONG import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.extraNotNull +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.model.Song import io.github.muntashirakon.music.util.PlaylistsUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout import kotlinx.android.synthetic.main.dialog_playlist.view.* @@ -42,11 +43,7 @@ class CreatePlaylistDialog : DialogFragment() { val playlistContainer: TextInputLayout = view.actionNewPlaylistContainer MaterialUtil.setTint(playlistContainer, false) - return MaterialAlertDialogBuilder( - requireActivity(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.new_playlist_title) + return materialDialog(R.string.new_playlist_title) .setView(view) .setNegativeButton(android.R.string.cancel, null) .setPositiveButton( @@ -65,6 +62,7 @@ class CreatePlaylistDialog : DialogFragment() { } } .create() + .colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/DeletePlaylistDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/DeletePlaylistDialog.kt index 741301a1d..6f416a585 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/DeletePlaylistDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/DeletePlaylistDialog.kt @@ -20,10 +20,11 @@ import androidx.core.text.HtmlCompat import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.EXTRA_PLAYLIST import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.extraNotNull +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.model.Playlist import io.github.muntashirakon.music.util.PlaylistsUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder class DeletePlaylistDialog : DialogFragment() { @@ -46,10 +47,7 @@ class DeletePlaylistDialog : DialogFragment() { ) } - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) + return materialDialog(title) .setTitle(title) .setMessage(message) .setNegativeButton(android.R.string.cancel, null) @@ -57,6 +55,7 @@ class DeletePlaylistDialog : DialogFragment() { PlaylistsUtil.deletePlaylists(requireContext(), playlists) } .create() + .colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/DeleteSongsDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/DeleteSongsDialog.kt index 695ca2931..17ae9b1dc 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/DeleteSongsDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/DeleteSongsDialog.kt @@ -23,12 +23,13 @@ import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.EXTRA_SONG import io.github.muntashirakon.music.R import io.github.muntashirakon.music.activities.saf.SAFGuideActivity +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.extraNotNull +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.helper.MusicPlayerRemote import io.github.muntashirakon.music.model.Song import io.github.muntashirakon.music.util.MusicUtil import io.github.muntashirakon.music.util.SAFUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder class DeleteSongsDialog : DialogFragment() { @JvmField @@ -57,11 +58,7 @@ class DeleteSongsDialog : DialogFragment() { ) } - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(title) + return materialDialog(title) .setMessage(message) .setCancelable(false) .setNegativeButton(android.R.string.cancel, null) @@ -74,6 +71,7 @@ class DeleteSongsDialog : DialogFragment() { deleteSongsAsyncTask?.execute(DeleteSongsAsyncTask.LoadingInfo(songs, null)) } .create() + .colorButtons() } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/RemoveFromPlaylistDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/RemoveFromPlaylistDialog.kt index d0d783f0b..8c0a3d352 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/RemoveFromPlaylistDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/RemoveFromPlaylistDialog.kt @@ -20,9 +20,10 @@ import androidx.core.text.HtmlCompat import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.EXTRA_SONG import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.model.PlaylistSong import io.github.muntashirakon.music.util.PlaylistsUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder class RemoveFromPlaylistDialog : DialogFragment() { @@ -50,11 +51,7 @@ class RemoveFromPlaylistDialog : DialogFragment() { } } - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(title) + return materialDialog(title) .setMessage(message) .setPositiveButton(R.string.remove_action) { _, _ -> PlaylistsUtil.removeFromPlaylist( @@ -64,6 +61,7 @@ class RemoveFromPlaylistDialog : DialogFragment() { } .setNegativeButton(android.R.string.cancel, null) .create() + .colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/RenamePlaylistDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/RenamePlaylistDialog.kt index 2e8f4f911..466f08916 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/RenamePlaylistDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/RenamePlaylistDialog.kt @@ -22,9 +22,10 @@ import android.view.LayoutInflater import androidx.fragment.app.DialogFragment import code.name.monkey.appthemehelper.util.MaterialUtil import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.extraNotNull +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.util.PlaylistsUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout @@ -42,11 +43,7 @@ class RenamePlaylistDialog : DialogFragment() { layout.findViewById(R.id.actionNewPlaylistContainer) MaterialUtil.setTint(nameContainer, false) - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.rename_playlist_title) + return materialDialog(R.string.rename_playlist_title) .setView(layout) .setNegativeButton(android.R.string.cancel, null) .setPositiveButton(R.string.action_rename) { _, _ -> @@ -60,6 +57,7 @@ class RenamePlaylistDialog : DialogFragment() { } } .create() + .colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/RetroSingleCheckedListAdapter.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/RetroSingleCheckedListAdapter.kt new file mode 100644 index 000000000..c8fa03cdd --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/RetroSingleCheckedListAdapter.kt @@ -0,0 +1,13 @@ +package code.name.monkey.retromusic.dialogs + +import android.content.Context +import android.widget.ArrayAdapter +import code.name.monkey.retromusic.R + +class RetroSingleCheckedListAdapter( + context: Context, + resource: Int = R.layout.dialog_list_item, + objects: MutableList +) : ArrayAdapter(context, resource, objects) { + +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/SleepTimerDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/SleepTimerDialog.kt index 89bb05243..e5f0d6039 100755 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/SleepTimerDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/SleepTimerDialog.kt @@ -31,6 +31,8 @@ import android.widget.Toast import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.R import io.github.muntashirakon.music.extensions.addAccentColor +import io.github.muntashirakon.music.extensions.colorButtons +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.helper.MusicPlayerRemote import io.github.muntashirakon.music.service.MusicService import io.github.muntashirakon.music.service.MusicService.ACTION_PENDING_QUIT @@ -38,13 +40,12 @@ import io.github.muntashirakon.music.service.MusicService.ACTION_QUIT import io.github.muntashirakon.music.util.PreferenceUtil import com.afollestad.materialdialogs.DialogAction import com.afollestad.materialdialogs.MaterialDialog -import com.google.android.material.dialog.MaterialAlertDialogBuilder class SleepTimerDialog : DialogFragment() { private var seekArcProgress: Int = 0 private lateinit var timerUpdater: TimerUpdater - private lateinit var materialDialog: MaterialDialog + private lateinit var dialog: MaterialDialog private lateinit var shouldFinishLastSong: CheckBox private lateinit var seekBar: SeekBar private lateinit var timerDisplay: TextView @@ -87,11 +88,7 @@ class SleepTimerDialog : DialogFragment() { PreferenceUtil.lastSleepTimerValue = seekArcProgress } }) - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.action_sleep_timer) + return materialDialog(R.string.action_sleep_timer) .setView(layout) .setPositiveButton(R.string.action_set) { _, _ -> PreferenceUtil.isSleepTimerFinishMusic = shouldFinishLastSong.isChecked @@ -132,6 +129,8 @@ class SleepTimerDialog : DialogFragment() { } } .create() + .colorButtons() + } private fun updateTimeDisplayTime() { @@ -152,10 +151,10 @@ class SleepTimerDialog : DialogFragment() { private fun updateCancelButton() { val musicService = MusicPlayerRemote.musicService if (musicService != null && musicService.pendingQuit) { - materialDialog.getActionButton(DialogAction.NEUTRAL).text = - materialDialog.context.getString(R.string.cancel_current_timer) + dialog.getActionButton(DialogAction.NEUTRAL).text = + dialog.context.getString(R.string.cancel_current_timer) } else { - materialDialog.getActionButton(DialogAction.NEUTRAL).text = null + dialog.getActionButton(DialogAction.NEUTRAL).text = null } } diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/SongDetailDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/SongDetailDialog.kt index 9daf28308..e03540c8a 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/SongDetailDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/SongDetailDialog.kt @@ -29,9 +29,10 @@ import androidx.core.text.HtmlCompat import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.EXTRA_SONG import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.model.Song import io.github.muntashirakon.music.util.MusicUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder import org.jaudiotagger.audio.AudioFileIO import org.jaudiotagger.audio.exceptions.CannotReadException import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException @@ -150,13 +151,11 @@ class SongDetailDialog : DialogFragment() { ) } } - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ).setTitle(R.string.action_details) + return materialDialog(R.string.action_details) .setPositiveButton(android.R.string.ok, null) .setView(dialogView) .create() + .colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/dialogs/SongShareDialog.kt b/app/src/main/java/io/github/muntashirakon/music/dialogs/SongShareDialog.kt index 5e245971c..20e063f7d 100644 --- a/app/src/main/java/io/github/muntashirakon/music/dialogs/SongShareDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/dialogs/SongShareDialog.kt @@ -21,9 +21,10 @@ import androidx.fragment.app.DialogFragment import io.github.muntashirakon.music.EXTRA_SONG import io.github.muntashirakon.music.R import io.github.muntashirakon.music.activities.ShareInstagramStory +import io.github.muntashirakon.music.extensions.colorButtons +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.model.Song import io.github.muntashirakon.music.util.MusicUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder class SongShareDialog : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { @@ -34,10 +35,7 @@ class SongShareDialog : DialogFragment() { song?.title, song?.artistName ) - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ).setTitle(R.string.what_do_you_want_to_share) + return materialDialog(R.string.what_do_you_want_to_share) .setItems( arrayOf( getString(R.string.the_audio_file), @@ -48,6 +46,7 @@ class SongShareDialog : DialogFragment() { withAction(which, song, listening) } .create() + .colorButtons() } private fun withAction( diff --git a/app/src/main/java/io/github/muntashirakon/music/extensions/ColorExt.kt b/app/src/main/java/io/github/muntashirakon/music/extensions/ColorExt.kt index d8dff1475..7e9c60bcb 100644 --- a/app/src/main/java/io/github/muntashirakon/music/extensions/ColorExt.kt +++ b/app/src/main/java/io/github/muntashirakon/music/extensions/ColorExt.kt @@ -18,6 +18,7 @@ import android.app.Dialog import android.content.Context import android.content.res.ColorStateList import android.graphics.Color +import android.widget.Button import android.widget.CheckBox import android.widget.SeekBar import androidx.annotation.AttrRes @@ -26,6 +27,7 @@ import androidx.fragment.app.Fragment import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil +import io.github.muntashirakon.music.App import io.github.muntashirakon.music.R fun Int.ripAlpha(): Int { @@ -77,4 +79,8 @@ fun SeekBar.addAccentColor() { val colorState = ColorStateList.valueOf(ThemeStore.accentColor(context)) progressTintList = colorState thumbTintList = colorState +} + +fun Button.accentTextColor() { + setTextColor(ThemeStore.accentColor(App.getContext())) } \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/extensions/DialogExtension.kt b/app/src/main/java/io/github/muntashirakon/music/extensions/DialogExtension.kt new file mode 100644 index 000000000..d2c383101 --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/extensions/DialogExtension.kt @@ -0,0 +1,22 @@ +package code.name.monkey.retromusic.extensions + +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment +import code.name.monkey.retromusic.R +import com.google.android.material.dialog.MaterialAlertDialogBuilder + +fun DialogFragment.materialDialog(title: Int): MaterialAlertDialogBuilder { + return MaterialAlertDialogBuilder( + requireContext(), + R.style.ThemeOverlay_MaterialComponents_Dialog_Alert + ).setTitle(title) +} + +fun AlertDialog.colorButtons(): AlertDialog { + setOnShowListener { + getButton(AlertDialog.BUTTON_POSITIVE).accentTextColor() + getButton(AlertDialog.BUTTON_NEGATIVE).accentTextColor() + getButton(AlertDialog.BUTTON_NEUTRAL).accentTextColor() + } + return this +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/LibraryViewModel.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/LibraryViewModel.kt index 8b5ee196d..46bb7d30c 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/LibraryViewModel.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/LibraryViewModel.kt @@ -1,24 +1,23 @@ package io.github.muntashirakon.music.fragments -import android.app.Application -import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import io.github.muntashirakon.music.adapter.HomeAdapter import io.github.muntashirakon.music.fragments.ReloadType.* import io.github.muntashirakon.music.interfaces.MusicServiceEventListener import io.github.muntashirakon.music.model.* import io.github.muntashirakon.music.providers.RepositoryImpl -import io.github.muntashirakon.music.providers.interfaces.Repository import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.async import kotlinx.coroutines.launch -class LibraryViewModel(application: Application) : - AndroidViewModel(application), MusicServiceEventListener { +class LibraryViewModel( + private val repository: RepositoryImpl +) : ViewModel(), MusicServiceEventListener { - private val _repository: Repository = RepositoryImpl(application.applicationContext) private val _albums = MutableLiveData>() private val _songs = MutableLiveData>() private val _artists = MutableLiveData>() @@ -51,16 +50,22 @@ class LibraryViewModel(application: Application) : private fun loadHomeSections() = viewModelScope.launch { val list = mutableListOf() val result = listOf( - _repository.topArtists(), - _repository.topAlbums(), - _repository.recentArtists(), - _repository.recentAlbums(), - _repository.favoritePlaylist(), - _repository.suggestions() + repository.topArtists(), + repository.topAlbums(), + repository.recentArtists(), + repository.recentAlbums(), + repository.suggestions(), + repository.favoritePlaylist() ) - for (r in result) { - if (r != null) { - list.add(r) + result.forEach { + if (it != null && it.arrayList.isNotEmpty()) { + if (it.homeSection == HomeAdapter.SUGGESTIONS) { + if (it.arrayList.size > 9) { + list.add(it) + } + } else { + list.add(it) + } } } _homeSections.value = list @@ -68,27 +73,27 @@ class LibraryViewModel(application: Application) : private val loadSongs: Deferred> get() = viewModelScope.async(IO) { - _repository.allSongs() + repository.allSongs() } private val loadAlbums: Deferred> get() = viewModelScope.async(IO) { - _repository.allAlbums() + repository.allAlbums() } private val loadArtists: Deferred> get() = viewModelScope.async(IO) { - _repository.allArtists() + repository.allArtists() } private val loadPlaylists: Deferred> get() = viewModelScope.async(IO) { - _repository.allPlaylists() + repository.allPlaylists() } private val loadGenres: Deferred> get() = viewModelScope.async(IO) { - _repository.allGenres() + repository.allGenres() } fun forceReload(reloadType: ReloadType) = viewModelScope.launch { diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/MiniPlayerFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/MiniPlayerFragment.kt index 5d2e2973a..a95cb37ec 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/MiniPlayerFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/MiniPlayerFragment.kt @@ -15,14 +15,12 @@ import io.github.muntashirakon.music.extensions.show import io.github.muntashirakon.music.extensions.textColorPrimary import io.github.muntashirakon.music.extensions.textColorSecondary import io.github.muntashirakon.music.fragments.base.AbsMusicServiceFragment -import io.github.muntashirakon.music.glide.SongGlideRequest import io.github.muntashirakon.music.helper.MusicPlayerRemote import io.github.muntashirakon.music.helper.MusicProgressViewUpdateHelper import io.github.muntashirakon.music.helper.PlayPauseButtonOnClickHandler import io.github.muntashirakon.music.util.PreferenceUtil import io.github.muntashirakon.music.util.RetroUtil import io.github.muntashirakon.music.util.ViewUtil -import com.bumptech.glide.Glide import kotlinx.android.synthetic.main.fragment_mini_player.* import kotlin.math.abs @@ -63,8 +61,7 @@ open class MiniPlayerFragment : AbsMusicServiceFragment(), MusicProgressViewUpda actionPrevious?.show() } else { - actionNext.visibility = - if (PreferenceUtil.isExtraControls) View.VISIBLE else View.GONE + actionNext.visibility = if (PreferenceUtil.isExtraControls) View.VISIBLE else View.GONE actionPrevious.visibility = if (PreferenceUtil.isExtraControls) View.VISIBLE else View.GONE } @@ -97,19 +94,6 @@ open class MiniPlayerFragment : AbsMusicServiceFragment(), MusicProgressViewUpda miniPlayerTitle.isSelected = true miniPlayerTitle.text = builder - - if (RetroUtil.isTablet()) { - image?.let { - SongGlideRequest.Builder.from( - Glide.with(requireContext()), - MusicPlayerRemote.currentSong - ).checkIgnoreMediaStore(requireContext()) - .ignoreMediaStore(PreferenceUtil.isAllowedToDownloadMetadata()) - .asBitmap() - .build() - .into(it) - } - } } override fun onServiceConnected() { @@ -145,9 +129,9 @@ open class MiniPlayerFragment : AbsMusicServiceFragment(), MusicProgressViewUpda protected fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - miniPlayerPlayPauseButton!!.setImageResource(R.drawable.ic_pause_white_24dp) + miniPlayerPlayPauseButton.setImageResource(R.drawable.ic_pause) } else { - miniPlayerPlayPauseButton!!.setImageResource(R.drawable.ic_play_arrow_white_24dp) + miniPlayerPlayPauseButton.setImageResource(R.drawable.ic_play_arrow) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/VolumeFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/VolumeFragment.kt index 24c568b75..4677186b4 100755 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/VolumeFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/VolumeFragment.kt @@ -62,7 +62,7 @@ class VolumeFragment : Fragment(), SeekBar.OnSeekBarChangeListener, OnAudioVolum volumeSeekBar.max = maxVolume volumeSeekBar.progress = currentVolume - volumeDown.setImageResource(if (currentVolume == 0) R.drawable.ic_volume_off_white_24dp else R.drawable.ic_volume_down_white_24dp) + volumeDown.setImageResource(if (currentVolume == 0) R.drawable.ic_volume_off else R.drawable.ic_volume_down) } override fun onDestroyView() { @@ -74,7 +74,7 @@ class VolumeFragment : Fragment(), SeekBar.OnSeekBarChangeListener, OnAudioVolum val audioManager = audioManager audioManager?.setStreamVolume(AudioManager.STREAM_MUSIC, i, 0) setPauseWhenZeroVolume(i < 1) - volumeDown?.setImageResource(if (i == 0) R.drawable.ic_volume_off_white_24dp else R.drawable.ic_volume_down_white_24dp) + volumeDown?.setImageResource(if (i == 0) R.drawable.ic_volume_off else R.drawable.ic_volume_down) } override fun onStartTrackingTouch(seekBar: SeekBar) { diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/albums/AlbumsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/albums/AlbumsFragment.kt index 90f8fa99b..1f893f286 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/albums/AlbumsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/albums/AlbumsFragment.kt @@ -15,7 +15,6 @@ class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), MainActivityFragmentCallbacks { - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) mainActivity.libraryViewModel.allAlbums() diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/base/AbsPlayerFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/base/AbsPlayerFragment.kt index 3780bc10e..82a64e2bd 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/base/AbsPlayerFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/base/AbsPlayerFragment.kt @@ -197,9 +197,9 @@ abstract class AbsPlayerFragment : AbsMusicServiceFragment(), override fun onPostExecute(isFavorite: Boolean) { val res = if (isFavorite) - R.drawable.ic_favorite_white_24dp + R.drawable.ic_favorite else - R.drawable.ic_favorite_border_white_24dp + R.drawable.ic_favorite_border val drawable = RetroUtil.getTintedVectorDrawable(requireContext(), res, toolbarIconColor()) diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/mainactivity/FoldersFragment.java b/app/src/main/java/io/github/muntashirakon/music/fragments/mainactivity/FoldersFragment.java index 168c8f16c..049aae452 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/mainactivity/FoldersFragment.java +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/mainactivity/FoldersFragment.java @@ -375,7 +375,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements } cab = new MaterialCab(getMainActivity(), R.id.cab_stub) .setMenu(menuRes) - .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setCloseDrawableRes(R.drawable.ic_close) .setBackgroundColor(RetroColorUtil.shiftBackgroundColorForLightText( ATHUtil.INSTANCE.resolveColor(requireContext(), R.attr.colorSurface))) .start(callback); diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt index 75ccb1b06..a6bbd86e7 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt @@ -157,7 +157,7 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -214,18 +214,18 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/blur/BlurPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/blur/BlurPlaybackControlsFragment.kt index f6b705488..cdf842629 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/blur/BlurPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/blur/BlurPlaybackControlsFragment.kt @@ -148,7 +148,7 @@ class BlurPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -197,18 +197,18 @@ class BlurPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/card/CardPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/card/CardPlaybackControlsFragment.kt index 1c3aa3184..42df169e3 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/card/CardPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/card/CardPlaybackControlsFragment.kt @@ -155,7 +155,7 @@ class CardPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -204,18 +204,18 @@ class CardPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt index bd18f0d50..20a8da5e6 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt @@ -79,7 +79,7 @@ class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { when { - MusicPlayerRemote.isPlaying -> playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + MusicPlayerRemote.isPlaying -> playPauseButton.setImageResource(R.drawable.ic_pause) else -> playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } } @@ -177,18 +177,18 @@ class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/circle/CirclePlayerFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/circle/CirclePlayerFragment.kt index ea9e9e016..24235cbbd 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/circle/CirclePlayerFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/circle/CirclePlayerFragment.kt @@ -206,8 +206,8 @@ class CirclePlayerFragment : AbsPlayerFragment(), Callback, OnAudioVolumeChanged private fun updatePlayPauseDrawableState() { when { - MusicPlayerRemote.isPlaying -> playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) - else -> playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp) + MusicPlayerRemote.isPlaying -> playPauseButton.setImageResource(R.drawable.ic_pause) + else -> playPauseButton.setImageResource(R.drawable.ic_play_arrow) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/classic/ClassicPlayerFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/classic/ClassicPlayerFragment.kt index 187969900..405f7e598 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/classic/ClassicPlayerFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/classic/ClassicPlayerFragment.kt @@ -415,9 +415,9 @@ class ClassicPlayerFragment : AbsPlayerFragment(), View.OnLayoutChangeListener, private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { - playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_play_arrow) } } @@ -466,18 +466,18 @@ class ClassicPlayerFragment : AbsPlayerFragment(), View.OnLayoutChangeListener, fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/color/ColorPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/color/ColorPlaybackControlsFragment.kt index e19283ed9..4824e98b1 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/color/ColorPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/color/ColorPlaybackControlsFragment.kt @@ -129,8 +129,8 @@ class ColorPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { when { - MusicPlayerRemote.isPlaying -> playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) - else -> playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp) + MusicPlayerRemote.isPlaying -> playPauseButton.setImageResource(R.drawable.ic_pause) + else -> playPauseButton.setImageResource(R.drawable.ic_play_arrow) } } @@ -177,18 +177,18 @@ class ColorPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/fit/FitPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/fit/FitPlaybackControlsFragment.kt index d340e94dd..b1e3c391e 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/fit/FitPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/fit/FitPlaybackControlsFragment.kt @@ -156,7 +156,7 @@ class FitPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -205,18 +205,18 @@ class FitPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/flat/FlatPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/flat/FlatPlaybackControlsFragment.kt index fa3ab6000..61af73dae 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/flat/FlatPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/flat/FlatPlaybackControlsFragment.kt @@ -149,7 +149,7 @@ class FlatPlaybackControlsFragment : AbsPlayerControlsFragment(), Callback { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -189,18 +189,18 @@ class FlatPlaybackControlsFragment : AbsPlayerControlsFragment(), Callback { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/full/FullPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/full/FullPlaybackControlsFragment.kt index d66a2eaf1..450d090bc 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/full/FullPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/full/FullPlaybackControlsFragment.kt @@ -148,7 +148,7 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(), private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -257,18 +257,18 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(), override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } @@ -309,9 +309,9 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(), val activity = activity if (activity != null) { val res = if (isFavorite!!) - R.drawable.ic_favorite_white_24dp + R.drawable.ic_favorite else - R.drawable.ic_favorite_border_white_24dp + R.drawable.ic_favorite_border val drawable = TintHelper.createTintedDrawable(activity, res, Color.WHITE) songFavourite?.setImageDrawable(drawable) diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/gradient/GradientPlayerFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/gradient/GradientPlayerFragment.kt index 3d11e637c..823f3f064 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/gradient/GradientPlayerFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/gradient/GradientPlayerFragment.kt @@ -355,18 +355,18 @@ class GradientPlayerFragment : AbsPlayerFragment(), MusicProgressViewUpdateHelpe fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } @@ -506,9 +506,9 @@ class GradientPlayerFragment : AbsPlayerFragment(), MusicProgressViewUpdateHelpe val activity = activity if (activity != null) { val res = if (isFavorite!!) - R.drawable.ic_favorite_white_24dp + R.drawable.ic_favorite else - R.drawable.ic_favorite_border_white_24dp + R.drawable.ic_favorite_border val drawable = TintHelper.createTintedDrawable(activity, res, Color.WHITE) songFavourite?.setImageDrawable(drawable) diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt index e65561738..44c80d1fc 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt @@ -156,7 +156,7 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -205,18 +205,18 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/material/MaterialControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/material/MaterialControlsFragment.kt index 47b3c188d..10d01a6e2 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/material/MaterialControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/material/MaterialControlsFragment.kt @@ -190,18 +190,18 @@ class MaterialControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_sharp_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_sharp) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_sharp_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_sharp) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_sharp_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one_sharp) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/normal/PlayerPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/normal/PlayerPlaybackControlsFragment.kt index 10a143c8b..2978168dc 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/normal/PlayerPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/normal/PlayerPlaybackControlsFragment.kt @@ -153,9 +153,9 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { - playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_play_arrow) } } @@ -202,18 +202,18 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/peak/PeakPlayerControlFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/peak/PeakPlayerControlFragment.kt index 035730310..cff152203 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/peak/PeakPlayerControlFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/peak/PeakPlayerControlFragment.kt @@ -118,7 +118,7 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } @@ -203,18 +203,18 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/plain/PlainPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/plain/PlainPlaybackControlsFragment.kt index 94f310726..225418867 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/plain/PlainPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/plain/PlainPlaybackControlsFragment.kt @@ -204,18 +204,18 @@ class PlainPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } @@ -265,7 +265,7 @@ class PlainPlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/simple/SimplePlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/simple/SimplePlaybackControlsFragment.kt index 7b200ee55..b10e32397 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/simple/SimplePlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/simple/SimplePlaybackControlsFragment.kt @@ -134,18 +134,18 @@ class SimplePlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - repeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - repeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + repeatButton.setImageResource(R.drawable.ic_repeat_one) repeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } @@ -243,7 +243,7 @@ class SimplePlaybackControlsFragment : AbsPlayerControlsFragment() { private fun updatePlayPauseDrawableState() { if (MusicPlayerRemote.isPlaying) { - playPauseButton.setImageResource(R.drawable.ic_pause_white_24dp) + playPauseButton.setImageResource(R.drawable.ic_pause) } else { playPauseButton.setImageResource(R.drawable.ic_play_arrow_white_32dp) } diff --git a/app/src/main/java/io/github/muntashirakon/music/fragments/player/tiny/TinyPlaybackControlsFragment.kt b/app/src/main/java/io/github/muntashirakon/music/fragments/player/tiny/TinyPlaybackControlsFragment.kt index 501a5ec10..2849fba2b 100644 --- a/app/src/main/java/io/github/muntashirakon/music/fragments/player/tiny/TinyPlaybackControlsFragment.kt +++ b/app/src/main/java/io/github/muntashirakon/music/fragments/player/tiny/TinyPlaybackControlsFragment.kt @@ -81,18 +81,18 @@ class TinyPlaybackControlsFragment : AbsPlayerControlsFragment() { override fun updateRepeatState() { when (MusicPlayerRemote.repeatMode) { MusicService.REPEAT_MODE_NONE -> { - playerRepeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + playerRepeatButton.setImageResource(R.drawable.ic_repeat) playerRepeatButton.setColorFilter( lastDisabledPlaybackControlsColor, PorterDuff.Mode.SRC_IN ) } MusicService.REPEAT_MODE_ALL -> { - playerRepeatButton.setImageResource(R.drawable.ic_repeat_white_24dp) + playerRepeatButton.setImageResource(R.drawable.ic_repeat) playerRepeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } MusicService.REPEAT_MODE_THIS -> { - playerRepeatButton.setImageResource(R.drawable.ic_repeat_one_white_24dp) + playerRepeatButton.setImageResource(R.drawable.ic_repeat_one) playerRepeatButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN) } } diff --git a/app/src/main/java/io/github/muntashirakon/music/glide/RetroMusicColoredTarget.kt b/app/src/main/java/io/github/muntashirakon/music/glide/RetroMusicColoredTarget.kt index da6b546b2..6bc9c0225 100644 --- a/app/src/main/java/io/github/muntashirakon/music/glide/RetroMusicColoredTarget.kt +++ b/app/src/main/java/io/github/muntashirakon/music/glide/RetroMusicColoredTarget.kt @@ -36,9 +36,6 @@ abstract class RetroMusicColoredTarget(view: ImageView) : BitmapPaletteTarget(vi super.onLoadFailed(e, errorDrawable) val colors = MediaNotificationProcessor(App.getContext(), errorDrawable) onColorReady(colors) - /* MediaNotificationProcessor(App.getContext()).getPaletteAsync({ - onColorReady(it) - }, errorDrawable)*/ } override fun onResourceReady( diff --git a/app/src/main/java/io/github/muntashirakon/music/glide/UserProfileGlideRequest.java b/app/src/main/java/io/github/muntashirakon/music/glide/UserProfileGlideRequest.java index 5498b306c..f9ea7a113 100644 --- a/app/src/main/java/io/github/muntashirakon/music/glide/UserProfileGlideRequest.java +++ b/app/src/main/java/io/github/muntashirakon/music/glide/UserProfileGlideRequest.java @@ -23,7 +23,7 @@ import static io.github.muntashirakon.music.Constants.USER_PROFILE; public class UserProfileGlideRequest { private static final DiskCacheStrategy DEFAULT_DISK_CACHE_STRATEGY = DiskCacheStrategy.NONE; - private static final int DEFAULT_ERROR_IMAGE = R.drawable.ic_account_white_24dp; + private static final int DEFAULT_ERROR_IMAGE = R.drawable.ic_account; private static final int DEFAULT_ANIMATION = android.R.anim.fade_in; public static File getUserModel() { @@ -47,7 +47,7 @@ public class UserProfileGlideRequest { private Builder(RequestManager requestManager, File profile) { this.requestManager = requestManager; this.profile = profile; - error = TintHelper.createTintedDrawable(App.Companion.getContext(), R.drawable.ic_account_white_24dp, ThemeStore.Companion.accentColor(App.Companion.getContext())); + error = TintHelper.createTintedDrawable(App.Companion.getContext(), R.drawable.ic_account, ThemeStore.Companion.accentColor(App.Companion.getContext())); } public static Builder from(@NonNull RequestManager requestManager, File profile) { diff --git a/app/src/main/java/io/github/muntashirakon/music/glide/artistimage/ArtistImageLoader.kt b/app/src/main/java/io/github/muntashirakon/music/glide/artistimage/ArtistImageLoader.kt index 90589452d..090cc217e 100644 --- a/app/src/main/java/io/github/muntashirakon/music/glide/artistimage/ArtistImageLoader.kt +++ b/app/src/main/java/io/github/muntashirakon/music/glide/artistimage/ArtistImageLoader.kt @@ -15,8 +15,8 @@ package io.github.muntashirakon.music.glide.artistimage import android.content.Context -import io.github.muntashirakon.music.deezer.Data import io.github.muntashirakon.music.deezer.DeezerApiService +import io.github.muntashirakon.music.deezer.Data import io.github.muntashirakon.music.util.MusicUtil import io.github.muntashirakon.music.util.PreferenceUtil import com.bumptech.glide.Priority diff --git a/app/src/main/java/io/github/muntashirakon/music/lyrics/LrcView.java b/app/src/main/java/io/github/muntashirakon/music/lyrics/LrcView.java index dde6b6eda..d4c0f7c34 100644 --- a/app/src/main/java/io/github/muntashirakon/music/lyrics/LrcView.java +++ b/app/src/main/java/io/github/muntashirakon/music/lyrics/LrcView.java @@ -181,7 +181,7 @@ public class LrcView extends View { mTimelineColor = ta.getColor(R.styleable.LrcView_lrcTimelineColor, getResources().getColor(R.color.lrc_timeline_color)); float timelineHeight = ta.getDimension(R.styleable.LrcView_lrcTimelineHeight, getResources().getDimension(R.dimen.lrc_timeline_height)); mPlayDrawable = ta.getDrawable(R.styleable.LrcView_lrcPlayDrawable); - mPlayDrawable = (mPlayDrawable == null) ? getResources().getDrawable(R.drawable.ic_play_arrow_white_24dp) : mPlayDrawable; + mPlayDrawable = (mPlayDrawable == null) ? getResources().getDrawable(R.drawable.ic_play_arrow) : mPlayDrawable; mTimeTextColor = ta.getColor(R.styleable.LrcView_lrcTimeTextColor, getResources().getColor(R.color.lrc_time_text_color)); float timeTextSize = ta.getDimension(R.styleable.LrcView_lrcTimeTextSize, getResources().getDimension(R.dimen.lrc_time_text_size)); mTextGravity = ta.getInteger(R.styleable.LrcView_lrcTextGravity, LrcEntry.GRAVITY_CENTER); diff --git a/app/src/main/java/io/github/muntashirakon/music/model/CategoryInfo.java b/app/src/main/java/io/github/muntashirakon/music/model/CategoryInfo.java index 78763cedf..75e730723 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/CategoryInfo.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/CategoryInfo.java @@ -59,14 +59,14 @@ public class CategoryInfo implements Parcelable { } public enum Category { - Home(R.id.action_home, R.string.home, R.drawable.ic_home_white_24dp), - Songs(R.id.action_song, R.string.songs, R.drawable.ic_audiotrack_white_24dp), - Albums(R.id.action_album, R.string.albums, R.drawable.ic_album_white_24dp), - Artists(R.id.action_artist, R.string.artists, R.drawable.ic_artist_white_24dp), - Playlists(R.id.action_playlist, R.string.playlists, R.drawable.ic_playlist_play_white_24dp), - Genres(R.id.action_genre, R.string.genres, R.drawable.ic_guitar_white_24dp), - Queue(R.id.action_playing_queue, R.string.queue, R.drawable.ic_queue_music_white_24dp), - Folder(R.id.action_folder, R.string.folders, R.drawable.ic_folder_white_24dp); + Home(R.id.action_home, R.string.home, R.drawable.asld_home), + Songs(R.id.action_song, R.string.songs, R.drawable.asld_music_note), + Albums(R.id.action_album, R.string.albums, R.drawable.asld_album), + Artists(R.id.action_artist, R.string.artists, R.drawable.ic_artist), + Playlists(R.id.action_playlist, R.string.playlists, R.drawable.ic_playlist_play), + Genres(R.id.action_genre, R.string.genres, R.drawable.ic_guitar), + Queue(R.id.action_playing_queue, R.string.queue, R.drawable.ic_queue_music), + Folder(R.id.action_folder, R.string.folders, R.drawable.ic_folder); public final int icon; diff --git a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/AbsSmartPlaylist.java b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/AbsSmartPlaylist.java index a1a0b6b4e..69baac8b9 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/AbsSmartPlaylist.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/AbsSmartPlaylist.java @@ -36,7 +36,7 @@ public abstract class AbsSmartPlaylist extends AbsCustomPlaylist { public AbsSmartPlaylist() { super(); - this.iconRes = R.drawable.ic_queue_music_white_24dp; + this.iconRes = R.drawable.ic_queue_music; } protected AbsSmartPlaylist(Parcel in) { diff --git a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/HistoryPlaylist.java index 8ed1ab883..c487b6ef8 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/HistoryPlaylist.java @@ -44,7 +44,7 @@ public class HistoryPlaylist extends AbsSmartPlaylist { }; public HistoryPlaylist(@NonNull Context context) { - super(context.getString(R.string.history), R.drawable.ic_access_time_white_24dp); + super(context.getString(R.string.history), R.drawable.ic_history); } protected HistoryPlaylist(Parcel in) { diff --git a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/LastAddedPlaylist.java index b79eb3038..31d3984f7 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/LastAddedPlaylist.java @@ -41,7 +41,7 @@ public class LastAddedPlaylist extends AbsSmartPlaylist { }; public LastAddedPlaylist(@NonNull Context context) { - super(context.getString(R.string.last_added), R.drawable.ic_library_add_white_24dp); + super(context.getString(R.string.last_added), R.drawable.ic_library_add); } protected LastAddedPlaylist(Parcel in) { diff --git a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/MyTopTracksPlaylist.java b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/MyTopTracksPlaylist.java index a155866d6..fcac697f6 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/MyTopTracksPlaylist.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/MyTopTracksPlaylist.java @@ -44,7 +44,7 @@ public class MyTopTracksPlaylist extends AbsSmartPlaylist { }; public MyTopTracksPlaylist(@NonNull Context context) { - super(context.getString(R.string.my_top_tracks), R.drawable.ic_trending_up_white_24dp); + super(context.getString(R.string.my_top_tracks), R.drawable.ic_trending_up); } protected MyTopTracksPlaylist(Parcel in) { diff --git a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/NotRecentlyPlayedPlaylist.java b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/NotRecentlyPlayedPlaylist.java index bc105cdb4..4c37763d7 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/NotRecentlyPlayedPlaylist.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/NotRecentlyPlayedPlaylist.java @@ -29,7 +29,7 @@ public class NotRecentlyPlayedPlaylist extends AbsSmartPlaylist { }; public NotRecentlyPlayedPlaylist(@NonNull Context context) { - super(context.getString(R.string.not_recently_played), R.drawable.ic_watch_later_white_24dp); + super(context.getString(R.string.not_recently_played), R.drawable.ic_watch_later); } protected NotRecentlyPlayedPlaylist(Parcel in) { diff --git a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/ShuffleAllPlaylist.java b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/ShuffleAllPlaylist.java index 2adf2a1be..0e84629ca 100644 --- a/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/ShuffleAllPlaylist.java +++ b/app/src/main/java/io/github/muntashirakon/music/model/smartplaylist/ShuffleAllPlaylist.java @@ -40,7 +40,7 @@ public class ShuffleAllPlaylist extends AbsSmartPlaylist { }; public ShuffleAllPlaylist(@NonNull Context context) { - super(context.getString(R.string.action_shuffle_all), R.drawable.ic_shuffle_white_24dp); + super(context.getString(R.string.action_shuffle_all), R.drawable.ic_shuffle); } protected ShuffleAllPlaylist(Parcel in) { diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/BaseView.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/BaseView.kt deleted file mode 100644 index 0634cfa0b..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/BaseView.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp - -/** - * Created by hemanths on 09/08/17. - */ - -interface BaseView { - - fun showEmptyView() -} diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/Presenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/Presenter.kt deleted file mode 100644 index 80bb583bc..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/Presenter.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp - -import androidx.annotation.CallSuper - -/** - * Created by hemanths on 16/08/17. - */ - - -interface Presenter { - @CallSuper - fun attachView(view: T) - - @CallSuper - fun detachView() -} diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/PresenterImpl.java b/app/src/main/java/io/github/muntashirakon/music/mvp/PresenterImpl.java deleted file mode 100644 index 7dc2ba190..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/PresenterImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp; - -/** - * Created by hemanths on 2019-09-04. - */ -public abstract class PresenterImpl { - protected T view; - - public void attachView(T view) { - this.view = view; - } - - public void detachView() { - view = null; - } -} diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/AlbumDetailsPresenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/AlbumDetailsPresenter.kt deleted file mode 100644 index 58f7acf9f..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/AlbumDetailsPresenter.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp.presenter - -import io.github.muntashirakon.music.model.Album -import io.github.muntashirakon.music.model.Artist -import io.github.muntashirakon.music.rest.model.LastFmAlbum - -/** - * Created by hemanths on 20/08/17. - */ -interface AlbumDetailsView { - - fun album(album: Album) - - fun complete() - - fun loadArtistImage(artist: Artist) - - fun moreAlbums(albums: List) - - fun aboutAlbum(lastFmAlbum: LastFmAlbum) -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/AlbumPresenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/AlbumPresenter.kt deleted file mode 100644 index f2714296f..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/AlbumPresenter.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp.presenter - -import io.github.muntashirakon.music.model.Album -import io.github.muntashirakon.music.mvp.BaseView - -/** - * Created by hemanths on 12/08/17. - */ -interface AlbumsView : BaseView { - - fun albums(albums: List) -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/ArtistDetailsPresenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/ArtistDetailsPresenter.kt deleted file mode 100644 index 4495dfbb5..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/ArtistDetailsPresenter.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp.presenter - -import io.github.muntashirakon.music.model.Artist -import io.github.muntashirakon.music.mvp.BaseView -import io.github.muntashirakon.music.rest.model.LastFmArtist - -/** - * Created by hemanths on 20/08/17. - */ -interface ArtistDetailsView : BaseView { - - fun artist(artist: Artist) - - fun artistInfo(lastFmArtist: LastFmArtist?) - - fun complete() -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/GenreDetailsPresenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/GenreDetailsPresenter.kt deleted file mode 100644 index b60c1364c..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/GenreDetailsPresenter.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp.presenter - -import io.github.muntashirakon.music.model.Song -import io.github.muntashirakon.music.mvp.BaseView -import io.github.muntashirakon.music.mvp.Presenter -import io.github.muntashirakon.music.mvp.PresenterImpl -import io.github.muntashirakon.music.providers.interfaces.Repository -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Job -import kotlinx.coroutines.launch -import kotlin.coroutines.CoroutineContext - -/** - * Created by hemanths on 20/08/17. - */ - -interface GenreDetailsView : BaseView { - - fun songs(songs: List) -} - -interface GenreDetailsPresenter : Presenter { - fun loadGenreSongs(genreId: Int) - - class GenreDetailsPresenterImpl constructor( - private val repository: Repository - ) : PresenterImpl(), GenreDetailsPresenter, CoroutineScope { - - private val job = Job() - - override val coroutineContext: CoroutineContext - get() = Dispatchers.IO + job - - override fun detachView() { - super.detachView() - job.cancel() - } - - override fun loadGenreSongs(genreId: Int) { - launch { - val result = repository.getGenre(genreId) - view?.songs(result) - } - } - } -} diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/PlaylistSongsPresenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/PlaylistSongsPresenter.kt deleted file mode 100644 index bbba29b08..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/PlaylistSongsPresenter.kt +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp.presenter - -import io.github.muntashirakon.music.model.Playlist -import io.github.muntashirakon.music.model.Song -import io.github.muntashirakon.music.mvp.BaseView -import io.github.muntashirakon.music.mvp.Presenter -import io.github.muntashirakon.music.mvp.PresenterImpl -import io.github.muntashirakon.music.providers.interfaces.Repository -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Job -import kotlinx.coroutines.launch - -import kotlin.coroutines.CoroutineContext - -/** - * Created by hemanths on 20/08/17. - */ -interface PlaylistSongsView : BaseView { - - fun songs(songs: List) -} - -interface PlaylistSongsPresenter : Presenter { - fun loadPlaylistSongs(playlist: Playlist) - - class PlaylistSongsPresenterImpl constructor( - private val repository: Repository - ) : PresenterImpl(), PlaylistSongsPresenter, CoroutineScope { - - private var job: Job = Job() - - override val coroutineContext: CoroutineContext - get() = Dispatchers.IO + job - - override fun loadPlaylistSongs(playlist: Playlist) { - launch { - val songs = repository.getPlaylistSongs(playlist) - view?.songs(songs) - } - } - - override fun detachView() { - super.detachView() - job.cancel() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/SearchPresenter.kt b/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/SearchPresenter.kt deleted file mode 100644 index 82a0ddeed..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/mvp/presenter/SearchPresenter.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.mvp.presenter - -import io.github.muntashirakon.music.mvp.BaseView -import io.github.muntashirakon.music.mvp.Presenter -import io.github.muntashirakon.music.mvp.PresenterImpl -import io.github.muntashirakon.music.providers.interfaces.Repository -import kotlinx.coroutines.* - -import kotlin.coroutines.CoroutineContext - -/** - * Created by hemanths on 20/08/17. - */ - -interface SearchView : BaseView { - - fun showData(data: MutableList) -} - -interface SearchPresenter : Presenter { - - fun search(query: String?) - - class SearchPresenterImpl constructor( - private val repository: Repository - ) : PresenterImpl(), SearchPresenter, CoroutineScope { - - override val coroutineContext: CoroutineContext - get() = Dispatchers.IO + job - - private var job: Job = Job() - - override fun detachView() { - super.detachView() - job.cancel() - } - - override fun search(query: String?) { - launch { - val result = repository.search(query) - withContext(Dispatchers.Main) { view?.showData(result) } - } - } - } -} - - diff --git a/app/src/main/java/io/github/muntashirakon/music/rest/service/LastFMService.kt b/app/src/main/java/io/github/muntashirakon/music/network/LastFMService.kt similarity index 88% rename from app/src/main/java/io/github/muntashirakon/music/rest/service/LastFMService.kt rename to app/src/main/java/io/github/muntashirakon/music/network/LastFMService.kt index 5aa1e3bb1..f22360338 100644 --- a/app/src/main/java/io/github/muntashirakon/music/rest/service/LastFMService.kt +++ b/app/src/main/java/io/github/muntashirakon/music/network/LastFMService.kt @@ -12,10 +12,10 @@ * See the GNU General Public License for more details. */ -package io.github.muntashirakon.music.rest.service +package io.github.muntashirakon.music.network -import io.github.muntashirakon.music.rest.model.LastFmAlbum -import io.github.muntashirakon.music.rest.model.LastFmArtist +import io.github.muntashirakon.music.network.model.LastFmAlbum +import io.github.muntashirakon.music.network.model.LastFmArtist import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.Query diff --git a/app/src/main/java/io/github/muntashirakon/music/network/RetrofitClient.kt b/app/src/main/java/io/github/muntashirakon/music/network/RetrofitClient.kt new file mode 100644 index 000000000..afaaeb67c --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/network/RetrofitClient.kt @@ -0,0 +1,71 @@ +package code.name.monkey.retromusic.network + +import code.name.monkey.retromusic.App +import code.name.monkey.retromusic.Constants.BASE_URL +import com.google.gson.Gson +import okhttp3.Cache +import okhttp3.ConnectionPool +import okhttp3.Interceptor +import okhttp3.OkHttpClient +import org.koin.dsl.module +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import java.io.File +import java.util.concurrent.TimeUnit + +private const val TIMEOUT: Long = 700 + +val networkModule = module { + factory { + provideHttpClient(get(), get()) + } + factory { + provideCacheControlInterceptor() + } + factory { + provideDefaultCache() + } + factory { + provideLastFmService(get()) + } + single { + providerRetrofit(get()) + } +} + +fun provideLastFmService(retrofit: Retrofit): LastFMService = + retrofit.create(LastFMService::class.java) + +fun providerRetrofit(okHttpClient: OkHttpClient.Builder): Retrofit = Retrofit.Builder() + .baseUrl(BASE_URL) + .callFactory(okHttpClient.build()) + .addConverterFactory(GsonConverterFactory.create(Gson())) + .build() + +fun provideHttpClient( + cache: Cache, + interceptor: Interceptor +): OkHttpClient.Builder = OkHttpClient.Builder() + .connectionPool(ConnectionPool(0, 1, TimeUnit.NANOSECONDS)) + .retryOnConnectionFailure(true) + .connectTimeout(TIMEOUT, TimeUnit.MINUTES) + .writeTimeout(TIMEOUT, TimeUnit.MINUTES) + .readTimeout(TIMEOUT, TimeUnit.MINUTES) + .cache(cache) + .addInterceptor(interceptor) + + +fun provideCacheControlInterceptor(): Interceptor = Interceptor { chain: Interceptor.Chain -> + val modifiedRequest = chain.request().newBuilder() + .addHeader("Cache-Control", "max-age=31536000, max-stale=31536000") + .build() + chain.proceed(modifiedRequest) +} + +fun provideDefaultCache(): Cache? { + val cacheDir = File(App.getContext().cacheDir.absolutePath, "/okhttp-lastfm/") + if (cacheDir.mkdirs() || cacheDir.isDirectory) { + return Cache(cacheDir, 1024 * 1024 * 10) + } + return null +} diff --git a/app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmAlbum.java b/app/src/main/java/io/github/muntashirakon/music/network/model/LastFmAlbum.java similarity index 98% rename from app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmAlbum.java rename to app/src/main/java/io/github/muntashirakon/music/network/model/LastFmAlbum.java index 4aa25d8c4..99488972b 100644 --- a/app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmAlbum.java +++ b/app/src/main/java/io/github/muntashirakon/music/network/model/LastFmAlbum.java @@ -12,7 +12,7 @@ * See the GNU General Public License for more details. */ -package io.github.muntashirakon.music.rest.model; +package io.github.muntashirakon.music.network.model; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmArtist.java b/app/src/main/java/io/github/muntashirakon/music/network/model/LastFmArtist.java similarity index 98% rename from app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmArtist.java rename to app/src/main/java/io/github/muntashirakon/music/network/model/LastFmArtist.java index f2f373792..40c261031 100644 --- a/app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmArtist.java +++ b/app/src/main/java/io/github/muntashirakon/music/network/model/LastFmArtist.java @@ -12,7 +12,7 @@ * See the GNU General Public License for more details. */ -package io.github.muntashirakon.music.rest.model; +package io.github.muntashirakon.music.network.model; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmTrack.java b/app/src/main/java/io/github/muntashirakon/music/network/model/LastFmTrack.java similarity index 98% rename from app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmTrack.java rename to app/src/main/java/io/github/muntashirakon/music/network/model/LastFmTrack.java index 100336dc4..4b018df21 100644 --- a/app/src/main/java/io/github/muntashirakon/music/rest/model/LastFmTrack.java +++ b/app/src/main/java/io/github/muntashirakon/music/network/model/LastFmTrack.java @@ -12,7 +12,7 @@ * See the GNU General Public License for more details. */ -package io.github.muntashirakon.music.rest.model; +package io.github.muntashirakon.music.network.model; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/io/github/muntashirakon/music/preferences/AlbumCoverStylePreferenceDialog.kt b/app/src/main/java/io/github/muntashirakon/music/preferences/AlbumCoverStylePreferenceDialog.kt index ef9424c5a..c5e8ed494 100644 --- a/app/src/main/java/io/github/muntashirakon/music/preferences/AlbumCoverStylePreferenceDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/preferences/AlbumCoverStylePreferenceDialog.kt @@ -31,12 +31,13 @@ import androidx.viewpager.widget.PagerAdapter import androidx.viewpager.widget.ViewPager import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.colorControlNormal +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.fragments.AlbumCoverStyle.* import io.github.muntashirakon.music.util.PreferenceUtil import io.github.muntashirakon.music.util.ViewUtil import com.bumptech.glide.Glide -import com.google.android.material.dialog.MaterialAlertDialogBuilder class AlbumCoverStylePreference @JvmOverloads constructor( context: Context, @@ -75,15 +76,14 @@ class AlbumCoverStylePreferenceDialog : DialogFragment(), viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt() viewPager.currentItem = PreferenceUtil.albumCoverStyle.ordinal - return MaterialAlertDialogBuilder(requireActivity(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert) - .setTitle(R.string.pref_title_album_cover_style) + return materialDialog(R.string.pref_title_album_cover_style) .setPositiveButton(R.string.set) { _, _ -> val coverStyle = values()[viewPagerPosition] PreferenceUtil.albumCoverStyle = coverStyle } .setView(view) .create() + .colorButtons() } override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { diff --git a/app/src/main/java/io/github/muntashirakon/music/preferences/BlacklistPreferenceDialog.kt b/app/src/main/java/io/github/muntashirakon/music/preferences/BlacklistPreferenceDialog.kt index 39723e490..030ea146d 100644 --- a/app/src/main/java/io/github/muntashirakon/music/preferences/BlacklistPreferenceDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/preferences/BlacklistPreferenceDialog.kt @@ -26,7 +26,9 @@ import androidx.fragment.app.FragmentActivity import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference import io.github.muntashirakon.music.R import io.github.muntashirakon.music.dialogs.BlacklistFolderChooserDialog +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.colorControlNormal +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.providers.BlacklistStore import com.google.android.material.dialog.MaterialAlertDialogBuilder import java.io.File @@ -65,25 +67,19 @@ class BlacklistPreferenceDialog : DialogFragment(), BlacklistFolderChooserDialog childFragmentManager.findFragmentByTag("FOLDER_CHOOSER") as BlacklistFolderChooserDialog? chooserDialog?.setCallback(this) refreshBlacklistData() - return MaterialAlertDialogBuilder( - mActivity!!, - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.blacklist) + return materialDialog(R.string.blacklist) .setPositiveButton(android.R.string.ok) { _, _ -> dismiss() } .setNeutralButton(R.string.clear_action) { _, _ -> - MaterialAlertDialogBuilder( - mActivity!!, - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.clear_blacklist) + materialDialog(R.string.clear_blacklist) .setMessage(R.string.do_you_want_to_clear_the_blacklist) .setPositiveButton(R.string.clear_action) { _, _ -> BlacklistStore.getInstance(mContext!!).clear() } .setNegativeButton(android.R.string.cancel, null) + .create() + .colorButtons() .show() } .setNegativeButton(R.string.add_action) { _, _ -> @@ -92,11 +88,7 @@ class BlacklistPreferenceDialog : DialogFragment(), BlacklistFolderChooserDialog dialog.show(mActivity!!.supportFragmentManager, "FOLDER_CHOOSER") } .setItems(paths.toTypedArray()) { _, which -> - MaterialAlertDialogBuilder( - mActivity!!, - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.remove_from_blacklist) + materialDialog(R.string.remove_from_blacklist) .setMessage( HtmlCompat.fromHtml( String.format( @@ -114,9 +106,9 @@ class BlacklistPreferenceDialog : DialogFragment(), BlacklistFolderChooserDialog refreshBlacklistData() } .setNegativeButton(android.R.string.cancel, null) - .show() + .show().colorButtons() } - .create() + .create().colorButtons() } private lateinit var paths: ArrayList diff --git a/app/src/main/java/io/github/muntashirakon/music/preferences/LibraryPreference.kt b/app/src/main/java/io/github/muntashirakon/music/preferences/LibraryPreference.kt index 9001bcb69..ada1bf30d 100644 --- a/app/src/main/java/io/github/muntashirakon/music/preferences/LibraryPreference.kt +++ b/app/src/main/java/io/github/muntashirakon/music/preferences/LibraryPreference.kt @@ -29,11 +29,11 @@ import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference import io.github.muntashirakon.music.R import io.github.muntashirakon.music.adapter.CategoryInfoAdapter +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.colorControlNormal +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.model.CategoryInfo import io.github.muntashirakon.music.util.PreferenceUtil -import com.google.android.material.dialog.MaterialAlertDialogBuilder - class LibraryPreference @JvmOverloads constructor( context: Context, @@ -64,11 +64,7 @@ class LibraryPreferenceDialog : DialogFragment() { categoryAdapter.attachToRecyclerView(recyclerView) - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.library_categories) + return materialDialog(R.string.library_categories) .setNeutralButton( R.string.reset_action ) { _, _ -> @@ -80,6 +76,7 @@ class LibraryPreferenceDialog : DialogFragment() { ) { _, _ -> updateCategories(categoryAdapter.categoryInfos) } .setView(view) .create() + .colorButtons() } private fun updateCategories(categories: List) { diff --git a/app/src/main/java/io/github/muntashirakon/music/preferences/NowPlayingScreenPreferenceDialog.kt b/app/src/main/java/io/github/muntashirakon/music/preferences/NowPlayingScreenPreferenceDialog.kt index cab9e42c8..9f570ac48 100644 --- a/app/src/main/java/io/github/muntashirakon/music/preferences/NowPlayingScreenPreferenceDialog.kt +++ b/app/src/main/java/io/github/muntashirakon/music/preferences/NowPlayingScreenPreferenceDialog.kt @@ -30,12 +30,13 @@ import androidx.viewpager.widget.PagerAdapter import androidx.viewpager.widget.ViewPager import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference import io.github.muntashirakon.music.R +import io.github.muntashirakon.music.extensions.colorButtons import io.github.muntashirakon.music.extensions.colorControlNormal +import io.github.muntashirakon.music.extensions.materialDialog import io.github.muntashirakon.music.fragments.NowPlayingScreen.* import io.github.muntashirakon.music.util.PreferenceUtil import io.github.muntashirakon.music.util.ViewUtil import com.bumptech.glide.Glide -import com.google.android.material.dialog.MaterialAlertDialogBuilder class NowPlayingScreenPreference @JvmOverloads constructor( context: Context, @@ -82,11 +83,7 @@ class NowPlayingScreenPreferenceDialog : DialogFragment(), ViewPager.OnPageChang viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt() viewPager.currentItem = PreferenceUtil.nowPlayingScreen.ordinal - return MaterialAlertDialogBuilder( - requireContext(), - R.style.ThemeOverlay_MaterialComponents_Dialog_Alert - ) - .setTitle(R.string.pref_title_now_playing_screen_appearance) + return materialDialog(R.string.pref_title_now_playing_screen_appearance) .setCancelable(false) .setPositiveButton(R.string.set) { _, _ -> val nowPlayingScreen = values()[viewPagerPosition] @@ -94,6 +91,7 @@ class NowPlayingScreenPreferenceDialog : DialogFragment(), ViewPager.OnPageChang } .setView(view) .create() + .colorButtons() } companion object { diff --git a/app/src/main/java/io/github/muntashirakon/music/providers/ProviderModule.kt b/app/src/main/java/io/github/muntashirakon/music/providers/ProviderModule.kt new file mode 100644 index 000000000..a5874e77a --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/providers/ProviderModule.kt @@ -0,0 +1,11 @@ +package code.name.monkey.retromusic.providers + +import org.eclipse.egit.github.core.Repository +import org.koin.dsl.bind +import org.koin.dsl.module + +val provideModules = module { + single { + RepositoryImpl(get(), get()) + } bind Repository::class +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/providers/RepositoryImpl.kt b/app/src/main/java/io/github/muntashirakon/music/providers/RepositoryImpl.kt index b1b6cd72b..b6bda7a71 100644 --- a/app/src/main/java/io/github/muntashirakon/music/providers/RepositoryImpl.kt +++ b/app/src/main/java/io/github/muntashirakon/music/providers/RepositoryImpl.kt @@ -19,13 +19,16 @@ import io.github.muntashirakon.music.R import io.github.muntashirakon.music.adapter.HomeAdapter import io.github.muntashirakon.music.loaders.* import io.github.muntashirakon.music.model.* -import io.github.muntashirakon.music.providers.interfaces.Repository -import io.github.muntashirakon.music.rest.LastFmClient -import io.github.muntashirakon.music.rest.model.LastFmAlbum -import io.github.muntashirakon.music.rest.model.LastFmArtist import io.github.muntashirakon.music.model.smartplaylist.NotRecentlyPlayedPlaylist +import io.github.muntashirakon.music.network.LastFMService +import io.github.muntashirakon.music.network.model.LastFmAlbum +import io.github.muntashirakon.music.network.model.LastFmArtist +import io.github.muntashirakon.music.providers.interfaces.Repository -class RepositoryImpl constructor(private val context: Context) : Repository { +class RepositoryImpl( + private val context: Context, + private val lastFMService: LastFMService +) : Repository { override suspend fun allAlbums(): List = AlbumLoader.getAllAlbums(context) @@ -43,12 +46,14 @@ class RepositoryImpl constructor(private val context: Context) : Repository { ArtistLoader.getArtist(context, artistId) override suspend fun suggestions(): Home? { - val songs = NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().subList(0, 9) + val songs = NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().apply { + if (size > 9) subList(0, 9) + } if (songs.isNotEmpty()) { return Home( songs, HomeAdapter.SUGGESTIONS, - R.drawable.ic_audiotrack_white_24dp + R.drawable.ic_audiotrack ) } return null @@ -73,7 +78,7 @@ class RepositoryImpl constructor(private val context: Context) : Repository { return if (artists.isNotEmpty()) Home( artists, HomeAdapter.RECENT_ARTISTS, - R.drawable.ic_artist_white_24dp + R.drawable.ic_artist ) else null } @@ -82,7 +87,7 @@ class RepositoryImpl constructor(private val context: Context) : Repository { return if (albums.isNotEmpty()) Home( albums, HomeAdapter.RECENT_ALBUMS, - R.drawable.ic_album_white_24dp + R.drawable.ic_album ) else null } @@ -91,7 +96,7 @@ class RepositoryImpl constructor(private val context: Context) : Repository { return if (albums.isNotEmpty()) Home( albums, HomeAdapter.TOP_ALBUMS, - R.drawable.ic_album_white_24dp + R.drawable.ic_album ) else null } @@ -101,7 +106,7 @@ class RepositoryImpl constructor(private val context: Context) : Repository { return if (artists.isNotEmpty()) Home( artists, HomeAdapter.TOP_ARTISTS, - R.drawable.ic_artist_white_24dp + R.drawable.ic_artist ) else null } @@ -110,8 +115,8 @@ class RepositoryImpl constructor(private val context: Context) : Repository { val playlists = PlaylistLoader.getFavoritePlaylist(context) return if (playlists.isNotEmpty()) Home( playlists, - HomeAdapter.PLAYLISTS, - R.drawable.ic_favorite_white_24dp + HomeAdapter.FAVOURITES, + R.drawable.ic_favorite ) else null } @@ -119,12 +124,12 @@ class RepositoryImpl constructor(private val context: Context) : Repository { name: String, lang: String?, cache: String? - ): LastFmArtist = LastFmClient.getApiService().artistInfo(name, lang, cache) + ): LastFmArtist = lastFMService.artistInfo(name, lang, cache) override suspend fun albumInfo( artist: String, album: String - ): LastFmAlbum = LastFmClient.getApiService().albumInfo(artist, album) + ): LastFmAlbum = lastFMService.albumInfo(artist, album) } \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/providers/interfaces/Repository.kt b/app/src/main/java/io/github/muntashirakon/music/providers/interfaces/Repository.kt index bf3cad032..24b38cd55 100644 --- a/app/src/main/java/io/github/muntashirakon/music/providers/interfaces/Repository.kt +++ b/app/src/main/java/io/github/muntashirakon/music/providers/interfaces/Repository.kt @@ -15,8 +15,8 @@ package io.github.muntashirakon.music.providers.interfaces import io.github.muntashirakon.music.model.* -import io.github.muntashirakon.music.rest.model.LastFmAlbum -import io.github.muntashirakon.music.rest.model.LastFmArtist +import io.github.muntashirakon.music.network.model.LastFmAlbum +import io.github.muntashirakon.music.network.model.LastFmArtist /** * Created by hemanths on 11/08/17. diff --git a/app/src/main/java/io/github/muntashirakon/music/rest/LastFmClient.kt b/app/src/main/java/io/github/muntashirakon/music/rest/LastFmClient.kt deleted file mode 100644 index 1fe2c0459..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/rest/LastFmClient.kt +++ /dev/null @@ -1,69 +0,0 @@ -package io.github.muntashirakon.music.rest - -import io.github.muntashirakon.music.App -import io.github.muntashirakon.music.rest.service.LastFMService -import com.google.gson.Gson -import okhttp3.Cache -import okhttp3.ConnectionPool -import okhttp3.Interceptor -import okhttp3.Interceptor.Chain -import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor -import retrofit2.Retrofit -import retrofit2.converter.gson.GsonConverterFactory -import java.io.File -import java.util.concurrent.TimeUnit - -object LastFmClient { - private const val baseUrl = "https://ws.audioscrobbler.com/2.0/" - - private var lastFMService: LastFMService - - fun getApiService(): LastFMService { - return lastFMService - } - - init { - lastFMService = Retrofit.Builder() - .baseUrl(baseUrl) - .callFactory(createDefaultOkHttpClientBuilder().build()) - .addConverterFactory(GsonConverterFactory.create(Gson())) - .build() - .create(LastFMService::class.java) - } - - private fun createDefaultOkHttpClientBuilder(): OkHttpClient.Builder { - return OkHttpClient.Builder() - .connectionPool(ConnectionPool(0, 1, TimeUnit.NANOSECONDS)) - .retryOnConnectionFailure(true) - .connectTimeout(1, TimeUnit.MINUTES) // connect timeout - .writeTimeout(1, TimeUnit.MINUTES) // write timeout - .readTimeout(1, TimeUnit.MINUTES) // read timeout - .cache(createDefaultCache()) - .addInterceptor(createCacheControlInterceptor()) - .addInterceptor(createLogInterceptor()) - } - - private fun createLogInterceptor(): Interceptor { - val interceptor = HttpLoggingInterceptor() - interceptor.level = HttpLoggingInterceptor.Level.BASIC - return interceptor - } - - private fun createCacheControlInterceptor(): Interceptor { - return Interceptor { chain: Chain -> - val modifiedRequest = chain.request().newBuilder() - .addHeader("Cache-Control", "max-age=31536000, max-stale=31536000") - .build() - chain.proceed(modifiedRequest) - } - } - - private fun createDefaultCache(): Cache? { - val cacheDir = File(App.getContext().cacheDir.absolutePath, "/okhttp-lastfm/") - if (cacheDir.mkdirs() || cacheDir.isDirectory) { - return Cache(cacheDir, 1024 * 1024 * 10) - } - return null - } -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/service/MusicService.java b/app/src/main/java/io/github/muntashirakon/music/service/MusicService.java index db81d7574..c1dd2a0af 100644 --- a/app/src/main/java/io/github/muntashirakon/music/service/MusicService.java +++ b/app/src/main/java/io/github/muntashirakon/music/service/MusicService.java @@ -1310,11 +1310,11 @@ public class MusicService extends Service implements } private void setCustomAction(PlaybackStateCompat.Builder stateBuilder) { - int repeatIcon = R.drawable.ic_repeat_white_24dp; // REPEAT_MODE_NONE + int repeatIcon = R.drawable.ic_repeat; // REPEAT_MODE_NONE if (getRepeatMode() == REPEAT_MODE_THIS) { - repeatIcon = R.drawable.ic_repeat_one_white_24dp; + repeatIcon = R.drawable.ic_repeat_one; } else if (getRepeatMode() == REPEAT_MODE_ALL) { - repeatIcon = R.drawable.ic_repeat_white_circle_24dp; + repeatIcon = R.drawable.ic_repeat_white_circle; } stateBuilder.addCustomAction(new PlaybackStateCompat.CustomAction.Builder( CYCLE_REPEAT, getString(R.string.action_cycle_repeat), repeatIcon) @@ -1327,7 +1327,7 @@ public class MusicService extends Service implements .build()); final int favoriteIcon = MusicUtil.isFavorite(getApplicationContext(), getCurrentSong()) - ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_border_white_24dp; + ? R.drawable.ic_favorite : R.drawable.ic_favorite_border; stateBuilder.addCustomAction(new PlaybackStateCompat.CustomAction.Builder( TOGGLE_FAVORITE, getString(R.string.action_toggle_favorite), favoriteIcon) .build()); diff --git a/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationImpl.kt b/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationImpl.kt index 69a2733c1..2901f9921 100644 --- a/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationImpl.kt +++ b/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationImpl.kt @@ -52,7 +52,7 @@ class PlayingNotificationImpl : PlayingNotification() { val playButtonResId = if (isPlaying) R.drawable.ic_pause_white_48dp else R.drawable.ic_play_arrow_white_48dp val favoriteResId = - if (isFavorite) R.drawable.ic_favorite_white_24dp else R.drawable.ic_favorite_border_white_24dp + if (isFavorite) R.drawable.ic_favorite else R.drawable.ic_favorite_border val action = Intent(service, MainActivity::class.java) action.putExtra(MainActivity.EXPAND_PANEL, true) diff --git a/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationOreo.kt b/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationOreo.kt index dde814a87..e3ced6e20 100644 --- a/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationOreo.kt +++ b/app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationOreo.kt @@ -167,7 +167,7 @@ class PlayingNotificationOreo : PlayingNotification() { val close = createBitmap( RetroUtil.getTintedVectorDrawable( service, - R.drawable.ic_close_white_24dp, + R.drawable.ic_close, primary )!!, NOTIFICATION_CONTROLS_SIZE_MULTIPLIER ) diff --git a/app/src/main/java/io/github/muntashirakon/music/util/DensityUtil.java b/app/src/main/java/io/github/muntashirakon/music/util/DensityUtil.java deleted file mode 100644 index f33d29918..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/util/DensityUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.util; - -import android.app.Activity; -import android.content.Context; -import android.util.DisplayMetrics; - -import androidx.annotation.NonNull; - -/** - * Created by hefuyi on 16/7/30. - */ -public class DensityUtil { - - public static int getScreenHeight(@NonNull Context context) { - DisplayMetrics displayMetrics = new DisplayMetrics(); - ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); - return displayMetrics.heightPixels; - } - - public static int dip2px(@NonNull Context context, float dpVale) { - final float scale = context.getResources().getDisplayMetrics().density; - return (int) (dpVale * scale + 0.5f); - } - -} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/util/DensityUtil.kt b/app/src/main/java/io/github/muntashirakon/music/util/DensityUtil.kt new file mode 100644 index 000000000..2e36de9a7 --- /dev/null +++ b/app/src/main/java/io/github/muntashirakon/music/util/DensityUtil.kt @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2019 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. + */ +package code.name.monkey.retromusic.util + +import android.app.Activity +import android.content.Context +import android.util.DisplayMetrics +import android.util.TypedValue + +/** + * Created by hefuyi on 16/7/30. + */ +object DensityUtil { + fun getScreenHeight(context: Context): Int { + val displayMetrics = DisplayMetrics() + (context as Activity).windowManager.defaultDisplay.getMetrics(displayMetrics) + return displayMetrics.heightPixels + } + + fun getScreenWidth(context: Context): Int { + val displayMetrics = DisplayMetrics() + (context as Activity).windowManager.defaultDisplay.getMetrics(displayMetrics) + return displayMetrics.widthPixels + } + + private fun toDP(context: Context, value: Int): Int { + return TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, + value.toFloat(), context.resources.displayMetrics + ).toInt() + } + + @JvmStatic + fun dip2px(context: Context, dpVale: Float): Int { + val scale = context.resources.displayMetrics.density + return (dpVale * scale + 0.5f).toInt() + } +} \ No newline at end of file diff --git a/app/src/main/java/io/github/muntashirakon/music/util/NavigationUtil.java b/app/src/main/java/io/github/muntashirakon/music/util/NavigationUtil.java index 5a5214c4b..b34099327 100755 --- a/app/src/main/java/io/github/muntashirakon/music/util/NavigationUtil.java +++ b/app/src/main/java/io/github/muntashirakon/music/util/NavigationUtil.java @@ -29,12 +29,12 @@ import org.jetbrains.annotations.NotNull; import io.github.muntashirakon.music.R; import io.github.muntashirakon.music.activities.AboutActivity; import io.github.muntashirakon.music.activities.DriveModeActivity; -import io.github.muntashirakon.music.activities.GenreDetailsActivity; +import io.github.muntashirakon.music.activities.genre.GenreDetailsActivity; import io.github.muntashirakon.music.activities.LicenseActivity; import io.github.muntashirakon.music.activities.LyricsActivity; import io.github.muntashirakon.music.activities.PlayingQueueActivity; -import io.github.muntashirakon.music.activities.PlaylistDetailActivity; -import io.github.muntashirakon.music.activities.SearchActivity; +import io.github.muntashirakon.music.activities.playlist.PlaylistDetailActivity; +import io.github.muntashirakon.music.activities.search.SearchActivity; import io.github.muntashirakon.music.activities.SettingsActivity; import io.github.muntashirakon.music.activities.UserInfoActivity; import io.github.muntashirakon.music.activities.WhatsNewActivity; diff --git a/app/src/main/java/io/github/muntashirakon/music/util/ViewUtil.kt b/app/src/main/java/io/github/muntashirakon/music/util/ViewUtil.kt index 2e19a8574..42a86e73a 100644 --- a/app/src/main/java/io/github/muntashirakon/music/util/ViewUtil.kt +++ b/app/src/main/java/io/github/muntashirakon/music/util/ViewUtil.kt @@ -27,6 +27,7 @@ import androidx.core.view.ViewCompat import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil import code.name.monkey.appthemehelper.util.MaterialValueHelper +import com.google.android.material.progressindicator.ProgressIndicator object ViewUtil { @@ -76,6 +77,11 @@ object ViewUtil { ) } + fun setProgressDrawable(progressIndicator: ProgressIndicator, newColor: Int) { + progressIndicator.indicatorColors = intArrayOf(newColor) + progressIndicator.trackColor = ColorUtil.withAlpha(newColor, 0.2f) + } + fun hitTest(v: View, x: Int, y: Int): Boolean { val tx = (ViewCompat.getTranslationX(v) + 0.5f).toInt() val ty = (ViewCompat.getTranslationY(v) + 0.5f).toInt() diff --git a/app/src/main/java/io/github/muntashirakon/music/views/MetalRecyclerViewPager.kt b/app/src/main/java/io/github/muntashirakon/music/views/MetalRecyclerViewPager.kt deleted file mode 100644 index 8a1ce76c8..000000000 --- a/app/src/main/java/io/github/muntashirakon/music/views/MetalRecyclerViewPager.kt +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2019 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. - */ - -package io.github.muntashirakon.music.views - -import android.content.Context -import android.util.AttributeSet -import android.util.DisplayMetrics -import android.view.View -import android.view.ViewGroup -import androidx.annotation.NonNull -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.PagerSnapHelper -import androidx.recyclerview.widget.RecyclerView -import io.github.muntashirakon.music.R -import io.github.muntashirakon.music.adapter.base.MediaEntryViewHolder -import io.github.muntashirakon.music.util.RetroUtil - -class MetalRecyclerViewPager : RecyclerView { - constructor(context: Context) : super(context) { - init(context, null) - } - - constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) { - init(context, attrs) - } - - constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super( - context, - attrs, - defStyleAttr - ) { - init(context, attrs) - } - - private var itemMargin: Int = 0 - - fun init(context: Context, attrs: AttributeSet?) { - val typedArray = - context.obtainStyledAttributes(attrs, R.styleable.MetalRecyclerViewPager, 0, 0) - itemMargin = - typedArray.getDimension(R.styleable.MetalRecyclerViewPager_itemMargin, 0f).toInt() - typedArray.recycle() - - layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) - val snapHelper = PagerSnapHelper() - snapHelper.attachToRecyclerView(this) - } - - override fun setAdapter(adapter: Adapter<*>?) { - if (adapter is MetalAdapter) { - adapter.setItemMargin(itemMargin) - adapter.updateDisplayMetrics() - } else { - throw IllegalArgumentException("Only MetalAdapter is allowed here") - } - super.setAdapter(adapter) - } - - abstract class MetalAdapter(@NonNull val displayMetrics: DisplayMetrics) : - RecyclerView.Adapter() { - private var itemMargin: Int = 0 - private var itemWidth: Int = 0 - - fun setItemMargin(itemMargin: Int) { - this.itemMargin = itemMargin - } - - fun updateDisplayMetrics() { - itemWidth = if (RetroUtil.isTablet()) { - displayMetrics.widthPixels / 2 - itemMargin * 3 - } else if (RetroUtil.isLandscape()) { - ((displayMetrics.widthPixels / 2.5f) - itemMargin).toInt() - } else { - displayMetrics.widthPixels - itemMargin - } - } - - override fun onBindViewHolder(holder: VH, position: Int) { - val currentItemWidth = itemWidth - if (position == 0) { - //currentItemWidth += itemMargin; - holder.rootLayout.setPadding(0, 0, 0, 0); - } else if (position == itemCount - 1) { - //currentItemWidth += itemMargin; - holder.rootLayout.setPadding(0, 0, 0, 0); - } - - val height = holder.rootLayout.layoutParams.height - holder.rootLayout.layoutParams = ViewGroup.LayoutParams(currentItemWidth, height) - } - } - - abstract class MetalViewHolder(itemView: View) : MediaEntryViewHolder(itemView) { - var rootLayout: ViewGroup = itemView.findViewById(R.id.root_layout) - } -} diff --git a/app/src/main/java/io/github/muntashirakon/music/views/NetworkImageView.java b/app/src/main/java/io/github/muntashirakon/music/views/NetworkImageView.java index 22b16bb49..1389b9819 100644 --- a/app/src/main/java/io/github/muntashirakon/music/views/NetworkImageView.java +++ b/app/src/main/java/io/github/muntashirakon/music/views/NetworkImageView.java @@ -52,8 +52,8 @@ public class NetworkImageView extends CircularImageView { public void setImageUrl(@NonNull Context context, @NonNull String imageUrl) { Glide.with(context) .load(imageUrl) - .error(R.drawable.ic_account_white_24dp) - .placeholder(R.drawable.ic_account_white_24dp) + .error(R.drawable.ic_account) + .placeholder(R.drawable.ic_account) .into(this); } diff --git a/app/src/main/java/io/github/muntashirakon/music/views/SeekArc.java b/app/src/main/java/io/github/muntashirakon/music/views/SeekArc.java index a4eb36897..cd3ac1a5a 100644 --- a/app/src/main/java/io/github/muntashirakon/music/views/SeekArc.java +++ b/app/src/main/java/io/github/muntashirakon/music/views/SeekArc.java @@ -405,7 +405,7 @@ public class SeekArc extends View { thumbHalfheight); mMax = a.getInteger(R.styleable.SeekArc_max, mMax); - mProgress = a.getInteger(R.styleable.SeekArc_progress, mProgress); + mProgress = a.getInteger(R.styleable.SeekArc_seekProgress, mProgress); mProgressWidth = (int) a.getDimension( R.styleable.SeekArc_progressWidth, mProgressWidth); mArcWidth = (int) a.getDimension(R.styleable.SeekArc_arcWidth, diff --git a/app/src/main/res/anim/item_animation_fall_down.xml b/app/src/main/res/anim/item_animation_fall_down.xml new file mode 100644 index 000000000..f486805c1 --- /dev/null +++ b/app/src/main/res/anim/item_animation_fall_down.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/layout_animation_fall_down.xml b/app/src/main/res/anim/layout_animation_fall_down.xml new file mode 100644 index 000000000..6736b9f7d --- /dev/null +++ b/app/src/main/res/anim/layout_animation_fall_down.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/notification_selector.xml b/app/src/main/res/drawable-v21/notification_selector.xml deleted file mode 100644 index 83aed83c3..000000000 --- a/app/src/main/res/drawable-v21/notification_selector.xml +++ /dev/null @@ -1,3 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/widget_selector.xml b/app/src/main/res/drawable-v21/widget_selector.xml deleted file mode 100644 index f03604195..000000000 --- a/app/src/main/res/drawable-v21/widget_selector.xml +++ /dev/null @@ -1,3 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/widget_selector_light.xml b/app/src/main/res/drawable-v21/widget_selector_light.xml deleted file mode 100644 index 83aed83c3..000000000 --- a/app/src/main/res/drawable-v21/widget_selector_light.xml +++ /dev/null @@ -1,3 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/drawable/asld_album.xml b/app/src/main/res/drawable/asld_album.xml new file mode 100644 index 000000000..5102b289a --- /dev/null +++ b/app/src/main/res/drawable/asld_album.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/asld_home.xml b/app/src/main/res/drawable/asld_home.xml new file mode 100644 index 000000000..fc93ed370 --- /dev/null +++ b/app/src/main/res/drawable/asld_home.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/asld_music_note.xml b/app/src/main/res/drawable/asld_music_note.xml new file mode 100644 index 000000000..4297185ea --- /dev/null +++ b/app/src/main/res/drawable/asld_music_note.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/avd_album.xml b/app/src/main/res/drawable/avd_album.xml new file mode 100644 index 000000000..696cae4ba --- /dev/null +++ b/app/src/main/res/drawable/avd_album.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/avd_home.xml b/app/src/main/res/drawable/avd_home.xml new file mode 100644 index 000000000..ec4056468 --- /dev/null +++ b/app/src/main/res/drawable/avd_home.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/avd_music_note.xml b/app/src/main/res/drawable/avd_music_note.xml new file mode 100644 index 000000000..1db16c7e5 --- /dev/null +++ b/app/src/main/res/drawable/avd_music_note.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_access_time_white_24dp.xml b/app/src/main/res/drawable/ic_access_time_white_24dp.xml deleted file mode 100644 index 93b0fd057..000000000 --- a/app/src/main/res/drawable/ic_access_time_white_24dp.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_account_white_24dp.xml b/app/src/main/res/drawable/ic_account.xml similarity index 100% rename from app/src/main/res/drawable/ic_account_white_24dp.xml rename to app/src/main/res/drawable/ic_account.xml diff --git a/app/src/main/res/drawable/ic_account_group_white_24dp.xml b/app/src/main/res/drawable/ic_account_group_white_24dp.xml deleted file mode 100644 index 970a3aa9a..000000000 --- a/app/src/main/res/drawable/ic_account_group_white_24dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_add_photo_white_24dp.xml b/app/src/main/res/drawable/ic_add_photo.xml similarity index 100% rename from app/src/main/res/drawable/ic_add_photo_white_24dp.xml rename to app/src/main/res/drawable/ic_add_photo.xml diff --git a/app/src/main/res/drawable/ic_album_white_24dp.xml b/app/src/main/res/drawable/ic_album.xml similarity index 100% rename from app/src/main/res/drawable/ic_album_white_24dp.xml rename to app/src/main/res/drawable/ic_album.xml diff --git a/app/src/main/res/drawable/ic_arrow_forward_white_24dp.xml b/app/src/main/res/drawable/ic_arrow_forward.xml similarity index 100% rename from app/src/main/res/drawable/ic_arrow_forward_white_24dp.xml rename to app/src/main/res/drawable/ic_arrow_forward.xml diff --git a/app/src/main/res/drawable/ic_artist_white_24dp.xml b/app/src/main/res/drawable/ic_artist.xml similarity index 100% rename from app/src/main/res/drawable/ic_artist_white_24dp.xml rename to app/src/main/res/drawable/ic_artist.xml diff --git a/app/src/main/res/drawable/ic_artist_selected_white_24dp.xml b/app/src/main/res/drawable/ic_artist_selected.xml similarity index 100% rename from app/src/main/res/drawable/ic_artist_selected_white_24dp.xml rename to app/src/main/res/drawable/ic_artist_selected.xml diff --git a/app/src/main/res/drawable/ic_audiotrack_white_24dp.xml b/app/src/main/res/drawable/ic_audiotrack.xml similarity index 100% rename from app/src/main/res/drawable/ic_audiotrack_white_24dp.xml rename to app/src/main/res/drawable/ic_audiotrack.xml diff --git a/app/src/main/res/drawable/ic_beer_white_24dp.xml b/app/src/main/res/drawable/ic_beer.xml similarity index 100% rename from app/src/main/res/drawable/ic_beer_white_24dp.xml rename to app/src/main/res/drawable/ic_beer.xml diff --git a/app/src/main/res/drawable/ic_blur_on_white_24dp.xml b/app/src/main/res/drawable/ic_blur_on.xml similarity index 100% rename from app/src/main/res/drawable/ic_blur_on_white_24dp.xml rename to app/src/main/res/drawable/ic_blur_on.xml diff --git a/app/src/main/res/drawable/ic_bookmark_music_white_24dp.xml b/app/src/main/res/drawable/ic_bookmark_music.xml similarity index 86% rename from app/src/main/res/drawable/ic_bookmark_music_white_24dp.xml rename to app/src/main/res/drawable/ic_bookmark_music.xml index bcde9ac74..0674f00c8 100644 --- a/app/src/main/res/drawable/ic_bookmark_music_white_24dp.xml +++ b/app/src/main/res/drawable/ic_bookmark_music.xml @@ -1,4 +1,3 @@ - + + diff --git a/app/src/main/res/drawable/ic_home_white_24dp.xml b/app/src/main/res/drawable/ic_home.xml similarity index 100% rename from app/src/main/res/drawable/ic_home_white_24dp.xml rename to app/src/main/res/drawable/ic_home.xml diff --git a/app/src/main/res/drawable/ic_image_white_24dp.xml b/app/src/main/res/drawable/ic_image.xml similarity index 100% rename from app/src/main/res/drawable/ic_image_white_24dp.xml rename to app/src/main/res/drawable/ic_image.xml diff --git a/app/src/main/res/drawable/ic_info_outline_white_24dp.xml b/app/src/main/res/drawable/ic_info_outline.xml similarity index 100% rename from app/src/main/res/drawable/ic_info_outline_white_24dp.xml rename to app/src/main/res/drawable/ic_info_outline.xml diff --git a/app/src/main/res/drawable/ic_instagram_white_24dp.xml b/app/src/main/res/drawable/ic_instagram.xml similarity index 100% rename from app/src/main/res/drawable/ic_instagram_white_24dp.xml rename to app/src/main/res/drawable/ic_instagram.xml diff --git a/app/src/main/res/drawable/ic_invert_colors_white_24dp.xml b/app/src/main/res/drawable/ic_invert_colors.xml similarity index 100% rename from app/src/main/res/drawable/ic_invert_colors_white_24dp.xml rename to app/src/main/res/drawable/ic_invert_colors.xml diff --git a/app/src/main/res/drawable/ic_keyboard_white_24dp.xml b/app/src/main/res/drawable/ic_keyboard.xml similarity index 100% rename from app/src/main/res/drawable/ic_keyboard_white_24dp.xml rename to app/src/main/res/drawable/ic_keyboard.xml diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_down_black.xml similarity index 100% rename from app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml rename to app/src/main/res/drawable/ic_keyboard_arrow_down_black.xml diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_right_white_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml similarity index 67% rename from app/src/main/res/drawable/ic_keyboard_arrow_right_white_24dp.xml rename to app/src/main/res/drawable/ic_keyboard_arrow_right.xml index 37733107b..b283c52dd 100644 --- a/app/src/main/res/drawable/ic_keyboard_arrow_right_white_24dp.xml +++ b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_up_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_up.xml similarity index 67% rename from app/src/main/res/drawable/ic_keyboard_arrow_up_24dp.xml rename to app/src/main/res/drawable/ic_keyboard_arrow_up.xml index 712d88e34..a1d8ff1a9 100755 --- a/app/src/main/res/drawable/ic_keyboard_arrow_up_24dp.xml +++ b/app/src/main/res/drawable/ic_keyboard_arrow_up.xml @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_keyboard_backspace_black_24dp.xml b/app/src/main/res/drawable/ic_keyboard_backspace_black.xml similarity index 100% rename from app/src/main/res/drawable/ic_keyboard_backspace_black_24dp.xml rename to app/src/main/res/drawable/ic_keyboard_backspace_black.xml diff --git a/app/src/main/res/drawable/ic_language_white_24dp.xml b/app/src/main/res/drawable/ic_language.xml similarity index 100% rename from app/src/main/res/drawable/ic_language_white_24dp.xml rename to app/src/main/res/drawable/ic_language.xml diff --git a/app/src/main/res/drawable/ic_library_add_white_24dp.xml b/app/src/main/res/drawable/ic_library_add.xml similarity index 100% rename from app/src/main/res/drawable/ic_library_add_white_24dp.xml rename to app/src/main/res/drawable/ic_library_add.xml diff --git a/app/src/main/res/drawable/ic_library_music_white_24dp.xml b/app/src/main/res/drawable/ic_library_music.xml similarity index 100% rename from app/src/main/res/drawable/ic_library_music_white_24dp.xml rename to app/src/main/res/drawable/ic_library_music.xml diff --git a/app/src/main/res/drawable/ic_license_white_24dp.xml b/app/src/main/res/drawable/ic_license.xml similarity index 100% rename from app/src/main/res/drawable/ic_license_white_24dp.xml rename to app/src/main/res/drawable/ic_license.xml diff --git a/app/src/main/res/drawable/ic_menu_white_24dp.xml b/app/src/main/res/drawable/ic_menu.xml similarity index 100% rename from app/src/main/res/drawable/ic_menu_white_24dp.xml rename to app/src/main/res/drawable/ic_menu.xml diff --git a/app/src/main/res/drawable/ic_mic_white_24dp.xml b/app/src/main/res/drawable/ic_mic.xml similarity index 100% rename from app/src/main/res/drawable/ic_mic_white_24dp.xml rename to app/src/main/res/drawable/ic_mic.xml diff --git a/app/src/main/res/drawable/ic_more_vert_white_24dp.xml b/app/src/main/res/drawable/ic_more_vert.xml similarity index 100% rename from app/src/main/res/drawable/ic_more_vert_white_24dp.xml rename to app/src/main/res/drawable/ic_more_vert.xml diff --git a/app/src/main/res/drawable/ic_music_note_off_white_24dp.xml b/app/src/main/res/drawable/ic_music_note_off.xml similarity index 100% rename from app/src/main/res/drawable/ic_music_note_off_white_24dp.xml rename to app/src/main/res/drawable/ic_music_note_off.xml diff --git a/app/src/main/res/drawable/ic_notifications_active_white_24dp.xml b/app/src/main/res/drawable/ic_notifications_active.xml similarity index 100% rename from app/src/main/res/drawable/ic_notifications_active_white_24dp.xml rename to app/src/main/res/drawable/ic_notifications_active.xml diff --git a/app/src/main/res/drawable/ic_open_in_browser_white_24dp.xml b/app/src/main/res/drawable/ic_open_in_browser.xml similarity index 100% rename from app/src/main/res/drawable/ic_open_in_browser_white_24dp.xml rename to app/src/main/res/drawable/ic_open_in_browser.xml diff --git a/app/src/main/res/drawable/ic_pause_white_24dp.xml b/app/src/main/res/drawable/ic_pause.xml similarity index 100% rename from app/src/main/res/drawable/ic_pause_white_24dp.xml rename to app/src/main/res/drawable/ic_pause.xml diff --git a/app/src/main/res/drawable/ic_pinterest_white_24dp.xml b/app/src/main/res/drawable/ic_pinterest.xml similarity index 100% rename from app/src/main/res/drawable/ic_pinterest_white_24dp.xml rename to app/src/main/res/drawable/ic_pinterest.xml diff --git a/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml b/app/src/main/res/drawable/ic_play_arrow.xml similarity index 100% rename from app/src/main/res/drawable/ic_play_arrow_white_24dp.xml rename to app/src/main/res/drawable/ic_play_arrow.xml diff --git a/app/src/main/res/drawable/ic_play_arrow_sharp_white_64dp.xml b/app/src/main/res/drawable/ic_play_arrow_sharp_white_64dp.xml index 5b03f4832..1cd7da06f 100644 --- a/app/src/main/res/drawable/ic_play_arrow_sharp_white_64dp.xml +++ b/app/src/main/res/drawable/ic_play_arrow_sharp_white_64dp.xml @@ -17,7 +17,6 @@ android:height="64dp" android:viewportWidth="24" android:viewportHeight="24"> - diff --git a/app/src/main/res/drawable/ic_play_circle_filled_white_24dp.xml b/app/src/main/res/drawable/ic_play_circle_filled.xml similarity index 100% rename from app/src/main/res/drawable/ic_play_circle_filled_white_24dp.xml rename to app/src/main/res/drawable/ic_play_circle_filled.xml diff --git a/app/src/main/res/drawable/ic_playlist_add_white_24dp.xml b/app/src/main/res/drawable/ic_playlist_add.xml similarity index 100% rename from app/src/main/res/drawable/ic_playlist_add_white_24dp.xml rename to app/src/main/res/drawable/ic_playlist_add.xml diff --git a/app/src/main/res/drawable/ic_playlist_play_white_24dp.xml b/app/src/main/res/drawable/ic_playlist_play.xml similarity index 100% rename from app/src/main/res/drawable/ic_playlist_play_white_24dp.xml rename to app/src/main/res/drawable/ic_playlist_play.xml diff --git a/app/src/main/res/drawable/ic_popcorn_white_24dp.xml b/app/src/main/res/drawable/ic_popcorn.xml similarity index 100% rename from app/src/main/res/drawable/ic_popcorn_white_24dp.xml rename to app/src/main/res/drawable/ic_popcorn.xml diff --git a/app/src/main/res/drawable/ic_queue_music_white_24dp.xml b/app/src/main/res/drawable/ic_queue_music.xml similarity index 100% rename from app/src/main/res/drawable/ic_queue_music_white_24dp.xml rename to app/src/main/res/drawable/ic_queue_music.xml diff --git a/app/src/main/res/drawable/ic_redo_white_24dp.xml b/app/src/main/res/drawable/ic_redo.xml similarity index 100% rename from app/src/main/res/drawable/ic_redo_white_24dp.xml rename to app/src/main/res/drawable/ic_redo.xml diff --git a/app/src/main/res/drawable/ic_repeat_white_24dp.xml b/app/src/main/res/drawable/ic_repeat.xml similarity index 100% rename from app/src/main/res/drawable/ic_repeat_white_24dp.xml rename to app/src/main/res/drawable/ic_repeat.xml diff --git a/app/src/main/res/drawable/ic_repeat_one_white_24dp.xml b/app/src/main/res/drawable/ic_repeat_one.xml similarity index 100% rename from app/src/main/res/drawable/ic_repeat_one_white_24dp.xml rename to app/src/main/res/drawable/ic_repeat_one.xml diff --git a/app/src/main/res/drawable/ic_repeat_one_sharp_white_24dp.xml b/app/src/main/res/drawable/ic_repeat_one_sharp.xml similarity index 100% rename from app/src/main/res/drawable/ic_repeat_one_sharp_white_24dp.xml rename to app/src/main/res/drawable/ic_repeat_one_sharp.xml diff --git a/app/src/main/res/drawable/ic_repeat_sharp_white_24dp.xml b/app/src/main/res/drawable/ic_repeat_sharp.xml similarity index 100% rename from app/src/main/res/drawable/ic_repeat_sharp_white_24dp.xml rename to app/src/main/res/drawable/ic_repeat_sharp.xml diff --git a/app/src/main/res/drawable/ic_repeat_white_circle_24dp.xml b/app/src/main/res/drawable/ic_repeat_white_circle.xml similarity index 100% rename from app/src/main/res/drawable/ic_repeat_white_circle_24dp.xml rename to app/src/main/res/drawable/ic_repeat_white_circle.xml diff --git a/app/src/main/res/drawable/ic_save_white_24dp.xml b/app/src/main/res/drawable/ic_save.xml similarity index 100% rename from app/src/main/res/drawable/ic_save_white_24dp.xml rename to app/src/main/res/drawable/ic_save.xml diff --git a/app/src/main/res/drawable/ic_scanner_white_24dp.xml b/app/src/main/res/drawable/ic_scanner.xml similarity index 100% rename from app/src/main/res/drawable/ic_scanner_white_24dp.xml rename to app/src/main/res/drawable/ic_scanner.xml diff --git a/app/src/main/res/drawable/ic_search_white_24dp.xml b/app/src/main/res/drawable/ic_search.xml similarity index 100% rename from app/src/main/res/drawable/ic_search_white_24dp.xml rename to app/src/main/res/drawable/ic_search.xml diff --git a/app/src/main/res/drawable/ic_select_all_white_24dp.xml b/app/src/main/res/drawable/ic_select_all.xml similarity index 100% rename from app/src/main/res/drawable/ic_select_all_white_24dp.xml rename to app/src/main/res/drawable/ic_select_all.xml diff --git a/app/src/main/res/drawable/ic_send_white_24dp.xml b/app/src/main/res/drawable/ic_send.xml similarity index 100% rename from app/src/main/res/drawable/ic_send_white_24dp.xml rename to app/src/main/res/drawable/ic_send.xml diff --git a/app/src/main/res/drawable/ic_settings_white_24dp.xml b/app/src/main/res/drawable/ic_settings.xml similarity index 100% rename from app/src/main/res/drawable/ic_settings_white_24dp.xml rename to app/src/main/res/drawable/ic_settings.xml diff --git a/app/src/main/res/drawable/ic_settings_brigntness_white_24dp.xml b/app/src/main/res/drawable/ic_settings_brigntness.xml similarity index 100% rename from app/src/main/res/drawable/ic_settings_brigntness_white_24dp.xml rename to app/src/main/res/drawable/ic_settings_brigntness.xml diff --git a/app/src/main/res/drawable/ic_share_white_24dp.xml b/app/src/main/res/drawable/ic_share.xml similarity index 100% rename from app/src/main/res/drawable/ic_share_white_24dp.xml rename to app/src/main/res/drawable/ic_share.xml diff --git a/app/src/main/res/drawable/ic_shuffle_white_24dp.xml b/app/src/main/res/drawable/ic_shuffle.xml similarity index 100% rename from app/src/main/res/drawable/ic_shuffle_white_24dp.xml rename to app/src/main/res/drawable/ic_shuffle.xml diff --git a/app/src/main/res/drawable/ic_shuffle_sharp_white_24dp.xml b/app/src/main/res/drawable/ic_shuffle_sharp.xml similarity index 100% rename from app/src/main/res/drawable/ic_shuffle_sharp_white_24dp.xml rename to app/src/main/res/drawable/ic_shuffle_sharp.xml diff --git a/app/src/main/res/drawable/ic_skip_next_white_24dp.xml b/app/src/main/res/drawable/ic_skip_next.xml similarity index 100% rename from app/src/main/res/drawable/ic_skip_next_white_24dp.xml rename to app/src/main/res/drawable/ic_skip_next.xml diff --git a/app/src/main/res/drawable/ic_skip_next_sharp_white_24dp.xml b/app/src/main/res/drawable/ic_skip_next_sharp.xml similarity index 100% rename from app/src/main/res/drawable/ic_skip_next_sharp_white_24dp.xml rename to app/src/main/res/drawable/ic_skip_next_sharp.xml diff --git a/app/src/main/res/drawable/ic_skip_previous_white_24dp.xml b/app/src/main/res/drawable/ic_skip_previous.xml similarity index 100% rename from app/src/main/res/drawable/ic_skip_previous_white_24dp.xml rename to app/src/main/res/drawable/ic_skip_previous.xml diff --git a/app/src/main/res/drawable/ic_skip_previous_sharp_white_24dp.xml b/app/src/main/res/drawable/ic_skip_previous_sharp.xml similarity index 100% rename from app/src/main/res/drawable/ic_skip_previous_sharp_white_24dp.xml rename to app/src/main/res/drawable/ic_skip_previous_sharp.xml diff --git a/app/src/main/res/drawable/ic_sort_white_24dp.xml b/app/src/main/res/drawable/ic_sort.xml similarity index 100% rename from app/src/main/res/drawable/ic_sort_white_24dp.xml rename to app/src/main/res/drawable/ic_sort.xml diff --git a/app/src/main/res/drawable/ic_star_white_24dp.xml b/app/src/main/res/drawable/ic_star.xml similarity index 100% rename from app/src/main/res/drawable/ic_star_white_24dp.xml rename to app/src/main/res/drawable/ic_star.xml diff --git a/app/src/main/res/drawable/ic_take_away_white_24dp.xml b/app/src/main/res/drawable/ic_take_away.xml similarity index 100% rename from app/src/main/res/drawable/ic_take_away_white_24dp.xml rename to app/src/main/res/drawable/ic_take_away.xml diff --git a/app/src/main/res/drawable/ic_take_away_coffe_white_24dp.xml b/app/src/main/res/drawable/ic_take_away_coffe.xml similarity index 100% rename from app/src/main/res/drawable/ic_take_away_coffe_white_24dp.xml rename to app/src/main/res/drawable/ic_take_away_coffe.xml diff --git a/app/src/main/res/drawable/ic_testing_white_24dp.xml b/app/src/main/res/drawable/ic_testing.xml similarity index 100% rename from app/src/main/res/drawable/ic_testing_white_24dp.xml rename to app/src/main/res/drawable/ic_testing.xml diff --git a/app/src/main/res/drawable/ic_theme_palette_white_24dp.xml b/app/src/main/res/drawable/ic_theme_palette.xml similarity index 100% rename from app/src/main/res/drawable/ic_theme_palette_white_24dp.xml rename to app/src/main/res/drawable/ic_theme_palette.xml diff --git a/app/src/main/res/drawable/ic_trending_up_white_24dp.xml b/app/src/main/res/drawable/ic_trending_up.xml similarity index 100% rename from app/src/main/res/drawable/ic_trending_up_white_24dp.xml rename to app/src/main/res/drawable/ic_trending_up.xml diff --git a/app/src/main/res/drawable/ic_twitter_white_24dp.xml b/app/src/main/res/drawable/ic_twitter.xml similarity index 100% rename from app/src/main/res/drawable/ic_twitter_white_24dp.xml rename to app/src/main/res/drawable/ic_twitter.xml diff --git a/app/src/main/res/drawable/ic_view_carousel_black_24dp.xml b/app/src/main/res/drawable/ic_view_carousel.xml similarity index 100% rename from app/src/main/res/drawable/ic_view_carousel_black_24dp.xml rename to app/src/main/res/drawable/ic_view_carousel.xml diff --git a/app/src/main/res/drawable/ic_volume_down_white_24dp.xml b/app/src/main/res/drawable/ic_volume_down.xml similarity index 100% rename from app/src/main/res/drawable/ic_volume_down_white_24dp.xml rename to app/src/main/res/drawable/ic_volume_down.xml diff --git a/app/src/main/res/drawable/ic_volume_off_white_24dp.xml b/app/src/main/res/drawable/ic_volume_off.xml similarity index 100% rename from app/src/main/res/drawable/ic_volume_off_white_24dp.xml rename to app/src/main/res/drawable/ic_volume_off.xml diff --git a/app/src/main/res/drawable/ic_volume_up_white_24dp.xml b/app/src/main/res/drawable/ic_volume_up.xml similarity index 100% rename from app/src/main/res/drawable/ic_volume_up_white_24dp.xml rename to app/src/main/res/drawable/ic_volume_up.xml diff --git a/app/src/main/res/drawable/ic_watch_later_white_24dp.xml b/app/src/main/res/drawable/ic_watch_later.xml similarity index 100% rename from app/src/main/res/drawable/ic_watch_later_white_24dp.xml rename to app/src/main/res/drawable/ic_watch_later.xml diff --git a/app/src/main/res/drawable/notification_selector.xml b/app/src/main/res/drawable/notification_selector.xml index d7867f86c..83aed83c3 100644 --- a/app/src/main/res/drawable/notification_selector.xml +++ b/app/src/main/res/drawable/notification_selector.xml @@ -1,9 +1,3 @@ - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/saf_guide_1.webp b/app/src/main/res/drawable/saf_guide_1.webp similarity index 100% rename from app/src/main/res/drawable-v21/saf_guide_1.webp rename to app/src/main/res/drawable/saf_guide_1.webp diff --git a/app/src/main/res/drawable-v21/saf_guide_2.webp b/app/src/main/res/drawable/saf_guide_2.webp similarity index 100% rename from app/src/main/res/drawable-v21/saf_guide_2.webp rename to app/src/main/res/drawable/saf_guide_2.webp diff --git a/app/src/main/res/drawable-v21/saf_guide_3.webp b/app/src/main/res/drawable/saf_guide_3.webp similarity index 100% rename from app/src/main/res/drawable-v21/saf_guide_3.webp rename to app/src/main/res/drawable/saf_guide_3.webp diff --git a/app/src/main/res/drawable/widget_selector.xml b/app/src/main/res/drawable/widget_selector.xml old mode 100755 new mode 100644 index d7867f86c..f03604195 --- a/app/src/main/res/drawable/widget_selector.xml +++ b/app/src/main/res/drawable/widget_selector.xml @@ -1,9 +1,3 @@ - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/drawable/widget_selector_light.xml b/app/src/main/res/drawable/widget_selector_light.xml index 75e988c0b..83aed83c3 100644 --- a/app/src/main/res/drawable/widget_selector_light.xml +++ b/app/src/main/res/drawable/widget_selector_light.xml @@ -1,9 +1,3 @@ - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_album.xml b/app/src/main/res/layout-land/activity_album.xml index 51247d274..8eda0acad 100644 --- a/app/src/main/res/layout-land/activity_album.xml +++ b/app/src/main/res/layout-land/activity_album.xml @@ -30,7 +30,7 @@ + app:navigationIcon="@drawable/ic_keyboard_backspace_black" /> diff --git a/app/src/main/res/layout-land/activity_artist_details.xml b/app/src/main/res/layout-land/activity_artist_details.xml index ef4fc20ff..1fa416eef 100644 --- a/app/src/main/res/layout-land/activity_artist_details.xml +++ b/app/src/main/res/layout-land/activity_artist_details.xml @@ -30,7 +30,7 @@ + app:navigationIcon="@drawable/ic_keyboard_backspace_black" /> + app:srcCompat="@drawable/ic_close" /> + app:srcCompat="@drawable/ic_favorite_border" /> + app:srcCompat="@drawable/ic_skip_next" /> + app:srcCompat="@drawable/ic_skip_previous" /> @@ -135,7 +135,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" /> + app:srcCompat="@drawable/ic_shuffle" /> + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout-land/fragment_card_blur_player.xml b/app/src/main/res/layout-land/fragment_card_blur_player.xml index 6ca740355..9d0cdaa6c 100644 --- a/app/src/main/res/layout-land/fragment_card_blur_player.xml +++ b/app/src/main/res/layout-land/fragment_card_blur_player.xml @@ -45,11 +45,11 @@ + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout-land/fragment_circle_player.xml b/app/src/main/res/layout-land/fragment_circle_player.xml index b1f44d289..30d4cf6a4 100644 --- a/app/src/main/res/layout-land/fragment_circle_player.xml +++ b/app/src/main/res/layout-land/fragment_circle_player.xml @@ -47,11 +47,11 @@ diff --git a/app/src/main/res/layout-land/fragment_color_player.xml b/app/src/main/res/layout-land/fragment_color_player.xml index c5bbd55fe..1bdf97f16 100644 --- a/app/src/main/res/layout-land/fragment_color_player.xml +++ b/app/src/main/res/layout-land/fragment_color_player.xml @@ -70,8 +70,8 @@ + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout-land/fragment_flat_player.xml b/app/src/main/res/layout-land/fragment_flat_player.xml index 19adca4f5..50d41be4a 100644 --- a/app/src/main/res/layout-land/fragment_flat_player.xml +++ b/app/src/main/res/layout-land/fragment_flat_player.xml @@ -64,8 +64,8 @@ + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout-land/fragment_plain_player.xml b/app/src/main/res/layout-land/fragment_plain_player.xml index ce18cde0b..25ef597ac 100644 --- a/app/src/main/res/layout-land/fragment_plain_player.xml +++ b/app/src/main/res/layout-land/fragment_plain_player.xml @@ -106,8 +106,8 @@ + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout-land/fragment_player.xml b/app/src/main/res/layout-land/fragment_player.xml index ff3d01200..782bc93b6 100755 --- a/app/src/main/res/layout-land/fragment_player.xml +++ b/app/src/main/res/layout-land/fragment_player.xml @@ -63,8 +63,8 @@ + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout-land/pager_item.xml b/app/src/main/res/layout-land/pager_item.xml index 9dac9266c..d4c26e0e5 100644 --- a/app/src/main/res/layout-land/pager_item.xml +++ b/app/src/main/res/layout-land/pager_item.xml @@ -14,7 +14,7 @@ android:layout_height="156dp" android:layout_margin="8dp" app:cardCornerRadius="16dp" - app:cardElevation="0dp"> + > + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> \ No newline at end of file diff --git a/app/src/main/res/layout-xlarge-land/fragment_player.xml b/app/src/main/res/layout-xlarge-land/fragment_player.xml deleted file mode 100644 index bc43b64ec..000000000 --- a/app/src/main/res/layout-xlarge-land/fragment_player.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout-xlarge-land/fragment_player_playback_controls.xml b/app/src/main/res/layout-xlarge-land/fragment_player_playback_controls.xml deleted file mode 100755 index 0d859ef2b..000000000 --- a/app/src/main/res/layout-xlarge-land/fragment_player_playback_controls.xml +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout-xlarge-land/pager_item.xml b/app/src/main/res/layout-xlarge-land/pager_item.xml index 9e3d13f76..627037df6 100644 --- a/app/src/main/res/layout-xlarge-land/pager_item.xml +++ b/app/src/main/res/layout-xlarge-land/pager_item.xml @@ -14,7 +14,7 @@ android:layout_height="256dp" android:layout_margin="8dp" app:cardCornerRadius="16dp" - app:cardElevation="0dp"> + > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout-xlarge/fragment_mini_player.xml b/app/src/main/res/layout-xlarge/fragment_mini_player.xml deleted file mode 100644 index e51b2dde3..000000000 --- a/app/src/main/res/layout-xlarge/fragment_mini_player.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout-xlarge/fragment_player.xml b/app/src/main/res/layout-xlarge/fragment_player.xml deleted file mode 100644 index 83b35eca4..000000000 --- a/app/src/main/res/layout-xlarge/fragment_player.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/abs_playlists.xml b/app/src/main/res/layout/abs_playlists.xml index d20b0d8bb..6c5b8943f 100644 --- a/app/src/main/res/layout/abs_playlists.xml +++ b/app/src/main/res/layout/abs_playlists.xml @@ -28,7 +28,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:srcCompat="@drawable/ic_access_time_white_24dp" /> + app:srcCompat="@drawable/ic_history" /> + app:srcCompat="@drawable/ic_library_add" /> + app:srcCompat="@drawable/ic_trending_up" /> + app:srcCompat="@drawable/ic_shuffle" /> diff --git a/app/src/main/res/layout/activity_album.xml b/app/src/main/res/layout/activity_album.xml index 6fb8e90d8..0130e3b90 100755 --- a/app/src/main/res/layout/activity_album.xml +++ b/app/src/main/res/layout/activity_album.xml @@ -33,7 +33,7 @@ android:id="@+id/toolbar" style="@style/Toolbar" android:background="?attr/colorSurface" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_backspace_black" /> @@ -155,7 +155,7 @@ android:paddingBottom="12dp" android:text="@string/save" app:cornerRadius="25dp" - app:icon="@drawable/ic_save_white_24dp" + app:icon="@drawable/ic_save" app:iconGravity="textStart" tools:backgroundTint="@color/md_red_400" /> diff --git a/app/src/main/res/layout/activity_artist_content.xml b/app/src/main/res/layout/activity_artist_content.xml index 23ed6b5d2..9cb0f9eff 100644 --- a/app/src/main/res/layout/activity_artist_content.xml +++ b/app/src/main/res/layout/activity_artist_content.xml @@ -14,7 +14,7 @@ android:layout_marginEnd="4dp" android:text="@string/action_play_all" app:backgroundTint="?attr/colorSurface" - app:icon="@drawable/ic_play_arrow_white_24dp" + app:icon="@drawable/ic_play_arrow" app:layout_constraintEnd_toStartOf="@+id/shuffleAction" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" @@ -28,7 +28,7 @@ android:layout_marginEnd="16dp" android:text="@string/shuffle" app:backgroundTint="?attr/colorSurface" - app:icon="@drawable/ic_shuffle_white_24dp" + app:icon="@drawable/ic_shuffle" app:layout_constraintBottom_toBottomOf="@+id/playAction" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" diff --git a/app/src/main/res/layout/activity_artist_details.xml b/app/src/main/res/layout/activity_artist_details.xml index 359a0aaa5..34e9ba33e 100755 --- a/app/src/main/res/layout/activity_artist_details.xml +++ b/app/src/main/res/layout/activity_artist_details.xml @@ -32,7 +32,7 @@ @@ -69,6 +69,6 @@ style="@style/Fab" android:layout_gravity="bottom|end" android:layout_margin="16dp" - app:srcCompat="@drawable/ic_send_white_24dp" /> + app:srcCompat="@drawable/ic_send" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_donation.xml b/app/src/main/res/layout/activity_donation.xml index fcb83a9ba..8e3455005 100644 --- a/app/src/main/res/layout/activity_donation.xml +++ b/app/src/main/res/layout/activity_donation.xml @@ -17,7 +17,7 @@ android:id="@+id/toolbar" style="@style/Toolbar" app:layout_collapseMode="pin" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:title="@string/support_development" app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" tools:ignore="UnusedAttribute" /> diff --git a/app/src/main/res/layout/activity_drive_mode.xml b/app/src/main/res/layout/activity_drive_mode.xml index 5adc33489..c91578154 100644 --- a/app/src/main/res/layout/activity_drive_mode.xml +++ b/app/src/main/res/layout/activity_drive_mode.xml @@ -61,7 +61,7 @@ android:padding="8dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/status_bar" - app:srcCompat="@drawable/ic_close_white_24dp" /> + app:srcCompat="@drawable/ic_close" /> + app:srcCompat="@drawable/ic_favorite_border" /> + app:srcCompat="@drawable/ic_skip_next" /> + app:srcCompat="@drawable/ic_skip_previous" /> + app:srcCompat="@drawable/ic_repeat" /> + app:srcCompat="@drawable/ic_shuffle" /> diff --git a/app/src/main/res/layout/activity_lyrics.xml b/app/src/main/res/layout/activity_lyrics.xml index d7ccd827e..b8fc48785 100644 --- a/app/src/main/res/layout/activity_lyrics.xml +++ b/app/src/main/res/layout/activity_lyrics.xml @@ -15,11 +15,11 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:contentInsetStartWithNavigation="0dp" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:subtitleTextAppearance="@style/TextViewCaption" app:titleMargin="0dp" app:titleMarginStart="0dp" diff --git a/app/src/main/res/layout/activity_playing_queue.xml b/app/src/main/res/layout/activity_playing_queue.xml index 38db7846d..cbc1378d6 100755 --- a/app/src/main/res/layout/activity_playing_queue.xml +++ b/app/src/main/res/layout/activity_playing_queue.xml @@ -30,7 +30,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_collapseMode="pin" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:title="@string/queue" app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" tools:ignore="UnusedAttribute" /> @@ -66,7 +66,7 @@ android:layout_margin="16dp" android:text="@string/clear_playing_queue" android:textAppearance="@style/TextViewHeadline6" - app:icon="@drawable/ic_clear_all_black_24dp" /> + app:icon="@drawable/ic_clear_all" /> diff --git a/app/src/main/res/layout/activity_playlist_detail.xml b/app/src/main/res/layout/activity_playlist_detail.xml index 67e46f537..af405033a 100644 --- a/app/src/main/res/layout/activity_playlist_detail.xml +++ b/app/src/main/res/layout/activity_playlist_detail.xml @@ -35,7 +35,7 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" /> @@ -75,7 +75,7 @@ android:layout_height="wrap_content" android:background="?roundSelector" android:padding="12dp" - app:srcCompat="@drawable/ic_mic_white_24dp" + app:srcCompat="@drawable/ic_mic" app:tint="?attr/colorControlNormal" tools:visibility="visible" /> @@ -86,7 +86,7 @@ android:background="?roundSelector" android:padding="12dp" android:visibility="gone" - app:srcCompat="@drawable/ic_close_white_24dp" + app:srcCompat="@drawable/ic_close" app:tint="?attr/colorControlNormal" tools:visibility="visible" /> @@ -123,6 +123,6 @@ android:layout_margin="16dp" android:text="@string/keyboard" android:textAppearance="@style/TextViewHeadline6" - app:icon="@drawable/ic_keyboard_white_24dp" /> + app:icon="@drawable/ic_keyboard" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 70dc07533..b93c57e6b 100755 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -39,7 +39,7 @@ android:id="@+id/toolbar" style="@style/Toolbar" app:layout_collapseMode="pin" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" tools:title="@string/action_settings" /> diff --git a/app/src/main/res/layout/activity_share_instagram.xml b/app/src/main/res/layout/activity_share_instagram.xml index f889d40e4..84e775529 100644 --- a/app/src/main/res/layout/activity_share_instagram.xml +++ b/app/src/main/res/layout/activity_share_instagram.xml @@ -145,7 +145,7 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:title="@string/social_stories" app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" /> diff --git a/app/src/main/res/layout/activity_song_tag_editor.xml b/app/src/main/res/layout/activity_song_tag_editor.xml index baed30b16..1d62e3228 100755 --- a/app/src/main/res/layout/activity_song_tag_editor.xml +++ b/app/src/main/res/layout/activity_song_tag_editor.xml @@ -16,7 +16,7 @@ @@ -240,7 +240,7 @@ android:paddingBottom="12dp" android:text="@string/save" app:cornerRadius="25dp" - app:icon="@drawable/ic_save_white_24dp" + app:icon="@drawable/ic_save" app:iconGravity="textStart" /> @@ -63,7 +63,7 @@ android:layout_gravity="end" android:background="?roundSelector" android:padding="16dp" - app:srcCompat="@drawable/ic_add_photo_white_24dp" /> + app:srcCompat="@drawable/ic_add_photo" /> @@ -97,7 +97,7 @@ android:layout_margin="16dp" android:gravity="center" android:padding="12dp" - android:src="@drawable/ic_add_photo_white_24dp" + android:src="@drawable/ic_add_photo" app:tint="?attr/colorControlNormal" /> @@ -138,6 +138,6 @@ android:layout_margin="16dp" android:gravity="center" android:text="@string/save" - app:icon="@drawable/ic_save_white_24dp" + app:icon="@drawable/ic_save" app:iconGravity="textStart" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_whats_new.xml b/app/src/main/res/layout/activity_whats_new.xml index 756658928..bda7d06cf 100644 --- a/app/src/main/res/layout/activity_whats_new.xml +++ b/app/src/main/res/layout/activity_whats_new.xml @@ -32,7 +32,7 @@ android:id="@+id/toolbar" style="@style/Toolbar" app:layout_collapseMode="pin" - app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_backspace_black" app:title="@string/whats_new" app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" /> diff --git a/app/src/main/res/layout/app_widget_big.xml b/app/src/main/res/layout/app_widget_big.xml index 75ba63e6c..173d81336 100755 --- a/app/src/main/res/layout/app_widget_big.xml +++ b/app/src/main/res/layout/app_widget_big.xml @@ -30,7 +30,7 @@ android:background="@drawable/widget_selector_dark" android:padding="22dp" tools:ignore="ContentDescription" - tools:src="@drawable/ic_skip_previous_white_24dp" + tools:src="@drawable/ic_skip_previous" tools:tint="@color/ate_primary_text_dark" /> diff --git a/app/src/main/res/layout/app_widget_card.xml b/app/src/main/res/layout/app_widget_card.xml index 142524de0..4fe732f82 100755 --- a/app/src/main/res/layout/app_widget_card.xml +++ b/app/src/main/res/layout/app_widget_card.xml @@ -70,7 +70,7 @@ android:layout_weight="1" android:background="@drawable/widget_selector_light" tools:ignore="ContentDescription" - tools:src="@drawable/ic_skip_previous_white_24dp" + tools:src="@drawable/ic_skip_previous" tools:tint="@color/ate_secondary_text_light" /> diff --git a/app/src/main/res/layout/app_widget_classic.xml b/app/src/main/res/layout/app_widget_classic.xml index d4a3efd6e..b903a548b 100755 --- a/app/src/main/res/layout/app_widget_classic.xml +++ b/app/src/main/res/layout/app_widget_classic.xml @@ -36,7 +36,7 @@ android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/widget_selector" - tools:src="@drawable/ic_skip_previous_white_24dp" + tools:src="@drawable/ic_skip_previous" tools:tint="@color/ate_secondary_text_dark" /> diff --git a/app/src/main/res/layout/app_widget_small.xml b/app/src/main/res/layout/app_widget_small.xml index b9b7b5ce9..2b54a0276 100755 --- a/app/src/main/res/layout/app_widget_small.xml +++ b/app/src/main/res/layout/app_widget_small.xml @@ -31,7 +31,7 @@ android:layout_weight="1" android:background="@drawable/widget_selector_light" tools:ignore="ContentDescription" - tools:src="@drawable/ic_skip_previous_white_24dp" + tools:src="@drawable/ic_skip_previous" tools:tint="@color/ate_secondary_text_light" /> diff --git a/app/src/main/res/layout/app_widget_text.xml b/app/src/main/res/layout/app_widget_text.xml index f62a0eb62..d02bb7768 100644 --- a/app/src/main/res/layout/app_widget_text.xml +++ b/app/src/main/res/layout/app_widget_text.xml @@ -64,7 +64,7 @@ android:layout_weight="1" android:background="@drawable/widget_selector" tools:ignore="ContentDescription" - tools:src="@drawable/ic_skip_previous_white_24dp" + tools:src="@drawable/ic_skip_previous" tools:tint="@color/ate_secondary_text_dark" /> diff --git a/app/src/main/res/layout/bread_crumb.xml b/app/src/main/res/layout/bread_crumb.xml index 30aa25a32..345a4ed7f 100644 --- a/app/src/main/res/layout/bread_crumb.xml +++ b/app/src/main/res/layout/bread_crumb.xml @@ -26,7 +26,7 @@ android:layout_height="24dp" android:scaleType="fitXY" android:visibility="gone" - app:srcCompat="@drawable/ic_keyboard_arrow_right_white_24dp" + app:srcCompat="@drawable/ic_keyboard_arrow_right" tools:tint="?android:attr/colorControlNormal" tools:visibility="visible" /> diff --git a/app/src/main/res/layout/card_other.xml b/app/src/main/res/layout/card_other.xml index eedabf978..0025e0259 100644 --- a/app/src/main/res/layout/card_other.xml +++ b/app/src/main/res/layout/card_other.xml @@ -38,7 +38,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/sb4" - app:listItemIcon="@drawable/ic_file_edit_white_24dp" + app:listItemIcon="@drawable/ic_file_edit" app:listItemSummary="@string/changelog_summary" app:listItemTitle="@string/changelog" /> @@ -51,7 +51,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/changelog" - app:listItemIcon="@drawable/ic_license_white_24dp" + app:listItemIcon="@drawable/ic_license" app:listItemSummary="@string/pref_summary_open_source_licences" app:listItemTitle="@string/pref_title_open_source_licences" /> @@ -64,7 +64,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/openSource" - app:listItemIcon="@drawable/ic_info_outline_white_24dp" + app:listItemIcon="@drawable/ic_info_outline" app:listItemSummary="@string/pref_summary_open_source_licences" app:listItemTitle="@string/version" /> diff --git a/app/src/main/res/layout/card_retro_info.xml b/app/src/main/res/layout/card_retro_info.xml index ec07da584..743351413 100644 --- a/app/src/main/res/layout/card_retro_info.xml +++ b/app/src/main/res/layout/card_retro_info.xml @@ -37,7 +37,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/sb2" - app:listItemIcon="@drawable/ic_github_circle_white_24dp" + app:listItemIcon="@drawable/ic_github_circle" app:listItemSummary="@string/git_hub_summary" app:listItemTitle="@string/git_hub" /> @@ -50,7 +50,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/appGithub" - app:listItemIcon="@drawable/ic_flag_white_24dp" + app:listItemIcon="@drawable/ic_flag" app:listItemSummary="@string/translate_community" app:listItemTitle="@string/translate" /> @@ -64,10 +64,24 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/appTranslation" - app:listItemIcon="@drawable/ic_star_white_24dp" + app:listItemIcon="@drawable/ic_star" app:listItemSummary="@string/rate_on_google_play_summary" app:listItemTitle="@string/rate_app" /> + + + - @@ -104,7 +117,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/appShare" - app:listItemIcon="@drawable/ic_help_white_24dp" + app:listItemIcon="@drawable/ic_help" app:listItemSummary="@string/help_summary" app:listItemTitle="@string/faq" /> diff --git a/app/src/main/res/layout/card_social.xml b/app/src/main/res/layout/card_social.xml index 6b5046bae..52b488194 100644 --- a/app/src/main/res/layout/card_social.xml +++ b/app/src/main/res/layout/card_social.xml @@ -37,7 +37,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/sb3" - app:listItemIcon="@drawable/ic_pinterest_white_24dp" + app:listItemIcon="@drawable/ic_pinterest" app:listItemSummary="@string/pinterest_page_summary" app:listItemTitle="@string/pinterest_page" /> @@ -50,7 +50,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/pinterestLink" - app:listItemIcon="@drawable/ic_instagram_white_24dp" + app:listItemIcon="@drawable/ic_instagram" app:listItemSummary="@string/instagram_page_summary" app:listItemTitle="@string/instagram_page" /> @@ -64,7 +64,7 @@ app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/instagramLink" - app:listItemIcon="@drawable/ic_twitter_white_24dp" + app:listItemIcon="@drawable/ic_twitter" app:listItemSummary="@string/twitter_page_summary" app:listItemTitle="@string/twitter_page" /> diff --git a/app/src/main/res/layout/dialog_file_details.xml b/app/src/main/res/layout/dialog_file_details.xml index a64ad9eb3..c31152fef 100644 --- a/app/src/main/res/layout/dialog_file_details.xml +++ b/app/src/main/res/layout/dialog_file_details.xml @@ -12,6 +12,7 @@ android:layout_height="wrap_content" android:paddingStart="16dp" android:paddingEnd="16dp" + android:paddingTop="16dp" android:textAppearance="@style/TextViewNormal" android:textColor="?android:attr/textColorPrimary" android:textSize="16sp" /> diff --git a/app/src/main/res/layout/dialog_list_item.xml b/app/src/main/res/layout/dialog_list_item.xml new file mode 100644 index 000000000..d85a3eaee --- /dev/null +++ b/app/src/main/res/layout/dialog_list_item.xml @@ -0,0 +1,13 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_adaptive_player.xml b/app/src/main/res/layout/fragment_adaptive_player.xml index 60ad6a249..135aaabb4 100644 --- a/app/src/main/res/layout/fragment_adaptive_player.xml +++ b/app/src/main/res/layout/fragment_adaptive_player.xml @@ -33,11 +33,11 @@ @@ -75,7 +75,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -105,7 +105,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -120,7 +120,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_blur.xml b/app/src/main/res/layout/fragment_blur.xml index cb30d9300..44ced6e44 100644 --- a/app/src/main/res/layout/fragment_blur.xml +++ b/app/src/main/res/layout/fragment_blur.xml @@ -68,11 +68,11 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_blur_player_playback_controls.xml b/app/src/main/res/layout/fragment_blur_player_playback_controls.xml index 1f7791424..a273cffce 100644 --- a/app/src/main/res/layout/fragment_blur_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_blur_player_playback_controls.xml @@ -153,7 +153,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -168,7 +168,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -196,7 +196,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -211,7 +211,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_card_blur_player.xml b/app/src/main/res/layout/fragment_card_blur_player.xml index f18f7e191..042fc6f93 100644 --- a/app/src/main/res/layout/fragment_card_blur_player.xml +++ b/app/src/main/res/layout/fragment_card_blur_player.xml @@ -49,11 +49,11 @@ + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_card_player_playback_controls.xml b/app/src/main/res/layout/fragment_card_player_playback_controls.xml index dd9d9a577..6b617b925 100644 --- a/app/src/main/res/layout/fragment_card_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_card_player_playback_controls.xml @@ -78,7 +78,7 @@ android:layout_gravity="center_vertical" android:padding="16dp" android:scaleType="centerCrop" - app:srcCompat="@drawable/ic_play_circle_filled_white_24dp" + app:srcCompat="@drawable/ic_play_circle_filled" app:tint="?colorAccent" /> @@ -89,7 +89,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -105,7 +105,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/previousButton" app:layout_constraintTop_toBottomOf="@+id/progressContainer" - app:srcCompat="@drawable/ic_pause_white_24dp" + app:srcCompat="@drawable/ic_pause" tools:tint="@color/md_black_1000" /> @@ -134,7 +134,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_classic_player.xml b/app/src/main/res/layout/fragment_classic_player.xml index 573f0f443..de4ca80c7 100644 --- a/app/src/main/res/layout/fragment_classic_player.xml +++ b/app/src/main/res/layout/fragment_classic_player.xml @@ -50,8 +50,8 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_color_player.xml b/app/src/main/res/layout/fragment_color_player.xml index 283037fb8..6bbe739d3 100644 --- a/app/src/main/res/layout/fragment_color_player.xml +++ b/app/src/main/res/layout/fragment_color_player.xml @@ -57,11 +57,11 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_color_player_playback_controls.xml b/app/src/main/res/layout/fragment_color_player_playback_controls.xml index 7acc1ac77..244a753cc 100644 --- a/app/src/main/res/layout/fragment_color_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_color_player_playback_controls.xml @@ -126,7 +126,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -141,7 +141,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -169,7 +169,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -184,7 +184,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_fit.xml b/app/src/main/res/layout/fragment_fit.xml index d9f3cdeea..d6574cddf 100644 --- a/app/src/main/res/layout/fragment_fit.xml +++ b/app/src/main/res/layout/fragment_fit.xml @@ -54,8 +54,8 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_fit_playback_controls.xml b/app/src/main/res/layout/fragment_fit_playback_controls.xml index 5d702b37d..68a179c20 100644 --- a/app/src/main/res/layout/fragment_fit_playback_controls.xml +++ b/app/src/main/res/layout/fragment_fit_playback_controls.xml @@ -140,7 +140,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -155,7 +155,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -184,7 +184,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -199,7 +199,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_flat_player.xml b/app/src/main/res/layout/fragment_flat_player.xml index 758743da6..a5ea6684b 100644 --- a/app/src/main/res/layout/fragment_flat_player.xml +++ b/app/src/main/res/layout/fragment_flat_player.xml @@ -36,11 +36,11 @@ + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> + tools:src="@drawable/ic_pause" /> diff --git a/app/src/main/res/layout/fragment_folder.xml b/app/src/main/res/layout/fragment_folder.xml index cd2f35424..d8c9ba4e2 100644 --- a/app/src/main/res/layout/fragment_folder.xml +++ b/app/src/main/res/layout/fragment_folder.xml @@ -54,6 +54,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" + android:layoutAnimation="@anim/layout_animation_fall_down" android:overScrollMode="never" android:scrollbars="none" app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" /> diff --git a/app/src/main/res/layout/fragment_full.xml b/app/src/main/res/layout/fragment_full.xml index fc052b123..243fcfda7 100644 --- a/app/src/main/res/layout/fragment_full.xml +++ b/app/src/main/res/layout/fragment_full.xml @@ -67,7 +67,7 @@ android:id="@+id/playerToolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" android:paddingBottom="24dp" app:contentInsetEndWithActions="0dp" app:contentInsetStart="0dp" @@ -75,7 +75,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/statusBarContainer" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:titleMargin="0dp" app:titleMargins="0dp"> diff --git a/app/src/main/res/layout/fragment_full_player_controls.xml b/app/src/main/res/layout/fragment_full_player_controls.xml index f56dfd024..98199dc84 100644 --- a/app/src/main/res/layout/fragment_full_player_controls.xml +++ b/app/src/main/res/layout/fragment_full_player_controls.xml @@ -17,7 +17,7 @@ app:layout_constraintBottom_toBottomOf="@+id/titleContainer" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/titleContainer" - app:srcCompat="@drawable/ic_more_vert_white_24dp" /> + app:srcCompat="@drawable/ic_more_vert" /> + app:srcCompat="@drawable/ic_favorite_border" /> @@ -147,7 +147,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -179,7 +179,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -195,7 +195,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_gradient_controls.xml b/app/src/main/res/layout/fragment_gradient_controls.xml index a69f23821..10f4deace 100644 --- a/app/src/main/res/layout/fragment_gradient_controls.xml +++ b/app/src/main/res/layout/fragment_gradient_controls.xml @@ -16,7 +16,7 @@ app:layout_constraintBottom_toBottomOf="@+id/titleContainer" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/titleContainer" - app:srcCompat="@drawable/ic_more_vert_white_24dp" + app:srcCompat="@drawable/ic_more_vert" tools:tint="@color/md_black_1000" /> @@ -130,7 +130,7 @@ app:layout_constraintBottom_toBottomOf="@+id/playPauseButton" app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -157,7 +157,7 @@ app:layout_constraintBottom_toBottomOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_gradient_player.xml b/app/src/main/res/layout/fragment_gradient_player.xml index bdf35c689..096eb5725 100644 --- a/app/src/main/res/layout/fragment_gradient_player.xml +++ b/app/src/main/res/layout/fragment_gradient_player.xml @@ -85,7 +85,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/nextSongLabel" app:layout_constraintStart_toStartOf="parent" - app:srcCompat="@drawable/ic_queue_music_white_24dp" /> + app:srcCompat="@drawable/ic_queue_music" /> @@ -131,7 +131,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_home_player.xml b/app/src/main/res/layout/fragment_home_player.xml index 9096c6fec..162582b12 100644 --- a/app/src/main/res/layout/fragment_home_player.xml +++ b/app/src/main/res/layout/fragment_home_player.xml @@ -94,7 +94,7 @@ + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml b/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml index 75d08c2c8..191b61ec0 100644 --- a/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml +++ b/app/src/main/res/layout/fragment_lock_screen_playback_controls.xml @@ -113,7 +113,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -128,7 +128,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -157,7 +157,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -172,7 +172,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_main_activity_recycler_view.xml b/app/src/main/res/layout/fragment_main_activity_recycler_view.xml index d546767b5..9a925d898 100644 --- a/app/src/main/res/layout/fragment_main_activity_recycler_view.xml +++ b/app/src/main/res/layout/fragment_main_activity_recycler_view.xml @@ -11,6 +11,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" + android:layoutAnimation="@anim/layout_animation_fall_down" android:overScrollMode="never" android:scrollbars="none" app:layout_dodgeInsetEdges="bottom" diff --git a/app/src/main/res/layout/fragment_main_settings.xml b/app/src/main/res/layout/fragment_main_settings.xml index b9127d6e1..4b8ed0acc 100644 --- a/app/src/main/res/layout/fragment_main_settings.xml +++ b/app/src/main/res/layout/fragment_main_settings.xml @@ -15,7 +15,7 @@ android:id="@+id/generalSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_theme_palette_white_24dp" + app:settingListItemIcon="@drawable/ic_theme_palette" app:settingListItemIconColor="@color/md_blue_A400" app:settingListItemText="@string/general_settings_summary" app:settingListItemTitle="@string/general_settings_title" /> @@ -24,7 +24,7 @@ android:id="@+id/nowPlayingSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_play_circle_filled_white_24dp" + app:settingListItemIcon="@drawable/ic_play_circle_filled" app:settingListItemIconColor="@color/md_red_A400" app:settingListItemText="@string/now_playing_summary" app:settingListItemTitle="@string/now_playing" /> @@ -33,7 +33,7 @@ android:id="@+id/audioSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_volume_up_white_24dp" + app:settingListItemIcon="@drawable/ic_volume_up" app:settingListItemIconColor="@color/md_deep_purple_A400" app:settingListItemText="@string/audio_settings_summary" app:settingListItemTitle="@string/pref_header_audio" /> @@ -42,7 +42,7 @@ android:id="@+id/personalizeSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_hdr_strong_white_24dp" + app:settingListItemIcon="@drawable/ic_hdr_strong" app:settingListItemIconColor="@color/md_teal_A400" app:settingListItemText="@string/personalize_settings_summary" app:settingListItemTitle="@string/personalize" /> @@ -52,7 +52,7 @@ android:id="@+id/imageSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_image_white_24dp" + app:settingListItemIcon="@drawable/ic_image" app:settingListItemIconColor="@color/md_deep_orange_A400" app:settingListItemText="@string/image_settings_summary" app:settingListItemTitle="@string/pref_header_images" /> @@ -61,7 +61,7 @@ android:id="@+id/notificationSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_notifications_active_white_24dp" + app:settingListItemIcon="@drawable/ic_notifications_active" app:settingListItemIconColor="@color/md_yellow_A400" app:settingListItemText="@string/notification_settings_summary" app:settingListItemTitle="@string/notification" /> @@ -70,7 +70,7 @@ android:id="@+id/otherSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_testing_white_24dp" + app:settingListItemIcon="@drawable/ic_testing" app:settingListItemIconColor="@color/md_indigo_A400" app:settingListItemText="@string/other_settings_summary" app:settingListItemTitle="@string/others" /> @@ -80,7 +80,7 @@ android:id="@+id/aboutSettings" android:layout_width="match_parent" android:layout_height="wrap_content" - app:settingListItemIcon="@drawable/ic_info_outline_white_24dp" + app:settingListItemIcon="@drawable/ic_info_outline" app:settingListItemIconColor="@color/md_light_green_A400" app:settingListItemText="@string/about_settings_summary" app:settingListItemTitle="@string/action_about" /> diff --git a/app/src/main/res/layout/fragment_material.xml b/app/src/main/res/layout/fragment_material.xml index 34816c449..a1eb49bf8 100644 --- a/app/src/main/res/layout/fragment_material.xml +++ b/app/src/main/res/layout/fragment_material.xml @@ -48,10 +48,10 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_material_playback_controls.xml b/app/src/main/res/layout/fragment_material_playback_controls.xml index 0c4e53a83..1b3cd50c6 100644 --- a/app/src/main/res/layout/fragment_material_playback_controls.xml +++ b/app/src/main/res/layout/fragment_material_playback_controls.xml @@ -129,7 +129,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -145,7 +145,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_sharp_white_24dp" + app:srcCompat="@drawable/ic_skip_previous_sharp" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -174,7 +174,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_sharp_white_24dp" + app:srcCompat="@drawable/ic_skip_next_sharp" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -189,7 +189,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_sharp_white_24dp" + app:srcCompat="@drawable/ic_shuffle_sharp" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_mini_player.xml b/app/src/main/res/layout/fragment_mini_player.xml index a4c30349a..7bbef52f9 100644 --- a/app/src/main/res/layout/fragment_mini_player.xml +++ b/app/src/main/res/layout/fragment_mini_player.xml @@ -25,7 +25,7 @@ android:layout_gravity="center_vertical" android:layout_margin="16dp" android:scaleType="centerCrop" - app:srcCompat="@drawable/ic_keyboard_arrow_up_24dp" + app:srcCompat="@drawable/ic_keyboard_arrow_up" app:tint="?attr/colorControlNormal" tools:ignore="ContentDescription" /> @@ -54,7 +54,7 @@ android:layout_gravity="center_vertical" android:background="?roundSelector" android:padding="6dp" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" app:tint="?attr/colorControlNormal" /> + + - - + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_peak_control_player.xml b/app/src/main/res/layout/fragment_peak_control_player.xml index d106822bb..39205a29d 100644 --- a/app/src/main/res/layout/fragment_peak_control_player.xml +++ b/app/src/main/res/layout/fragment_peak_control_player.xml @@ -74,7 +74,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/previousButton" app:layout_constraintTop_toBottomOf="@+id/progressSlider" - app:srcCompat="@drawable/ic_pause_white_24dp" + app:srcCompat="@drawable/ic_pause" tools:tint="@color/md_black_1000" /> @@ -105,7 +105,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -123,7 +123,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -140,7 +140,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_peak_player.xml b/app/src/main/res/layout/fragment_peak_player.xml index 2fb0feeec..986ef327f 100644 --- a/app/src/main/res/layout/fragment_peak_player.xml +++ b/app/src/main/res/layout/fragment_peak_player.xml @@ -42,8 +42,8 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> diff --git a/app/src/main/res/layout/fragment_plain_controls_fragment.xml b/app/src/main/res/layout/fragment_plain_controls_fragment.xml index ffcde7a44..538e7018d 100644 --- a/app/src/main/res/layout/fragment_plain_controls_fragment.xml +++ b/app/src/main/res/layout/fragment_plain_controls_fragment.xml @@ -61,7 +61,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -76,7 +76,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -104,7 +104,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -119,7 +119,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_plain_player.xml b/app/src/main/res/layout/fragment_plain_player.xml index aa52f8db8..3f5517bd8 100644 --- a/app/src/main/res/layout/fragment_plain_player.xml +++ b/app/src/main/res/layout/fragment_plain_player.xml @@ -86,10 +86,11 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> + diff --git a/app/src/main/res/layout/fragment_player.xml b/app/src/main/res/layout/fragment_player.xml index 9e00e7ba2..d5e06ae6c 100644 --- a/app/src/main/res/layout/fragment_player.xml +++ b/app/src/main/res/layout/fragment_player.xml @@ -59,11 +59,11 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_player_playback_controls.xml b/app/src/main/res/layout/fragment_player_playback_controls.xml index 5ba61f149..566deedc3 100755 --- a/app/src/main/res/layout/fragment_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_player_playback_controls.xml @@ -27,9 +27,9 @@ + tools:text="@tools:sample/full_names" /> + tools:text="@tools:sample/full_names" /> @@ -141,7 +141,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -155,7 +155,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/previousButton" app:layout_constraintTop_toBottomOf="@+id/songInfo" - app:srcCompat="@drawable/ic_pause_white_24dp" + app:srcCompat="@drawable/ic_pause" tools:tint="@color/md_black_1000" /> @@ -184,7 +184,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_simple_controls_fragment.xml b/app/src/main/res/layout/fragment_simple_controls_fragment.xml index 6e8d1f4d4..36f369d0e 100644 --- a/app/src/main/res/layout/fragment_simple_controls_fragment.xml +++ b/app/src/main/res/layout/fragment_simple_controls_fragment.xml @@ -93,7 +93,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/previousButton" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -108,7 +108,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -136,7 +136,7 @@ app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -151,7 +151,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/fragment_simple_player.xml b/app/src/main/res/layout/fragment_simple_player.xml index 28d00066c..eb614e214 100644 --- a/app/src/main/res/layout/fragment_simple_player.xml +++ b/app/src/main/res/layout/fragment_simple_player.xml @@ -51,10 +51,11 @@ android:id="@+id/playerToolbar" style="@style/Toolbar" android:layout_gravity="bottom" - android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment" - app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp" /> + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> + diff --git a/app/src/main/res/layout/fragment_tiny_controls_fragment.xml b/app/src/main/res/layout/fragment_tiny_controls_fragment.xml index 4296f2478..99fbc3e8a 100644 --- a/app/src/main/res/layout/fragment_tiny_controls_fragment.xml +++ b/app/src/main/res/layout/fragment_tiny_controls_fragment.xml @@ -23,7 +23,7 @@ android:background="?attr/roundSelector" android:padding="16dp" android:scaleType="fitCenter" - app:srcCompat="@drawable/ic_repeat_white_24dp" + app:srcCompat="@drawable/ic_repeat" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -34,7 +34,7 @@ android:background="?attr/roundSelector" android:padding="16dp" android:scaleType="fitCenter" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_tiny_player.xml b/app/src/main/res/layout/fragment_tiny_player.xml index d0002d46d..0a58945ad 100644 --- a/app/src/main/res/layout/fragment_tiny_player.xml +++ b/app/src/main/res/layout/fragment_tiny_player.xml @@ -92,8 +92,8 @@ + android:navigationIcon="@drawable/ic_keyboard_arrow_down_black" + app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" /> \ No newline at end of file diff --git a/app/src/main/res/layout/home_content.xml b/app/src/main/res/layout/home_content.xml index f97294c12..31fa3b898 100644 --- a/app/src/main/res/layout/home_content.xml +++ b/app/src/main/res/layout/home_content.xml @@ -37,6 +37,7 @@ android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layoutAnimation="@anim/layout_animation_fall_down" android:nestedScrollingEnabled="false" android:overScrollMode="never" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" diff --git a/app/src/main/res/layout/item_album_card.xml b/app/src/main/res/layout/item_album_card.xml index 12bf7fbc9..403d512b8 100644 --- a/app/src/main/res/layout/item_album_card.xml +++ b/app/src/main/res/layout/item_album_card.xml @@ -13,7 +13,6 @@ android:layout_height="156dp" android:layout_margin="8dp" app:cardCornerRadius="12dp" - app:cardElevation="0dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> diff --git a/app/src/main/res/layout/item_artist_card.xml b/app/src/main/res/layout/item_artist_card.xml index c1a800eff..70bfb9ade 100644 --- a/app/src/main/res/layout/item_artist_card.xml +++ b/app/src/main/res/layout/item_artist_card.xml @@ -17,8 +17,7 @@ android:layout_width="128dp" android:layout_height="128dp" android:layout_margin="4dp" - app:cardCornerRadius="16dp" - app:cardElevation="0dp"> + app:cardCornerRadius="16dp"> + app:cardCornerRadius="8dp"> diff --git a/app/src/main/res/layout/item_grid.xml b/app/src/main/res/layout/item_grid.xml index 73a1eb30f..195d9f223 100644 --- a/app/src/main/res/layout/item_grid.xml +++ b/app/src/main/res/layout/item_grid.xml @@ -17,7 +17,6 @@ android:layout_height="0dp" android:scaleType="centerCrop" app:cardCornerRadius="8dp" - app:cardElevation="0dp" app:layout_constraintDimensionRatio="1:1" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/item_image.xml b/app/src/main/res/layout/item_image.xml index 5f4ff8adb..5ec37319b 100644 --- a/app/src/main/res/layout/item_image.xml +++ b/app/src/main/res/layout/item_image.xml @@ -14,7 +14,6 @@ android:layout_margin="8dp" android:orientation="vertical" app:cardCornerRadius="8dp" - app:cardElevation="0dp" app:cardPreventCornerOverlap="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/item_image_gradient.xml b/app/src/main/res/layout/item_image_gradient.xml index 77f35f1a3..864215cca 100644 --- a/app/src/main/res/layout/item_image_gradient.xml +++ b/app/src/main/res/layout/item_image_gradient.xml @@ -15,7 +15,6 @@ android:layout_margin="4dp" android:orientation="vertical" app:cardCornerRadius="8dp" - app:cardElevation="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintDimensionRatio="1:1" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml index c4e29fe1e..1d27814f8 100755 --- a/app/src/main/res/layout/item_list.xml +++ b/app/src/main/res/layout/item_list.xml @@ -20,7 +20,7 @@ android:layout_height="match_parent" android:layout_gravity="center_vertical|start" android:visibility="gone" - app:srcCompat="@drawable/ic_drag_vertical_white_24dp" + app:srcCompat="@drawable/ic_drag_vertical" app:tint="?attr/colorControlNormal" tools:ignore="ContentDescription" /> @@ -37,8 +37,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - app:cardCornerRadius="6dp" - app:cardElevation="0dp"> + app:cardCornerRadius="6dp"> + app:icon="@drawable/ic_play_arrow" /> + app:icon="@drawable/ic_shuffle" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_option_menu.xml b/app/src/main/res/layout/item_option_menu.xml index 4c5c175b0..b2dfaea2a 100644 --- a/app/src/main/res/layout/item_option_menu.xml +++ b/app/src/main/res/layout/item_option_menu.xml @@ -33,7 +33,7 @@ android:layout_weight="0" android:padding="12dp" app:tint="?attr/colorControlNormal" - tools:srcCompat="@drawable/ic_folder_white_24dp" /> + tools:srcCompat="@drawable/ic_folder" /> diff --git a/app/src/main/res/layout/item_suggestions.xml b/app/src/main/res/layout/item_suggestions.xml index f216843fa..b3f759262 100644 --- a/app/src/main/res/layout/item_suggestions.xml +++ b/app/src/main/res/layout/item_suggestions.xml @@ -11,7 +11,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:paddingHorizontal="16dp" - android:paddingVertical="12dp" + android:paddingVertical="14dp" android:text="@string/suggestion_songs" android:textAppearance="@style/TextViewHeadline6" android:textStyle="bold" @@ -126,6 +126,7 @@ android:layout_height="0dp" android:clickable="true" android:focusable="true" + app:cardElevation="0dp" app:cardBackgroundColor="?attr/colorSurface" app:cardCornerRadius="8dp" app:cardUseCompatPadding="true" diff --git a/app/src/main/res/layout/layout_notification_collapsed.xml b/app/src/main/res/layout/layout_notification_collapsed.xml index 7c021635b..4e565045a 100644 --- a/app/src/main/res/layout/layout_notification_collapsed.xml +++ b/app/src/main/res/layout/layout_notification_collapsed.xml @@ -117,7 +117,7 @@ android:layout_height="38dp" android:background="@drawable/notification_selector" android:scaleType="centerInside" - android:src="@drawable/ic_pause_white_24dp" + android:src="@drawable/ic_pause" tools:tint="?colorOnPrimary" /> diff --git a/app/src/main/res/layout/list_item_color_view.xml b/app/src/main/res/layout/list_item_color_view.xml index 77fe33567..c20f02265 100644 --- a/app/src/main/res/layout/list_item_color_view.xml +++ b/app/src/main/res/layout/list_item_color_view.xml @@ -42,7 +42,7 @@ android:layout_height="wrap_content" android:textAppearance="@style/TextViewSubtitle1" app:layout_constrainedWidth="true" - app:layout_constraintEnd_toStartOf="@android:id/widget_frame" + app:layout_constraintEnd_toStartOf="@id/circle" app:layout_constraintStart_toStartOf="@+id/guideline_front_margin" app:layout_constraintTop_toTopOf="parent" tools:maxLines="@string/grid_size_1" @@ -53,12 +53,12 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="2dp" + android:textAppearance="@style/TextViewNormal" android:textColor="?android:attr/textColorSecondary" app:layout_constrainedWidth="true" - app:layout_constraintEnd_toStartOf="@android:id/widget_frame" + app:layout_constraintEnd_toStartOf="@id/circle" app:layout_constraintStart_toStartOf="@+id/guideline_front_margin" app:layout_constraintTop_toBottomOf="@android:id/title" - android:textAppearance="@style/TextViewNormal" tools:maxLines="2" tools:text="@tools:sample/lorem/random" /> @@ -69,13 +69,11 @@ android:orientation="vertical" app:layout_constraintGuide_begin="@dimen/list_pref_guideline_begin" /> - diff --git a/app/src/main/res/layout/list_setting_item_view.xml b/app/src/main/res/layout/list_setting_item_view.xml index b06005b6b..e87f85049 100644 --- a/app/src/main/res/layout/list_setting_item_view.xml +++ b/app/src/main/res/layout/list_setting_item_view.xml @@ -33,7 +33,7 @@ app:iconBackgroundColor="@color/md_blue_A400" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/title" - app:srcCompat="@drawable/ic_theme_palette_white_24dp" /> + app:srcCompat="@drawable/ic_theme_palette" /> @@ -37,7 +37,7 @@ app:layout_constraintEnd_toStartOf="@+id/playPauseButton" app:layout_constraintStart_toEndOf="@+id/repeatButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_previous_white_24dp" + app:srcCompat="@drawable/ic_skip_previous" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -67,7 +67,7 @@ app:layout_constraintEnd_toStartOf="@+id/shuffleButton" app:layout_constraintStart_toEndOf="@+id/playPauseButton" app:layout_constraintTop_toTopOf="@+id/playPauseButton" - app:srcCompat="@drawable/ic_skip_next_white_24dp" + app:srcCompat="@drawable/ic_skip_next" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> @@ -82,7 +82,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/nextButton" app:layout_constraintTop_toTopOf="@+id/nextButton" - app:srcCompat="@drawable/ic_shuffle_white_24dp" + app:srcCompat="@drawable/ic_shuffle" tools:ignore="MissingPrefix" tools:tint="@color/md_black_1000" /> diff --git a/app/src/main/res/layout/metal_section_recycler_view.xml b/app/src/main/res/layout/metal_section_recycler_view.xml index 008d8e053..06d45eb90 100644 --- a/app/src/main/res/layout/metal_section_recycler_view.xml +++ b/app/src/main/res/layout/metal_section_recycler_view.xml @@ -12,7 +12,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:paddingHorizontal="16dp" - android:paddingVertical="12dp" + android:paddingVertical="14dp" android:textAppearance="@style/TextViewHeadline6" android:textStyle="bold" app:layout_constrainedWidth="true" @@ -21,14 +21,13 @@ app:layout_constraintTop_toTopOf="parent" tools:text="@tools:sample/full_names" /> - diff --git a/app/src/main/res/layout/section_recycler_view.xml b/app/src/main/res/layout/section_recycler_view.xml index db5fbe6cc..4db63851b 100644 --- a/app/src/main/res/layout/section_recycler_view.xml +++ b/app/src/main/res/layout/section_recycler_view.xml @@ -13,7 +13,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:paddingHorizontal="16dp" - android:paddingVertical="12dp" + android:paddingVertical="14dp" android:textAppearance="@style/TextViewHeadline6" android:textStyle="bold" app:layout_constrainedWidth="true" diff --git a/app/src/main/res/menu/bottom_navigation_main.xml b/app/src/main/res/menu/bottom_navigation_main.xml index 104e0340e..8288aae47 100644 --- a/app/src/main/res/menu/bottom_navigation_main.xml +++ b/app/src/main/res/menu/bottom_navigation_main.xml @@ -4,28 +4,28 @@ \ No newline at end of file diff --git a/app/src/main/res/menu/menu_album_detail.xml b/app/src/main/res/menu/menu_album_detail.xml index 622c2cdec..bd97edc06 100644 --- a/app/src/main/res/menu/menu_album_detail.xml +++ b/app/src/main/res/menu/menu_album_detail.xml @@ -3,7 +3,7 @@ @@ -42,7 +42,7 @@ diff --git a/app/src/main/res/menu/menu_cannot_delete_single_songs_playlist_songs_selection.xml b/app/src/main/res/menu/menu_cannot_delete_single_songs_playlist_songs_selection.xml index e6d0f67d6..7288b1dd8 100644 --- a/app/src/main/res/menu/menu_cannot_delete_single_songs_playlist_songs_selection.xml +++ b/app/src/main/res/menu/menu_cannot_delete_single_songs_playlist_songs_selection.xml @@ -4,24 +4,24 @@ \ No newline at end of file diff --git a/app/src/main/res/menu/menu_folders.xml b/app/src/main/res/menu/menu_folders.xml index e2e50174c..67c5e76b7 100644 --- a/app/src/main/res/menu/menu_folders.xml +++ b/app/src/main/res/menu/menu_folders.xml @@ -3,12 +3,12 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 84252a010..5c5f80afb 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -20,7 +20,7 @@ @@ -57,7 +57,7 @@ @@ -89,7 +89,7 @@ diff --git a/app/src/main/res/menu/menu_media_selection.xml b/app/src/main/res/menu/menu_media_selection.xml index 59e0dc5d4..d914cf26f 100644 --- a/app/src/main/res/menu/menu_media_selection.xml +++ b/app/src/main/res/menu/menu_media_selection.xml @@ -4,31 +4,31 @@ \ No newline at end of file diff --git a/app/src/main/res/menu/menu_player.xml b/app/src/main/res/menu/menu_player.xml index d1919c1f7..d07419988 100755 --- a/app/src/main/res/menu/menu_player.xml +++ b/app/src/main/res/menu/menu_player.xml @@ -4,24 +4,24 @@ diff --git a/app/src/main/res/menu/menu_playlists_selection.xml b/app/src/main/res/menu/menu_playlists_selection.xml index fde5452b4..f2e6baf61 100644 --- a/app/src/main/res/menu/menu_playlists_selection.xml +++ b/app/src/main/res/menu/menu_playlists_selection.xml @@ -4,37 +4,37 @@ diff --git a/app/src/main/res/menu/menu_playlists_songs_selection.xml b/app/src/main/res/menu/menu_playlists_songs_selection.xml index 20e6c8738..b89710bf5 100644 --- a/app/src/main/res/menu/menu_playlists_songs_selection.xml +++ b/app/src/main/res/menu/menu_playlists_songs_selection.xml @@ -4,25 +4,25 @@ diff --git a/app/src/main/res/menu/menu_search.xml b/app/src/main/res/menu/menu_search.xml index 2c415de9c..683dbb511 100644 --- a/app/src/main/res/menu/menu_search.xml +++ b/app/src/main/res/menu/menu_search.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> \ No newline at end of file diff --git a/app/src/main/res/menu/menu_smart_playlist_detail.xml b/app/src/main/res/menu/menu_smart_playlist_detail.xml index 896e26bed..8aeb1315a 100644 --- a/app/src/main/res/menu/menu_smart_playlist_detail.xml +++ b/app/src/main/res/menu/menu_smart_playlist_detail.xml @@ -3,7 +3,7 @@ diff --git a/app/src/main/res/values/metal_recycler_view_attrs.xml b/app/src/main/res/values/metal_recycler_view_attrs.xml deleted file mode 100644 index 84e779f95..000000000 --- a/app/src/main/res/values/metal_recycler_view_attrs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/seekarc_attrs.xml b/app/src/main/res/values/seekarc_attrs.xml index d8e6e3515..22e021aca 100644 --- a/app/src/main/res/values/seekarc_attrs.xml +++ b/app/src/main/res/values/seekarc_attrs.xml @@ -29,7 +29,7 @@ - + @@ -42,7 +42,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3dba19e69..e85ac13da 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -25,7 +25,7 @@