Hmm somethings are changed
This commit is contained in:
parent
8dfb0dc8dd
commit
423b26be66
76 changed files with 410 additions and 234 deletions
|
@ -8,7 +8,8 @@ import code.name.monkey.appthemehelper.util.VersionUtils
|
|||
import code.name.monkey.retromusic.appshortcuts.DynamicShortcutManager
|
||||
import com.anjlab.android.iab.v3.BillingProcessor
|
||||
import com.anjlab.android.iab.v3.TransactionDetails
|
||||
import com.bumptech.glide.Glide
|
||||
import uk.co.chrisjenx.calligraphy.CalligraphyConfig
|
||||
|
||||
|
||||
class App : MultiDexApplication() {
|
||||
|
||||
|
@ -30,6 +31,11 @@ class App : MultiDexApplication() {
|
|||
DynamicShortcutManager(this).initDynamicShortcuts()
|
||||
|
||||
|
||||
CalligraphyConfig.initDefault(CalligraphyConfig.Builder()
|
||||
.setDefaultFont(R.font.circular_std_book)
|
||||
.build()
|
||||
)
|
||||
|
||||
// automatically restores purchases
|
||||
billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSING_KEY,
|
||||
object : BillingProcessor.IBillingHandler {
|
||||
|
@ -45,18 +51,6 @@ class App : MultiDexApplication() {
|
|||
})
|
||||
}
|
||||
|
||||
private fun setupErrorHandler() {
|
||||
Thread.setDefaultUncaughtExceptionHandler { _, throwable -> handleUncaughtException(throwable) }
|
||||
}
|
||||
|
||||
private fun handleUncaughtException(throwable: Throwable) {
|
||||
throwable.printStackTrace()
|
||||
deleteAppData()
|
||||
//Intent intent = new Intent(this, ErrorHandlerActivity.class);
|
||||
//intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
//startActivity(intent);
|
||||
}
|
||||
|
||||
override fun onTerminate() {
|
||||
super.onTerminate()
|
||||
billingProcessor.release()
|
||||
|
@ -74,20 +68,5 @@ class App : MultiDexApplication() {
|
|||
|
||||
val isProVersion: Boolean
|
||||
get() = BuildConfig.DEBUG || instance.billingProcessor.isPurchased(PRO_VERSION_PRODUCT_ID)
|
||||
|
||||
fun deleteAppData() {
|
||||
try {
|
||||
// clearing app data
|
||||
val packageName = instance.packageName
|
||||
val runtime = Runtime.getRuntime()
|
||||
runtime.exec("pm clear $packageName")
|
||||
|
||||
System.exit(0)
|
||||
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,6 +76,8 @@ object Constants {
|
|||
@JvmField
|
||||
val FAQ_LINK = "https://github.com/h4h13/RetroMusicPlayer/blob/master/FAQ.md"
|
||||
@JvmField
|
||||
val PINTEREST = "https://in.pinterest.com/retromusicapp/"
|
||||
@JvmField
|
||||
val CAST_SERVER_PORT = 8080
|
||||
|
||||
const val BASE_SELECTION = MediaStore.Audio.AudioColumns.IS_MUSIC + "=1" + " AND " + MediaStore.Audio.AudioColumns.TITLE + " != ''"
|
||||
|
|
|
@ -8,7 +8,6 @@ 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
|
||||
|
|
|
@ -7,11 +7,11 @@ import code.name.monkey.retromusic.R
|
|||
|
||||
object HorizontalAdapterHelper {
|
||||
|
||||
val LAYOUT_RES = R.layout.item_image
|
||||
const val LAYOUT_RES = R.layout.item_image
|
||||
|
||||
val TYPE_FIRST = 1
|
||||
val TYPE_MIDDLE = 2
|
||||
val TYPE_LAST = 3
|
||||
const val TYPE_FIRST = 1
|
||||
const val TYPE_MIDDLE = 2
|
||||
const val TYPE_LAST = 3
|
||||
|
||||
fun applyMarginToLayoutParams(context: Context,
|
||||
layoutParams: ViewGroup.MarginLayoutParams, viewType: Int) {
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package code.name.monkey.retromusic.misc;
|
||||
|
||||
import android.graphics.Rect;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
|
||||
private int space;
|
||||
|
||||
public SpacesItemDecoration(int space) {
|
||||
this.space = space;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getItemOffsets(Rect outRect, View view,
|
||||
RecyclerView parent, RecyclerView.State state) {
|
||||
outRect.right = space;
|
||||
outRect.bottom = space;
|
||||
}
|
||||
}
|
|
@ -18,6 +18,7 @@ import code.name.monkey.retromusic.Constants.DISCORD_LINK
|
|||
import code.name.monkey.retromusic.Constants.FAQ_LINK
|
||||
import code.name.monkey.retromusic.Constants.GITHUB_PROJECT
|
||||
import code.name.monkey.retromusic.Constants.GOOGLE_PLUS_COMMUNITY
|
||||
import code.name.monkey.retromusic.Constants.PINTEREST
|
||||
import code.name.monkey.retromusic.Constants.RATE_ON_GOOGLE_PLAY
|
||||
import code.name.monkey.retromusic.Constants.TELEGRAM_CHANGE_LOG
|
||||
import code.name.monkey.retromusic.Constants.TRANSLATE
|
||||
|
@ -111,10 +112,12 @@ class AboutActivity : AbsBaseActivity(), View.OnClickListener {
|
|||
twitterLink.setOnClickListener(this)
|
||||
changelog.setOnClickListener(this)
|
||||
openSource.setOnClickListener(this)
|
||||
pinterestLink.setOnClickListener(this)
|
||||
}
|
||||
|
||||
override fun onClick(view: View) {
|
||||
when (view.id) {
|
||||
R.id.pinterestLink->openUrl(PINTEREST)
|
||||
R.id.faqLink -> openUrl(FAQ_LINK)
|
||||
R.id.telegramLink -> openUrl(APP_TELEGRAM_LINK)
|
||||
R.id.discordLink -> openUrl(DISCORD_LINK)
|
||||
|
|
|
@ -141,7 +141,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsContrac
|
|||
toolbar!!.layoutParams = params
|
||||
}
|
||||
|
||||
appBarLayout!!.apply {
|
||||
appBarLayout?.apply {
|
||||
addOnOffsetChangedListener(object : AppBarStateChangeListener() {
|
||||
override fun onStateChanged(appBarLayout: AppBarLayout, state: AppBarStateChangeListener.State) {
|
||||
val color: Int = when (state) {
|
||||
|
|
|
@ -140,24 +140,22 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailContrac
|
|||
toolbar!!.layoutParams = params
|
||||
}
|
||||
|
||||
if (appBarLayout != null) {
|
||||
appBarLayout!!.addOnOffsetChangedListener(object : AppBarStateChangeListener() {
|
||||
override fun onStateChanged(appBarLayout: AppBarLayout, state: AppBarStateChangeListener.State) {
|
||||
val color: Int = when (state) {
|
||||
AppBarStateChangeListener.State.COLLAPSED -> {
|
||||
setLightStatusbar(ColorUtil.isColorLight(ThemeStore.primaryColor(appBarLayout.context)))
|
||||
ThemeStore.primaryColor(appBarLayout.context)
|
||||
}
|
||||
AppBarStateChangeListener.State.EXPANDED, AppBarStateChangeListener.State.IDLE -> {
|
||||
setLightStatusbar(false)
|
||||
Color.TRANSPARENT
|
||||
}
|
||||
|
||||
appBarLayout?.addOnOffsetChangedListener(object : AppBarStateChangeListener() {
|
||||
override fun onStateChanged(appBarLayout: AppBarLayout, state: AppBarStateChangeListener.State) {
|
||||
val color: Int = when (state) {
|
||||
AppBarStateChangeListener.State.COLLAPSED -> {
|
||||
setLightStatusbar(ColorUtil.isColorLight(ThemeStore.primaryColor(appBarLayout.context)))
|
||||
ThemeStore.primaryColor(appBarLayout.context)
|
||||
}
|
||||
ToolbarContentTintHelper.setToolbarContentColorBasedOnToolbarColor(appBarLayout.context, toolbar, color)
|
||||
AppBarStateChangeListener.State.EXPANDED, AppBarStateChangeListener.State.IDLE -> {
|
||||
setLightStatusbar(false)
|
||||
Color.TRANSPARENT
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
ToolbarContentTintHelper.setToolbarContentColorBasedOnToolbarColor(appBarLayout.context, toolbar, color)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun setupRecyclerView() {
|
||||
|
|
|
@ -107,7 +107,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
|
|||
|
||||
if (intent.hasExtra("expand")) {
|
||||
if (intent.getBooleanExtra("expand", false)) {
|
||||
//expandPanel();
|
||||
expandPanel()
|
||||
intent.putExtra("expand", false)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package code.name.monkey.retromusic.ui.activities.base
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.media.AudioManager
|
||||
|
@ -12,8 +13,8 @@ import android.view.KeyEvent
|
|||
import android.view.View
|
||||
import androidx.core.app.ActivityCompat
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.retromusic.R
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper
|
||||
|
||||
|
||||
abstract class AbsBaseActivity : AbsThemeActivity() {
|
||||
|
@ -31,7 +32,7 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
|
|||
}
|
||||
|
||||
fun getPermissionDeniedMessage(): String {
|
||||
return if (permissionDeniedMessage == null) getString(R.string.permissions_denied) else permissionDeniedMessage!!
|
||||
return if (permissionDeniedMessage == null) getString(code.name.monkey.retromusic.R.string.permissions_denied) else permissionDeniedMessage!!
|
||||
}
|
||||
|
||||
|
||||
|
@ -80,7 +81,7 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
|
|||
protected fun showOverflowMenu() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected open fun requestPermissions() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
requestPermissions(permissions, PERMISSION_REQUEST)
|
||||
|
@ -108,14 +109,14 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
|
|||
//User has deny from permission dialog
|
||||
Snackbar.make(snackBarContainer, permissionDeniedMessage!!,
|
||||
Snackbar.LENGTH_INDEFINITE)
|
||||
.setAction(R.string.action_grant) { requestPermissions() }
|
||||
.setAction(code.name.monkey.retromusic.R.string.action_grant) { requestPermissions() }
|
||||
.setActionTextColor(ThemeStore.accentColor(this))
|
||||
.show()
|
||||
} else {
|
||||
// User has deny permission and checked never show permission dialog so you can redirect to Application settings page
|
||||
Snackbar.make(snackBarContainer, permissionDeniedMessage!!,
|
||||
Snackbar.LENGTH_INDEFINITE)
|
||||
.setAction(R.string.action_settings) {
|
||||
.setAction(code.name.monkey.retromusic.R.string.action_settings) {
|
||||
val intent = Intent()
|
||||
intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
|
||||
val uri = Uri.fromParts("package", this@AbsBaseActivity.packageName, null)
|
||||
|
|
|
@ -237,7 +237,7 @@ abstract class AbsSlidingMusicPanelActivity protected constructor() : AbsMusicSe
|
|||
slidingLayout.panelState = PanelState.COLLAPSED
|
||||
}
|
||||
|
||||
private fun expandPanel() {
|
||||
fun expandPanel() {
|
||||
slidingLayout.panelState = PanelState.EXPANDED
|
||||
}
|
||||
|
||||
|
|
|
@ -57,16 +57,6 @@ class AlbumCoverPagerAdapter(fm: FragmentManager, private val dataSet: ArrayList
|
|||
currentColorReceiver = colorReceiver
|
||||
currentColorReceiverPosition = position
|
||||
}
|
||||
|
||||
/*val fragment = getFragment(position) as AlbumCoverFragment
|
||||
if (fragment != null) {
|
||||
currentColorReceiver = null
|
||||
currentColorReceiverPosition = -1
|
||||
fragment.receiveColor(colorReceiver, position)
|
||||
} else {
|
||||
currentColorReceiver = colorReceiver
|
||||
currentColorReceiverPosition = position
|
||||
}*/
|
||||
}
|
||||
|
||||
class AlbumCoverFragment : Fragment() {
|
||||
|
|
|
@ -65,6 +65,14 @@ class HorizontalAlbumAdapter(activity: AppCompatActivity, dataSet: ArrayList<Alb
|
|||
return HorizontalAdapterHelper.getItemViewtype(position, itemCount)
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return when {
|
||||
dataSet.size < 5 -> dataSet.size
|
||||
dataSet.size >= 5 -> 5
|
||||
else -> super.getItemCount()
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
val TAG: String = AlbumAdapter::class.java.simpleName
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan
|
|||
//noinspection ConstantConditions
|
||||
if (PreferenceUtil.getInstance().carouselEffect() &&
|
||||
!((PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FULL)
|
||||
|| (PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.ADAPTIVE)
|
||||
|| (PreferenceUtil.getInstance().nowPlayingScreen == NowPlayingScreen.FIT))) {
|
||||
viewPager.clipToPadding = false
|
||||
viewPager.setPadding(96, 0, 96, 0)
|
||||
|
|
|
@ -7,10 +7,10 @@ import android.os.Bundle
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.animation.AccelerateInterpolator
|
||||
import android.view.animation.DecelerateInterpolator
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.SeekBar
|
||||
import androidx.core.content.ContextCompat
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
||||
import code.name.monkey.appthemehelper.util.TintHelper
|
||||
|
@ -23,11 +23,9 @@ import code.name.monkey.retromusic.service.MusicService
|
|||
import code.name.monkey.retromusic.ui.fragments.VolumeFragment
|
||||
import code.name.monkey.retromusic.ui.fragments.base.AbsPlayerControlsFragment
|
||||
import code.name.monkey.retromusic.util.MusicUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import kotlinx.android.synthetic.main.fragment_card_blur_player_playback_controls.*
|
||||
import kotlinx.android.synthetic.main.media_button.*
|
||||
import kotlinx.android.synthetic.main.player_time.*
|
||||
import kotlinx.android.synthetic.main.volume_controls.*
|
||||
|
||||
class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
|
||||
|
||||
|
@ -71,7 +69,6 @@ class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
|
|||
TintHelper.setTintAuto(this, Color.BLACK, false)
|
||||
setOnClickListener(PlayPauseButtonOnClickHandler())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun updatePlayPauseDrawableState() {
|
||||
|
@ -83,7 +80,7 @@ class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
|
|||
|
||||
private fun setupVolumeControls() {
|
||||
val volumeFragment = childFragmentManager.findFragmentById(R.id.volumeFragment) as VolumeFragment
|
||||
volumeFragment.tintWhiteColor()
|
||||
volumeFragment.setTintable(ContextCompat.getColor(context!!, R.color.md_white_1000))
|
||||
}
|
||||
|
||||
private fun updateProgressTextColor() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue