diff --git a/app/src/fdroid/java/code/name/monkey/retromusic/billing/BillingManager.kt b/app/src/fdroid/java/code/name/monkey/retromusic/billing/BillingManager.kt deleted file mode 100644 index 51c350adcf..0000000000 --- a/app/src/fdroid/java/code/name/monkey/retromusic/billing/BillingManager.kt +++ /dev/null @@ -1,12 +0,0 @@ -package code.name.monkey.retromusic.billing - -import android.content.Context - -@Suppress("UNUSED_PARAMETER") -class BillingManager(context: Context) { - - fun release() {} - - val isProVersion: Boolean - get() = true -} \ No newline at end of file diff --git a/app/src/fdroid/java/code/name/monkey/retromusic/cast/RetroWebServer.kt b/app/src/fdroid/java/code/name/monkey/retromusic/cast/RetroWebServer.kt deleted file mode 100644 index 03103dfb7c..0000000000 --- a/app/src/fdroid/java/code/name/monkey/retromusic/cast/RetroWebServer.kt +++ /dev/null @@ -1,6 +0,0 @@ -package code.name.monkey.retromusic.cast - -import android.content.Context - -@Suppress("UNUSED_PARAMETER") -class RetroWebServer(context: Context) \ No newline at end of file diff --git a/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt b/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt deleted file mode 100644 index 1dc3ae58f7..0000000000 --- a/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt +++ /dev/null @@ -1,17 +0,0 @@ -@file:Suppress("UNUSED_PARAMETER", "unused") - -package code.name.monkey.retromusic.extensions - -import android.content.Context -import android.view.Menu -import androidx.fragment.app.FragmentActivity - -fun Context.setUpMediaRouteButton(menu: Menu) {} - -fun FragmentActivity.installLanguageAndRecreate(code: String) { - recreate() -} - -fun Context.goToProVersion() {} - -fun Context.installSplitCompat() {} \ No newline at end of file diff --git a/app/src/fdroid/java/code/name/monkey/retromusic/service/CastPlayer.kt b/app/src/fdroid/java/code/name/monkey/retromusic/service/CastPlayer.kt deleted file mode 100644 index 3a0eaca286..0000000000 --- a/app/src/fdroid/java/code/name/monkey/retromusic/service/CastPlayer.kt +++ /dev/null @@ -1,47 +0,0 @@ -package code.name.monkey.retromusic.service - -import code.name.monkey.retromusic.model.Song -import code.name.monkey.retromusic.service.playback.Playback - -// Empty CastPlayer implementation -class CastPlayer : Playback { - override val isInitialized: Boolean - get() = true - override val isPlaying: Boolean - get() = true - override val audioSessionId: Int - get() = 0 - - override fun setDataSource( - song: Song, - force: Boolean, - completion: (success: Boolean) -> Unit, - ) { - } - - override fun setNextDataSource(path: String?) {} - - override var callbacks: Playback.PlaybackCallbacks? = null - - override fun start() = true - - override fun stop() {} - - override fun release() {} - - override fun pause(): Boolean = true - - override fun duration() = 0 - - override fun position() = 0 - - override fun seek(whereto: Int) = whereto - - override fun setVolume(vol: Float) = true - - override fun setAudioSessionId(sessionId: Int) = true - - override fun setCrossFadeDuration(duration: Int) {} - - override fun setPlaybackSpeedPitch(speed: Float, pitch: Float) {} -} \ No newline at end of file diff --git a/app/src/fdroid/java/code/name/monkey/retromusic/util/AppRater.kt b/app/src/fdroid/java/code/name/monkey/retromusic/util/AppRater.kt deleted file mode 100644 index 2691d70b28..0000000000 --- a/app/src/fdroid/java/code/name/monkey/retromusic/util/AppRater.kt +++ /dev/null @@ -1,8 +0,0 @@ -package code.name.monkey.retromusic.util - -import android.content.Context - -@Suppress("UNUSED_PARAMETER") -object AppRater { - fun appLaunched(context: Context) {} -} \ No newline at end of file diff --git a/app/src/fdroid/res/values/donottranslate.xml b/app/src/fdroid/res/values/donottranslate.xml deleted file mode 100644 index 3dd38a7b55..0000000000 --- a/app/src/fdroid/res/values/donottranslate.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - never - \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_pro_version.xml b/app/src/main/res/layout-land/activity_pro_version.xml deleted file mode 100644 index 6f434096e8..0000000000 --- a/app/src/main/res/layout-land/activity_pro_version.xml +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/normal/AndroidManifest.xml b/app/src/normal/AndroidManifest.xml deleted file mode 100644 index 750dacabc1..0000000000 --- a/app/src/normal/AndroidManifest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/normal/java/code/name/monkey/retromusic/billing/BillingManager.kt b/app/src/normal/java/code/name/monkey/retromusic/billing/BillingManager.kt deleted file mode 100644 index 445044e734..0000000000 --- a/app/src/normal/java/code/name/monkey/retromusic/billing/BillingManager.kt +++ /dev/null @@ -1,37 +0,0 @@ -package code.name.monkey.retromusic.billing - -import android.content.Context -import code.name.monkey.retromusic.BuildConfig -import code.name.monkey.retromusic.Constants -import code.name.monkey.retromusic.R -import code.name.monkey.retromusic.extensions.showToast -import com.anjlab.android.iab.v3.BillingProcessor -import com.anjlab.android.iab.v3.PurchaseInfo - -class BillingManager(context: Context) { - private val billingProcessor: BillingProcessor - - init { - // automatically restores purchases - billingProcessor = BillingProcessor( - context, BuildConfig.GOOGLE_PLAY_LICENSING_KEY, - object : BillingProcessor.IBillingHandler { - override fun onProductPurchased(productId: String, details: PurchaseInfo?) {} - - override fun onPurchaseHistoryRestored() { - context.showToast(R.string.restored_previous_purchase_please_restart) - } - - override fun onBillingError(errorCode: Int, error: Throwable?) {} - - override fun onBillingInitialized() {} - }) - } - - fun release() { - billingProcessor.release() - } - - val isProVersion: Boolean - get() = billingProcessor.isPurchased(Constants.PRO_VERSION_PRODUCT_ID) -} \ No newline at end of file diff --git a/app/src/normal/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt b/app/src/normal/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt deleted file mode 100644 index 6ebc71010f..0000000000 --- a/app/src/normal/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt +++ /dev/null @@ -1,25 +0,0 @@ -@file:Suppress("unused") - -package code.name.monkey.retromusic.cast - -import android.content.Context -import com.google.android.gms.cast.CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID -import com.google.android.gms.cast.framework.CastOptions -import com.google.android.gms.cast.framework.OptionsProvider -import com.google.android.gms.cast.framework.SessionProvider -import com.google.android.gms.cast.framework.media.CastMediaOptions - - -class CastOptionsProvider : OptionsProvider { - override fun getCastOptions(context: Context): CastOptions { - val mediaOptions = CastMediaOptions.Builder().setNotificationOptions(null).build() - return CastOptions.Builder() - .setReceiverApplicationId(DEFAULT_MEDIA_RECEIVER_APPLICATION_ID) - .setCastMediaOptions(mediaOptions) - .build() - } - - override fun getAdditionalSessionProviders(context: Context): MutableList? { - return null - } -} \ No newline at end of file diff --git a/app/src/normal/java/code/name/monkey/retromusic/extensions/extensions.kt b/app/src/normal/java/code/name/monkey/retromusic/extensions/extensions.kt deleted file mode 100644 index 59d05fb745..0000000000 --- a/app/src/normal/java/code/name/monkey/retromusic/extensions/extensions.kt +++ /dev/null @@ -1,59 +0,0 @@ -package code.name.monkey.retromusic.extensions - -import android.content.Context -import android.content.Intent -import android.view.Menu -import androidx.fragment.app.FragmentActivity -import code.name.monkey.retromusic.R -import code.name.monkey.retromusic.activities.PurchaseActivity -import com.google.android.gms.cast.framework.CastButtonFactory -import com.google.android.play.core.splitcompat.SplitCompat -import com.google.android.play.core.splitinstall.SplitInstallManagerFactory -import com.google.android.play.core.splitinstall.SplitInstallRequest -import com.google.android.play.core.splitinstall.SplitInstallSessionState -import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener -import java.util.* - -fun Context.setUpMediaRouteButton(menu: Menu) { - CastButtonFactory.setUpMediaRouteButton(this, menu, R.id.action_cast) -} - -fun FragmentActivity.installLanguageAndRecreate(code: String) { - var mySessionId = 0 - - val manager = SplitInstallManagerFactory.create(this) - val listener = object: SplitInstallStateUpdatedListener{ - override fun onStateUpdate(state: SplitInstallSessionState) { - if (state.sessionId() == mySessionId) { - recreate() - manager.unregisterListener(this) - } - } - } - manager.registerListener(listener) - - if (code != "auto") { - // Try to download language resources - val request = - SplitInstallRequest.newBuilder().addLanguage(Locale.forLanguageTag(code)) - .build() - manager.startInstall(request) - // Recreate the activity on download complete - .addOnSuccessListener { - mySessionId = it - } - .addOnFailureListener { - showToast("Language download failed.") - } - } else { - recreate() - } -} - -fun Context.goToProVersion() { - startActivity(Intent(this, PurchaseActivity::class.java)) -} - -fun Context.installSplitCompat() { - SplitCompat.install(this) -} \ No newline at end of file diff --git a/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt b/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt deleted file mode 100644 index 514612e33e..0000000000 --- a/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt +++ /dev/null @@ -1,110 +0,0 @@ -package code.name.monkey.retromusic.service - -import code.name.monkey.retromusic.cast.CastHelper.toMediaInfo -import code.name.monkey.retromusic.model.Song -import code.name.monkey.retromusic.service.playback.Playback -import code.name.monkey.retromusic.util.PreferenceUtil.playbackSpeed -import com.google.android.gms.cast.MediaLoadOptions -import com.google.android.gms.cast.MediaSeekOptions -import com.google.android.gms.cast.MediaStatus -import com.google.android.gms.cast.framework.CastSession -import com.google.android.gms.cast.framework.media.RemoteMediaClient - -class CastPlayer(castSession: CastSession) : Playback, RemoteMediaClient.Callback() { - - override val isInitialized: Boolean = true - - private val remoteMediaClient: RemoteMediaClient? = castSession.remoteMediaClient - - init { - remoteMediaClient?.registerCallback(this) - remoteMediaClient?.setPlaybackRate(playbackSpeed.toDouble().coerceIn(0.5, 2.0)) - } - - private var isActuallyPlaying = false - - override val isPlaying: Boolean - get() { - return remoteMediaClient?.isPlaying == true || isActuallyPlaying - } - - override val audioSessionId: Int = 0 - - override var callbacks: Playback.PlaybackCallbacks? = null - - override fun setDataSource( - song: Song, - force: Boolean, - completion: (success: Boolean) -> Unit, - ) { - try { - val mediaLoadOptions = - MediaLoadOptions.Builder().setPlayPosition(0).setAutoplay(true).build() - remoteMediaClient?.load(song.toMediaInfo()!!, mediaLoadOptions) - completion(true) - } catch (e: Exception) { - e.printStackTrace() - completion(false) - } - } - - override fun setNextDataSource(path: String?) {} - - override fun start(): Boolean { - isActuallyPlaying = true - remoteMediaClient?.play() - return true - } - - override fun stop() { - isActuallyPlaying = false - remoteMediaClient?.stop() - } - - override fun release() { - stop() - } - - override fun pause(): Boolean { - isActuallyPlaying = false - remoteMediaClient?.pause() - return true - } - - override fun duration(): Int { - return remoteMediaClient?.streamDuration?.toInt() ?: 0 - } - - override fun position(): Int { - return remoteMediaClient?.approximateStreamPosition?.toInt() ?: 0 - } - - override fun seek(whereto: Int): Int { - remoteMediaClient?.seek(MediaSeekOptions.Builder().setPosition(whereto.toLong()).build()) - return whereto - } - - override fun setVolume(vol: Float) = true - - override fun setAudioSessionId(sessionId: Int) = true - - override fun setCrossFadeDuration(duration: Int) {} - - override fun setPlaybackSpeedPitch(speed: Float, pitch: Float) { - remoteMediaClient?.setPlaybackRate(speed.toDouble().coerceIn(0.5, 2.0)) - } - - override fun onStatusUpdated() { - when (remoteMediaClient?.playerState) { - MediaStatus.PLAYER_STATE_IDLE -> { - val idleReason = remoteMediaClient.idleReason - if (idleReason == MediaStatus.IDLE_REASON_FINISHED) { - callbacks?.onTrackEnded() - } - } - MediaStatus.PLAYER_STATE_PLAYING, MediaStatus.PLAYER_STATE_PAUSED -> { - callbacks?.onPlayStateChanged() - } - } - } -} \ No newline at end of file diff --git a/app/src/normal/res/values/donottranslate.xml b/app/src/normal/res/values/donottranslate.xml deleted file mode 100644 index fbaac79921..0000000000 --- a/app/src/normal/res/values/donottranslate.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - always - \ No newline at end of file