From 2bbe39eab73a42a77c36b1a986f7249e0b93c417 Mon Sep 17 00:00:00 2001 From: h4h13 Date: Mon, 9 Sep 2019 18:34:53 +0530 Subject: [PATCH] Removed app context for PreferenceUtil class --- app/build.gradle | 10 +- app/src/main/AndroidManifest.xml | 12 +- app/src/main/assets/retro-changelog.html | 2 +- .../java/code/name/monkey/retromusic/App.kt | 25 ++-- .../code/name/monkey/retromusic/Injection.kt | 31 ----- .../activities/AlbumDetailsActivity.kt | 12 +- .../activities/ArtistDetailActivity.kt | 8 +- .../activities/GenreDetailsActivity.kt | 2 +- .../retromusic/activities/LyricsActivity.kt | 6 +- .../retromusic/activities/MainActivity.kt | 16 +-- .../activities/PlaylistDetailActivity.kt | 2 +- .../retromusic/activities/PurchaseActivity.kt | 2 +- .../retromusic/activities/SearchActivity.kt | 2 +- .../retromusic/activities/SettingsActivity.kt | 7 +- .../retromusic/activities/UserInfoActivity.kt | 30 ++-- .../activities/WhatsNewActivity.java | 2 +- .../base/AbsSlidingMusicPanelActivity.kt | 8 +- .../activities/base/AbsThemeActivity.kt | 10 +- .../bugreport/model/DeviceInfo.java | 6 +- .../retromusic/adapter/ContributorAdapter.kt | 22 ++- .../monkey/retromusic/adapter/GenreAdapter.kt | 6 +- .../monkey/retromusic/adapter/HomeAdapter.kt | 16 ++- .../retromusic/adapter/SearchAdapter.kt | 7 +- .../retromusic/adapter/SongFileAdapter.kt | 3 +- .../retromusic/adapter/album/AlbumAdapter.kt | 2 +- .../adapter/album/AlbumCoverPagerAdapter.kt | 6 +- .../retromusic/adapter/song/SongAdapter.kt | 2 +- .../appshortcuts/AppShortcutIconGenerator.kt | 2 +- .../retromusic/appwidgets/AppWidgetText.kt | 8 +- .../appwidgets/base/BaseAppWidget.kt | 2 +- .../dialogs/OptionsSheetDialogFragment.kt | 2 +- .../retromusic/dialogs/SleepTimerDialog.kt | 12 +- .../fragments/MiniPlayerFragment.kt | 6 +- .../retromusic/fragments/VolumeFragment.kt | 2 +- .../base/AbsPlayerControlsFragment.kt | 2 +- .../fragments/base/AbsPlayerFragment.kt | 2 +- .../fragments/mainactivity/AlbumsFragment.kt | 20 +-- .../fragments/mainactivity/ArtistsFragment.kt | 20 +-- .../fragments/mainactivity/GenresFragment.kt | 2 +- .../mainactivity/LibraryFragment.java | 4 +- .../mainactivity/PlaylistsFragment.kt | 6 +- .../fragments/mainactivity/SongsFragment.kt | 18 +-- .../mainactivity/folders/FoldersFragment.java | 6 +- .../mainactivity/home/BannerHomeFragment.kt | 20 +-- .../player/PlayerAlbumCoverFragment.kt | 10 +- .../AdaptivePlaybackControlsFragment.kt | 2 +- .../card/CardPlaybackControlsFragment.kt | 2 +- .../player/fit/FitPlaybackControlsFragment.kt | 2 +- .../flat/FlatPlaybackControlsFragment.kt | 2 +- .../player/flat/FlatPlayerFragment.kt | 6 +- .../full/FullPlaybackControlsFragment.kt | 2 +- .../LockScreenPlayerControlsFragment.kt | 2 +- .../material/MaterialControlsFragment.kt | 2 +- .../fragments/player/normal/PlayerFragment.kt | 2 +- .../normal/PlayerPlaybackControlsFragment.kt | 2 +- .../plain/PlainPlaybackControlsFragment.kt | 2 +- .../simple/SimplePlaybackControlsFragment.kt | 2 +- .../player/tiny/TinyPlayerFragment.kt | 2 +- .../fragments/settings/AudioSettings.kt | 2 +- .../settings/MainSettingsFragment.kt | 2 +- .../settings/NotificationSettingsFragment.kt | 10 +- .../settings/NowPlayingSettingsFragment.kt | 10 +- .../settings/PersonaizeSettingsFragment.kt | 6 +- .../settings/ThemeSettingsFragment.kt | 11 +- .../retromusic/glide/RetroGlideExtension.java | 2 +- .../glide/RetroMusicColoredTarget.kt | 2 +- .../retromusic/helper/LastChanceHandler.kt | 2 +- .../retromusic/helper/MusicPlayerRemote.kt | 2 +- .../helper/menu/PlaylistMenuHelper.kt | 4 +- .../monkey/retromusic/loaders/AlbumLoader.kt | 18 +-- .../monkey/retromusic/loaders/ArtistLoader.kt | 22 +-- .../monkey/retromusic/loaders/GenreLoader.kt | 4 +- .../loaders/LastAddedSongsLoader.kt | 2 +- .../monkey/retromusic/loaders/SongLoader.kt | 4 +- .../mvp/presenter/GenrePresenter.kt | 1 - .../AlbumCoverStylePreferenceDialog.kt | 4 +- .../preferences/LibraryPreference.kt | 6 +- .../NowPlayingScreenPreferenceDialog.kt | 10 +- .../retromusic/providers/BlacklistStore.java | 4 +- .../retromusic/providers/RepositoryImpl.kt | 14 +- .../retromusic/service/MultiPlayer.java | 2 +- .../retromusic/service/MusicService.java | 12 +- .../retromusic/service/PlaybackHandler.java | 4 +- .../notification/PlayingNotificationImpl.kt | 4 +- .../notification/PlayingNotificationImpl24.kt | 4 +- .../notification/PlayingNotificationOreo.kt | 2 +- .../retromusic/util/CustomArtistImageUtil.kt | 12 +- .../retromusic/util/PreferenceUtil.java | 3 +- .../monkey/retromusic/util/RetroUtil.java | 129 +----------------- .../name/monkey/retromusic/util/SAFUtil.java | 10 +- .../views/BottomNavigationBarTinted.kt | 4 +- .../retromusic/views/UserImageView.java | 2 +- app/src/main/res/layout/item_contributor.xml | 15 +- .../res/layout/item_contributor_header.xml | 59 ++++++++ ...nce_dialog_library_categories_listitem.xml | 2 +- app/src/main/res/xml/pref_general.xml | 15 +- build.gradle | 1 + 97 files changed, 397 insertions(+), 456 deletions(-) delete mode 100644 app/src/main/java/code/name/monkey/retromusic/Injection.kt create mode 100644 app/src/main/res/layout/item_contributor_header.xml diff --git a/app/build.gradle b/app/build.gradle index 3df0e6da4..7676a98a7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { vectorDrawables.useSupportLibrary = true applicationId "code.name.monkey.retromusic" - versionCode 360 - versionName '3.3.200' + versionCode 365 + versionName '3.4.000-beta01' multiDexEnabled true @@ -100,19 +100,21 @@ static def getDate() { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.fragment:fragment:1.2.0-alpha02' - implementation 'androidx.appcompat:appcompat:1.1.0-rc01' + implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0-beta03' 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.preference:preference:1.1.0' implementation 'androidx.palette:palette-ktx:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.google.android.material:material:1.1.0-alpha09' + implementation 'com.google.android.play:core:1.6.1' implementation 'com.squareup.retrofit2:retrofit:2.6.1' implementation 'com.squareup.retrofit2:converter-gson:2.6.1' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 045de18ea..70872001d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -22,7 +23,8 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.RetroMusic.Light" - android:usesCleartextTraffic="false"> + android:usesCleartextTraffic="false" + tools:ignore="AllowBackup,GoogleAppIndexingWarning"> @@ -248,13 +250,13 @@ + android:resource="@xml/automotive_app_desc" /> + android:resource="@drawable/ic_notification" /> - + diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html index 5b402e342..31c069fcd 100644 --- a/app/src/main/assets/retro-changelog.html +++ b/app/src/main/assets/retro-changelog.html @@ -1 +1 @@ -

v3.3.200

v.3.3.100

v3.3.000

v3.2.240

v3.2.220

v3.2.203

v3.2.135

v3.2.125

v3.2.120

v3.2.105

v3.2.100

v3.2.000

v3.1.900

v3.1.850

v3.1.800

v3.1.700

v3.1.400

v3.1.300

v3.1.240

v3.1.200

v3.0.570

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.4.000

v3.3.200

v.3.3.100

v3.3.000

v3.2.240

v3.2.220

v3.2.203

v3.2.135

v3.2.125

v3.2.120

v3.2.105

v3.2.100

v3.2.000

v3.1.900

v3.1.850

v3.1.800

v3.1.700

v3.1.400

v3.1.300

v3.1.240

v3.1.200

v3.0.570

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/java/code/name/monkey/retromusic/App.kt b/app/src/main/java/code/name/monkey/retromusic/App.kt index 909671744..3fca1efad 100644 --- a/app/src/main/java/code/name/monkey/retromusic/App.kt +++ b/app/src/main/java/code/name/monkey/retromusic/App.kt @@ -14,7 +14,6 @@ package code.name.monkey.retromusic -import android.content.Context import android.widget.Toast import androidx.multidex.MultiDexApplication import code.name.monkey.appthemehelper.ThemeStore @@ -25,6 +24,7 @@ import code.name.monkey.retromusic.dagger.MusicComponent import code.name.monkey.retromusic.dagger.module.AppModule import com.anjlab.android.iab.v3.BillingProcessor import com.anjlab.android.iab.v3.TransactionDetails +import com.google.android.play.core.missingsplits.MissingSplitsManagerFactory class App : MultiDexApplication() { @@ -32,10 +32,11 @@ class App : MultiDexApplication() { lateinit var billingProcessor: BillingProcessor override fun onCreate() { + if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) { + return + } super.onCreate() instance = this - - musicComponent = DaggerMusicComponent.builder() .appModule(AppModule(this)) .build() @@ -72,19 +73,25 @@ class App : MultiDexApplication() { } companion object { + private var instance: App? = null + fun getContext(): App { + return instance!! + } + + fun isProVersion(): Boolean { + return BuildConfig.DEBUG || instance?.billingProcessor!!.isPurchased(PRO_VERSION_PRODUCT_ID) + } lateinit var musicComponent: MusicComponent const val PRO_VERSION_PRODUCT_ID = "pro_version" - lateinit var instance: App - private set - val context: Context - get() = instance.applicationContext + /*val context: Context + get() = (instance as App).applicationContext*/ - val isProVersion: Boolean - get() = BuildConfig.DEBUG || instance.billingProcessor.isPurchased(PRO_VERSION_PRODUCT_ID) + /*val isProVersion: Boolean + get() = BuildConfig.DEBUG || instance.billingProcessor.isPurchased(PRO_VERSION_PRODUCT_ID)*/ } } diff --git a/app/src/main/java/code/name/monkey/retromusic/Injection.kt b/app/src/main/java/code/name/monkey/retromusic/Injection.kt deleted file mode 100644 index 8023706e0..000000000 --- a/app/src/main/java/code/name/monkey/retromusic/Injection.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 code.name.monkey.retromusic - -import code.name.monkey.retromusic.providers.RepositoryImpl -import code.name.monkey.retromusic.providers.interfaces.Repository -import code.name.monkey.retromusic.util.schedulers.BaseSchedulerProvider -import code.name.monkey.retromusic.util.schedulers.SchedulerProvider - -object Injection { - - fun provideRepository(): Repository { - return RepositoryImpl.instance - } - - fun provideSchedulerProvider(): BaseSchedulerProvider { - return SchedulerProvider.getInstance() - } -} diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/AlbumDetailsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/AlbumDetailsActivity.kt index d553dea25..c665ae986 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/AlbumDetailsActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/AlbumDetailsActivity.kt @@ -58,7 +58,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView { private lateinit var album: Album private val savedSortOrder: String - get() = PreferenceUtil.getInstance().albumDetailSongSortOrder + get() = PreferenceUtil.getInstance(this).albumDetailSongSortOrder override fun createContentView(): View { return wrapSlidingMusicPanel(R.layout.activity_album) @@ -101,7 +101,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView { setOnClickListener { MusicPlayerRemote.openAndShuffleQueue(album.songs!!, true) } } - App.musicComponent.inject(this) + App.musicComponent?.inject(this) albumDetailsPresenter.attachView(this) if (intent.extras!!.containsKey(EXTRA_ALBUM_ID)) { @@ -137,7 +137,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView { toolbar.setNavigationIcon(R.drawable.ic_keyboard_backspace_black_24dp) - if (toolbar != null && !PreferenceUtil.getInstance().fullScreenMode) { + if (toolbar != null && !PreferenceUtil.getInstance(this).fullScreenMode) { val params = toolbar.layoutParams as ViewGroup.MarginLayoutParams params.topMargin = RetroUtil.getStatusBarHeight() toolbar.layoutParams = params @@ -256,13 +256,13 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView { } private fun setColors(color: Int) { - val themeColor = if (PreferenceUtil.getInstance().adaptiveColor) color + val themeColor = if (PreferenceUtil.getInstance(this).adaptiveColor) color else ThemeStore.accentColor(this) songTitle.setTextColor(themeColor) moreTitle.setTextColor(themeColor) - val buttonColor = if (PreferenceUtil.getInstance().adaptiveColor) color + val buttonColor = if (PreferenceUtil.getInstance(this).adaptiveColor) color else ATHUtil.resolveColor(this, R.attr.cardBackgroundColor) MaterialUtil.setTint(button = shuffleAction, color = buttonColor) @@ -340,7 +340,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView { } private fun setSaveSortOrder(sortOrder: String?) { - PreferenceUtil.getInstance().albumDetailSongSortOrder = sortOrder + PreferenceUtil.getInstance(this).albumDetailSongSortOrder = sortOrder reload() } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/ArtistDetailActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/ArtistDetailActivity.kt index 06cd0c27b..b576f55e7 100755 --- a/app/src/main/java/code/name/monkey/retromusic/activities/ArtistDetailActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/ArtistDetailActivity.kt @@ -81,7 +81,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView { ActivityCompat.postponeEnterTransition(this) - App.musicComponent.inject(this) + App.musicComponent?.inject(this) artistDetailsPresenter.attachView(this) if (intent.extras!!.containsKey(EXTRA_ARTIST_ID)) { @@ -137,7 +137,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView { supportActionBar?.title = null - if (toolbar != null && !PreferenceUtil.getInstance().fullScreenMode) { + if (toolbar != null && !PreferenceUtil.getInstance(this).fullScreenMode) { val params = toolbar!!.layoutParams as ViewGroup.MarginLayoutParams params.topMargin = RetroUtil.getStatusBarHeight() toolbar!!.layoutParams = params @@ -279,13 +279,13 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView { private fun setColors(color: Int) { - val textColor = if (PreferenceUtil.getInstance().adaptiveColor) color else ThemeStore.accentColor(this) + val textColor = if (PreferenceUtil.getInstance(this).adaptiveColor) color else ThemeStore.accentColor(this) albumTitle.setTextColor(textColor) songTitle.setTextColor(textColor) biographyTitle.setTextColor(textColor) - val buttonColor = if (PreferenceUtil.getInstance().adaptiveColor) color + val buttonColor = if (PreferenceUtil.getInstance(this).adaptiveColor) color else ATHUtil.resolveColor(this, R.attr.cardBackgroundColor) MaterialUtil.setTint(button = shuffleAction, color = buttonColor) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/GenreDetailsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/GenreDetailsActivity.kt index 995c6f98e..0851a793b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/GenreDetailsActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/GenreDetailsActivity.kt @@ -65,7 +65,7 @@ class GenreDetailsActivity : AbsSlidingMusicPanelActivity(), CabHolder, GenreDet setUpToolBar() setupRecyclerView() - App.musicComponent.inject(this) + App.musicComponent?.inject(this) genreDetailsPresenter.attachView(this) } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt index ed2c4f1a3..23ef2c574 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/LyricsActivity.kt @@ -61,7 +61,7 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener, ViewPage } override fun onPageSelected(position: Int) { - PreferenceUtil.getInstance().lyricsOptions = position + PreferenceUtil.getInstance(this).lyricsOptions = position if (position == 0) fab.text = getString(R.string.synced_lyrics) else if (position == 1) fab.text = getString(R.string.lyrics) } @@ -110,7 +110,7 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener, ViewPage viewPager.apply { adapter = PagerAdapter(supportFragmentManager) - currentItem = PreferenceUtil.getInstance().lyricsOptions + currentItem = PreferenceUtil.getInstance(this@LyricsActivity).lyricsOptions addOnPageChangeListener(this@LyricsActivity) } @@ -234,7 +234,7 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener, ViewPage } override fun getPageTitle(position: Int): CharSequence? { - return App.context.getString(tabs[position].title) + return App.getContext().getString(tabs[position].title) } override fun getCount(): Int { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt index ed25ec1a0..660ff156a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt @@ -1,13 +1,11 @@ package code.name.monkey.retromusic.activities -import android.annotation.SuppressLint import android.content.* import android.content.pm.PackageManager import android.os.Bundle import android.provider.MediaStore import android.util.Log import android.view.View -import android.view.ViewGroup import androidx.core.app.ActivityCompat import androidx.fragment.app.Fragment import code.name.monkey.retromusic.R @@ -37,7 +35,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP override fun onReceive(context: Context, intent: Intent) { val action = intent.action if (action != null && action == Intent.ACTION_SCREEN_OFF) { - if (PreferenceUtil.getInstance().lockScreen && MusicPlayerRemote.isPlaying) { + if (PreferenceUtil.getInstance(this@MainActivity).lockScreen && MusicPlayerRemote.isPlaying) { val activity = Intent(context, LockScreenActivity::class.java) activity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) activity.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY) @@ -57,16 +55,16 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP setDrawUnderStatusBar() super.onCreate(savedInstanceState) - getBottomNavigationView().selectedItemId = PreferenceUtil.getInstance().lastPage + getBottomNavigationView().selectedItemId = PreferenceUtil.getInstance(this).lastPage getBottomNavigationView().setOnNavigationItemSelectedListener { - PreferenceUtil.getInstance().lastPage = it.itemId + PreferenceUtil.getInstance(this).lastPage = it.itemId selectedFragment(it.itemId) true } if (savedInstanceState == null) { - selectedFragment(PreferenceUtil.getInstance().lastPage) + selectedFragment(PreferenceUtil.getInstance(this).lastPage) } else { restoreCurrentFragment(); } @@ -82,7 +80,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP try { val pInfo = packageManager.getPackageInfo(packageName, 0) val currentVersion = pInfo.versionCode - if (currentVersion != PreferenceUtil.getInstance().lastChangelogVersion) { + if (currentVersion != PreferenceUtil.getInstance(this).lastChangelogVersion) { startActivityForResult(Intent(this, WhatsNewActivity::class.java), APP_INTRO_REQUEST) } } catch (e: PackageManager.NameNotFoundException) { @@ -97,7 +95,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP screenOnOff.addAction(Intent.ACTION_SCREEN_OFF) registerReceiver(broadcastReceiver, screenOnOff) - PreferenceUtil.getInstance().registerOnSharedPreferenceChangedListener(this) + PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this) if (intent.hasExtra("expand")) { if (intent.getBooleanExtra("expand", false)) { @@ -111,7 +109,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP super.onDestroy() disposable.clear() unregisterReceiver(broadcastReceiver) - PreferenceUtil.getInstance().unregisterOnSharedPreferenceChangedListener(this) + PreferenceUtil.getInstance(this).unregisterOnSharedPreferenceChangedListener(this) } private fun setCurrentFragment(fragment: Fragment, b: Boolean = false) { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/PlaylistDetailActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/PlaylistDetailActivity.kt index 67eeafa1c..0a28f42d0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/PlaylistDetailActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/PlaylistDetailActivity.kt @@ -64,7 +64,7 @@ class PlaylistDetailActivity : AbsSlidingMusicPanelActivity(), CabHolder, Playli finish() } - App.musicComponent.inject(this) + App.musicComponent?.inject(this) playlistSongsPresenter.attachView(this) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt index 525eb168a..eb9ac0be7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt @@ -74,7 +74,7 @@ class PurchaseActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler { } override fun onPurchaseHistoryRestored() { - if (App.isProVersion) { + if (App.isProVersion()) { Toast.makeText(this, R.string.restored_previous_purchase_please_restart, Toast.LENGTH_LONG).show() setResult(RESULT_OK) } else { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/SearchActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/SearchActivity.kt index 2f35e284a..cf35da351 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/SearchActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/SearchActivity.kt @@ -45,7 +45,7 @@ class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatch super.onCreate(savedInstanceState) setContentView(R.layout.activity_search) - App.musicComponent.inject(this) + App.musicComponent?.inject(this) searchPresenter.attachView(this) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/SettingsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/SettingsActivity.kt index 301a48d32..739ddf77f 100755 --- a/app/src/main/java/code/name/monkey/retromusic/activities/SettingsActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/SettingsActivity.kt @@ -8,7 +8,6 @@ import androidx.fragment.app.Fragment import androidx.transition.TransitionManager import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper -import code.name.monkey.retromusic.App.Companion.context import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.base.AbsBaseActivity import code.name.monkey.retromusic.fragments.settings.MainSettingsFragment @@ -41,7 +40,7 @@ class SettingsActivity : AbsBaseActivity(), SharedPreferences.OnSharedPreference setSupportActionBar(toolbar) setTitle(R.string.action_settings) toolbar.apply { - setTitleTextColor( ThemeStore.textColorPrimary(context)) + setTitleTextColor(ThemeStore.textColorPrimary(context)) setBackgroundColor(ThemeStore.primaryColor(context)) setNavigationOnClickListener { onBackPressed() } ToolbarContentTintHelper.colorBackButton(toolbar, ThemeStore.textColorSecondary(context)) @@ -87,12 +86,12 @@ class SettingsActivity : AbsBaseActivity(), SharedPreferences.OnSharedPreference public override fun onPause() { super.onPause() - PreferenceUtil.getInstance().unregisterOnSharedPreferenceChangedListener(this) + PreferenceUtil.getInstance(this).unregisterOnSharedPreferenceChangedListener(this) } public override fun onResume() { super.onResume() - PreferenceUtil.getInstance().registerOnSharedPreferenceChangedListener(this) + PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this) } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt index 5030e32d2..4c0a72349 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/UserInfoActivity.kt @@ -55,14 +55,14 @@ class UserInfoActivity : AbsBaseActivity() { MaterialUtil.setTint(nameContainer, false) MaterialUtil.setTint(bioContainer, false) - name.setText(PreferenceUtil.getInstance().userName) - bio.setText(PreferenceUtil.getInstance().userBio) + name.setText(PreferenceUtil.getInstance(this).userName) + bio.setText(PreferenceUtil.getInstance(this).userBio) - if (PreferenceUtil.getInstance().profileImage.isNotEmpty()) { - loadImageFromStorage(PreferenceUtil.getInstance().profileImage) + if (PreferenceUtil.getInstance(this).profileImage.isNotEmpty()) { + loadImageFromStorage(PreferenceUtil.getInstance(this).profileImage) } - if (PreferenceUtil.getInstance().bannerImage.isNotEmpty()) { - loadBannerFromStorage(PreferenceUtil.getInstance().bannerImage) + if (PreferenceUtil.getInstance(this).bannerImage.isNotEmpty()) { + loadBannerFromStorage(PreferenceUtil.getInstance(this).bannerImage) } userImage.setOnClickListener { MaterialDialog(this, BottomSheet()).show { @@ -70,7 +70,7 @@ class UserInfoActivity : AbsBaseActivity() { listItems(items = listOf(getString(R.string.new_profile_photo), getString(R.string.remove_profile_photo))) { _, position, _ -> when (position) { 0 -> pickNewPhoto() - 1 -> PreferenceUtil.getInstance().saveProfileImage("") + 1 -> PreferenceUtil.getInstance(this@UserInfoActivity).saveProfileImage("") } } } @@ -90,7 +90,7 @@ class UserInfoActivity : AbsBaseActivity() { return@setOnClickListener }*/ - PreferenceUtil.getInstance().userName = nameString + PreferenceUtil.getInstance(this).userName = nameString //PreferenceUtil.getInstance().userBio = bioString setResult(Activity.RESULT_OK) finish() @@ -122,7 +122,7 @@ class UserInfoActivity : AbsBaseActivity() { { _, position, _ -> when (position) { 0 -> selectBannerImage() - 1 -> PreferenceUtil.getInstance().setBannerImagePath("") + 1 -> PreferenceUtil.getInstance(this@UserInfoActivity).setBannerImagePath("") } } } @@ -130,7 +130,7 @@ class UserInfoActivity : AbsBaseActivity() { private fun selectBannerImage() { - if (TextUtils.isEmpty(PreferenceUtil.getInstance().bannerImage)) { + if (TextUtils.isEmpty(PreferenceUtil.getInstance(this).bannerImage)) { val pickImageIntent = Intent(Intent.ACTION_PICK, Media.EXTERNAL_CONTENT_URI) pickImageIntent.type = "image/*" //pickImageIntent.putExtra("crop", "true") @@ -142,7 +142,7 @@ class UserInfoActivity : AbsBaseActivity() { //intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(pickImageIntent, "Select Picture"), PICK_BANNER_REQUEST) } else { - PreferenceUtil.getInstance().setBannerImagePath("") + PreferenceUtil.getInstance(this).setBannerImagePath("") bannerImage.setImageResource(android.R.color.transparent) } } @@ -169,7 +169,7 @@ class UserInfoActivity : AbsBaseActivity() { data.data?.let { val bitmap = getResizedBitmap(getBitmap(contentResolver, it), PROFILE_ICON_SIZE) val profileImagePath = saveToInternalStorage(bitmap, USER_PROFILE) - PreferenceUtil.getInstance().saveProfileImage(profileImagePath) + PreferenceUtil.getInstance(this).saveProfileImage(profileImagePath) loadImageFromStorage(profileImagePath) } @@ -182,7 +182,7 @@ class UserInfoActivity : AbsBaseActivity() { data.data?.let { val bitmap = getBitmap(contentResolver, it) val profileImagePath = saveToInternalStorage(bitmap, USER_BANNER) - PreferenceUtil.getInstance().setBannerImagePath(profileImagePath) + PreferenceUtil.getInstance(this).setBannerImagePath(profileImagePath) loadBannerFromStorage(profileImagePath) } } catch (e: IOException) { @@ -199,7 +199,7 @@ class UserInfoActivity : AbsBaseActivity() { if (aUri == null) { return imagePath } - if (DocumentsContract.isDocumentUri(App.context, aUri)) { + if (DocumentsContract.isDocumentUri(App.getContext(), aUri)) { val documentId = DocumentsContract.getDocumentId(aUri) if ("com.android.providers.media.documents" == aUri.authority) { val id = documentId.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1] @@ -220,7 +220,7 @@ class UserInfoActivity : AbsBaseActivity() { private fun getImagePath(aUri: Uri, aSelection: String?): String? { var path: String? = null - val cursor = App.context.contentResolver.query(aUri, null, aSelection, null, null) + val cursor = App.getContext().contentResolver.query(aUri, null, aSelection, null, null) if (cursor != null) { if (cursor.moveToFirst()) { path = cursor.getString(cursor.getColumnIndex(Media.DATA)) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.java b/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.java index 114e538df..ff154927c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.java +++ b/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.java @@ -37,7 +37,7 @@ public class WhatsNewActivity extends AbsBaseActivity { try { PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); int currentVersion = pInfo.versionCode; - PreferenceUtil.getInstance().setLastChangeLogVersion(currentVersion); + PreferenceUtil.getInstance(context).setLastChangeLogVersion(currentVersion); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt index be972cc7c..17d18b8e3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt @@ -67,7 +67,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), Sliding override fun onResume() { super.onResume() - if (currentNowPlayingScreen != PreferenceUtil.getInstance().nowPlayingScreen) { + if (currentNowPlayingScreen != PreferenceUtil.getInstance(this).nowPlayingScreen) { postRecreate() } } @@ -181,7 +181,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), Sliding } private fun chooseFragmentForTheme() { - currentNowPlayingScreen = PreferenceUtil.getInstance().nowPlayingScreen + currentNowPlayingScreen = PreferenceUtil.getInstance(this).nowPlayingScreen val fragment: Fragment = when (currentNowPlayingScreen) { BLUR -> BlurPlayerFragment() @@ -262,7 +262,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), Sliding val isColorLight = ColorUtil.isColorLight(paletteColor) - if (PreferenceUtil.getInstance().adaptiveColor && + if (PreferenceUtil.getInstance(this).adaptiveColor && (currentNowPlayingScreen == NORMAL || currentNowPlayingScreen == FLAT)) { super.setLightNavigationBar(true) super.setLightStatusbar(isColorLight) @@ -314,7 +314,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), Sliding private fun updateTabs() { bottomNavigationView.menu.clear() - val currentTabs = PreferenceUtil.getInstance().libraryCategoryInfos + val currentTabs = PreferenceUtil.getInstance(this).libraryCategoryInfos for (tab in currentTabs) { if (tab.visible) { val menu = tab.category; diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt index 006e42146..333198a99 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt @@ -25,7 +25,7 @@ abstract class AbsThemeActivity : ATHActivity(), Runnable { private val handler = Handler() override fun onCreate(savedInstanceState: Bundle?) { - setTheme(PreferenceUtil.getInstance().generalTheme) + setTheme(PreferenceUtil.getInstance(this).generalTheme) hideStatusBar() super.onCreate(savedInstanceState) //MaterialDialogsUtil.updateMaterialDialogsThemeSingleton(this) @@ -37,7 +37,7 @@ abstract class AbsThemeActivity : ATHActivity(), Runnable { } private fun toggleScreenOn() { - if (PreferenceUtil.getInstance().isScreenOnEnabled) { + if (PreferenceUtil.getInstance(this).isScreenOnEnabled) { window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } else { window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) @@ -56,7 +56,7 @@ abstract class AbsThemeActivity : ATHActivity(), Runnable { } fun hideStatusBar() { - hideStatusBar(PreferenceUtil.getInstance().fullScreenMode) + hideStatusBar(PreferenceUtil.getInstance(this).fullScreenMode) } private fun hideStatusBar(fullscreen: Boolean) { @@ -68,7 +68,7 @@ abstract class AbsThemeActivity : ATHActivity(), Runnable { private fun changeBackgroundShape() { - var background: Drawable? = if (PreferenceUtil.getInstance().isRoundCorners) + var background: Drawable? = if (PreferenceUtil.getInstance(this).isRoundCorners) ContextCompat.getDrawable(this, R.drawable.round_window) else ContextCompat.getDrawable(this, R.drawable.square_window) @@ -168,7 +168,7 @@ abstract class AbsThemeActivity : ATHActivity(), Runnable { or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) - if (PreferenceUtil.getInstance().fullScreenMode) { + if (PreferenceUtil.getInstance(this).fullScreenMode) { window.decorView.systemUiVisibility = flags } } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/model/DeviceInfo.java b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/model/DeviceInfo.java index dd5d54633..ec6c4a7a5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/model/DeviceInfo.java +++ b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/model/DeviceInfo.java @@ -54,9 +54,9 @@ public class DeviceInfo { versionCode = -1; versionName = null; } - baseTheme = PreferenceUtil.getInstance().getBaseTheme(); - nowPlayingTheme = context.getString(PreferenceUtil.getInstance().getNowPlayingScreen().getTitleRes()); - isAdaptive = PreferenceUtil.getInstance().getAdaptiveColor(); + baseTheme = PreferenceUtil.getInstance(context).getBaseTheme(); + nowPlayingTheme = context.getString(PreferenceUtil.getInstance(context).getNowPlayingScreen().getTitleRes()); + isAdaptive = PreferenceUtil.getInstance(context).getAdaptiveColor(); } public String toMarkdown() { diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt index 657e241e4..eb2ec84fa 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt @@ -12,10 +12,28 @@ import code.name.monkey.retromusic.model.Contributor import code.name.monkey.retromusic.util.RetroUtil.openUrl import code.name.monkey.retromusic.views.CircularImageView -class ContributorAdapter(private var contributors: List) : RecyclerView.Adapter() { +class ContributorAdapter( + private var contributors: List +) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_contributor, parent, false)) + return if (viewType == HEADER) { + ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_contributor_header, parent, false)) + } else + ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_contributor, parent, false)) + } + + companion object { + const val HEADER: Int = 0 + const val ITEM: Int = 1 + } + + override fun getItemViewType(position: Int): Int { + return if (position == 0) { + HEADER + } else { + ITEM + } } override fun onBindViewHolder(holder: ViewHolder, position: Int) { diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/GenreAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/GenreAdapter.kt index e4d6febbc..8ea1cf207 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/GenreAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/GenreAdapter.kt @@ -15,7 +15,11 @@ import java.util.* * @author Hemanth S (h4h13). */ -class GenreAdapter(private val mActivity: Activity, dataSet: ArrayList, private val mItemLayoutRes: Int) : RecyclerView.Adapter() { +class GenreAdapter( + private val mActivity: Activity, + dataSet: ArrayList, + private val mItemLayoutRes: Int +) : RecyclerView.Adapter() { var dataSet = ArrayList() private set diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt index 9da4a7ea2..b6eb3800c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt @@ -8,7 +8,6 @@ import android.view.ViewGroup import androidx.annotation.IntDef import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.retromusic.R @@ -16,13 +15,19 @@ import code.name.monkey.retromusic.adapter.album.AlbumFullWidthAdapter import code.name.monkey.retromusic.adapter.artist.ArtistAdapter import code.name.monkey.retromusic.adapter.song.SongAdapter import code.name.monkey.retromusic.loaders.PlaylistSongsLoader -import code.name.monkey.retromusic.model.* +import code.name.monkey.retromusic.model.Album +import code.name.monkey.retromusic.model.Artist +import code.name.monkey.retromusic.model.Home +import code.name.monkey.retromusic.model.Playlist import code.name.monkey.retromusic.util.PreferenceUtil import com.google.android.material.chip.Chip -class HomeAdapter(private val activity: AppCompatActivity, private var homes: List, private val displayMetrics: DisplayMetrics) : RecyclerView.Adapter() { - +class HomeAdapter( + private val activity: AppCompatActivity, + private var homes: List, + private val displayMetrics: DisplayMetrics +) : RecyclerView.Adapter() { override fun getItemViewType(position: Int): Int { return homes[position].homeSection @@ -96,13 +101,14 @@ class HomeAdapter(private val activity: AppCompatActivity, private var homes: Li fun bindView(home: Home) { recyclerView.apply { layoutManager = GridLayoutManager(activity, 1, GridLayoutManager.HORIZONTAL, false) - val artistAdapter = ArtistAdapter(activity, home.arrayList as ArrayList, PreferenceUtil.getInstance().getHomeGridStyle(context!!), false, null) + val artistAdapter = ArtistAdapter(activity, home.arrayList as ArrayList, PreferenceUtil.getInstance(activity).getHomeGridStyle(context!!), false, null) adapter = artistAdapter } chip.text = activity.getString(home.title) chip.setChipIconResource(home.icon) } } + private inner class PlaylistViewHolder(view: View) : AbsHomeViewItem(view) { fun bindView(home: Home) { val songs = PlaylistSongsLoader.getPlaylistSongList(activity, home.arrayList[0] as Playlist) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt index b359575d4..0d3e12be2 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt @@ -8,6 +8,7 @@ import androidx.core.util.Pair import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.retromusic.R +import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder import code.name.monkey.retromusic.glide.GlideApp import code.name.monkey.retromusic.glide.RetroGlideExtension import code.name.monkey.retromusic.helper.MusicPlayerRemote @@ -15,13 +16,15 @@ import code.name.monkey.retromusic.helper.menu.SongMenuHelper import code.name.monkey.retromusic.model.Album import code.name.monkey.retromusic.model.Artist import code.name.monkey.retromusic.model.Song -import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.NavigationUtil import java.util.* -class SearchAdapter(private val activity: AppCompatActivity, private var dataSet: List?) : RecyclerView.Adapter() { +class SearchAdapter( + private val activity: AppCompatActivity, + private var dataSet: List? +) : RecyclerView.Adapter() { fun swapDataSet(dataSet: MutableList) { this.dataSet = dataSet diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt index 3d2db5cc9..6576b058b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt @@ -31,7 +31,8 @@ class SongFileAdapter( private var dataSet: List?, private val itemLayoutRes: Int, private val callbacks: Callbacks?, - cabHolder: CabHolder?) : AbsMultiSelectAdapter(activity, cabHolder, R.menu.menu_media_selection), FastScrollRecyclerView.SectionedAdapter { + cabHolder: CabHolder? +) : AbsMultiSelectAdapter(activity, cabHolder, R.menu.menu_media_selection), FastScrollRecyclerView.SectionedAdapter { init { this.setHasStableIds(true) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt index 46617d3aa..e1ccba4da 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt @@ -166,7 +166,7 @@ open class AlbumAdapter(protected val activity: AppCompatActivity, override fun getSectionName(position: Int): String { var sectionName: String? = null - when (PreferenceUtil.getInstance().albumSortOrder) { + when (PreferenceUtil.getInstance(activity).albumSortOrder) { SortOrder.AlbumSortOrder.ALBUM_A_Z, SortOrder.AlbumSortOrder.ALBUM_Z_A -> sectionName = dataSet[position].title SortOrder.AlbumSortOrder.ALBUM_ARTIST -> sectionName = dataSet[position].artistName SortOrder.AlbumSortOrder.ALBUM_YEAR -> return MusicUtil.getYearString(dataSet[position].year) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt index a7e996357..93d038b32 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt @@ -71,7 +71,7 @@ class AlbumCoverPagerAdapter(fm: FragmentManager, private val dataSet: ArrayList private val layout: Int get() { - return when (PreferenceUtil.getInstance().albumCoverStyle) { + return when (PreferenceUtil.getInstance(activity).albumCoverStyle) { AlbumCoverStyle.NORMAL -> R.layout.fragment_album_cover AlbumCoverStyle.FLAT -> R.layout.fragment_album_flat_cover AlbumCoverStyle.CIRCLE -> R.layout.fragment_album_circle_cover @@ -92,8 +92,8 @@ class AlbumCoverPagerAdapter(fm: FragmentManager, private val dataSet: ArrayList override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val finalLayout = when { - PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.CLASSIC -> R.layout.fragment_album_full_cover - PreferenceUtil.getInstance().carouselEffect() -> R.layout.fragment_album_carousel_cover + PreferenceUtil.getInstance(activity).nowPlayingScreen == NowPlayingScreen.CLASSIC -> R.layout.fragment_album_full_cover + PreferenceUtil.getInstance(activity).carouselEffect() -> R.layout.fragment_album_carousel_cover else -> layout } val view = inflater.inflate(finalLayout, container, false) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt index 2b1eafce1..8b39ca1f8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt @@ -150,7 +150,7 @@ open class SongAdapter @JvmOverloads constructor(protected val activity: AppComp if (!showSectionName) { return "" } - val sectionName: String? = when (PreferenceUtil.getInstance().songSortOrder) { + val sectionName: String? = when (PreferenceUtil.getInstance(activity).songSortOrder) { SortOrder.SongSortOrder.SONG_A_Z, SortOrder.SongSortOrder.SONG_Z_A -> dataSet[position].title SortOrder.SongSortOrder.SONG_ALBUM -> dataSet[position].albumName SortOrder.SongSortOrder.SONG_ARTIST -> dataSet[position].artistName diff --git a/app/src/main/java/code/name/monkey/retromusic/appshortcuts/AppShortcutIconGenerator.kt b/app/src/main/java/code/name/monkey/retromusic/appshortcuts/AppShortcutIconGenerator.kt index c467858f0..5660d5853 100644 --- a/app/src/main/java/code/name/monkey/retromusic/appshortcuts/AppShortcutIconGenerator.kt +++ b/app/src/main/java/code/name/monkey/retromusic/appshortcuts/AppShortcutIconGenerator.kt @@ -32,7 +32,7 @@ import code.name.monkey.retromusic.util.RetroUtil @RequiresApi(Build.VERSION_CODES.N_MR1) object AppShortcutIconGenerator { fun generateThemedIcon(context: Context, iconId: Int): Icon { - return if (PreferenceUtil.getInstance().coloredAppShortcuts()) { + return if (PreferenceUtil.getInstance(context).coloredAppShortcuts()) { generateUserThemedIcon(context, iconId) } else { generateDefaultThemedIcon(context, iconId) diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetText.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetText.kt index 73fc3b345..251bcb15e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetText.kt +++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetText.kt @@ -22,7 +22,7 @@ import android.text.TextUtils import android.view.View import android.widget.RemoteViews import androidx.core.content.ContextCompat -import code.name.monkey.retromusic.App.Companion.context +import code.name.monkey.retromusic.App import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.MainActivity import code.name.monkey.retromusic.appwidgets.base.BaseAppWidget @@ -95,9 +95,9 @@ class AppWidgetText : BaseAppWidget() { R.drawable.ic_pause_white_24dp else R.drawable.ic_play_arrow_white_32dp - appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(RetroUtil.getTintedVectorDrawable(context, playPauseRes, ContextCompat.getColor(context, R.color.md_white_1000))!!, 1f)) - appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, ContextCompat.getColor(context, R.color.md_white_1000))!!, 1f)) - appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, ContextCompat.getColor(context, R.color.md_white_1000))!!, 1f)) + appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, createBitmap(RetroUtil.getTintedVectorDrawable(App.getContext(), playPauseRes, ContextCompat.getColor(App.getContext(), R.color.md_white_1000))!!, 1f)) + appWidgetView.setImageViewBitmap(R.id.button_next, createBitmap(RetroUtil.getTintedVectorDrawable(App.getContext(), R.drawable.ic_skip_next_white_24dp, ContextCompat.getColor(App.getContext(), R.color.md_white_1000))!!, 1f)) + appWidgetView.setImageViewBitmap(R.id.button_prev, createBitmap(RetroUtil.getTintedVectorDrawable(App.getContext(), R.drawable.ic_skip_previous_white_24dp, ContextCompat.getColor(App.getContext(), R.color.md_white_1000))!!, 1f)) diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt index 53fd79e91..a810e2cdf 100644 --- a/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt +++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt @@ -97,7 +97,7 @@ abstract class BaseAppWidget : AppWidgetProvider() { protected fun getAlbumArtDrawable(resources: Resources, bitmap: Bitmap?): Drawable { return if (bitmap == null) { - ContextCompat.getDrawable(App.context, R.drawable.default_album_art)!! + ContextCompat.getDrawable(App.getContext(), R.drawable.default_album_art)!! } else { BitmapDrawable(resources, bitmap) } diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt index ad5acafa1..84f801ff5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/OptionsSheetDialogFragment.kt @@ -34,7 +34,7 @@ class OptionsSheetDialogFragment : DialogFragment(), View.OnClickListener { val mainActivity = activity as MainActivity? ?: return when (view.id) { R.id.actionFolders -> mainActivity.selectedFragment(R.id.action_folder) - R.id.actionLibrary -> mainActivity.selectedFragment(PreferenceUtil.getInstance().lastPage) + R.id.actionLibrary -> mainActivity.selectedFragment(PreferenceUtil.getInstance(requireContext()).lastPage) R.id.actionSettings -> NavigationUtil.goToSettings(mainActivity) R.id.actionRate -> NavigationUtil.goToPlayStore(mainActivity) } diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt index c3121071b..d1ba375ba 100755 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt @@ -60,14 +60,14 @@ class SleepTimerDialog : DialogFragment() { materialDialog = MaterialDialog(activity!!, BottomSheet()) .title(R.string.action_sleep_timer) .positiveButton(R.string.action_set) { - PreferenceUtil.getInstance().sleepTimerFinishMusic = shouldFinishLastSong.isChecked + PreferenceUtil.getInstance(requireContext()).sleepTimerFinishMusic = shouldFinishLastSong.isChecked val minutes = seekArcProgress val pi = makeTimerPendingIntent(PendingIntent.FLAG_CANCEL_CURRENT) val nextSleepTimerElapsedTime = SystemClock.elapsedRealtime() + minutes * 60 * 1000 - PreferenceUtil.getInstance().setNextSleepTimerElapsedRealtime(nextSleepTimerElapsedTime) + PreferenceUtil.getInstance(requireContext()).setNextSleepTimerElapsedRealtime(nextSleepTimerElapsedTime) val am = activity!!.getSystemService(Context.ALARM_SERVICE) as AlarmManager am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi) @@ -109,11 +109,11 @@ class SleepTimerDialog : DialogFragment() { timerDisplay = materialDialog.getCustomView().findViewById(R.id.timerDisplay) - val finishMusic = PreferenceUtil.getInstance().sleepTimerFinishMusic + val finishMusic = PreferenceUtil.getInstance(requireContext()).sleepTimerFinishMusic shouldFinishLastSong.isChecked = finishMusic - seekArcProgress = PreferenceUtil.getInstance().lastSleepTimerValue + seekArcProgress = PreferenceUtil.getInstance(requireContext()).lastSleepTimerValue updateTimeDisplayTime() seekBar.progress = seekArcProgress @@ -134,7 +134,7 @@ class SleepTimerDialog : DialogFragment() { } override fun onStopTrackingTouch(seekBar: SeekBar) { - PreferenceUtil.getInstance().lastSleepTimerValue = seekArcProgress + PreferenceUtil.getInstance(requireContext()).lastSleepTimerValue = seekArcProgress } }) @@ -167,7 +167,7 @@ class SleepTimerDialog : DialogFragment() { } } - private inner class TimerUpdater internal constructor() : CountDownTimer(PreferenceUtil.getInstance().nextSleepTimerElapsedRealTime - SystemClock.elapsedRealtime(), 1000) { + private inner class TimerUpdater internal constructor() : CountDownTimer(PreferenceUtil.getInstance(requireContext()).nextSleepTimerElapsedRealTime - SystemClock.elapsedRealtime(), 1000) { override fun onTick(millisUntilFinished: Long) { materialDialog.getActionButton(WhichButton.NEGATIVE).text = diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/MiniPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/MiniPlayerFragment.kt index af98f3f2b..0bd4ef02b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/MiniPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/MiniPlayerFragment.kt @@ -61,9 +61,9 @@ open class MiniPlayerFragment : AbsMusicServiceFragment(), MusicProgressViewUpda actionPrevious.visibility = View.VISIBLE actionPlayingQueue.visibility = View.VISIBLE } else { - actionNext.visibility = if (PreferenceUtil.getInstance().isExtraMiniExtraControls) View.VISIBLE else View.GONE - actionPlayingQueue.visibility = if (PreferenceUtil.getInstance().isExtraMiniExtraControls) View.GONE else View.VISIBLE - actionPrevious.visibility = if (PreferenceUtil.getInstance().isExtraMiniExtraControls) View.VISIBLE else View.GONE + actionNext.visibility = if (PreferenceUtil.getInstance(requireContext()).isExtraMiniExtraControls) View.VISIBLE else View.GONE + actionPlayingQueue.visibility = if (PreferenceUtil.getInstance(requireContext()).isExtraMiniExtraControls) View.GONE else View.VISIBLE + actionPrevious.visibility = if (PreferenceUtil.getInstance(requireContext()).isExtraMiniExtraControls) View.VISIBLE else View.GONE } actionPlayingQueue.setOnClickListener(this) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/VolumeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/VolumeFragment.kt index 69674fae0..067e79c2a 100755 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/VolumeFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/VolumeFragment.kt @@ -118,7 +118,7 @@ class VolumeFragment : Fragment(), SeekBar.OnSeekBarChangeListener, OnAudioVolum } private fun setPauseWhenZeroVolume(pauseWhenZeroVolume: Boolean) { - if (PreferenceUtil.getInstance().pauseOnZeroVolume()) + if (PreferenceUtil.getInstance(requireContext()).pauseOnZeroVolume()) if (MusicPlayerRemote.isPlaying && pauseWhenZeroVolume) { MusicPlayerRemote.pauseSong() } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt index b89f73c84..bbc79bfe7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt @@ -61,7 +61,7 @@ abstract class AbsPlayerControlsFragment : AbsMusicServiceFragment(), MusicProgr protected var volumeFragment: VolumeFragment? = null private fun hideVolumeIfAvailable() { - if (PreferenceUtil.getInstance().volumeToggle) { + if (PreferenceUtil.getInstance(requireContext()).volumeToggle) { requireFragmentManager().beginTransaction().replace(R.id.volumeFragmentContainer, VolumeFragment()).commit() requireFragmentManager().executePendingTransactions() volumeFragment = requireFragmentManager().findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment? diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt index 90d2a7f4b..e78329fed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt @@ -248,7 +248,7 @@ abstract class AbsPlayerFragment : AbsMusicServiceFragment(), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) view.setBackgroundColor(ThemeStore.primaryColor(requireActivity())) - if (PreferenceUtil.getInstance().fullScreenMode && + if (PreferenceUtil.getInstance(requireContext()).fullScreenMode && view.findViewById(R.id.status_bar) != null) { view.findViewById(R.id.status_bar).visibility = View.GONE } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt index 69753814c..ee4fc1d1a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt @@ -31,14 +31,14 @@ open class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment) { - adapter!!.swapDataSet(list) + override fun playlists(playlists: ArrayList) { + adapter!!.swapDataSet(playlists) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/SongsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/SongsFragment.kt index d06b73faf..3ed294fa8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/SongsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/SongsFragment.kt @@ -25,7 +25,7 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment bannerImage.setImageBitmap(bitmap) }) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt index 072707c36..8bfa8a6f7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt @@ -48,17 +48,17 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan viewPager.addOnPageChangeListener(this) //noinspection ConstantConditions - if (PreferenceUtil.getInstance().carouselEffect() && - !((PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FULL) || - (PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.ADAPTIVE) - || (PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FIT))) { + if (PreferenceUtil.getInstance(requireContext()).carouselEffect() && + !((PreferenceUtil.getInstance(requireContext()).nowPlayingScreen == NowPlayingScreen.FULL) || + (PreferenceUtil.getInstance(requireContext()).nowPlayingScreen == NowPlayingScreen.ADAPTIVE) + || (PreferenceUtil.getInstance(requireContext()).nowPlayingScreen == NowPlayingScreen.FIT))) { viewPager.clipToPadding = false viewPager.setPadding(40, 40, 40, 0) viewPager.pageMargin = 0 viewPager.setPageTransformer(false, CarousalPagerTransformer(requireContext())) } else { viewPager.offscreenPageLimit = 2 - viewPager.setPageTransformer(true, PreferenceUtil.getInstance().albumCoverTransform) + viewPager.setPageTransformer(true, PreferenceUtil.getInstance(requireContext()).albumCoverTransform) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt index efa306d1d..d68cb7e5f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt @@ -98,7 +98,7 @@ class AdaptivePlaybackControlsFragment : AbsPlayerControlsFragment() { updatePrevNextColor() updatePlayPauseColor() - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt index 923cef51f..3132362d3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt @@ -125,7 +125,7 @@ class CardPlaybackControlsFragment : AbsPlayerControlsFragment() { updateProgressTextColor() - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!).ripAlpha() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt index 8c42f337f..9f899b7ab 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt @@ -110,7 +110,7 @@ class FitPlaybackControlsFragment : AbsPlayerControlsFragment() { lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(activity, false) } - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!).ripAlpha() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt index 3c56b1d54..61783828f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt @@ -100,7 +100,7 @@ class FlatPlaybackControlsFragment : AbsPlayerControlsFragment(), Callback { lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(activity, false) } - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!).ripAlpha() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt index 0e60378e2..7371d6761 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt @@ -89,7 +89,7 @@ class FlatPlayerFragment : AbsPlayerFragment() { override fun toolbarIconColor(): Int { val isLight = ColorUtil.isColorLight(paletteColor) - return if (PreferenceUtil.getInstance().adaptiveColor) + return if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) MaterialValueHelper.getPrimaryTextColor(context, isLight) else ATHUtil.resolveColor(context, R.attr.iconColor) @@ -103,12 +103,12 @@ class FlatPlayerFragment : AbsPlayerFragment() { val isLight = ColorUtil.isColorLight(color) //TransitionManager.beginDelayedTransition(mToolbar); - val iconColor = if (PreferenceUtil.getInstance().adaptiveColor) + val iconColor = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) MaterialValueHelper.getPrimaryTextColor(context!!, isLight) else ATHUtil.resolveColor(context!!, R.attr.iconColor) ToolbarContentTintHelper.colorizeToolbar(playerToolbar, iconColor, activity) - if (PreferenceUtil.getInstance().adaptiveColor) { + if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { colorize(color) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt index 46e00d13f..5492f4b53 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt @@ -109,7 +109,7 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment(), PopupMenu.OnMe lastPlaybackControlsColor = Color.WHITE lastDisabledPlaybackControlsColor = ContextCompat.getColor(context!!, R.color.md_grey_500) - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!).ripAlpha() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt index 7e01865ce..19a2cd977 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenPlayerControlsFragment.kt @@ -120,7 +120,7 @@ class LockScreenPlayerControlsFragment : AbsPlayerControlsFragment() { lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(requireContext(), false) } - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.textColorSecondary(requireContext()) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt index 21e7f95a7..eb889b6e7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt @@ -112,7 +112,7 @@ class MaterialControlsFragment : AbsPlayerControlsFragment() { updateRepeatState() updateShuffleState() - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { lastPlaybackControlsColor = color color } else { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt index 7715ab099..4bac8e84c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt @@ -69,7 +69,7 @@ class PlayerFragment : AbsPlayerFragment() { ToolbarContentTintHelper.colorizeToolbar(playerToolbar, ATHUtil.resolveColor(context, R.attr.iconColor), activity) - if (PreferenceUtil.getInstance().adaptiveColor) { + if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { colorize(color) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt index 88f2d75d4..0c426bc5c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt @@ -69,7 +69,7 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment() { lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(requireContext(), false) } - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(requireContext()) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt index 3bcfd0030..a083153b1 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt @@ -129,7 +129,7 @@ class PlainPlaybackControlsFragment : AbsPlayerControlsFragment() { lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(context!!, false) } - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt index ced7c6f07..00abf55eb 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt @@ -187,7 +187,7 @@ class SimplePlaybackControlsFragment : AbsPlayerControlsFragment() { lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(context!!, false) } - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(context!!) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt index 432f90f89..bb78b82bc 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt @@ -71,7 +71,7 @@ class TinyPlayerFragment : AbsPlayerFragment(), MusicProgressViewUpdateHelper.Ca override fun onColorChanged(color: Int) { - val colorFinal = if (PreferenceUtil.getInstance().adaptiveColor) { + val colorFinal = if (PreferenceUtil.getInstance(requireContext()).adaptiveColor) { color } else { ThemeStore.accentColor(requireContext()) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AudioSettings.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AudioSettings.kt index a947409ce..43a4245de 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AudioSettings.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AudioSettings.kt @@ -29,7 +29,7 @@ import code.name.monkey.retromusic.util.PreferenceUtil class AudioSettings : AbsSettingsFragment() { override fun invalidateSettings() { val findPreference: Preference = findPreference("equalizer")!! - if (!hasEqualizer() && PreferenceUtil.getInstance().selectedEqualizer != "retro") { + if (!hasEqualizer() && PreferenceUtil.getInstance(requireContext()).selectedEqualizer != "retro") { findPreference.isEnabled = false findPreference.summary = resources.getString(R.string.no_equalizer) } else { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt index 890a86810..ebf5d8333 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt @@ -66,7 +66,7 @@ class MainSettingsFragment : Fragment(), View.OnClickListener { aboutSettings.setOnClickListener(this) buyProContainer.apply { - if (!App.isProVersion) show() else hide() + if (!App.isProVersion()) show() else hide() setOnClickListener { NavigationUtil.goToProVersion(context) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt index 866b26f07..6d6bf422c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt @@ -34,10 +34,10 @@ class NotificationSettingsFragment : AbsSettingsFragment() { classicNotification?.isVisible = false } else { classicNotification?.apply { - isChecked = PreferenceUtil.getInstance().classicNotification() + isChecked = PreferenceUtil.getInstance(requireContext()).classicNotification() setOnPreferenceChangeListener { _, newValue -> // Save preference - PreferenceUtil.getInstance().setClassicNotification(newValue as Boolean) + PreferenceUtil.getInstance(requireContext()).setClassicNotification(newValue as Boolean) invalidateSettings() true } @@ -46,12 +46,12 @@ class NotificationSettingsFragment : AbsSettingsFragment() { val coloredNotification: TwoStatePreference? = findPreference("colored_notification") if (VERSION.SDK_INT >= VERSION_CODES.O) { - coloredNotification?.isEnabled = PreferenceUtil.getInstance().classicNotification() + coloredNotification?.isEnabled = PreferenceUtil.getInstance(requireContext()).classicNotification() } else { coloredNotification?.apply { - isChecked = PreferenceUtil.getInstance().coloredNotification() + isChecked = PreferenceUtil.getInstance(requireContext()).coloredNotification() setOnPreferenceChangeListener { _, newValue -> - PreferenceUtil.getInstance().setColoredNotification(newValue as Boolean) + PreferenceUtil.getInstance(requireContext()).setColoredNotification(newValue as Boolean) true } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NowPlayingSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NowPlayingSettingsFragment.kt index 492f2d97a..b596729be 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NowPlayingSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NowPlayingSettingsFragment.kt @@ -35,7 +35,7 @@ class NowPlayingSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh val carouselEffect: TwoStatePreference = findPreference("carousel_effect")!! carouselEffect.setOnPreferenceChangeListener { _, newValue -> - if (newValue as Boolean && !App.isProVersion) { + if (newValue as Boolean && !App.isProVersion()) { showProToastAndNavigate(activity!!.getString(R.string.pref_title_toggle_carousel_effect)) return@setOnPreferenceChangeListener false } @@ -49,24 +49,24 @@ class NowPlayingSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh private fun updateAlbumCoverStyleSummary() { val preference: Preference = findPreference(ALBUM_COVER_STYLE)!! - preference.setSummary(getInstance().albumCoverStyle.titleRes) + preference.setSummary(getInstance(requireContext()).albumCoverStyle.titleRes) } private fun updateNowPlayingScreenSummary() { val preference: Preference = findPreference(NOW_PLAYING_SCREEN_ID)!! - preference.setSummary(getInstance().nowPlayingScreen.titleRes) + preference.setSummary(getInstance(requireContext()).nowPlayingScreen.titleRes) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - getInstance().registerOnSharedPreferenceChangedListener(this) + getInstance(requireContext()).registerOnSharedPreferenceChangedListener(this) val preference: Preference = findPreference("album_cover_transform")!! setSummary(preference) } override fun onDestroyView() { super.onDestroyView() - getInstance().unregisterOnSharedPreferenceChangedListener(this) + getInstance(requireContext()).unregisterOnSharedPreferenceChangedListener(this) } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/PersonaizeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/PersonaizeSettingsFragment.kt index ee8a997fe..5534b0bd3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/PersonaizeSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/PersonaizeSettingsFragment.kt @@ -29,7 +29,7 @@ class PersonaizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh override fun invalidateSettings() { val cornerWindow: TwoStatePreference = findPreference("corner_window")!! cornerWindow.setOnPreferenceChangeListener { _, newValue -> - if (newValue as Boolean && !App.isProVersion) { + if (newValue as Boolean && !App.isProVersion()) { showProToastAndNavigate(activity!!.getString(R.string.pref_title_round_corners)) return@setOnPreferenceChangeListener false } @@ -51,7 +51,7 @@ class PersonaizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - PreferenceUtil.getInstance().registerOnSharedPreferenceChangedListener(this) + PreferenceUtil.getInstance(requireContext()).registerOnSharedPreferenceChangedListener(this) var preference: Preference? = findPreference("album_grid_style") setSummary(preference!!) @@ -65,7 +65,7 @@ class PersonaizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh override fun onDestroyView() { super.onDestroyView() - PreferenceUtil.getInstance().unregisterOnSharedPreferenceChangedListener(this) + PreferenceUtil.getInstance(requireContext()).unregisterOnSharedPreferenceChangedListener(this) } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt index 411aef0b1..10e031605 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt @@ -54,14 +54,7 @@ class ThemeSettingsFragment : AbsSettingsFragment() { setSummary(it) it.setOnPreferenceChangeListener { _, newValue -> val theme = newValue as String - println(newValue) - if (theme == "color" && !App.isProVersion) { - showProToastAndNavigate("Color theme") - return@setOnPreferenceChangeListener false - } - setSummary(generalTheme, newValue) - val color = when (theme) { "light" -> Color.WHITE "black" -> Color.BLACK @@ -107,10 +100,10 @@ class ThemeSettingsFragment : AbsSettingsFragment() { if (!VersionUtils.hasNougatMR()) { colorAppShortcuts.isVisible = false } else { - colorAppShortcuts.isChecked = PreferenceUtil.getInstance().coloredAppShortcuts() + colorAppShortcuts.isChecked = PreferenceUtil.getInstance(requireContext()).coloredAppShortcuts() colorAppShortcuts.setOnPreferenceChangeListener { _, newValue -> // Save preference - PreferenceUtil.getInstance().setColoredAppShortcuts(newValue as Boolean) + PreferenceUtil.getInstance(requireContext()).setColoredAppShortcuts(newValue as Boolean) DynamicShortcutManager(requireContext()).updateDynamicShortcuts() true } 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 5cb16ef25..86b2108c7 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 @@ -103,7 +103,7 @@ public final class RetroGlideExtension { @NonNull public static Object getSongModel(@NonNull Song song) { - return getSongModel(song, PreferenceUtil.getInstance().ignoreMediaStoreArtwork()); + return getSongModel(song, PreferenceUtil.getInstance(App.Companion.getContext()).ignoreMediaStoreArtwork()); } @NonNull diff --git a/app/src/main/java/code/name/monkey/retromusic/glide/RetroMusicColoredTarget.kt b/app/src/main/java/code/name/monkey/retromusic/glide/RetroMusicColoredTarget.kt index ec49787fa..e9226e330 100644 --- a/app/src/main/java/code/name/monkey/retromusic/glide/RetroMusicColoredTarget.kt +++ b/app/src/main/java/code/name/monkey/retromusic/glide/RetroMusicColoredTarget.kt @@ -45,7 +45,7 @@ abstract class RetroMusicColoredTarget(view: ImageView) : BitmapPaletteTarget(vi val defaultColor = defaultFooterColor - onColorReady(if (PreferenceUtil.getInstance().isDominantColor) + onColorReady(if (PreferenceUtil.getInstance(getView().context).isDominantColor) getDominantColor(resource.bitmap, defaultColor) else getColor(resource.palette, defaultColor)) diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt b/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt index c9439c94a..67b387561 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt @@ -45,7 +45,7 @@ class TopExceptionHandler() : Thread.UncaughtExceptionHandler { } } report += "-------------------------------\n\n" - ActivityCompat.startActivity(App.context, Intent(App.context, ErrorHandlerActivity::class.java) + ActivityCompat.startActivity(App.getContext(), Intent(App.getContext(), ErrorHandlerActivity::class.java) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) .putExtra("error", report), null) defaultUEH.uncaughtException(t, e) 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 a2ea4e1c3..cfabadadc 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 @@ -209,7 +209,7 @@ object MusicPlayerRemote { fun openQueue(queue: ArrayList, startPosition: Int, startPlaying: Boolean) { if (!tryToHandleOpenPlayingQueue(queue, startPosition, startPlaying) && musicService != null) { musicService!!.openQueue(queue, startPosition, startPlaying) - if (PreferenceUtil.getInstance().isShuffleModeOn) + if (PreferenceUtil.getInstance(musicService).isShuffleModeOn) setShuffleMode(MusicService.SHUFFLE_MODE_NONE) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/menu/PlaylistMenuHelper.kt b/app/src/main/java/code/name/monkey/retromusic/helper/menu/PlaylistMenuHelper.kt index c776d8373..082500dcc 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/menu/PlaylistMenuHelper.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/menu/PlaylistMenuHelper.kt @@ -87,8 +87,8 @@ object PlaylistMenuHelper { private class SavePlaylistAsyncTask internal constructor(context: Context) : WeakContextAsyncTask(context) { override fun doInBackground(vararg params: Playlist): String { - return String.format(App.instance.applicationContext.getString(R.string - .saved_playlist_to), PlaylistsUtil.savePlaylist(App.instance.applicationContext, params[0])) + return String.format(App.getContext().getString(R.string + .saved_playlist_to), PlaylistsUtil.savePlaylist(App.getContext(), params[0])) } override fun onPostExecute(string: String) { 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 db1f770d9..68396d54e 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 @@ -35,7 +35,7 @@ object AlbumLoader { val songs = SongLoader.getSongsFlowable( SongLoader.makeSongCursor( context, null, null, - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return splitIntoAlbumsFlowable(songs) @@ -50,7 +50,7 @@ object AlbumLoader { context, AudioColumns.ALBUM + " LIKE ?", arrayOf("%$query%"), - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return splitIntoAlbumsFlowable(songs) } @@ -63,7 +63,7 @@ object AlbumLoader { context, AudioColumns.ALBUM + " LIKE ?", arrayOf("%$query%"), - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return splitIntoAlbums(songs) } @@ -78,7 +78,7 @@ object AlbumLoader { context, AudioColumns.ALBUM_ID + "=?", arrayOf(albumId.toString()), - getSongLoaderSortOrder() + getSongLoaderSortOrder(context) ) ) songs.subscribe { songs1 -> @@ -97,7 +97,7 @@ object AlbumLoader { context, AudioColumns.ALBUM_ID + "=?", arrayOf(albumId.toString()), - getSongLoaderSortOrder())) + getSongLoaderSortOrder(context))) val album = Album(songs) sortSongsByTrackNumber(album) return album @@ -129,7 +129,7 @@ object AlbumLoader { val songs = SongLoader.getSongs( SongLoader.makeSongCursor( context, null, null, - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return splitIntoAlbums(songs) @@ -189,8 +189,8 @@ object AlbumLoader { album.songs?.sortWith(Comparator { o1, o2 -> o1.trackNumber - o2.trackNumber }) } - private fun getSongLoaderSortOrder(): String { - return PreferenceUtil.getInstance().albumSortOrder + ", " + - PreferenceUtil.getInstance().albumDetailSongSortOrder + private fun getSongLoaderSortOrder(context: Context): String { + return PreferenceUtil.getInstance(context).albumSortOrder + ", " + + PreferenceUtil.getInstance(context).albumDetailSongSortOrder } } diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt index d1610663e..9b52211f9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt +++ b/app/src/main/java/code/name/monkey/retromusic/loaders/ArtistLoader.kt @@ -23,11 +23,11 @@ import io.reactivex.Observable object ArtistLoader { - private fun getSongLoaderSortOrder(): String { - return PreferenceUtil.getInstance().artistSortOrder + ", " + - PreferenceUtil.getInstance().artistAlbumSortOrder + ", " + - PreferenceUtil.getInstance().albumDetailSongSortOrder + ", " + - PreferenceUtil.getInstance().artistDetailSongSortOrder + private fun getSongLoaderSortOrder(context: Context): String { + return PreferenceUtil.getInstance(context).artistSortOrder + ", " + + PreferenceUtil.getInstance(context).artistAlbumSortOrder + ", " + + PreferenceUtil.getInstance(context).albumDetailSongSortOrder + ", " + + PreferenceUtil.getInstance(context).artistDetailSongSortOrder } fun getAllArtistsFlowable( @@ -36,7 +36,7 @@ object ArtistLoader { return Observable.create { e -> SongLoader.getSongsFlowable(SongLoader.makeSongCursor( context, null, null, - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ).subscribe { songs -> e.onNext(splitIntoArtists(AlbumLoader.splitIntoAlbums(songs))) e.onComplete() @@ -48,7 +48,7 @@ object ArtistLoader { val songs = SongLoader.getSongs(SongLoader.makeSongCursor( context, null, null, - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return splitIntoArtists(AlbumLoader.splitIntoAlbums(songs)) } @@ -59,7 +59,7 @@ object ArtistLoader { context, AudioColumns.ARTIST + " LIKE ?", arrayOf("%$query%"), - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ).subscribe { songs -> e.onNext(splitIntoArtists(AlbumLoader.splitIntoAlbums(songs))) e.onComplete() @@ -72,7 +72,7 @@ object ArtistLoader { context, AudioColumns.ARTIST + " LIKE ?", arrayOf("%$query%"), - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return splitIntoArtists(AlbumLoader.splitIntoAlbums(songs)) } @@ -117,7 +117,7 @@ object ArtistLoader { return Observable.create { e -> SongLoader.getSongsFlowable(SongLoader.makeSongCursor(context, AudioColumns.ARTIST_ID + "=?", arrayOf(artistId.toString()), - getSongLoaderSortOrder())) + getSongLoaderSortOrder(context))) .subscribe { songs -> val artist = Artist(AlbumLoader.splitIntoAlbums(songs)) e.onNext(artist) @@ -131,7 +131,7 @@ object ArtistLoader { context, AudioColumns.ARTIST_ID + "=?", arrayOf(artistId.toString()), - getSongLoaderSortOrder()) + getSongLoaderSortOrder(context)) ) return Artist(AlbumLoader.splitIntoAlbums(songs)) } 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 23a0793e8..4f0e79fb8 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 @@ -105,7 +105,7 @@ object GenreLoader { try { return context.contentResolver.query( Genres.Members.getContentUri("external", genreId.toLong()), - baseProjection, BASE_SELECTION, null, PreferenceUtil.getInstance().songSortOrder) + baseProjection, BASE_SELECTION, null, PreferenceUtil.getInstance(context).songSortOrder) } catch (e: SecurityException) { return null } @@ -172,7 +172,7 @@ object GenreLoader { try { return context.contentResolver.query( Genres.EXTERNAL_CONTENT_URI, - projection, null, null, PreferenceUtil.getInstance().genreSortOrder) + projection, null, null, PreferenceUtil.getInstance(context).genreSortOrder) } catch (e: SecurityException) { return null } diff --git a/app/src/main/java/code/name/monkey/retromusic/loaders/LastAddedSongsLoader.kt b/app/src/main/java/code/name/monkey/retromusic/loaders/LastAddedSongsLoader.kt index e9cd9821f..998ab7031 100644 --- a/app/src/main/java/code/name/monkey/retromusic/loaders/LastAddedSongsLoader.kt +++ b/app/src/main/java/code/name/monkey/retromusic/loaders/LastAddedSongsLoader.kt @@ -41,7 +41,7 @@ object LastAddedSongsLoader { } private fun makeLastAddedCursor(context: Context): Cursor? { - val cutoff = PreferenceUtil.getInstance().lastAddedCutoff + val cutoff = PreferenceUtil.getInstance(context).lastAddedCutoff return SongLoader.makeSongCursor( context, 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 3b375dbda..2c0c04614 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 @@ -176,7 +176,7 @@ object SongLoader { context: Context, selection: String?, selectionValues: Array?, - sortOrder: String = PreferenceUtil.getInstance().songSortOrder + sortOrder: String = PreferenceUtil.getInstance(context).songSortOrder ): Cursor? { var selectionFinal = selection var selectionValuesFinal = selectionValues @@ -195,7 +195,7 @@ object SongLoader { try { return context.contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, - baseProjection, selectionFinal + " AND " + MediaStore.Audio.Media.DURATION + ">= " + (PreferenceUtil.getInstance().filterLength * 1000), selectionValuesFinal, sortOrder) + baseProjection, selectionFinal + " AND " + MediaStore.Audio.Media.DURATION + ">= " + (PreferenceUtil.getInstance(context).filterLength * 1000), selectionValuesFinal, sortOrder) } catch (e: SecurityException) { return null } diff --git a/app/src/main/java/code/name/monkey/retromusic/mvp/presenter/GenrePresenter.kt b/app/src/main/java/code/name/monkey/retromusic/mvp/presenter/GenrePresenter.kt index afc25c5f3..addd77731 100644 --- a/app/src/main/java/code/name/monkey/retromusic/mvp/presenter/GenrePresenter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/mvp/presenter/GenrePresenter.kt @@ -18,7 +18,6 @@ import code.name.monkey.retromusic.model.Genre import code.name.monkey.retromusic.mvp.BaseView import code.name.monkey.retromusic.mvp.Presenter import code.name.monkey.retromusic.mvp.PresenterImpl -import code.name.monkey.retromusic.providers.RepositoryImpl import code.name.monkey.retromusic.providers.interfaces.Repository import io.reactivex.disposables.Disposable import java.util.* diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt index c6f92d923..a2dd738fe 100644 --- a/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt @@ -72,13 +72,13 @@ class AlbumCoverStylePreferenceDialog : PreferenceDialogFragmentCompat(), ViewPa viewPager.adapter = AlbumCoverStyleAdapter(activity!!) viewPager.addOnPageChangeListener(this) viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt() - viewPager.currentItem = PreferenceUtil.getInstance().albumCoverStyle.ordinal + viewPager.currentItem = PreferenceUtil.getInstance(requireContext()).albumCoverStyle.ordinal return MaterialDialog(activity!!).show { title(R.string.pref_title_album_cover_style) positiveButton(R.string.set) { val nowPlayingScreen = AlbumCoverStyle.values()[viewPagerPosition] - PreferenceUtil.getInstance().albumCoverStyle = nowPlayingScreen + PreferenceUtil.getInstance(requireContext()).albumCoverStyle = nowPlayingScreen } negativeButton(android.R.string.cancel) customView(view = view, scrollable = false, noVerticalPadding = false) diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt index 449321ea2..eaa457a51 100644 --- a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt +++ b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt @@ -63,7 +63,7 @@ class LibraryPreferenceDialog : PreferenceDialogFragmentCompat() { if (savedInstanceState != null) { categoryInfos = savedInstanceState.getParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES)!! } else { - categoryInfos = PreferenceUtil.getInstance().libraryCategoryInfos + categoryInfos = PreferenceUtil.getInstance(requireContext()).libraryCategoryInfos } adapter = CategoryInfoAdapter(categoryInfos) @@ -84,7 +84,7 @@ class LibraryPreferenceDialog : PreferenceDialogFragmentCompat() { dismiss() } .neutralButton(code.name.monkey.retromusic.R.string.reset_action) { - adapter.categoryInfos = PreferenceUtil.getInstance().defaultLibraryCategoryInfos + adapter.categoryInfos = PreferenceUtil.getInstance(requireContext()).defaultLibraryCategoryInfos } .noAutoDismiss() } @@ -100,7 +100,7 @@ class LibraryPreferenceDialog : PreferenceDialogFragmentCompat() { Toast.makeText(context, "Not more than 5 items", Toast.LENGTH_SHORT).show() return } - PreferenceUtil.getInstance().libraryCategoryInfos = categories + PreferenceUtil.getInstance(requireContext()).libraryCategoryInfos = categories } private fun getSelected(categories: List): Int { diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt index 4feceb65b..1e1ca3724 100644 --- a/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt @@ -88,7 +88,7 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(), ViewP viewPager.adapter = NowPlayingScreenAdapter(activity!!) viewPager.addOnPageChangeListener(this) viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt() - viewPager.currentItem = PreferenceUtil.getInstance().nowPlayingScreen.ordinal + viewPager.currentItem = PreferenceUtil.getInstance(requireContext()).nowPlayingScreen.ordinal return MaterialDialog(activity!!).show { @@ -100,7 +100,7 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(), ViewP Toast.makeText(context, result, Toast.LENGTH_SHORT).show() NavigationUtil.goToProVersion(activity!!) } else { - PreferenceUtil.getInstance().nowPlayingScreen = nowPlayingScreen + PreferenceUtil.getInstance(requireContext()).nowPlayingScreen = nowPlayingScreen } } negativeButton(android.R.string.cancel) @@ -110,8 +110,8 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(), ViewP private fun isNowPlayingThemes(nowPlayingScreen: NowPlayingScreen): Boolean { if (nowPlayingScreen == NowPlayingScreen.BLUR_CARD) { - PreferenceUtil.getInstance().resetCarouselEffect() - PreferenceUtil.getInstance().resetCircularAlbumArt() + PreferenceUtil.getInstance(requireContext()).resetCarouselEffect() + PreferenceUtil.getInstance(requireContext()).resetCircularAlbumArt() } return (nowPlayingScreen == NowPlayingScreen.FULL || @@ -122,7 +122,7 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(), ViewP nowPlayingScreen == NowPlayingScreen.SIMPLE || nowPlayingScreen == NowPlayingScreen.BLUR_CARD || nowPlayingScreen == NowPlayingScreen.ADAPTIVE) - && !App.isProVersion + && !App.isProVersion() } companion object { diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/BlacklistStore.java b/app/src/main/java/code/name/monkey/retromusic/providers/BlacklistStore.java index 4e3ac52e2..8efe52597 100644 --- a/app/src/main/java/code/name/monkey/retromusic/providers/BlacklistStore.java +++ b/app/src/main/java/code/name/monkey/retromusic/providers/BlacklistStore.java @@ -47,13 +47,13 @@ public class BlacklistStore extends SQLiteOpenHelper { public static synchronized BlacklistStore getInstance(@NonNull final Context context) { if (sInstance == null) { sInstance = new BlacklistStore(context.getApplicationContext()); - if (!PreferenceUtil.getInstance().initializedBlacklist()) { + if (!PreferenceUtil.getInstance(context).initializedBlacklist()) { // blacklisted by default sInstance.addPathImpl(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_ALARMS)); sInstance.addPathImpl(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_NOTIFICATIONS)); sInstance.addPathImpl(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES)); - PreferenceUtil.getInstance().setInitializedBlacklist(); + PreferenceUtil.getInstance(context).setInitializedBlacklist(); } } return sInstance; diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt b/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt index 389987de3..8dc636888 100644 --- a/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt +++ b/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt @@ -26,6 +26,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers class RepositoryImpl(private val context: Context) : Repository { + override fun artistInfoFloable( name: String, lang: String?, @@ -188,17 +189,4 @@ class RepositoryImpl(private val context: Context) : Repository { return GenreLoader.getSongs(context, genreId) } - - - companion object { - private var INSTANCE: RepositoryImpl? = null - - val instance: RepositoryImpl - @Synchronized get() { - if (INSTANCE == null) { - INSTANCE = RepositoryImpl(App.instance) - } - return INSTANCE!! - } - } } diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java b/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java index 8ea5ddd51..d8ecf5743 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java +++ b/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java @@ -129,7 +129,7 @@ public class MultiPlayer implements Playback, MediaPlayer.OnErrorListener, Media if (path == null) { return; } - if (PreferenceUtil.getInstance().gaplessPlayback()) { + if (PreferenceUtil.getInstance(context).gaplessPlayback()) { mNextMediaPlayer = new MediaPlayer(); mNextMediaPlayer.setWakeMode(context, PowerManager.PARTIAL_WAKE_LOCK); mNextMediaPlayer.setAudioSessionId(getAudioSessionId()); 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 f7d55e52f..147c56652 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 @@ -341,7 +341,7 @@ public class MusicService extends MediaBrowserServiceCompat implements SharedPre getContentResolver().registerContentObserver( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, true, mediaStoreObserver); - PreferenceUtil.getInstance().registerOnSharedPreferenceChangedListener(this); + PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this); restoreState(); @@ -477,7 +477,7 @@ public class MusicService extends MediaBrowserServiceCompat implements SharedPre quit(); releaseResources(); getContentResolver().unregisterContentObserver(mediaStoreObserver); - PreferenceUtil.getInstance().unregisterOnSharedPreferenceChangedListener(this); + PreferenceUtil.getInstance(this).unregisterOnSharedPreferenceChangedListener(this); wakeLock.release(); sendBroadcast(new Intent("code.name.monkey.retromusic.RETRO_MUSIC_SERVICE_DESTROYED")); @@ -676,7 +676,7 @@ public class MusicService extends MediaBrowserServiceCompat implements SharedPre } public void initNotification() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && !PreferenceUtil.getInstance().classicNotification()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && !PreferenceUtil.getInstance(this).classicNotification()) { playingNotification = new PlayingNotificationImpl24(); } else { playingNotification = new PlayingNotificationOreo(); @@ -745,14 +745,14 @@ public class MusicService extends MediaBrowserServiceCompat implements SharedPre metaData.putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, getPlayingQueue().size()); } - if (PreferenceUtil.getInstance().albumArtOnLockscreen()) { + if (PreferenceUtil.getInstance(this).albumArtOnLockscreen()) { final Point screenSize = RetroUtil.getScreenSize(MusicService.this); GlideRequest request = GlideApp.with(MusicService.this) .asBitmap() .load(RetroGlideExtension.getSongModel(song)) .transition(RetroGlideExtension.getDefaultTransition()) .songOptions(song); - if (PreferenceUtil.getInstance().blurredAlbumArt()) { + if (PreferenceUtil.getInstance(this).blurredAlbumArt()) { request.transform(new BlurTransformation.Builder(MusicService.this).build()); } runOnUiThread(new Runnable() { @@ -1271,7 +1271,7 @@ public class MusicService extends MediaBrowserServiceCompat implements SharedPre } private void registerHeadsetEvents() { - if (!headsetReceiverRegistered && PreferenceUtil.getInstance().getHeadsetPlugged()) { + if (!headsetReceiverRegistered && PreferenceUtil.getInstance(this).getHeadsetPlugged()) { registerReceiver(headsetReceiver, headsetReceiverIntentFilter); headsetReceiverRegistered = true; } diff --git a/app/src/main/java/code/name/monkey/retromusic/service/PlaybackHandler.java b/app/src/main/java/code/name/monkey/retromusic/service/PlaybackHandler.java index d86bc2c27..243965dc9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/PlaybackHandler.java +++ b/app/src/main/java/code/name/monkey/retromusic/service/PlaybackHandler.java @@ -51,7 +51,7 @@ class PlaybackHandler extends Handler { switch (msg.what) { case MusicService.DUCK: - if (PreferenceUtil.getInstance().audioDucking()) { + if (PreferenceUtil.getInstance(service).audioDucking()) { currentDuckVolume -= .05f; if (currentDuckVolume > .2f) { sendEmptyMessageDelayed(DUCK, 10); @@ -65,7 +65,7 @@ class PlaybackHandler extends Handler { break; case MusicService.UNDUCK: - if (PreferenceUtil.getInstance().audioDucking()) { + if (PreferenceUtil.getInstance(service).audioDucking()) { currentDuckVolume += .03f; if (currentDuckVolume < 1f) { sendEmptyMessageDelayed(MusicService.UNDUCK, 10); diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl.kt index 2b53cb30e..e798c12ba 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl.kt @@ -113,7 +113,7 @@ class PlayingNotificationImpl : PlayingNotification() { bigNotificationImageSize) { override fun onResourceReady(resource: BitmapPaletteWrapper, transition: Transition?) { update(resource.bitmap, - if (PreferenceUtil.getInstance().isDominantColor) + if (PreferenceUtil.getInstance(service).isDominantColor) RetroColorUtil.getDominantColor(resource.bitmap, Color.TRANSPARENT) else RetroColorUtil.getColor(resource.palette, Color.TRANSPARENT)) @@ -135,7 +135,7 @@ class PlayingNotificationImpl : PlayingNotification() { .setImageViewResource(R.id.image, R.drawable.default_album_art) } - if (!PreferenceUtil.getInstance().coloredNotification()) { + if (!PreferenceUtil.getInstance(service).coloredNotification()) { bgColorFinal = Color.WHITE } setBackgroundColor(bgColorFinal) diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt index d6c4d8d24..e90f98783 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt @@ -84,7 +84,7 @@ class PlayingNotificationImpl24 : PlayingNotification() { .into(object : RetroSimpleTarget(bigNotificationImageSize, bigNotificationImageSize) { override fun onResourceReady(resource: BitmapPaletteWrapper, transition: Transition?) { update(resource.bitmap, when { - PreferenceUtil.getInstance().isDominantColor -> RetroColorUtil.getDominantColor(resource.bitmap, Color.TRANSPARENT) + PreferenceUtil.getInstance(service).isDominantColor -> RetroColorUtil.getDominantColor(resource.bitmap, Color.TRANSPARENT) else -> RetroColorUtil.getColor(resource.palette, Color.TRANSPARENT) }) } @@ -146,7 +146,7 @@ class PlayingNotificationImpl24 : PlayingNotification() { .setMediaSession(service.mediaSession.sessionToken) .setShowActionsInCompactView( 1, 2, 3)) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O && PreferenceUtil.getInstance().coloredNotification()) { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O && PreferenceUtil.getInstance(service).coloredNotification()) { builder.color = color } } diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt index 36a7b7846..825bcce86 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationOreo.kt @@ -127,7 +127,7 @@ class PlayingNotificationOreo : PlayingNotification() { notificationLayoutBig.setImageViewResource(R.id.largeIcon, R.drawable.default_album_art) } - if (!PreferenceUtil.getInstance().coloredNotification()) { + if (!PreferenceUtil.getInstance(service).coloredNotification()) { bgColorFinal = Color.WHITE } setBackgroundColor(bgColorFinal) diff --git a/app/src/main/java/code/name/monkey/retromusic/util/CustomArtistImageUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/CustomArtistImageUtil.kt index 559568b8f..c5385c346 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/CustomArtistImageUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/CustomArtistImageUtil.kt @@ -44,7 +44,7 @@ class CustomArtistImageUtil private constructor(context: Context) { } fun setCustomArtistImage(artist: Artist, uri: Uri) { - GlideApp.with(App.context) + GlideApp.with(App.getContext()) .asBitmap() .load(uri) .apply(RequestOptions() @@ -57,7 +57,7 @@ class CustomArtistImageUtil private constructor(context: Context) { object : AsyncTask() { @SuppressLint("ApplySharedPref") override fun doInBackground(vararg params: Void): Void? { - val dir = File(App.context.filesDir, FOLDER_NAME) + val dir = File(App.getContext().filesDir, FOLDER_NAME) println(dir.absolutePath) if (!dir.exists()) { if (!dir.mkdirs()) { // create the folder @@ -72,13 +72,13 @@ class CustomArtistImageUtil private constructor(context: Context) { succesful = ImageUtil.resizeBitmap(resource, 2048).compress(Bitmap.CompressFormat.JPEG, 100, os) os.close() } catch (e: IOException) { - Toast.makeText(App.context, e.toString(), Toast.LENGTH_LONG).show() + Toast.makeText(App.getContext(), e.toString(), Toast.LENGTH_LONG).show() } if (succesful) { mPreferences.edit().putBoolean(getFileName(artist), true).commit() ArtistSignatureUtil.getInstance().updateArtistSignature(artist.name) - App.context.contentResolver.notifyChange(Uri.parse("content://media"), null) // trigger media store changed to force artist image reload + App.getContext().contentResolver.notifyChange(Uri.parse("content://media"), null) // trigger media store changed to force artist image reload } return null } @@ -93,7 +93,7 @@ class CustomArtistImageUtil private constructor(context: Context) { override fun doInBackground(vararg params: Void): Void? { mPreferences.edit().putBoolean(getFileName(artist), false).commit() ArtistSignatureUtil.getInstance().updateArtistSignature(artist.name) - App.context.contentResolver.notifyChange(Uri.parse("content://media"), null) // trigger media store changed to force artist image reload + App.getContext().contentResolver.notifyChange(Uri.parse("content://media"), null) // trigger media store changed to force artist image reload val file = getFile(artist) if (!file.exists()) { @@ -133,7 +133,7 @@ class CustomArtistImageUtil private constructor(context: Context) { @JvmStatic fun getFile(artist: Artist): File { - val dir = File(App.context.filesDir, FOLDER_NAME) + val dir = File(App.getContext().filesDir, FOLDER_NAME) return File(dir, getFileName(artist)) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java index e6ce27da8..304617e98 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.java @@ -142,7 +142,8 @@ public final class PreferenceUtil { mPreferences = PreferenceManager.getDefaultSharedPreferences(context); } - public static PreferenceUtil getInstance() { + @NonNull + public static PreferenceUtil getInstance(Context context) { if (sInstance == null) { sInstance = new PreferenceUtil(App.Companion.getContext()); } diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java index 3d324d8d3..9efea8f50 100755 --- a/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java @@ -26,7 +26,6 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Point; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.ConnectivityManager; import android.net.NetworkInfo; @@ -37,15 +36,10 @@ import android.provider.BaseColumns; import android.provider.MediaStore; import android.util.DisplayMetrics; import android.view.Display; -import android.view.KeyCharacterMap; -import android.view.KeyEvent; import android.view.View; -import android.view.ViewConfiguration; -import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; -import android.widget.FrameLayout; import androidx.annotation.ColorInt; import androidx.annotation.DrawableRes; @@ -197,8 +191,8 @@ public class RetroUtil { public static Drawable getTintedDrawable(@DrawableRes int id) { return TintHelper - .createTintedDrawable(ContextCompat.getDrawable(App.Companion.getInstance(), id), - ThemeStore.Companion.accentColor(App.Companion.getInstance())); + .createTintedDrawable(ContextCompat.getDrawable(App.Companion.getContext(), id), + ThemeStore.Companion.accentColor(App.Companion.getContext())); } @NonNull @@ -218,7 +212,7 @@ public class RetroUtil { } public static boolean isAllowedToDownloadMetadata(final @NonNull Context context) { - switch (PreferenceUtil.getInstance().autoDownloadImagesPolicy()) { + switch (PreferenceUtil.getInstance(context).autoDownloadImagesPolicy()) { case "always": return true; case "only_wifi": @@ -291,10 +285,6 @@ public class RetroUtil { } } - public static void statusBarHeight(View statusBar) { - statusBar.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight())); - } - public static int getStatusBarHeight() { int result = 0; int resourceId = App.Companion.getContext().getResources().getIdentifier("status_bar_height", "dimen", "android"); @@ -321,117 +311,4 @@ public class RetroUtil { window.getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); } - - public static int getSoftButtonsBarSizePort(Activity activity) { - // getRealMetrics is only available with API 17 and + - DisplayMetrics metrics = new DisplayMetrics(); - activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); - int usableHeight = metrics.heightPixels; - activity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics); - int realHeight = metrics.heightPixels; - if (realHeight > usableHeight) - return realHeight - usableHeight; - else - return 0; - } - - public static int getNavigationBarHeight(Activity activity) { - /* int result = 0; - int resourceId = App.getContext().getResources().getIdentifier("navigation_bar_height", "dimen", "android"); - if (resourceId > 0) { - result = App.getContext().getResources().getDimensionPixelSize(resourceId); - } - return result;*/ - DisplayMetrics metrics = new DisplayMetrics(); - activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); - int usableHeight = metrics.heightPixels; - activity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics); - int realHeight = metrics.heightPixels; - if (realHeight > usableHeight) - if (PreferenceUtil.getInstance().getFullScreenMode()) { - return 0; - } else - return realHeight - usableHeight; - else - return 0; - } - - public static int getNavBarHeight(Context c) { - int result = 0; - boolean hasMenuKey = ViewConfiguration.get(c).hasPermanentMenuKey(); - boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); - - if (!hasMenuKey && !hasBackKey) { - //The device has a navigation bar - Resources resources = c.getResources(); - - int orientation = resources.getConfiguration().orientation; - int resourceId; - if (isTablet(c)) { - resourceId = resources.getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_height_landscape", "dimen", "android"); - } else { - resourceId = resources.getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_width", "dimen", "android"); - } - - if (resourceId > 0) { - return resources.getDimensionPixelSize(resourceId); - } - } - return result; - } - - - private static boolean isTablet(Context c) { - return (c.getResources().getConfiguration().screenLayout - & Configuration.SCREENLAYOUT_SIZE_MASK) - >= Configuration.SCREENLAYOUT_SIZE_LARGE; - } - - private static boolean hasNavBar(Resources resources) { - int id = resources.getIdentifier("config_showNavigationBar", "bool", "android"); - if (id > 0) - return resources.getBoolean(id); - else - return false; - } - - public static int getNavigationBarHeight(Resources resources) { - if (!hasNavBar(resources)) - return 0; - - int orientation = resources.getConfiguration().orientation; - - //Only phone between 0-599 has navigationbar can move - boolean isSmartphone = resources.getConfiguration().smallestScreenWidthDp < 600; - if (isSmartphone && Configuration.ORIENTATION_LANDSCAPE == orientation) - return 0; - - int id = resources - .getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_height_landscape", "dimen", "android"); - if (id > 0) - return resources.getDimensionPixelSize(id); - - return 0; - } - - public static boolean checkNavigationBarHeight() { - Resources resources = App.Companion.getContext().getResources(); - int orientation = resources.getConfiguration().orientation; - if (!hasNavBar(resources)) { - return false; - } - boolean isSmartPhone = resources.getConfiguration().smallestScreenWidthDp < 600; - if (isSmartPhone && Configuration.ORIENTATION_LANDSCAPE == orientation) - return false; - int id = resources - .getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_height_landscape", "dimen", "android"); - return id > 0; - } - - @NonNull - public static Drawable resize(@NonNull Context context, @NonNull Drawable image) { - Bitmap b = ((BitmapDrawable) image).getBitmap(); - Bitmap bitmapResized = Bitmap.createScaledBitmap(b, 50, 50, false); - return new BitmapDrawable(context.getResources(), bitmapResized); - } } diff --git a/app/src/main/java/code/name/monkey/retromusic/util/SAFUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/SAFUtil.java index 0fc91e191..d8d2af696 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/SAFUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/SAFUtil.java @@ -119,19 +119,19 @@ public class SAFUtil { public static void saveTreeUri(Context context, Intent data) { Uri uri = data.getData(); context.getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); - PreferenceUtil.getInstance().setSAFSDCardUri(uri); + PreferenceUtil.getInstance(context).setSAFSDCardUri(uri); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static boolean isTreeUriSaved(Context context) { - return !TextUtils.isEmpty(PreferenceUtil.getInstance().getSAFSDCardUri()); + return !TextUtils.isEmpty(PreferenceUtil.getInstance(context).getSAFSDCardUri()); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static boolean isSDCardAccessGranted(Context context) { if (!isTreeUriSaved(context)) return false; - String sdcardUri = PreferenceUtil.getInstance().getSAFSDCardUri(); + String sdcardUri = PreferenceUtil.getInstance(context).getSAFSDCardUri(); List perms = context.getContentResolver().getPersistedUriPermissions(); for (UriPermission perm : perms) { @@ -198,7 +198,7 @@ public class SAFUtil { if (isTreeUriSaved(context)) { List pathSegments = new ArrayList<>(Arrays.asList(audio.getFile().getAbsolutePath().split("/"))); - Uri sdcard = Uri.parse(PreferenceUtil.getInstance().getSAFSDCardUri()); + Uri sdcard = Uri.parse(PreferenceUtil.getInstance(context).getSAFSDCardUri()); uri = findDocument(DocumentFile.fromTreeUri(context, sdcard), pathSegments); } @@ -271,7 +271,7 @@ public class SAFUtil { if (isTreeUriSaved(context)) { List pathSegments = new ArrayList<>(Arrays.asList(path.split("/"))); - Uri sdcard = Uri.parse(PreferenceUtil.getInstance().getSAFSDCardUri()); + Uri sdcard = Uri.parse(PreferenceUtil.getInstance(context).getSAFSDCardUri()); uri = findDocument(DocumentFile.fromTreeUri(context, sdcard), pathSegments); } 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 cf21e164b..0de814be1 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 @@ -31,9 +31,9 @@ class BottomNavigationBarTinted @JvmOverloads constructor( ) : BottomNavigationView(context, attrs, defStyleAttr) { init { - labelVisibilityMode = PreferenceUtil.getInstance().tabTitleMode + labelVisibilityMode = PreferenceUtil.getInstance(context).tabTitleMode setBackgroundColor(ThemeStore.primaryColor(context)) - selectedItemId = PreferenceUtil.getInstance().lastPage + selectedItemId = PreferenceUtil.getInstance(context).lastPage val iconColor = ATHUtil.resolveColor(context, R.attr.iconColor) val accentColor = ThemeStore.accentColor(context) diff --git a/app/src/main/java/code/name/monkey/retromusic/views/UserImageView.java b/app/src/main/java/code/name/monkey/retromusic/views/UserImageView.java index 51df25ebc..f5c643a28 100644 --- a/app/src/main/java/code/name/monkey/retromusic/views/UserImageView.java +++ b/app/src/main/java/code/name/monkey/retromusic/views/UserImageView.java @@ -62,7 +62,7 @@ public class UserImageView extends CircularImageView implements SharedPreference .asDrawable() .placeholder(R.drawable.ic_account_white_24dp) .fallback(R.drawable.ic_account_white_24dp) - .load(new File(PreferenceUtil.getInstance().getProfileImage(), USER_PROFILE)) + .load(new File(PreferenceUtil.getInstance(context).getProfileImage(), USER_PROFILE)) .into(new Target() { @Override public void onLoadStarted(@Nullable Drawable placeholder) { diff --git a/app/src/main/res/layout/item_contributor.xml b/app/src/main/res/layout/item_contributor.xml index e1376a099..55e13fadb 100644 --- a/app/src/main/res/layout/item_contributor.xml +++ b/app/src/main/res/layout/item_contributor.xml @@ -1,4 +1,17 @@ - + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/preference_dialog_library_categories_listitem.xml b/app/src/main/res/layout/preference_dialog_library_categories_listitem.xml index 58cc53cfc..616fa3668 100644 --- a/app/src/main/res/layout/preference_dialog_library_categories_listitem.xml +++ b/app/src/main/res/layout/preference_dialog_library_categories_listitem.xml @@ -37,7 +37,7 @@ android:focusable="false" android:gravity="center_vertical" /> - + - - \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8ea9a3ca1..420527bef 100644 --- a/build.gradle +++ b/build.gradle @@ -9,6 +9,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.5.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath 'com.android.tools.build:bundletool:0.9.0' } }