diff --git a/app/build.gradle b/app/build.gradle
index 039701b1d..4d8768b46 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,8 +32,8 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
- versionCode 277
- versionName '3.0.530'
+ versionCode 281
+ versionName '3.0.540'
multiDexEnabled true
@@ -166,6 +166,7 @@ dependencies {
implementation 'com.github.takahirom.downloadable.calligraphy:downloadable-calligraphy:0.1.3'
kapt 'com.github.bumptech.glide:compiler:4.8.0'
+ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
}
repositories {
mavenCentral()
diff --git a/app/normal/release/app.aab b/app/normal/release/app.aab
new file mode 100644
index 000000000..f101357ec
Binary files /dev/null and b/app/normal/release/app.aab differ
diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html
index 43acdcc44..3647f65b8 100644
--- a/app/src/main/assets/retro-changelog.html
+++ b/app/src/main/assets/retro-changelog.html
@@ -1 +1 @@
-
v3.0.501
Highlights
- Kotlin conversion from Good old Java
- Outline style system icons
- New Material Design principles and Guide lines
- Holiday Theme
Changelog
- Fixed app clear data when crash happens
- Updated translations
- By default theme will be dark
- Now you can add search app shortcut in home screen
- Last selected Lyrics options saved
- Fonts are removed to make it fast loading
- Now you can add plain text home screen widget
- Good old side navigation bar for options
- Bug report for better tracking with milestones
- Snow fall effect can be enable from other settings(Works only one normal theme)
- Click new music mix to play songs
- Gradient image option for gird list
- Clear button for playing queue
- Folder list back button
- New theme Fit
- On library click on toolbar for accessing main menu
- On home click on toolbar for accessing search
- BottomSheetDialogue is now adaptable to screens, background colour and text size
consistency.
- Removed coloured navigation bar option to making app adapt the primary colour
- Swipe up gesture for now playing removed, replaced with "tap to open", To achieve
transparent navigation bar for desired themes.
- Improved tablet UI and home screen by adding suggestions toggle banner issues.
- Improving lyrics page
- Updated image loading libraries(might loose your current artist images)
If you see entire app white or dark or black select same theme in settings to fix
FAQ's
*If you face any UI related issues you clear app data and cache, if its
not working try to
uninstall and install again.
\ No newline at end of file
+
v3.0.540
Highlights
- Kotlin conversion from Good old Java
- Outline style system icons
- New Material Design principles and Guide lines
- Holiday Theme
Changelog
- Fixed app clear data when crash happens
- Updated translations
- By default theme will be dark
- Now you can add search app shortcut in home screen
- Last selected Lyrics options saved
- Fonts are removed to make it fast loading
- Now you can add plain text home screen widget
- Good old side navigation bar for options
- Bug report for better tracking with milestones
- Snow fall effect can be enable from other settings(Works only one normal theme)
- Click new music mix to play songs
- Gradient image option for gird list
- Clear button for playing queue
- Folder list back button
- New theme Fit
- On library click on toolbar for accessing main menu
- On home click on toolbar for accessing search
- BottomSheetDialogue is now adaptable to screens, background colour and text size
consistency.
- Removed coloured navigation bar option to making app adapt the primary colour
- Swipe up gesture for now playing removed, replaced with "tap to open", To achieve
transparent navigation bar for desired themes.
- Improved tablet UI and home screen by adding suggestions toggle banner issues.
- Improving lyrics page
- Updated image loading libraries(might loose your current artist images)
If you see entire app white or dark or black select same theme in settings to fix
FAQ's
*If you face any UI related issues you clear app data and cache, if its
not working try to
uninstall and install again.
\ No newline at end of file
diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png
index c3dd3afbe..084d18d3e 100644
Binary files a/app/src/main/ic_launcher-web.png and b/app/src/main/ic_launcher-web.png differ
diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt
index b24dbb6da..eeb3645a2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/RemoveFromPlaylistDialog.kt
@@ -9,6 +9,7 @@ import android.view.ViewGroup
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.model.PlaylistSong
+import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.PlaylistsUtil
import code.name.monkey.retromusic.views.RoundedBottomSheetDialogFragment
import kotlinx.android.synthetic.main.dialog_remove_from_playlist.*
@@ -28,7 +29,7 @@ class RemoveFromPlaylistDialog : RoundedBottomSheetDialogFragment() {
val songs = arguments!!.getParcelableArrayList("songs")
val title: Int
val content: CharSequence
- if (songs != null && songs.size > 1) {
+ if (songs!!.size > 1) {
title = R.string.remove_songs_from_playlist_title
content = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Html.fromHtml(getString(R.string.remove_x_songs_from_playlist, songs.size), Html.FROM_HTML_MODE_LEGACY)
@@ -37,7 +38,7 @@ class RemoveFromPlaylistDialog : RoundedBottomSheetDialogFragment() {
}
} else {
title = R.string.remove_song_from_playlist_title
- content = Html.fromHtml(getString(R.string.remove_song_x_from_playlist, songs!![0].title))
+ content = Html.fromHtml(getString(R.string.remove_song_x_from_playlist, songs[0].title))
}
actionRemove.text = content
bannerTitle.setText(title)
@@ -48,6 +49,7 @@ class RemoveFromPlaylistDialog : RoundedBottomSheetDialogFragment() {
actionRemove.setOnClickListener {
PlaylistsUtil.removeFromPlaylist(activity!!, songs)
+ dismiss()
}
actionCancel.setOnClickListener { dismiss() }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.java b/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.java
index 1f7927bb9..338ed471e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.java
+++ b/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.java
@@ -63,7 +63,7 @@ public final class RetroGlideExtension {
}
public static Key createSignature(Song song) {
- return new MediaStoreSignature("", song.getDateModified(), 0);
+ return new MediaStoreSignature("", song.dateModified, 0);
}
public static Object getArtistModel(Artist artist) {
@@ -88,9 +88,9 @@ public final class RetroGlideExtension {
public static Object getSongModel(Song song, boolean ignoreMediaStore) {
if (ignoreMediaStore) {
- return new AudioFileCover(song.getData());
+ return new AudioFileCover(song.data);
} else {
- return MusicUtil.getMediaStoreAlbumCoverUri(song.getAlbumId());
+ return MusicUtil.getMediaStoreAlbumCoverUri(song.albumId);
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/MusicPlayerRemote.kt b/app/src/main/java/code/name/monkey/retromusic/helper/MusicPlayerRemote.kt
index 36923f995..07b28fd2a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/helper/MusicPlayerRemote.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/helper/MusicPlayerRemote.kt
@@ -32,7 +32,7 @@ object MusicPlayerRemote {
val currentSong: Song
get() = if (musicService != null) {
musicService!!.currentSong
- } else Song.emptySong
+ } else Song.EMPTY_SONG
/**
* Async
diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/ShuffleHelper.kt b/app/src/main/java/code/name/monkey/retromusic/helper/ShuffleHelper.kt
index aa50421b1..1236bcb36 100644
--- a/app/src/main/java/code/name/monkey/retromusic/helper/ShuffleHelper.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/helper/ShuffleHelper.kt
@@ -2,8 +2,6 @@ package code.name.monkey.retromusic.helper
import code.name.monkey.retromusic.model.Song
-import java.util.Collections
-
object ShuffleHelper {
diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/menu/GenreMenuHelper.kt b/app/src/main/java/code/name/monkey/retromusic/helper/menu/GenreMenuHelper.kt
index f9c127ceb..a490c763b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/helper/menu/GenreMenuHelper.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/helper/menu/GenreMenuHelper.kt
@@ -39,10 +39,7 @@ object GenreMenuHelper {
return false
}
- private fun getGenreSongs(activity: Activity,
- genre: Genre): ArrayList {
- val songs: ArrayList
- songs = GenreLoader.getSongs(activity, genre.id).blockingFirst()
- return songs
+ private fun getGenreSongs(activity: Activity, genre: Genre): ArrayList {
+ return GenreLoader.getSongs(activity, genre.id).blockingFirst()
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt
index b0dc7da4d..583a1110a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/loaders/AlbumLoader.kt
@@ -86,7 +86,7 @@ open class AlbumLoader {
}
}
- fun getSongLoaderSortOrder(): String {
+ private fun getSongLoaderSortOrder(): String {
return PreferenceUtil.getInstance().albumSortOrder + ", " +
//PreferenceUtil.getInstance().getAlbumSongSortOrder() + "," +
PreferenceUtil.getInstance().albumDetailSongSortOrder
diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/HomeLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/HomeLoader.kt
index 930d72b38..34a23f18c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/loaders/HomeLoader.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/loaders/HomeLoader.kt
@@ -2,9 +2,7 @@ package code.name.monkey.retromusic.loaders
import android.content.Context
-import code.name.monkey.retromusic.misc.DisposingObserver
import code.name.monkey.retromusic.model.Playlist
-import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.model.smartplaylist.AbsSmartPlaylist
import code.name.monkey.retromusic.model.smartplaylist.HistoryPlaylist
import code.name.monkey.retromusic.model.smartplaylist.LastAddedPlaylist
diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/SongLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/SongLoader.kt
index 193651960..a96fcba9d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/loaders/SongLoader.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/loaders/SongLoader.kt
@@ -58,7 +58,7 @@ object SongLoader {
val artistId = cursor.getInt(9)
val artistName = cursor.getString(10)
- return Song(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName,
+ return Song(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName?:"",
artistId, artistName)
}
@@ -119,7 +119,7 @@ object SongLoader {
val song: Song = if (cursor != null && cursor.moveToFirst()) {
getSongFromCursorImpl(cursor)
} else {
- Song.emptySong
+ Song.EMPTY_SONG
}
cursor?.close()
e.onNext(song)
diff --git a/app/src/main/java/code/name/monkey/retromusic/model/Album.kt b/app/src/main/java/code/name/monkey/retromusic/model/Album.kt
index dc9df05ce..27405c44b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/model/Album.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/model/Album.kt
@@ -36,6 +36,6 @@ class Album {
}
fun safeGetFirstSong(): Song {
- return if (songs!!.isEmpty()) Song.emptySong else songs[0]
+ return if (songs!!.isEmpty()) Song.EMPTY_SONG else songs[0]
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/model/PlaylistSong.java b/app/src/main/java/code/name/monkey/retromusic/model/PlaylistSong.java
index 778c7fba5..c44f1f6ac 100644
--- a/app/src/main/java/code/name/monkey/retromusic/model/PlaylistSong.java
+++ b/app/src/main/java/code/name/monkey/retromusic/model/PlaylistSong.java
@@ -1,18 +1,10 @@
package code.name.monkey.retromusic.model;
import android.os.Parcel;
-import android.os.Parcelable;
public class PlaylistSong extends Song {
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- public PlaylistSong createFromParcel(Parcel source) {
- return new PlaylistSong(source);
- }
+ public static PlaylistSong EMPTY_PLAYLIST_SONG = new PlaylistSong(-1, "", -1, -1, -1, "", -1, -1, "", -1, "", -1, -1);
- public PlaylistSong[] newArray(int size) {
- return new PlaylistSong[size];
- }
- };
public final int playlistId;
public final int idInPlayList;
@@ -22,12 +14,6 @@ public class PlaylistSong extends Song {
this.idInPlayList = idInPlayList;
}
- protected PlaylistSong(Parcel in) {
- super(in);
- this.playlistId = in.readInt();
- this.idInPlayList = in.readInt();
- }
-
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -58,6 +44,7 @@ public class PlaylistSong extends Song {
'}';
}
+
@Override
public int describeContents() {
return 0;
@@ -69,4 +56,20 @@ public class PlaylistSong extends Song {
dest.writeInt(this.playlistId);
dest.writeInt(this.idInPlayList);
}
+
+ protected PlaylistSong(Parcel in) {
+ super(in);
+ this.playlistId = in.readInt();
+ this.idInPlayList = in.readInt();
+ }
+
+ public static final Creator CREATOR = new Creator() {
+ public PlaylistSong createFromParcel(Parcel source) {
+ return new PlaylistSong(source);
+ }
+
+ public PlaylistSong[] newArray(int size) {
+ return new PlaylistSong[size];
+ }
+ };
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/model/Song.java b/app/src/main/java/code/name/monkey/retromusic/model/Song.java
new file mode 100644
index 000000000..05e33a237
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/model/Song.java
@@ -0,0 +1,137 @@
+package code.name.monkey.retromusic.model;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * @author Karim Abou Zeid (kabouzeid)
+ */
+public class Song implements Parcelable {
+ public static final Song EMPTY_SONG = new Song(-1, "", -1, -1, -1, "", -1, -1, "", -1, "");
+
+ public final int id;
+ public final String title;
+ public final int trackNumber;
+ public final int year;
+ public final long duration;
+ public final String data;
+ public final long dateModified;
+ public final int albumId;
+ public final String albumName;
+ public final int artistId;
+ public final String artistName;
+
+ public Song(int id, String title, int trackNumber, int year, long duration, String data, long dateModified, int albumId, String albumName, int artistId, String artistName) {
+ this.id = id;
+ this.title = title;
+ this.trackNumber = trackNumber;
+ this.year = year;
+ this.duration = duration;
+ this.data = data;
+ this.dateModified = dateModified;
+ this.albumId = albumId;
+ this.albumName = albumName;
+ this.artistId = artistId;
+ this.artistName = artistName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ Song song = (Song) o;
+
+ if (id != song.id) return false;
+ if (trackNumber != song.trackNumber) return false;
+ if (year != song.year) return false;
+ if (duration != song.duration) return false;
+ if (dateModified != song.dateModified) return false;
+ if (albumId != song.albumId) return false;
+ if (artistId != song.artistId) return false;
+ if (title != null ? !title.equals(song.title) : song.title != null) return false;
+ if (data != null ? !data.equals(song.data) : song.data != null) return false;
+ if (albumName != null ? !albumName.equals(song.albumName) : song.albumName != null)
+ return false;
+ return artistName != null ? artistName.equals(song.artistName) : song.artistName == null;
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = id;
+ result = 31 * result + (title != null ? title.hashCode() : 0);
+ result = 31 * result + trackNumber;
+ result = 31 * result + year;
+ result = 31 * result + (int) (duration ^ (duration >>> 32));
+ result = 31 * result + (data != null ? data.hashCode() : 0);
+ result = 31 * result + (int) (dateModified ^ (dateModified >>> 32));
+ result = 31 * result + albumId;
+ result = 31 * result + (albumName != null ? albumName.hashCode() : 0);
+ result = 31 * result + artistId;
+ result = 31 * result + (artistName != null ? artistName.hashCode() : 0);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "Song{" +
+ "id=" + id +
+ ", title='" + title + '\'' +
+ ", trackNumber=" + trackNumber +
+ ", year=" + year +
+ ", duration=" + duration +
+ ", data='" + data + '\'' +
+ ", dateModified=" + dateModified +
+ ", albumId=" + albumId +
+ ", albumName='" + albumName + '\'' +
+ ", artistId=" + artistId +
+ ", artistName='" + artistName + '\'' +
+ '}';
+ }
+
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(this.id);
+ dest.writeString(this.title);
+ dest.writeInt(this.trackNumber);
+ dest.writeInt(this.year);
+ dest.writeLong(this.duration);
+ dest.writeString(this.data);
+ dest.writeLong(this.dateModified);
+ dest.writeInt(this.albumId);
+ dest.writeString(this.albumName);
+ dest.writeInt(this.artistId);
+ dest.writeString(this.artistName);
+ }
+
+ protected Song(Parcel in) {
+ this.id = in.readInt();
+ this.title = in.readString();
+ this.trackNumber = in.readInt();
+ this.year = in.readInt();
+ this.duration = in.readLong();
+ this.data = in.readString();
+ this.dateModified = in.readLong();
+ this.albumId = in.readInt();
+ this.albumName = in.readString();
+ this.artistId = in.readInt();
+ this.artistName = in.readString();
+ }
+
+ public static final Creator CREATOR = new Creator() {
+ public Song createFromParcel(Parcel source) {
+ return new Song(source);
+ }
+
+ public Song[] newArray(int size) {
+ return new Song[size];
+ }
+ };
+}
diff --git a/app/src/main/java/code/name/monkey/retromusic/model/Song.kt b/app/src/main/java/code/name/monkey/retromusic/model/Song.kt
deleted file mode 100644
index a395b6994..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/model/Song.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-package code.name.monkey.retromusic.model
-
-import android.os.Parcel
-import android.os.Parcelable
-
-
-open class Song : Parcelable {
- val id: Int
- val title: String?
- val trackNumber: Int
- val year: Int
- val duration: Long
- val data: String?
- val dateModified: Long
- val albumId: Int
- val albumName: String?
- val artistId: Int
- val artistName: String?
-
- constructor(id: Int, title: String, trackNumber: Int, year: Int, duration: Long, data: String, dateModified: Long, albumId: Int, albumName: String, artistId: Int, artistName: String) {
- this.id = id
- this.title = title
- this.trackNumber = trackNumber
- this.year = year
- this.duration = duration
- this.data = data
- this.dateModified = dateModified
- this.albumId = albumId
- this.albumName = albumName
- this.artistId = artistId
- this.artistName = artistName
- }
-
- protected constructor(`in`: Parcel) {
- this.id = `in`.readInt()
- this.title = `in`.readString()
- this.trackNumber = `in`.readInt()
- this.year = `in`.readInt()
- this.duration = `in`.readLong()
- this.data = `in`.readString()
- this.dateModified = `in`.readLong()
- this.albumId = `in`.readInt()
- this.albumName = `in`.readString()
- this.artistId = `in`.readInt()
- this.artistName = `in`.readString()
- }
-
- override fun describeContents(): Int {
- return 0
- }
-
- override fun writeToParcel(dest: Parcel, flags: Int) {
- dest.writeInt(this.id)
- dest.writeString(this.title)
- dest.writeInt(this.trackNumber)
- dest.writeInt(this.year)
- dest.writeLong(this.duration)
- dest.writeString(this.data)
- dest.writeLong(this.dateModified)
- dest.writeInt(this.albumId)
- dest.writeString(this.albumName)
- dest.writeInt(this.artistId)
- dest.writeString(this.artistName)
- }
-
- companion object {
-
- var emptySong = Song(-1, "", -1, -1, -1, "", -1, -1, "", -1, "")
-
- @JvmField
- val CREATOR: Parcelable.Creator = object : Parcelable.Creator {
- override fun createFromParcel(source: Parcel): Song {
- return Song(source)
- }
-
- override fun newArray(size: Int): Array {
- return emptyArray()
- }
- }
- }
-}
diff --git a/app/src/main/java/code/name/monkey/retromusic/mvp/contract/HomeContract.kt b/app/src/main/java/code/name/monkey/retromusic/mvp/contract/HomeContract.kt
index 418e07642..d7272c331 100644
--- a/app/src/main/java/code/name/monkey/retromusic/mvp/contract/HomeContract.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/mvp/contract/HomeContract.kt
@@ -1,13 +1,8 @@
package code.name.monkey.retromusic.mvp.contract
+import code.name.monkey.retromusic.model.*
import java.util.ArrayList
-import code.name.monkey.retromusic.model.AbsCustomPlaylist
-import code.name.monkey.retromusic.model.Album
-import code.name.monkey.retromusic.model.Artist
-import code.name.monkey.retromusic.model.Genre
-import code.name.monkey.retromusic.model.Playlist
-import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.mvp.BasePresenter
import code.name.monkey.retromusic.mvp.BaseView
diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/MusicPlaybackQueueStore.java b/app/src/main/java/code/name/monkey/retromusic/providers/MusicPlaybackQueueStore.java
index ab8ce8440..1e7c652f8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/providers/MusicPlaybackQueueStore.java
+++ b/app/src/main/java/code/name/monkey/retromusic/providers/MusicPlaybackQueueStore.java
@@ -162,17 +162,17 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper {
Song song = queue.get(i);
ContentValues values = new ContentValues(4);
- values.put(BaseColumns._ID, song.getId());
- values.put(AudioColumns.TITLE, song.getTitle());
- values.put(AudioColumns.TRACK, song.getTrackNumber());
- values.put(AudioColumns.YEAR, song.getYear());
- values.put(AudioColumns.DURATION, song.getDuration());
- values.put(AudioColumns.DATA, song.getData());
- values.put(AudioColumns.DATE_MODIFIED, song.getDateModified());
- values.put(AudioColumns.ALBUM_ID, song.getAlbumId());
- values.put(AudioColumns.ALBUM, song.getAlbumName());
- values.put(AudioColumns.ARTIST_ID, song.getArtistId());
- values.put(AudioColumns.ARTIST, song.getArtistName());
+ values.put(BaseColumns._ID, song.id);
+ values.put(AudioColumns.TITLE, song.title);
+ values.put(AudioColumns.TRACK, song.trackNumber);
+ values.put(AudioColumns.YEAR, song.year);
+ values.put(AudioColumns.DURATION, song.duration);
+ values.put(AudioColumns.DATA, song.data);
+ values.put(AudioColumns.DATE_MODIFIED, song.dateModified);
+ values.put(AudioColumns.ALBUM_ID, song.albumId);
+ values.put(AudioColumns.ALBUM, song.albumName);
+ values.put(AudioColumns.ARTIST_ID, song.artistId);
+ values.put(AudioColumns.ARTIST, song.artistName);
database.insert(tableName, null, values);
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java
index d3cb7d65c..2c3afc707 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java
+++ b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java
@@ -248,7 +248,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
};
private static String getTrackUri(@NonNull Song song) {
- return MusicUtil.getSongFileUri(song.getId()).toString();
+ return MusicUtil.getSongFileUri(song.id).toString();
}
private static Bitmap copy(Bitmap bitmap) {
@@ -649,7 +649,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
}
public void updateNotification() {
- if (playingNotification != null && getCurrentSong().getId() != -1) {
+ if (playingNotification != null && getCurrentSong().id != -1) {
playingNotification.update();
}
}
@@ -666,19 +666,19 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
private void updateMediaSessionMetaData() {
final Song song = getCurrentSong();
- if (song.getId() == -1) {
+ if (song.id == -1) {
mediaSession.setMetadata(null);
return;
}
final MediaMetadataCompat.Builder metaData = new MediaMetadataCompat.Builder()
- .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, song.getArtistName())
- .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, song.getArtistName())
- .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, song.getAlbumName())
- .putString(MediaMetadataCompat.METADATA_KEY_TITLE, song.getTitle())
- .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, song.getDuration())
+ .putString(MediaMetadataCompat.METADATA_KEY_ARTIST, song.artistName)
+ .putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST, song.artistName)
+ .putString(MediaMetadataCompat.METADATA_KEY_ALBUM, song.albumName)
+ .putString(MediaMetadataCompat.METADATA_KEY_TITLE, song.title)
+ .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, song.duration)
.putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, getPosition() + 1)
- .putLong(MediaMetadataCompat.METADATA_KEY_YEAR, song.getYear())
+ .putLong(MediaMetadataCompat.METADATA_KEY_YEAR, song.year)
.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@@ -730,7 +730,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
if (position >= 0 && position < getPlayingQueue().size()) {
return getPlayingQueue().get(position);
} else {
- return Song.Companion.getEmptySong();
+ return Song.EMPTY_SONG;
}
}
@@ -847,13 +847,13 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public void removeSong(@NonNull Song song) {
for (int i = 0; i < playingQueue.size(); i++) {
- if (playingQueue.get(i).getId() == song.getId()) {
+ if (playingQueue.get(i).id == song.id) {
playingQueue.remove(i);
rePosition(i);
}
}
for (int i = 0; i < originalPlayingQueue.size(); i++) {
- if (originalPlayingQueue.get(i).getId() == song.getId()) {
+ if (originalPlayingQueue.get(i).id == song.id) {
originalPlayingQueue.remove(i);
}
}
@@ -1019,7 +1019,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public long getQueueDurationMillis(int position) {
long duration = 0;
for (int i = position + 1; i < playingQueue.size(); i++)
- duration += playingQueue.get(i).getDuration();
+ duration += playingQueue.get(i).duration;
return duration;
}
@@ -1073,11 +1073,11 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
break;
case SHUFFLE_MODE_NONE:
this.shuffleMode = shuffleMode;
- int currentSongId = getCurrentSong().getId();
+ int currentSongId = getCurrentSong().id;
playingQueue = new ArrayList<>(originalPlayingQueue);
int newPosition = 0;
for (Song song : getPlayingQueue()) {
- if (song.getId() == currentSongId) {
+ if (song.id == currentSongId) {
newPosition = getPlayingQueue().indexOf(song);
}
}
@@ -1104,11 +1104,11 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
final Song song = getCurrentSong();
- intent.putExtra("id", song.getId());
- intent.putExtra("artist", song.getArtistName());
- intent.putExtra("album", song.getAlbumName());
- intent.putExtra("track", song.getTitle());
- intent.putExtra("duration", song.getDuration());
+ intent.putExtra("id", song.id);
+ intent.putExtra("artist", song.artistName);
+ intent.putExtra("album", song.albumName);
+ intent.putExtra("track", song.title);
+ intent.putExtra("duration", song.duration);
intent.putExtra("position", (long) getSongProgressMillis());
intent.putExtra("playing", isPlaying());
intent.putExtra("scrobbling_source", RETRO_MUSIC_PACKAGE_NAME);
@@ -1143,9 +1143,9 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
savePosition();
savePositionInTrack();
final Song currentSong = getCurrentSong();
- HistoryStore.getInstance(this).addSongId(currentSong.getId());
+ HistoryStore.getInstance(this).addSongId(currentSong.id);
if (songPlayCountHelper.shouldBumpPlayCount()) {
- SongPlayCountStore.getInstance(this).bumpPlayCount(songPlayCountHelper.getSong().getId());
+ SongPlayCountStore.getInstance(this).bumpPlayCount(songPlayCountHelper.getSong().id);
}
songPlayCountHelper.notifySongChanged(currentSong);
break;
@@ -1375,14 +1375,14 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
public static final String TAG = SongPlayCountHelper.class.getSimpleName();
private StopWatch stopWatch = new StopWatch();
- private Song song = Song.Companion.getEmptySong();
+ private Song song = Song.EMPTY_SONG;
public Song getSong() {
return song;
}
boolean shouldBumpPlayCount() {
- return song.getDuration() * 0.5d < stopWatch.getElapsedTime();
+ return song.duration * 0.5d < stopWatch.getElapsedTime();
}
void notifySongChanged(Song song) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/WearBrowserService.java b/app/src/main/java/code/name/monkey/retromusic/service/WearBrowserService.java
index 00c5ff7ec..c8a56d550 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/WearBrowserService.java
+++ b/app/src/main/java/code/name/monkey/retromusic/service/WearBrowserService.java
@@ -241,9 +241,9 @@ public class WearBrowserService extends MediaBrowserService {
List songList = SongLoader.INSTANCE.getAllSongs(mContext).blockingFirst();
for (Song song : songList) {
fillMediaItems(mediaItems,
- String.valueOf(song.getId()),
- song.getTitle(),
- song.getArtistName(),
+ String.valueOf(song.id),
+ song.title,
+ song.albumName,
Uri.parse("android.resource://code.name.monkey.retromusic/drawable/default_album_art"),
MediaBrowser.MediaItem.FLAG_PLAYABLE);
}
@@ -253,9 +253,9 @@ public class WearBrowserService extends MediaBrowserService {
List albumSongList = AlbumLoader.Companion.getAlbum(mContext, Integer.parseInt(parentId.substring(1))).blockingFirst().getSongs();
for (Song song : albumSongList) {
fillMediaItems(mediaItems,
- String.valueOf(song.getId()),
- song.getTitle(),
- song.getArtistName(),
+ String.valueOf(song.id),
+ song.title,
+ song.albumName,
Uri.parse("android.resource://code.name.monkey.retromusic/drawable/default_album_art"),
MediaBrowser.MediaItem.FLAG_PLAYABLE);
}
@@ -264,9 +264,9 @@ public class WearBrowserService extends MediaBrowserService {
List artistSongs = ArtistLoader.INSTANCE.getArtist(mContext, Integer.parseInt(parentId.substring(1))).blockingFirst().getSongs();
for (Song song : artistSongs) {
fillMediaItems(mediaItems,
- String.valueOf(song.getId()),
- song.getTitle(),
- song.getAlbumName(),
+ String.valueOf(song.id),
+ song.title,
+ song.albumName,
Uri.parse("android.resource://code.name.monkey.retromusic/drawable/default_album_art"),
MediaBrowser.MediaItem.FLAG_PLAYABLE);
}
@@ -288,9 +288,9 @@ public class WearBrowserService extends MediaBrowserService {
List playlistSongs = PlaylistSongsLoader.INSTANCE.getPlaylistSongList(mContext, Integer.parseInt(parentId.substring(1))).blockingFirst();
for (Song song : playlistSongs) {
fillMediaItems(mediaItems,
- String.valueOf(song.getId()),
- song.getTitle(),
- song.getAlbumName(),
+ String.valueOf(song.id),
+ song.title,
+ song.albumName,
Uri.parse("android.resource://code.name.monkey.retromusic/drawable/default_album_art"),
MediaBrowser.MediaItem.FLAG_PLAYABLE);
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/ArtistDetailActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/ArtistDetailActivity.kt
index 5ee55743b..b0b667414 100755
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/ArtistDetailActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/ArtistDetailActivity.kt
@@ -82,7 +82,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailContrac
setUpViews()
- artistDetailsPresenter = ArtistDetailsPresenter(this, intent.extras)
+ artistDetailsPresenter = ArtistDetailsPresenter(this, intent.extras!!)
artistDetailsPresenter!!.subscribe()
contentContainer.setOnScrollChangeListener { _: NestedScrollView?, _: Int, scrollY: Int, _: Int, oldScrollY: Int ->
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/PlaylistDetailActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/PlaylistDetailActivity.kt
index 1d17003e7..7fa702327 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/PlaylistDetailActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/PlaylistDetailActivity.kt
@@ -195,7 +195,6 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli
}
private fun setToolbarTitle(title: String) {
-
supportActionBar!!.title = title
}
@@ -230,11 +229,6 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli
super.onDestroy()
}
- override fun onPlayingMetaChanged() {
- super.onPlayingMetaChanged()
- songsPresenter!!.subscribe()
- }
-
override fun loading() {}
override fun showEmptyView() {
@@ -249,7 +243,6 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli
}
companion object {
-
var EXTRA_PLAYLIST = "extra_playlist"
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt
index 62378566f..383162bc8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt
@@ -13,6 +13,7 @@ import android.view.ViewGroup
import android.widget.TextView
import android.widget.Toast
import androidx.annotation.LayoutRes
+import androidx.annotation.UiThread
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
@@ -63,6 +64,7 @@ class SupportDevelopmentActivity : AbsBaseActivity(), BillingProcessor.IBillingH
setContentView(R.layout.activity_donation)
+
setStatusbarColorAuto()
setNavigationbarColorAuto()
setTaskDescriptionColorAuto()
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/album/AlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/album/AlbumAdapter.kt
index 2c108ee24..5c6111ec0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/album/AlbumAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/album/AlbumAdapter.kt
@@ -26,7 +26,6 @@ import code.name.monkey.retromusic.ui.adapter.base.MediaEntryViewHolder
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.NavigationUtil
import code.name.monkey.retromusic.util.PreferenceUtil
-import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
import java.util.*
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/AbsOffsetSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/AbsOffsetSongAdapter.kt
index 935867e72..7d49591a5 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/AbsOffsetSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/AbsOffsetSongAdapter.kt
@@ -61,7 +61,7 @@ abstract class AbsOffsetSongAdapter : SongAdapter {
override// could also return null, just to be safe return empty song
val song: Song
- get() = if (itemViewType == OFFSET_ITEM) Song.emptySong else dataSet[adapterPosition - 1]
+ get() = if (itemViewType == OFFSET_ITEM) Song.EMPTY_SONG else dataSet[adapterPosition - 1]
override fun onClick(v: View?) {
if (isInQuickSelectMode && itemViewType != OFFSET_ITEM) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/OrderablePlaylistSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/OrderablePlaylistSongAdapter.kt
index 8889c5168..55ff84998 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/OrderablePlaylistSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/OrderablePlaylistSongAdapter.kt
@@ -24,7 +24,7 @@ class OrderablePlaylistSongAdapter(activity: AppCompatActivity,
private val onMoveItemListener: OnMoveItemListener?) : PlaylistSongAdapter(activity, dataSet, itemLayoutRes, usePalette, cabHolder), DraggableItemAdapter {
init {
- setMultiSelectMenuRes(R.menu.menu_playlists_songs_selection)
+ setMultiSelectMenuRes(code.name.monkey.retromusic.R.menu.menu_playlists_songs_selection)
}
override fun createViewHolder(view: View): SongAdapter.ViewHolder {
@@ -49,9 +49,7 @@ class OrderablePlaylistSongAdapter(activity: AppCompatActivity,
override fun onMultipleItemAction(menuItem: MenuItem, selection: ArrayList) {
when (menuItem.itemId) {
R.id.action_remove_from_playlist -> {
- val songs = ArrayList()
- songs.addAll(songs)
- RemoveFromPlaylistDialog.create(songs).show(activity.supportFragmentManager, "ADD_PLAYLIST")
+ RemoveFromPlaylistDialog.create(selection as ArrayList).show(activity.supportFragmentManager, "ADD_PLAYLIST")
return
}
}
@@ -94,8 +92,8 @@ class OrderablePlaylistSongAdapter(activity: AppCompatActivity,
private var mDragStateFlags: Int = 0
override var songMenuRes: Int
- get() = R.menu.menu_item_playlist_song
- set(value: Int) {
+ get() = code.name.monkey.retromusic.R.menu.menu_item_playlist_song
+ set(value) {
super.songMenuRes = value
}
@@ -111,7 +109,7 @@ class OrderablePlaylistSongAdapter(activity: AppCompatActivity,
override fun onSongMenuItemClick(item: MenuItem): Boolean {
when (item.itemId) {
- R.id.action_remove_from_playlist -> {
+ code.name.monkey.retromusic.R.id.action_remove_from_playlist -> {
RemoveFromPlaylistDialog.create(song as PlaylistSong).show(activity.supportFragmentManager, "REMOVE_FROM_PLAYLIST")
return true
}
@@ -130,7 +128,6 @@ class OrderablePlaylistSongAdapter(activity: AppCompatActivity,
}
companion object {
-
- val TAG = OrderablePlaylistSongAdapter::class.java.simpleName
+ val TAG: String = OrderablePlaylistSongAdapter::class.java.simpleName
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/PlaylistSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/PlaylistSongAdapter.kt
index e9a2069a4..3f6a0a1cb 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/PlaylistSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/adapter/song/PlaylistSongAdapter.kt
@@ -2,14 +2,12 @@ package code.name.monkey.retromusic.ui.adapter.song
import android.view.MenuItem
import android.view.View
-import android.widget.ImageView
import androidx.annotation.LayoutRes
import androidx.appcompat.app.AppCompatActivity
import androidx.core.util.Pair
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.interfaces.CabHolder
-import code.name.monkey.retromusic.model.PlaylistSong
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.NavigationUtil
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/VolumeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/VolumeFragment.kt
index e4052ca8f..30db56967 100755
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/VolumeFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/VolumeFragment.kt
@@ -12,7 +12,6 @@ import android.view.ViewGroup
import android.widget.SeekBar
import androidx.fragment.app.Fragment
import code.name.monkey.appthemehelper.ThemeStore
-import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.util.PreferenceUtil
@@ -95,17 +94,14 @@ class VolumeFragment : Fragment(), SeekBar.OnSeekBarChangeListener, OnAudioVolum
}
fun tintWhiteColor() {
- setProgressBarColor(Color.WHITE)
+ setTintable(Color.WHITE)
}
private fun setProgressBarColor(newColor: Int) {
- val text = ColorStateList(arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked)), intArrayOf(ThemeStore.textColorSecondary(context!!), ThemeStore.textColorPrimary(context!!)))
-
- volumeSeekBar.progressTintList = text
- volumeSeekBar.progressBackgroundTintList = text
-
- //TintHelper.setTint(volumeSeekBar, newColor, false)
+ volumeSeekBar.thumbTintList = ColorStateList.valueOf(newColor)
+ volumeSeekBar.progressTintList = ColorStateList.valueOf(newColor)
+ volumeSeekBar.progressBackgroundTintList = ColorStateList.valueOf(newColor)
volumeDown.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
volumeUp.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/folders/FoldersFragment.java b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/folders/FoldersFragment.java
index c813557f4..77e711f52 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/folders/FoldersFragment.java
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/folders/FoldersFragment.java
@@ -364,7 +364,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements
File file1 = (File) extra;
int startIndex = -1;
for (int i = 0; i < songs.size(); i++) {
- if (file1.getPath().equals(songs.get(i).getData())) { // path is already canonical here
+ if (file1.getPath().equals(songs.get(i).data)) { // path is already canonical here
startIndex = i;
break;
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/blur/BlurPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/blur/BlurPlaybackControlsFragment.kt
index b5f995a96..1bbeb3285 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/blur/BlurPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/blur/BlurPlaybackControlsFragment.kt
@@ -14,6 +14,7 @@ import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
import android.widget.SeekBar
import androidx.core.content.ContextCompat
+import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.appthemehelper.util.TintHelper
@@ -129,8 +130,12 @@ class BlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
private fun setProgressBarColor(newColor: Int) {
val ld = progressSlider.progressDrawable as LayerDrawable
- val clipDrawable = ld.findDrawableByLayerId(android.R.id.progress) as ClipDrawable
- clipDrawable.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
+ val clipDrawableProgress = ld.findDrawableByLayerId(android.R.id.progress) as ClipDrawable
+ clipDrawableProgress.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
+
+ val clipDrawableBackground = ld.findDrawableByLayerId(android.R.id.background)
+ clipDrawableBackground.setColorFilter(MaterialValueHelper.getPrimaryDisabledTextColor(context!!, ColorUtil.isColorLight(ThemeStore.primaryColor(context!!))), PorterDuff.Mode.SRC_IN)
+
}
private fun setUpPlayPauseFab() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/color/ColorPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/color/ColorPlaybackControlsFragment.kt
index ec9b4dc77..b3dfc159f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/color/ColorPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/color/ColorPlaybackControlsFragment.kt
@@ -1,8 +1,11 @@
package code.name.monkey.retromusic.ui.fragments.player.color
import android.animation.ObjectAnimator
+import android.content.res.ColorStateList
import android.graphics.Color
import android.graphics.PorterDuff
+import android.graphics.drawable.ClipDrawable
+import android.graphics.drawable.LayerDrawable
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -21,7 +24,7 @@ import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.ui.fragments.VolumeFragment
import code.name.monkey.retromusic.ui.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.util.MusicUtil
-import kotlinx.android.synthetic.main.fragment_color_player_playback_controls.*
+import kotlinx.android.synthetic.main.fragment_player_playback_controls.*
import kotlinx.android.synthetic.main.media_button.*
import kotlinx.android.synthetic.main.player_time.*
@@ -38,7 +41,6 @@ class ColorPlaybackControlsFragment : AbsPlayerControlsFragment() {
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
-
return inflater.inflate(R.layout.fragment_color_player_playback_controls, container, false)
}
@@ -103,7 +105,7 @@ class ColorPlaybackControlsFragment : AbsPlayerControlsFragment() {
title!!.setTextColor(lastPlaybackControlsColor)
text!!.setTextColor(lastDisabledPlaybackControlsColor)
- TintHelper.setTintAuto(progressSlider!!, lastPlaybackControlsColor, false)
+ setProgressBarColor(lastPlaybackControlsColor, lastDisabledPlaybackControlsColor)
volumeFragment.setTintable(lastPlaybackControlsColor)
@@ -115,6 +117,16 @@ class ColorPlaybackControlsFragment : AbsPlayerControlsFragment() {
updatePrevNextColor()
}
+ private fun setProgressBarColor(c1: Int, c2: Int) {
+ progressSlider.thumbTintList = ColorStateList.valueOf(c1)
+ val ld = progressSlider.progressDrawable as LayerDrawable
+
+ val clipDrawableProgress = ld.findDrawableByLayerId(android.R.id.progress) as ClipDrawable
+ clipDrawableProgress.setColorFilter(c1, PorterDuff.Mode.SRC_IN)
+
+ val clipDrawableBackground = ld.findDrawableByLayerId(android.R.id.background)
+ clipDrawableBackground.setColorFilter(c2, PorterDuff.Mode.SRC_IN)
+ }
private fun setUpPlayPauseFab() {
TintHelper.setTintAuto(playPauseButton, Color.WHITE, true)
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/flat/FlatPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/flat/FlatPlayerFragment.kt
index 3ace53035..be1f5b129 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/flat/FlatPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/flat/FlatPlayerFragment.kt
@@ -56,7 +56,7 @@ class FlatPlayerFragment : AbsPlayerFragment(), PlayerAlbumCoverFragment.Callbac
valueAnimator!!.addUpdateListener { animation ->
val drawable = DrawableGradient(GradientDrawable.Orientation.TOP_BOTTOM,
intArrayOf(animation.animatedValue as Int, android.R.color.transparent), 0)
- colorGradientBackground.background = drawable
+ colorGradientBackground!!.background = drawable
}
valueAnimator!!.setDuration(ViewUtil.RETRO_MUSIC_ANIM_TIME.toLong()).start()
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/material/MaterialControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/material/MaterialControlsFragment.kt
index 33f05de71..1735c814f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/material/MaterialControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/material/MaterialControlsFragment.kt
@@ -1,6 +1,7 @@
package code.name.monkey.retromusic.ui.fragments.player.material
import android.animation.ObjectAnimator
+import android.content.res.ColorStateList
import android.graphics.PorterDuff
import android.os.Bundle
import android.view.LayoutInflater
@@ -21,6 +22,7 @@ import code.name.monkey.retromusic.ui.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import kotlinx.android.synthetic.main.fragment_material_playback_controls.*
+import kotlinx.android.synthetic.main.fragment_volume.*
import kotlinx.android.synthetic.main.player_time.*
/**
@@ -105,6 +107,10 @@ class MaterialControlsFragment : AbsPlayerControlsFragment() {
if (PreferenceUtil.getInstance().adaptiveColor) {
lastPlaybackControlsColor = color
text.setTextColor(color)
+
+ progressSlider.thumbTintList = ColorStateList.valueOf(color)
+ progressSlider.progressTintList = ColorStateList.valueOf(color)
+ progressSlider.progressBackgroundTintList = ColorStateList.valueOf(color)
}
updatePlayPauseColor()
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerFragment.kt
index d9c605abd..fa1fcd1e1 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerFragment.kt
@@ -1,20 +1,14 @@
package code.name.monkey.retromusic.ui.fragments.player.normal
-import android.animation.Animator
-import android.animation.AnimatorSet
import android.animation.ArgbEvaluator
import android.animation.ValueAnimator
import android.graphics.drawable.GradientDrawable
-import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
-import android.view.ViewAnimationUtils
import android.view.ViewGroup
import androidx.appcompat.widget.Toolbar
-import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
-import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.model.Song
@@ -24,8 +18,6 @@ import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.ViewUtil
import code.name.monkey.retromusic.views.DrawableGradient
import kotlinx.android.synthetic.main.fragment_player.*
-import kotlinx.android.synthetic.main.fragment_player_playback_controls.*
-import kotlinx.android.synthetic.main.media_button.*
class PlayerFragment : AbsPlayerFragment(), PlayerAlbumCoverFragment.Callbacks {
@@ -45,9 +37,8 @@ class PlayerFragment : AbsPlayerFragment(), PlayerAlbumCoverFragment.Callbacks {
valueAnimator = ValueAnimator.ofObject(ArgbEvaluator(), android.R.color.transparent, i)
valueAnimator!!.addUpdateListener { animation ->
- val drawable = DrawableGradient(GradientDrawable.Orientation.TOP_BOTTOM,
- intArrayOf(animation.animatedValue as Int, android.R.color.transparent), 0)
- colorGradientBackground.background = drawable
+ val drawable = DrawableGradient(GradientDrawable.Orientation.TOP_BOTTOM, intArrayOf(animation.animatedValue as Int, android.R.color.transparent), 0)
+ colorGradientBackground!!.background = drawable
}
valueAnimator!!.setDuration(ViewUtil.RETRO_MUSIC_ANIM_TIME.toLong()).start()
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerPlaybackControlsFragment.kt
index 30c7dcce6..d9073eef4 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/normal/PlayerPlaybackControlsFragment.kt
@@ -28,7 +28,6 @@ import code.name.monkey.retromusic.util.PreferenceUtil
import kotlinx.android.synthetic.main.fragment_player_playback_controls.*
import kotlinx.android.synthetic.main.media_button.*
import kotlinx.android.synthetic.main.player_time.*
-import kotlinx.android.synthetic.main.volume_controls.*
class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment() {
@@ -130,8 +129,12 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment() {
private fun setProgressBarColor(newColor: Int) {
val ld = progressSlider.progressDrawable as LayerDrawable
- val clipDrawable = ld.findDrawableByLayerId(android.R.id.progress) as ClipDrawable
- clipDrawable.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
+
+ val clipDrawableProgress = ld.findDrawableByLayerId(android.R.id.progress) as ClipDrawable
+ clipDrawableProgress.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
+
+ val clipDrawableBackground = ld.findDrawableByLayerId(android.R.id.background)
+ clipDrawableBackground.setColorFilter(MaterialValueHelper.getPrimaryDisabledTextColor(context!!, ColorUtil.isColorLight(ThemeStore.primaryColor(context!!))), PorterDuff.Mode.SRC_IN)
}
private fun setUpPlayPauseFab() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/plain/PlainPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/plain/PlainPlaybackControlsFragment.kt
index 7e8def138..5fb4bf614 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/plain/PlainPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/plain/PlainPlaybackControlsFragment.kt
@@ -1,6 +1,7 @@
package code.name.monkey.retromusic.ui.fragments.player.plain
import android.animation.ObjectAnimator
+import android.content.res.ColorStateList
import android.graphics.PorterDuff
import android.graphics.drawable.ClipDrawable
import android.graphics.drawable.LayerDrawable
@@ -28,7 +29,6 @@ import code.name.monkey.retromusic.util.PreferenceUtil
import kotlinx.android.synthetic.main.fragment_plain_controls_fragment.*
import kotlinx.android.synthetic.main.media_button.*
import kotlinx.android.synthetic.main.player_time.*
-import kotlinx.android.synthetic.main.volume_controls.*
/**
* @author Hemanth S (h4h13).
@@ -130,15 +130,16 @@ class PlainPlaybackControlsFragment : AbsPlayerControlsFragment() {
if (PreferenceUtil.getInstance().adaptiveColor) {
TintHelper.setTintAuto(playPauseButton, MaterialValueHelper.getPrimaryTextColor(context!!, ColorUtil.isColorLight(color)), false)
TintHelper.setTintAuto(playPauseButton, color, true)
- setProgressBarColor(progressSlider, color)
+ setProgressBarColor(color)
}
updateRepeatState()
updateShuffleState()
updatePrevNextColor()
}
- private fun setProgressBarColor(progressBar: SeekBar?, newColor: Int) {
- val ld = progressBar!!.progressDrawable as LayerDrawable
+ private fun setProgressBarColor(newColor: Int) {
+ progressSlider.thumbTintList = ColorStateList.valueOf(newColor)
+ val ld = progressSlider.progressDrawable as LayerDrawable
val clipDrawable = ld.findDrawableByLayerId(android.R.id.progress) as ClipDrawable
clipDrawable.setColorFilter(newColor, PorterDuff.Mode.SRC_IN)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.java
index 4d076fd46..239ca41a5 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.java
+++ b/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.java
@@ -16,6 +16,10 @@ import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.FileProvider;
+
import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.tag.FieldKey;
@@ -26,9 +30,6 @@ import java.util.List;
import java.util.Locale;
import java.util.regex.Pattern;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.content.FileProvider;
import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
import code.name.monkey.retromusic.loaders.PlaylistLoader;
@@ -60,7 +61,7 @@ public class MusicUtil {
public static Intent createShareSongFileIntent(@NonNull final Song song, Context context) {
try {
return new Intent().setAction(Intent.ACTION_SEND).putExtra(Intent.EXTRA_STREAM,
- FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName(), new File(song.getData())))
+ FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName(), new File(song.data)))
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
.setType("audio/*");
} catch (IllegalArgumentException e) {
@@ -135,7 +136,7 @@ public class MusicUtil {
long duration = 0;
for (int i = 0; i < songs.size(); i++) {
- duration += songs.get(i).getDuration();
+ duration += songs.get(i).duration;
}
return songCount + " " + songString + " • " + MusicUtil.getReadableDurationString(duration);
@@ -200,7 +201,7 @@ public class MusicUtil {
final StringBuilder selection = new StringBuilder();
selection.append(BaseColumns._ID + " IN (");
for (int i = 0; i < songs.size(); i++) {
- selection.append(songs.get(i).getId());
+ selection.append(songs.get(i).id);
if (i < songs.size() - 1) {
selection.append(",");
}
@@ -264,7 +265,7 @@ public class MusicUtil {
public static String getLyrics(Song song) {
String lyrics = null;
- File file = new File(song.getData());
+ File file = new File(song.data);
try {
lyrics = AudioFileIO.read(file).getTagOrCreateDefault().getFirst(FieldKey.LYRICS);
@@ -279,7 +280,7 @@ public class MusicUtil {
if (dir != null && dir.exists() && dir.isDirectory()) {
String format = ".*%s.*\\.(lrc|txt)";
String filename = Pattern.quote(FileUtil.stripExtension(file.getName()));
- String songtitle = Pattern.quote(song.getTitle());
+ String songtitle = Pattern.quote(song.title);
final ArrayList patterns = new ArrayList<>();
patterns.add(Pattern.compile(String.format(format, filename),
@@ -352,7 +353,7 @@ public class MusicUtil {
//getFavoritesPlaylist(context).blockingFirst().id.subscribe(MusicUtil::setPlaylist);
//return PlaylistsUtil.doPlaylistContains(context, getFavoritesPlaylist(context).blockingFirst().id, song.id);
return PlaylistsUtil
- .doPlaylistContains(context, getFavoritesPlaylist(context).blockingFirst().id, song.getId());
+ .doPlaylistContains(context, getFavoritesPlaylist(context).blockingFirst().id, song.id);
}
public static boolean isArtistNameUnknown(@Nullable String artistName) {
@@ -394,7 +395,7 @@ public class MusicUtil {
public static long getTotalDuration(@NonNull final Context context, @NonNull List songs) {
long duration = 0;
for (int i = 0; i < songs.size(); i++) {
- duration += songs.get(i).getDuration();
+ duration += songs.get(i).duration;
}
return duration;
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PlaylistsUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/PlaylistsUtil.java
index c016d6de9..29ad1e0f6 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/PlaylistsUtil.java
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PlaylistsUtil.java
@@ -149,7 +149,7 @@ public class PlaylistsUtil {
for (int i = 0; i < len; i++) {
contentValues[i] = new ContentValues();
contentValues[i].put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, base + offset + i);
- contentValues[i].put(MediaStore.Audio.Playlists.Members.AUDIO_ID, songs.get(offset + i).getId());
+ contentValues[i].put(MediaStore.Audio.Playlists.Members.AUDIO_ID, songs.get(offset + i).id);
}
return contentValues;
}
@@ -158,7 +158,7 @@ public class PlaylistsUtil {
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri(
"external", playlistId);
String selection = MediaStore.Audio.Playlists.Members.AUDIO_ID + " =?";
- String[] selectionArgs = new String[]{String.valueOf(song.getId())};
+ String[] selectionArgs = new String[]{String.valueOf(song.id)};
try {
context.getContentResolver().delete(uri, selection, selectionArgs);
diff --git a/app/src/main/res/layout-xlarge-land/fragment_banner_home.xml b/app/src/main/res/layout-xlarge-land/fragment_banner_home.xml
index 4769476a2..cd7ccfb76 100644
--- a/app/src/main/res/layout-xlarge-land/fragment_banner_home.xml
+++ b/app/src/main/res/layout-xlarge-land/fragment_banner_home.xml
@@ -85,7 +85,6 @@
+
+
+
+
-
-
+
\ No newline at end of file
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 ff356b620..20e6c8738 100644
--- a/app/src/main/res/menu/menu_playlists_songs_selection.xml
+++ b/app/src/main/res/menu/menu_playlists_songs_selection.xml
@@ -18,12 +18,12 @@
android:id="@+id/action_add_to_playlist"
android:icon="@drawable/ic_playlist_add_white_24dp"
android:title="@string/action_add_to_playlist"
- app:showAsAction="always" />
+ app:showAsAction="ifRoom" />
+ app:showAsAction="ifRoom" />
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index 708b3491d..3f04ce5a9 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_background.png b/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
index 278b1604f..c53feb5d5 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_background.png and b/app/src/main/res/mipmap-hdpi/ic_launcher_background.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
index 4ccf37af7..6584b113d 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
index 708b3491d..3f04ce5a9 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 5d7f4d8a5..aea8b3b40 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_background.png b/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
index af1e5d56e..9ce5f7246 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_background.png and b/app/src/main/res/mipmap-mdpi/ic_launcher_background.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
index c3833d63b..e7a04db87 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
index 5d7f4d8a5..aea8b3b40 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index eadda1bf4..401fd0d4d 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
index fe7517d88..ae2ee6f4c 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
index 555f7deb9..ce793d87b 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
index eadda1bf4..401fd0d4d 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 62538edcc..19a04881c 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
index 61b257517..841a0a2c4 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
index 3a14131a7..a2489ea3c 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
index 62538edcc..19a04881c 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 7344ed9ba..13f0a3cb4 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
index 493ff3176..aa8d71675 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
index 821a47a5d..5c2ab3a82 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
index 7344ed9ba..13f0a3cb4 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 1522b120c..da1f8f286 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -67,7 +67,6 @@