-
-
+
+
-
+
@@ -51,65 +51,67 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -152,8 +154,6 @@
-
-
@@ -161,7 +161,10 @@
+
+
+
@@ -173,106 +176,115 @@
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
-
-
+
+
+
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
-
+
+
+
+
+
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index e74986bb6..5c5ee5664 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -13,12 +13,12 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
- versionCode 255
- versionName '2.2.100'
+ versionCode 260
+ versionName '3.0.010'
multiDexEnabled true
- buildConfigField("String", "GOOGLE_PLAY_LICENSE_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"")
+ buildConfigField("String", "GOOGLE_PLAY_LICENSING_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"")
}
signingConfigs {
release {
@@ -149,7 +149,8 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5'
-
+ implementation 'com.github.jetradarmobile:android-snowfall:1.2.0'
+ implementation 'com.github.javiersantos:PiracyChecker:1.2.4'
}
repositories {
mavenCentral()
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f9c70b148..63ac8d47f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -105,14 +105,14 @@
+ android:windowSoftInputMode="stateVisible" />
-
+
@@ -122,10 +122,13 @@
android:launchMode="singleInstance"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.ExpandedCastController" />
+
+
+
@@ -134,27 +137,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html
index a43b0bd94..17716315c 100644
--- a/app/src/main/assets/retro-changelog.html
+++ b/app/src/main/assets/retro-changelog.html
@@ -1 +1 @@
-
Version 3.0.00
- Converted app to kotlin
- Added good old side navigation bar
- Added bug report for better tracking with milestones
- Click new music mix to play songs
- Gradient image option for gird list
- Clear button for playing queue
- Click toolbar (Library) to open options
- Folder list back button
- New theme Fit
- On library click on toolbar for accessing main menu
- On home click on toolbar for accessing search
- BottomSheetDialogue is now adaptable to screens, background colour and text size
consistency.
- Removed coloured navigation bar option to making app adapt the primary colour
- Swipe up gesture for now playing removed, replaced with "tap to open", To achieve
transparent navigation bar for desired themes.
- Improved tablet UI and home screen by adding suggestions toggle banner issues.
- Improving lyrics page
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
+
Version 3.0.00
- Converted app to kotlin
- Now you can add plain text home screen widget
- Good old side navigation bar for options
- Bug report for better tracking with milestones
- Snow fall effect can be enable from other settings
- Click new music mix to play songs
- Gradient image option for gird list
- Clear button for playing queue
- Folder list back button
- New theme Fit
- On library click on toolbar for accessing main menu
- On home click on toolbar for accessing search
- BottomSheetDialogue is now adaptable to screens, background colour and text size
consistency.
- Removed coloured navigation bar option to making app adapt the primary colour
- Swipe up gesture for now playing removed, replaced with "tap to open", To achieve
transparent navigation bar for desired themes.
- Improved tablet UI and home screen by adding suggestions toggle banner issues.
- Improving lyrics page
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 7dd3084da..6bddd1580 100644
--- a/app/src/main/java/code/name/monkey/retromusic/App.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/App.kt
@@ -1,6 +1,7 @@
package code.name.monkey.retromusic
import android.content.Context
+import android.widget.Toast
import androidx.multidex.MultiDexApplication
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.VersionUtils
@@ -32,12 +33,12 @@ class App : MultiDexApplication() {
// automatically restores purchases
- billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSE_KEY,
+ billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSING_KEY,
object : BillingProcessor.IBillingHandler {
override fun onProductPurchased(productId: String, details: TransactionDetails?) {}
override fun onPurchaseHistoryRestored() {
- //Toast.makeText(App.this, R.string.restored_previous_purchase_please_restart, Toast.LENGTH_LONG).show();
+ Toast.makeText(this@App, R.string.restored_previous_purchase_please_restart, Toast.LENGTH_LONG).show();
}
override fun onBillingError(errorCode: Int, error: Throwable?) {}
diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetSmall.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetSmall.kt
index 391c07c42..0f4c1671e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetSmall.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetSmall.kt
@@ -35,9 +35,9 @@ class AppWidgetSmall : BaseAppWidget() {
appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE)
appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art)
- appWidgetView.setImageViewBitmap(R.id.button_next, BaseAppWidget.Companion.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true))!!, 1f))
- appWidgetView.setImageViewBitmap(R.id.button_prev, BaseAppWidget.Companion.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true))!!, 1f))
- appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, BaseAppWidget.Companion.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true))!!, 1f))
+ appWidgetView.setImageViewBitmap(R.id.button_next, BaseAppWidget.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_next_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true))!!, 1f))
+ appWidgetView.setImageViewBitmap(R.id.button_prev, BaseAppWidget.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_skip_previous_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true))!!, 1f))
+ appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, BaseAppWidget.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, MaterialValueHelper.getSecondaryTextColor(context, true))!!, 1f))
linkButtons(context, appWidgetView)
pushUpdate(context, appWidgetIds, appWidgetView)
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
new file mode 100644
index 000000000..d95c62f2b
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetText.kt
@@ -0,0 +1,106 @@
+package code.name.monkey.retromusic.appwidgets
+
+import android.app.PendingIntent
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
+import android.text.TextUtils
+import android.view.View
+import android.widget.RemoteViews
+import androidx.core.content.ContextCompat
+import code.name.monkey.appthemehelper.ThemeStore
+import code.name.monkey.retromusic.App.Companion.context
+import code.name.monkey.retromusic.Constants
+import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.appwidgets.base.BaseAppWidget
+import code.name.monkey.retromusic.service.MusicService
+import code.name.monkey.retromusic.ui.activities.MainActivity
+import code.name.monkey.retromusic.util.RetroUtil
+
+class AppWidgetText : BaseAppWidget() {
+ override fun defaultAppWidget(context: Context, appWidgetIds: IntArray) {
+ val appWidgetView = RemoteViews(context.packageName, R.layout.app_widget_text)
+
+ appWidgetView.setImageViewBitmap(R.id.button_next, BaseAppWidget.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, BaseAppWidget.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, BaseAppWidget.createBitmap(RetroUtil.getTintedVectorDrawable(context, R.drawable.ic_play_arrow_white_24dp, ContextCompat.getColor(context, R.color.md_white_1000)), 1f))
+
+ appWidgetView.setTextColor(R.id.title, ContextCompat.getColor(context, R.color.md_white_1000))
+ appWidgetView.setTextColor(R.id.text, ContextCompat.getColor(context, R.color.md_white_1000))
+
+ linkButtons(context, appWidgetView)
+ pushUpdate(context, appWidgetIds, appWidgetView)
+ }
+
+ /**
+ * Link up various button actions using [PendingIntent].
+ */
+ private fun linkButtons(context: Context, views: RemoteViews) {
+ val action = Intent(context, MainActivity::class.java).putExtra("expand", true)
+ var pendingIntent: PendingIntent
+
+ val serviceName = ComponentName(context, MusicService::class.java)
+
+ // Home
+ action.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
+ pendingIntent = PendingIntent.getActivity(context, 0, action, 0)
+ views.setOnClickPendingIntent(R.id.image, pendingIntent)
+ views.setOnClickPendingIntent(R.id.media_titles, pendingIntent)
+
+ // Previous track
+ pendingIntent = buildPendingIntent(context, Constants.ACTION_REWIND, serviceName)
+ views.setOnClickPendingIntent(R.id.button_prev, pendingIntent)
+
+ // Play and pause
+ pendingIntent = buildPendingIntent(context, Constants.ACTION_TOGGLE_PAUSE, serviceName)
+ views.setOnClickPendingIntent(R.id.button_toggle_play_pause, pendingIntent)
+
+ // Next track
+ pendingIntent = buildPendingIntent(context, Constants.ACTION_SKIP, serviceName)
+ views.setOnClickPendingIntent(R.id.button_next, pendingIntent)
+ }
+
+ override fun performUpdate(service: MusicService, appWidgetIds: IntArray?) {
+ val appWidgetView = RemoteViews(service.packageName, R.layout.app_widget_text)
+
+ val isPlaying = service.isPlaying
+ val song = service.currentSong
+
+ // Set the titles and artwork
+ if (TextUtils.isEmpty(song.title) && TextUtils.isEmpty(song.artistName)) {
+ appWidgetView.setViewVisibility(R.id.media_titles, View.INVISIBLE)
+ } else {
+ appWidgetView.setViewVisibility(R.id.media_titles, View.VISIBLE)
+ appWidgetView.setTextViewText(R.id.title, song.title)
+ appWidgetView.setTextViewText(R.id.text, song.artistName)
+ }
+ // Link actions buttons to intents
+ linkButtons(service, appWidgetView)
+
+ // Set correct drawable for pause state
+ val playPauseRes = if (isPlaying)
+ R.drawable.ic_pause_white_24dp
+ else
+ R.drawable.ic_play_arrow_white_24dp
+ appWidgetView.setImageViewBitmap(R.id.button_toggle_play_pause, BaseAppWidget.createBitmap(RetroUtil.getTintedVectorDrawable(context, playPauseRes, ContextCompat.getColor(context, R.color.md_white_1000)), 1f))
+
+ pushUpdate(service.applicationContext, appWidgetIds, appWidgetView)
+
+ }
+
+ companion object {
+
+ const val NAME: String = "app_widget_text"
+
+ private var mInstance: AppWidgetText? = null
+
+
+ val instance: AppWidgetText
+ @Synchronized get() {
+ if (mInstance == null) {
+ mInstance = AppWidgetText()
+ }
+ return mInstance!!
+ }
+ }
+}
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 94e354950..d818bf5d5 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
@@ -52,6 +52,7 @@ import code.name.monkey.retromusic.appwidgets.AppWidgetBig;
import code.name.monkey.retromusic.appwidgets.AppWidgetCard;
import code.name.monkey.retromusic.appwidgets.AppWidgetClassic;
import code.name.monkey.retromusic.appwidgets.AppWidgetSmall;
+import code.name.monkey.retromusic.appwidgets.AppWidgetText;
import code.name.monkey.retromusic.glide.BlurTransformation;
import code.name.monkey.retromusic.glide.SongGlideRequest;
import code.name.monkey.retromusic.helper.ShuffleHelper;
@@ -129,6 +130,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
private AppWidgetClassic appWidgetClassic = AppWidgetClassic.Companion.getInstance();
private AppWidgetSmall appWidgetSmall = AppWidgetSmall.Companion.getInstance();
private AppWidgetCard appWidgetCard = AppWidgetCard.Companion.getInstance();
+ private AppWidgetText appWidgetText = AppWidgetText.Companion.getInstance();
private final BroadcastReceiver widgetIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
@@ -152,6 +154,10 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
appWidgetCard.performUpdate(MusicService.this, ids);
break;
}
+ case AppWidgetText.NAME: {
+ appWidgetText.performUpdate(MusicService.this, ids);
+ break;
+ }
}
}
@@ -1114,6 +1120,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
appWidgetClassic.notifyChange(this, what);
appWidgetSmall.notifyChange(this, what);
appWidgetCard.notifyChange(this, what);
+ appWidgetText.notifyChange(this, what);
}
private void handleChangeInternal(@NonNull final String what) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/transform/StackTransformer.kt b/app/src/main/java/code/name/monkey/retromusic/transform/StackTransformer.kt
new file mode 100644
index 000000000..6c20acd0d
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/transform/StackTransformer.kt
@@ -0,0 +1,15 @@
+package code.name.monkey.retromusic.transform
+
+import android.view.View
+import androidx.viewpager.widget.ViewPager
+
+class StackTransformer : ViewPager.PageTransformer {
+ override fun transformPage(page: View, position: Float) {
+ if (position >= 0) {
+ page.scaleX = (0.9f - 0.05f * position)
+ page.scaleY = 0.9f
+ page.translationX = -page.width * position
+ page.translationY = -30 * position
+ }
+ }
+}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/AlbumDetailsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/AlbumDetailsActivity.kt
index dbd2f5036..028ec9d70 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/AlbumDetailsActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/AlbumDetailsActivity.kt
@@ -71,10 +71,11 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsContrac
setupWindowTransition()
super.onCreate(savedInstanceState)
- toggleBottomNavigationView(true)
setLightNavigationBar(true)
setNavigationbarColorAuto()
+ toggleBottomNavigationView(true)
+
ActivityCompat.postponeEnterTransition(this)
val albumId = intent.getIntExtra(EXTRA_ALBUM_ID, -1)
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/LockScreenActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/LockScreenActivity.kt
index eb9574ddb..9025039c0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/LockScreenActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/LockScreenActivity.kt
@@ -1,24 +1,23 @@
package code.name.monkey.retromusic.ui.activities
+import android.content.Context
import android.os.Bundle
import android.view.View
-import androidx.core.view.ViewCompat
import android.view.WindowManager
-import android.widget.ImageView
-
-import com.bumptech.glide.Glide
-import com.r0adkll.slidr.Slidr
-import com.r0adkll.slidr.model.SlidrConfig
-import com.r0adkll.slidr.model.SlidrPosition
-
+import android.view.WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
+import androidx.core.view.ViewCompat
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
import code.name.monkey.retromusic.glide.SongGlideRequest
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.ui.activities.base.AbsMusicServiceActivity
import code.name.monkey.retromusic.ui.fragments.player.lockscreen.LockScreenPlayerControlsFragment
+import com.bumptech.glide.Glide
+import com.r0adkll.slidr.Slidr
+import com.r0adkll.slidr.model.SlidrConfig
+import com.r0adkll.slidr.model.SlidrListener
+import com.r0adkll.slidr.model.SlidrPosition
class LockScreenActivity : AbsMusicServiceActivity() {
private var mFragment: LockScreenPlayerControlsFragment? = null
@@ -47,13 +46,15 @@ class LockScreenActivity : AbsMusicServiceActivity() {
mFragment = supportFragmentManager.findFragmentById(R.id.playback_controls_fragment) as LockScreenPlayerControlsFragment?
- findViewById(R.id.slide).setTranslationY(100f)
- findViewById(R.id.slide).setAlpha(0f)
- ViewCompat.animate(findViewById(R.id.slide))
- .translationY(0f)
- .alpha(1f)
- .setDuration(1500)
- .start()
+ findViewById(R.id.slide).apply {
+ translationY = 100f
+ alpha = 0f
+ ViewCompat.animate(this)
+ .translationY(0f)
+ .alpha(1f)
+ .setDuration(1500)
+ .start()
+ }
findViewById(R.id.root_layout).setBackgroundColor(ThemeStore.primaryColor(this))
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/LyricsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/LyricsActivity.kt
index 419798aa8..f6cb35c10 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/LyricsActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/LyricsActivity.kt
@@ -59,7 +59,7 @@ class LyricsActivity : AbsMusicServiceActivity(), View.OnClickListener {
setStatusbarColorAuto()
setTaskDescriptionColorAuto()
setNavigationbarColorAuto()
- setLightStatusbar(true)
+
toolbar.setBackgroundColor(ThemeStore.primaryColor(this))
toolbar.navigationIcon = TintHelper.createTintedDrawable(ContextCompat.getDrawable(this@LyricsActivity, R.drawable.ic_keyboard_backspace_black_24dp), ThemeStore.textColorSecondary(this@LyricsActivity))
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.kt
index a26973bea..6780250c9 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.kt
@@ -13,6 +13,8 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.app.ActivityCompat
import androidx.core.app.ShareCompat
+import androidx.drawerlayout.widget.DrawerLayout
+import androidx.drawerlayout.widget.DrawerLayout.*
import androidx.fragment.app.Fragment
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
@@ -272,7 +274,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
private fun showPromotionalOffer() {
MaterialDialog.Builder(this)
.positiveText("Buy")
- .onPositive { _, _ -> startActivity(Intent(this@MainActivity, ProVersionActivity::class.java)) }
+ .onPositive { _, _ -> startActivity(Intent(this@MainActivity, PurchaseActivity::class.java)) }
.negativeText(android.R.string.cancel)
.customView(R.layout.dialog_promotional_offer, false)
.dismissListener {
@@ -305,7 +307,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
R.id.nav_library -> Handler().postDelayed({ setMusicChooser(LIBRARY) }, 200)
R.id.nav_home -> Handler().postDelayed({ setMusicChooser(HOME) }, 200)
R.id.nav_folders -> Handler().postDelayed({ setMusicChooser(FOLDERS) }, 200)
- R.id.buy_pro -> Handler().postDelayed({ startActivityForResult(Intent(this@MainActivity, ProVersionActivity::class.java), PURCHASE_REQUEST) }, 200)
+ R.id.buy_pro -> Handler().postDelayed({ startActivityForResult(Intent(this@MainActivity, PurchaseActivity::class.java), PURCHASE_REQUEST) }, 200)
R.id.nav_settings -> Handler().postDelayed({ NavigationUtil.goToSettings(this@MainActivity) }, 200)
R.id.nav_equalizer -> Handler().postDelayed({ NavigationUtil.openEqualizer(this@MainActivity) }, 200)
R.id.nav_share_app -> Handler().postDelayed({ shareApp() }, 200)
@@ -336,7 +338,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
when (key) {
LIBRARY -> {
navigationView.setCheckedItem(R.id.nav_library)
- setCurrentFragment(LibraryFragment.newInstance())
+ setCurrentFragment(LibraryFragment.newInstance(PreferenceUtil.getInstance().lastPage))
}
FOLDERS -> {
navigationView.setCheckedItem(R.id.nav_folders)
@@ -376,6 +378,15 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
return super.onOptionsItemSelected(item)
}
+ override fun onPanelCollapsed() {
+ super.onPanelCollapsed()
+ drawerLayout.setDrawerLockMode(LOCK_MODE_UNLOCKED)
+ }
+
+ override fun onPanelExpanded() {
+ super.onPanelExpanded()
+ drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
+ }
companion object {
const val APP_INTRO_REQUEST = 2323
const val LIBRARY = 1
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/ProVersionActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/PurchaseActivity.kt
similarity index 86%
rename from app/src/main/java/code/name/monkey/retromusic/ui/activities/ProVersionActivity.kt
rename to app/src/main/java/code/name/monkey/retromusic/ui/activities/PurchaseActivity.kt
index a567e8562..58784fab9 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/ProVersionActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/PurchaseActivity.kt
@@ -1,6 +1,5 @@
package code.name.monkey.retromusic.ui.activities
-import android.app.Activity
import android.content.Intent
import android.os.AsyncTask
import android.os.Bundle
@@ -21,10 +20,10 @@ import kotlinx.android.synthetic.main.activity_pro_version_content.*
import java.lang.ref.WeakReference
-class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
+class PurchaseActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
- private var billingProcessor: BillingProcessor? = null
+ private lateinit var billingProcessor: BillingProcessor
private var restorePurchaseAsyncTask: AsyncTask<*, *, *>? = null
override fun onCreate(savedInstanceState: Bundle?) {
@@ -32,7 +31,6 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
setContentView(R.layout.activity_pro_version)
setDrawUnderStatusBar()
-
setStatusbarColorAuto()
setNavigationbarColorAuto()
setTaskDescriptionColorAuto()
@@ -52,7 +50,7 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
restoreButton.isEnabled = false
purchaseButton.isEnabled = false
- billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSE_KEY, this)
+ billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSING_KEY, this)
MaterialUtil.setTint(restoreButton, false)
MaterialUtil.setTint(purchaseButton, true)
@@ -64,7 +62,7 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
}
purchaseButton.setOnClickListener {
- billingProcessor!!.purchase(this@ProVersionActivity, App.PRO_VERSION_PRODUCT_ID)
+ billingProcessor.purchase(this@PurchaseActivity, App.PRO_VERSION_PRODUCT_ID)
}
}
@@ -102,7 +100,7 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
- if (!billingProcessor!!.handleActivityResult(requestCode, resultCode, data)) {
+ if (!billingProcessor.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data)
}
}
@@ -115,15 +113,13 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
}
override fun onDestroy() {
- if (billingProcessor != null) {
- billingProcessor!!.release()
- }
+ billingProcessor.release()
super.onDestroy()
}
- private class RestorePurchaseAsyncTask internal constructor(purchaseActivity: ProVersionActivity) : AsyncTask() {
+ private class RestorePurchaseAsyncTask internal constructor(purchaseActivity: PurchaseActivity) : AsyncTask() {
- private val buyActivityWeakReference: WeakReference = WeakReference(purchaseActivity)
+ private val buyActivityWeakReference: WeakReference = WeakReference(purchaseActivity)
override fun onPreExecute() {
super.onPreExecute()
@@ -138,7 +134,7 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
override fun doInBackground(vararg params: Void): Boolean? {
val purchaseActivity = buyActivityWeakReference.get()
if (purchaseActivity != null) {
- return purchaseActivity.billingProcessor!!.loadOwnedPurchasesFromGoogle()
+ return purchaseActivity.billingProcessor.loadOwnedPurchasesFromGoogle()
}
cancel(false)
return null
@@ -160,6 +156,6 @@ class ProVersionActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
}
companion object {
- private const val TAG: String = "ProVersionActivity"
+ private const val TAG: String = "PurchaseActivity"
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/SettingsActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/SettingsActivity.kt
index cdc2d0a4c..91ca26e60 100755
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/SettingsActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/SettingsActivity.kt
@@ -1,7 +1,10 @@
package code.name.monkey.retromusic.ui.activities
+import android.app.Activity
+import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
+import android.util.Log
import android.view.MenuItem
import androidx.annotation.ColorInt
import androidx.annotation.StringRes
@@ -18,6 +21,7 @@ import code.name.monkey.retromusic.util.PreferenceUtil
import com.afollestad.materialdialogs.color.ColorChooserDialog
import kotlinx.android.synthetic.main.activity_settings.*
+
class SettingsActivity : AbsBaseActivity(), ColorChooserDialog.ColorCallback, SharedPreferences.OnSharedPreferenceChangeListener {
private val fragmentManager = supportFragmentManager
@@ -120,7 +124,8 @@ class SettingsActivity : AbsBaseActivity(), ColorChooserDialog.ColorCallback, Sh
}
}
+
companion object {
- const val TAG: String = "SettingsActivity"
+ const val TAG: String = "SettingsActivity"
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt
index 5a7cd13d3..62378566f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/SupportDevelopmentActivity.kt
@@ -70,7 +70,7 @@ class SupportDevelopmentActivity : AbsBaseActivity(), BillingProcessor.IBillingH
setupToolbar()
- billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSE_KEY, this)
+ billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSING_KEY, this)
TintHelper.setTint(progress, ThemeStore.accentColor(this))
donation.setTextColor(ThemeStore.accentColor(this))
donate.setOnClickListener {
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCastActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCastActivity.kt
index e27d61cc7..2e2c46881 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCastActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCastActivity.kt
@@ -10,7 +10,7 @@ import com.google.android.gms.common.ConnectionResult
import com.google.android.gms.common.GoogleApiAvailability
import java.io.IOException
-abstract class AbsCastActivity : AbsBaseActivity() {
+abstract class AbsCastActivity : AbsCheckPiracy() {
var playServicesAvailable = false
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCheckPiracy.java b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCheckPiracy.java
new file mode 100644
index 000000000..eedd49ede
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCheckPiracy.java
@@ -0,0 +1,10 @@
+package code.name.monkey.retromusic.ui.activities.base;
+
+abstract public class AbsCheckPiracy extends AbsBaseActivity {
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+
+ }
+}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsSlidingMusicPanelActivity.kt
index 93279a4c3..94c9bb7aa 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsSlidingMusicPanelActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsSlidingMusicPanelActivity.kt
@@ -29,23 +29,19 @@ import code.name.monkey.retromusic.ui.fragments.player.material.MaterialFragment
import code.name.monkey.retromusic.ui.fragments.player.normal.PlayerFragment
import code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlayerFragment
import code.name.monkey.retromusic.ui.fragments.player.simple.SimplePlayerFragment
-import code.name.monkey.retromusic.util.ColorUtils
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.views.BottomNavigationBarTinted
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.sothree.slidinguppanel.SlidingUpPanelLayout
import com.sothree.slidinguppanel.SlidingUpPanelLayout.PanelState
+import kotlinx.android.synthetic.main.sliding_music_panel_layout.*
abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicServiceActivity(), SlidingUpPanelLayout.PanelSlideListener, AbsPlayerFragment.Callbacks {
- lateinit var slidingUpPanelLayout: SlidingUpPanelLayout
- private lateinit var bottomNavigationView: BottomNavigationBarTinted
-
private var miniPlayerFragment: MiniPlayerFragment? = null
- var playerFragment: AbsPlayerFragment? = null
+ private var playerFragment: AbsPlayerFragment? = null
private var currentNowPlayingScreen: NowPlayingScreen? = null
-
private var navigationbarColor: Int = 0
private var taskColor: Int = 0
private var lightStatusbar: Boolean = false
@@ -54,7 +50,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
private val argbEvaluator = ArgbEvaluator()
val panelState: SlidingUpPanelLayout.PanelState?
- get() = slidingUpPanelLayout.panelState
+ get() = slidingLayout.panelState
private val isOneOfTheseThemes: Boolean
get() = (currentNowPlayingScreen == NowPlayingScreen.ADAPTIVE)
@@ -63,8 +59,6 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
super.onCreate(savedInstanceState)
setContentView(createContentView())
- slidingUpPanelLayout = findViewById(R.id.sliding_layout);
- bottomNavigationView = findViewById(R.id.bottom_navigation);
chooseFragmentForTheme()
setupSlidingUpPanel()
@@ -80,9 +74,9 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
override fun onServiceConnected() {
super.onServiceConnected()
if (!MusicPlayerRemote.playingQueue.isEmpty()) {
- slidingUpPanelLayout.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
+ slidingLayout.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
override fun onGlobalLayout() {
- slidingUpPanelLayout.viewTreeObserver.removeOnGlobalLayoutListener(this)
+ slidingLayout.viewTreeObserver.removeOnGlobalLayoutListener(this)
hideBottomBar(false)
}
})
@@ -99,11 +93,11 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
val heightOfBarWithTabs = resources.getDimensionPixelSize(R.dimen.mini_player_height_expanded)
if (hide) {
- slidingUpPanelLayout.panelHeight = 0
+ slidingLayout.panelHeight = 0
collapsePanel()
} else {
if (!MusicPlayerRemote.playingQueue.isEmpty()) {
- slidingUpPanelLayout.panelHeight = if (bottomNavigationView.visibility == View.VISIBLE) heightOfBarWithTabs else heightOfBar
+ slidingLayout.panelHeight = if (bottomNavigationView.visibility == View.VISIBLE) heightOfBarWithTabs else heightOfBar
}
}
}
@@ -111,7 +105,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
protected fun wrapSlidingMusicPanel(@LayoutRes resId: Int): View {
@SuppressLint("InflateParams")
val slidingMusicPanelLayout = layoutInflater.inflate(R.layout.sliding_music_panel_layout, null)
- val contentContainer = slidingMusicPanelLayout.findViewById(R.id.content_container)
+ val contentContainer = slidingMusicPanelLayout.findViewById(R.id.mainContentFrame)
layoutInflater.inflate(resId, contentContainer)
return slidingMusicPanelLayout
}
@@ -122,7 +116,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
}
open fun handleBackPress(): Boolean {
- if (slidingUpPanelLayout.panelHeight != 0 && playerFragment!!.onBackPressed())
+ if (slidingLayout.panelHeight != 0 && playerFragment!!.onBackPressed())
return true
if (panelState == SlidingUpPanelLayout.PanelState.EXPANDED) {
collapsePanel()
@@ -142,18 +136,18 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
bottomNavigationView.visibility = if (toggle) View.GONE else View.VISIBLE
}
- fun getBottomNavigationView(): BottomNavigationView? {
+ fun getBottomNavigationView(): BottomNavigationBarTinted? {
return bottomNavigationView
}
private fun setupSlidingUpPanel() {
- slidingUpPanelLayout.viewTreeObserver
+ slidingLayout.viewTreeObserver
.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
override fun onGlobalLayout() {
- slidingUpPanelLayout.viewTreeObserver.removeOnGlobalLayoutListener(this)
+ slidingLayout.viewTreeObserver.removeOnGlobalLayoutListener(this)
if (panelState == PanelState.EXPANDED) {
- onPanelSlide(slidingUpPanelLayout, 1f)
+ onPanelSlide(slidingLayout, 1f)
onPanelExpanded()
} else if (panelState == PanelState.COLLAPSED) {
onPanelCollapsed()
@@ -163,7 +157,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
}
})
- slidingUpPanelLayout.addPanelSlideListener(this)
+ slidingLayout.addPanelSlideListener(this)
}
@@ -182,7 +176,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
}
}
- fun onPanelCollapsed() {
+ open fun onPanelCollapsed() {
// restore values
super.setLightStatusbar(lightStatusbar)
super.setTaskDescriptionColor(taskColor)
@@ -195,7 +189,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
playerFragment!!.onHide()
}
- fun onPanelExpanded() {
+ open fun onPanelExpanded() {
val playerFragmentColor = playerFragment!!.paletteColor
super.setTaskDescriptionColor(playerFragmentColor)
@@ -231,11 +225,11 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
NowPlayingScreen.COLOR -> ColorFragment()
else -> PlayerFragment()
} // must implement AbsPlayerFragment
- supportFragmentManager.beginTransaction().replace(R.id.player_fragment_container, fragment).commit()
+ supportFragmentManager.beginTransaction().replace(R.id.playerFragmentContainer, fragment).commit()
supportFragmentManager.executePendingTransactions()
- playerFragment = supportFragmentManager.findFragmentById(R.id.player_fragment_container) as AbsPlayerFragment
- miniPlayerFragment = supportFragmentManager.findFragmentById(R.id.mini_player_fragment) as MiniPlayerFragment
+ playerFragment = supportFragmentManager.findFragmentById(R.id.playerFragmentContainer) as AbsPlayerFragment
+ miniPlayerFragment = supportFragmentManager.findFragmentById(R.id.miniPlayerFragment) as MiniPlayerFragment
miniPlayerFragment!!.view!!.setOnClickListener { expandPanel() }
}
@@ -248,11 +242,11 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
}
private fun collapsePanel() {
- slidingUpPanelLayout.panelState = PanelState.COLLAPSED
+ slidingLayout.panelState = PanelState.COLLAPSED
}
private fun expandPanel() {
- slidingUpPanelLayout.panelState = PanelState.EXPANDED
+ slidingLayout.panelState = PanelState.EXPANDED
}
@@ -267,6 +261,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
super.setLightNavigationBar(true)
super.setLightStatusbar(isColorLight)
} else if (currentNowPlayingScreen == NowPlayingScreen.FULL || currentNowPlayingScreen == NowPlayingScreen.CARD ||
+ currentNowPlayingScreen == NowPlayingScreen.FIT ||
currentNowPlayingScreen == NowPlayingScreen.BLUR || currentNowPlayingScreen == NowPlayingScreen.BLUR_CARD) {
super.setLightStatusbar(false)
super.setLightNavigationBar(true)
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/PlayerAlbumCoverFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/PlayerAlbumCoverFragment.kt
index 700918f2f..dfe41a210 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/PlayerAlbumCoverFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/PlayerAlbumCoverFragment.kt
@@ -43,13 +43,16 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan
super.onViewCreated(view, savedInstanceState)
viewPager.addOnPageChangeListener(this)
//noinspection ConstantConditions
- if (PreferenceUtil.getInstance().carouselEffect() && !((PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FULL) || (PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FIT))) {
- viewPager.clipToPadding = false;
- viewPager.setPadding(96, 0, 96, 0);
- viewPager.pageMargin = 18;
- viewPager.setPageTransformer(false, CarousalPagerTransformer(context!!));
+ if (PreferenceUtil.getInstance().carouselEffect() &&
+ !((PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FULL)
+ || (PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FIT))) {
+ viewPager.clipToPadding = false
+ viewPager.setPadding(96, 0, 96, 0)
+ viewPager.pageMargin = 18
+ viewPager.setPageTransformer(false, CarousalPagerTransformer(context!!))
} else {
- viewPager.setPageTransformer(true, PreferenceUtil.getInstance().getAlbumCoverTransform(context!!));
+ viewPager.offscreenPageLimit = 2
+ viewPager.setPageTransformer(true, PreferenceUtil.getInstance().albumCoverTransform)
}
}
@@ -123,6 +126,5 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan
companion object {
val TAG: String = PlayerAlbumCoverFragment::class.java.simpleName
- const val VISIBILITY_ANIM_DURATION: Long = 300
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/full/FullPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/full/FullPlaybackControlsFragment.kt
index fae53accb..1d2f9ac92 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/full/FullPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/player/full/FullPlaybackControlsFragment.kt
@@ -55,6 +55,9 @@ class FullPlaybackControlsFragment : AbsPlayerControlsFragment() {
val volumeFragment = childFragmentManager.findFragmentById(R.id.volumeFragment) as VolumeFragment?
volumeFragment!!.tintWhiteColor()
+
+ songTotalTime.setTextColor(Color.WHITE)
+ songCurrentProgress.setTextColor(Color.WHITE)
}
override fun onResume() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/settings/PersonaizeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/settings/PersonaizeSettingsFragment.kt
index 4aeea8872..ea0eba88d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/settings/PersonaizeSettingsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/settings/PersonaizeSettingsFragment.kt
@@ -1,14 +1,22 @@
package code.name.monkey.retromusic.ui.fragments.settings
+import android.app.ActivityManager
+import android.app.admin.DevicePolicyManager
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.view.View
import androidx.preference.TwoStatePreference
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.ui.activities.SettingsActivity.Companion.RESULT_ENABLE
import code.name.monkey.retromusic.util.PreferenceUtil
+
class PersonaizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSharedPreferenceChangeListener {
+
override fun invalidateSettings() {
val cornerWindow = findPreference("corner_window") as TwoStatePreference
cornerWindow.setOnPreferenceChangeListener { _, newValue ->
@@ -17,15 +25,17 @@ class PersonaizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh
return@setOnPreferenceChangeListener false
}
activity!!.recreate()
- true
+ return@setOnPreferenceChangeListener true
}
val toggleFullScreen = findPreference("toggle_full_screen") as TwoStatePreference
- toggleFullScreen.setOnPreferenceChangeListener { _, newValue ->
+ toggleFullScreen.setOnPreferenceChangeListener { _, _ ->
activity!!.recreate()
true
}
+
+
}
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
@@ -36,9 +46,8 @@ class PersonaizeSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSh
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
-
PreferenceUtil.getInstance().registerOnSharedPreferenceChangedListener(this)
- }
+ }
override fun onDestroyView() {
super.onDestroyView()
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java
index 7389773f7..18fc634eb 100755
--- a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java
+++ b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.java
@@ -26,7 +26,7 @@ import code.name.monkey.retromusic.ui.activities.LicenseActivity;
import code.name.monkey.retromusic.ui.activities.LyricsActivity;
import code.name.monkey.retromusic.ui.activities.PlayingQueueActivity;
import code.name.monkey.retromusic.ui.activities.PlaylistDetailActivity;
-import code.name.monkey.retromusic.ui.activities.ProVersionActivity;
+import code.name.monkey.retromusic.ui.activities.PurchaseActivity;
import code.name.monkey.retromusic.ui.activities.SearchActivity;
import code.name.monkey.retromusic.ui.activities.SettingsActivity;
import code.name.monkey.retromusic.ui.activities.SupportDevelopmentActivity;
@@ -106,7 +106,7 @@ public class NavigationUtil {
}
public static void goToProVersion(@NonNull Activity activity) {
- ActivityCompat.startActivity(activity, new Intent(activity, ProVersionActivity.class), null);
+ ActivityCompat.startActivity(activity, new Intent(activity, PurchaseActivity.class), null);
}
public static void goToSettings(@NonNull Activity activity) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PiracyCheckerUtils.java b/app/src/main/java/code/name/monkey/retromusic/util/PiracyCheckerUtils.java
new file mode 100644
index 000000000..842acd604
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PiracyCheckerUtils.java
@@ -0,0 +1,13 @@
+package code.name.monkey.retromusic.util;
+
+import android.content.Context;
+
+import com.github.javiersantos.piracychecker.utils.LibraryUtilsKt;
+
+public class PiracyCheckerUtils {
+
+ public static String getAPKSignature(Context context) {
+ return LibraryUtilsKt.getCurrentSignature(context);
+ }
+
+}
\ No newline at end of file
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 d6a300eaa..dd4110df4 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
@@ -30,6 +30,8 @@ import code.name.monkey.retromusic.transform.DepthTransformation;
import code.name.monkey.retromusic.transform.HingeTransformation;
import code.name.monkey.retromusic.transform.HorizontalFlipTransformation;
import code.name.monkey.retromusic.transform.NormalPageTransformer;
+import code.name.monkey.retromusic.transform.StackPagerTransformer;
+import code.name.monkey.retromusic.transform.StackTransformer;
import code.name.monkey.retromusic.transform.VerticalFlipTransformation;
import code.name.monkey.retromusic.ui.activities.MainActivity;
import code.name.monkey.retromusic.ui.fragments.AlbumCoverStyle;
@@ -739,7 +741,7 @@ public final class PreferenceUtil {
}
- public ViewPager.PageTransformer getAlbumCoverTransform(Context context) {
+ public ViewPager.PageTransformer getAlbumCoverTransform() {
int style = Integer.parseInt(Objects.requireNonNull(mPreferences.getString(ALBUM_COVER_TRANSFORM, "0")));
switch (style) {
default:
@@ -755,6 +757,8 @@ public final class PreferenceUtil {
return new VerticalFlipTransformation();
case 5:
return new HingeTransformation();
+ case 6:
+ return new StackTransformer();
}
}
diff --git a/app/src/main/res/drawable/diwali.webp b/app/src/main/res/drawable/diwali.webp
deleted file mode 100644
index 01b9025c8..000000000
Binary files a/app/src/main/res/drawable/diwali.webp and /dev/null differ
diff --git a/app/src/main/res/drawable/img_offer.webp b/app/src/main/res/drawable/img_offer.webp
new file mode 100644
index 000000000..dd4beacf7
Binary files /dev/null and b/app/src/main/res/drawable/img_offer.webp differ
diff --git a/app/src/main/res/layout/activity_lyrics.xml b/app/src/main/res/layout/activity_lyrics.xml
index 1a59b7d88..308f97aaa 100644
--- a/app/src/main/res/layout/activity_lyrics.xml
+++ b/app/src/main/res/layout/activity_lyrics.xml
@@ -25,16 +25,9 @@
+ app:tabTextAppearance="@style/TabTextAppearance">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_promotional_offer.xml b/app/src/main/res/layout/dialog_promotional_offer.xml
index f47520fa7..14e5af514 100644
--- a/app/src/main/res/layout/dialog_promotional_offer.xml
+++ b/app/src/main/res/layout/dialog_promotional_offer.xml
@@ -1,6 +1,5 @@
+ android:src="@drawable/img_offer" />
-
+ android:orientation="vertical">
+ android:layout_gravity="center">
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:text="70"
+ android:textAppearance="@style/TextAppearance.MaterialComponents.Headline1"
+ android:textColor="@android:color/black"
+ tools:ignore="MissingPrefix" />
+
+
+
+
+
+
+
-
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/sliding_music_panel_layout.xml b/app/src/main/res/layout/sliding_music_panel_layout.xml
index e66ef14c5..837e67762 100644
--- a/app/src/main/res/layout/sliding_music_panel_layout.xml
+++ b/app/src/main/res/layout/sliding_music_panel_layout.xml
@@ -3,11 +3,11 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:id="@+id/main_content"
+ android:id="@+id/mainContent"
android:layout_height="match_parent">
@string/vertical_flip
- @string/horizontal_flip
- @string/hinge
+ - @string/stack
@@ -16,6 +17,7 @@
- 3
- 4
- 5
+ - 6
@@ -208,4 +210,5 @@
Gradient image
+ Stack
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3756ce2e7..bce1ce81c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -74,6 +74,7 @@
Retro music - Card
Retro music - Classic
Retro music - Small
+ Retro music - Text
Artist
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 96f0d5ca4..abd72beb3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -110,5 +110,20 @@
+
+
diff --git a/app/src/main/res/xml/app_widget_small_info.xml b/app/src/main/res/xml/app_widget_small_info.xml
index c5277cbf0..6a93e85d9 100644
--- a/app/src/main/res/xml/app_widget_small_info.xml
+++ b/app/src/main/res/xml/app_widget_small_info.xml
@@ -1,12 +1,12 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ android:initialLayout="@layout/app_widget_small"
+ android:minWidth="@dimen/app_widget_small_min_width"
+ android:minHeight="@dimen/app_widget_small_min_height"
+ android:resizeMode="horizontal|vertical"
+ android:updatePeriodMillis="0"
+ android:widgetCategory="keyguard|home_screen"
+ tools:ignore="UnusedAttribute" />
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_text.xml b/app/src/main/res/xml/app_widget_text.xml
new file mode 100644
index 000000000..c6ff62fb7
--- /dev/null
+++ b/app/src/main/res/xml/app_widget_text.xml
@@ -0,0 +1,8 @@
+
+
\ No newline at end of file
diff --git a/appthemehelper/appthemehelper.iml b/appthemehelper/appthemehelper.iml
index 66f33f94d..01687c493 100644
--- a/appthemehelper/appthemehelper.iml
+++ b/appthemehelper/appthemehelper.iml
@@ -64,6 +64,7 @@
+
@@ -112,21 +113,16 @@
-
-
-
-
+
-
-
@@ -140,47 +136,47 @@
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
-
+
+
+
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file