diff --git a/app/build.gradle b/app/build.gradle index ee23da0a..e6223b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { vectorDrawables.useSupportLibrary = true applicationId "code.name.monkey.retromusic" - versionCode 358 - versionName '3.3.200-beta-1' + versionCode 360 + versionName '3.3.200' multiDexEnabled true @@ -98,22 +98,22 @@ static def getDate() { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.fragment:fragment:1.2.0-alpha01' + implementation 'androidx.fragment:fragment:1.2.0-alpha02' implementation 'androidx.appcompat:appcompat:1.1.0-rc01' - implementation 'androidx.recyclerview:recyclerview:1.1.0-beta01' + implementation 'androidx.recyclerview:recyclerview:1.1.0-beta02' implementation "androidx.gridlayout:gridlayout:1.0.0" implementation "androidx.cardview:cardview:1.0.0" implementation "androidx.palette:palette:1.0.0" implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.preference:preference:1.1.0-rc01' implementation 'androidx.palette:palette-ktx:1.0.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2' + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' implementation 'com.google.android.material:material:1.1.0-alpha09' - implementation 'com.squareup.retrofit2:retrofit:2.6.0' - implementation 'com.squareup.retrofit2:converter-gson:2.6.0' - implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.0' + implementation 'com.squareup.retrofit2:retrofit:2.6.1' + implementation 'com.squareup.retrofit2:converter-gson:2.6.1' + implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.1' implementation 'com.afollestad.material-dialogs:core:3.0.0-alpha1' implementation 'com.afollestad.material-dialogs:input:3.0.0-alpha1' @@ -144,7 +144,7 @@ dependencies { implementation 'com.github.kabouzeid:AndroidSlidingUpPanel:3.3.0-kmod3' implementation 'com.github.AdrienPoupa:jaudiotagger:2.2.3' - implementation 'com.anjlab.android.iab.v3:library:1.0.44' + implementation 'com.anjlab.android.iab.v3:library:1.1.0' implementation 'com.r0adkll:slidableactivity:2.0.6' implementation 'com.heinrichreimersoftware:material-intro:1.6' diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html index 7d5e7167..74cea105 100644 --- a/app/src/main/assets/retro-changelog.html +++ b/app/src/main/assets/retro-changelog.html @@ -1 +1 @@ -
If you see entire app white or dark or black select same theme in settings to fix
*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 +If you see entire app white or dark or black select same theme in settings to fix
*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/java/code/name/monkey/retromusic/Constants.kt b/app/src/main/java/code/name/monkey/retromusic/Constants.kt index 36805ba2..6c04105c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/Constants.kt +++ b/app/src/main/java/code/name/monkey/retromusic/Constants.kt @@ -33,7 +33,7 @@ object Constants { const val BASE_SELECTION = MediaStore.Audio.AudioColumns.IS_MUSIC + "=1" + " AND " + MediaStore.Audio.AudioColumns.TITLE + " != ''" - val BASE_PROJECTION = arrayOf(BaseColumns._ID, // 0 + val baseProjection = arrayOf(BaseColumns._ID, // 0 MediaStore.Audio.AudioColumns.TITLE, // 1 MediaStore.Audio.AudioColumns.TRACK, // 2 MediaStore.Audio.AudioColumns.YEAR, // 3 diff --git a/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.java b/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.java index f02c7714..be1aaa2e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.java +++ b/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.java @@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentSkipListMap; +import code.name.monkey.appthemehelper.ThemeStore; import code.name.monkey.retromusic.R; import code.name.monkey.retromusic.loaders.AlbumLoader; import code.name.monkey.retromusic.loaders.ArtistLoader; @@ -46,6 +47,7 @@ import code.name.monkey.retromusic.model.Playlist; import code.name.monkey.retromusic.model.Song; import code.name.monkey.retromusic.providers.MusicPlaybackQueueStore; import code.name.monkey.retromusic.service.MusicService; +import code.name.monkey.retromusic.util.ImageUtil; /** * Created by Beesham Sarendranauth (Beesham) @@ -332,22 +334,26 @@ public class AutoMusicProvider { mediaItems.add( createBrowsableMediaItem( AutoMediaIDHelper.MEDIA_ID_MUSICS_BY_ALBUM, - resources.getString(R.string.albums_label) + resources.getString(R.string.albums_label), + R.drawable.ic_album_white_24dp )); mediaItems.add( createBrowsableMediaItem( AutoMediaIDHelper.MEDIA_ID_MUSICS_BY_ARTIST, - resources.getString(R.string.artists_label) + resources.getString(R.string.artists_label), + R.drawable.ic_artist_white_24dp )); mediaItems.add( createBrowsableMediaItem( AutoMediaIDHelper.MEDIA_ID_MUSICS_BY_PLAYLIST, - resources.getString(R.string.playlists_label) + resources.getString(R.string.playlists_label), + R.drawable.ic_queue_music_white_24dp )); mediaItems.add( createBrowsableMediaItem( AutoMediaIDHelper.MEDIA_ID_MUSICS_BY_GENRE, - resources.getString(R.string.genres_label) + resources.getString(R.string.genres_label), + R.drawable.ic_guitar_white_24dp )); /* mediaItems.add( createPlayableMediaItem( @@ -403,10 +409,13 @@ public class AutoMusicProvider { return mediaItems; } - private MediaBrowserCompat.MediaItem createBrowsableMediaItem(String mediaId, String title) { + private MediaBrowserCompat.MediaItem createBrowsableMediaItem(String mediaId, + String title, + int iconDrawableId) { MediaDescriptionCompat.Builder builder = new MediaDescriptionCompat.Builder(); builder.setMediaId(mediaId) - .setTitle(title); + .setTitle(title) + .setIconBitmap(ImageUtil.createBitmap(ImageUtil.getTintedVectorDrawable(mContext, iconDrawableId, ThemeStore.Companion.textColorSecondary(mContext)))); return new MediaBrowserCompat.MediaItem(builder.build(), MediaBrowserCompat.MediaItem.FLAG_BROWSABLE); diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/GenreLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/GenreLoader.kt index e06d0a92..23a0793e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/loaders/GenreLoader.kt +++ b/app/src/main/java/code/name/monkey/retromusic/loaders/GenreLoader.kt @@ -19,7 +19,7 @@ import android.database.Cursor import android.net.Uri import android.provider.BaseColumns import android.provider.MediaStore.Audio.Genres -import code.name.monkey.retromusic.Constants.BASE_PROJECTION +import code.name.monkey.retromusic.Constants.baseProjection import code.name.monkey.retromusic.Constants.BASE_SELECTION import code.name.monkey.retromusic.model.Genre import code.name.monkey.retromusic.model.Song @@ -105,7 +105,7 @@ object GenreLoader { try { return context.contentResolver.query( Genres.Members.getContentUri("external", genreId.toLong()), - BASE_PROJECTION, BASE_SELECTION, null, PreferenceUtil.getInstance().songSortOrder) + baseProjection, BASE_SELECTION, null, PreferenceUtil.getInstance().songSortOrder) } catch (e: SecurityException) { return null } 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 2f1b1f50..3b375dbd 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 @@ -18,7 +18,7 @@ import android.content.Context import android.database.Cursor import android.provider.MediaStore import android.provider.MediaStore.Audio.AudioColumns -import code.name.monkey.retromusic.Constants.BASE_PROJECTION +import code.name.monkey.retromusic.Constants.baseProjection import code.name.monkey.retromusic.Constants.BASE_SELECTION import code.name.monkey.retromusic.helper.ShuffleHelper import code.name.monkey.retromusic.model.Song @@ -195,7 +195,7 @@ object SongLoader { try { return context.contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, - BASE_PROJECTION, selectionFinal + " AND " + MediaStore.Audio.Media.DURATION + ">= " + (PreferenceUtil.getInstance().filterLength * 1000), selectionValuesFinal, sortOrder) + baseProjection, selectionFinal + " AND " + MediaStore.Audio.Media.DURATION + ">= " + (PreferenceUtil.getInstance().filterLength * 1000), selectionValuesFinal, sortOrder) } catch (e: SecurityException) { return null } diff --git a/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt b/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt index 516b02df..cf21e164 100644 --- a/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt +++ b/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt @@ -39,5 +39,7 @@ class BottomNavigationBarTinted @JvmOverloads constructor( val accentColor = ThemeStore.accentColor(context) NavigationViewUtil.setItemIconColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor) NavigationViewUtil.setItemTextColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor) + + setOnApplyWindowInsetsListener(null) } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_banner_home.xml b/app/src/main/res/layout/fragment_banner_home.xml index 338608c6..fcae2a12 100644 --- a/app/src/main/res/layout/fragment_banner_home.xml +++ b/app/src/main/res/layout/fragment_banner_home.xml @@ -1,5 +1,4 @@ - -