Skip to content

Commit

Permalink
Merge RetroMusicPlayer/dev into dev
Browse files Browse the repository at this point in the history
Signed-off-by: Muntashir Al-Islam <[email protected]>
  • Loading branch information
MuntashirAkon committed Mar 15, 2023
2 parents e1b127d + 74b317e commit 46ad05a
Show file tree
Hide file tree
Showing 539 changed files with 10,454 additions and 8,955 deletions.
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* text=auto eol=lf

*.bat text eol=crlf
*.jar binary
44 changes: 22 additions & 22 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,28 @@ on:
branches: [ dev ]

jobs:
build:

check:
runs-on: ubuntu-latest

timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- name: set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'temurin'
cache: gradle
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 17
- uses: gradle/gradle-build-action@v2
- name: Lint Android
run: ./gradlew lint

- name: Generate temporary keystore
run: keytool -genkey -v -storetype pkcs12 -keystore store.p12 -storepass android -alias android -keyalg RSA -keysize 2048 -validity 10000 -dname CN=CI
- name: Write retro.properties
run: |
cat >retro.properties <<EOF
storeFile=$PWD/store.p12
keyAlias=android
storePassword=android
keyPassword=android
EOF
- name: Build with Gradle
run: ./gradlew build
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
- uses: gradle/gradle-build-action@v2
- name: Build
run: ./gradlew app:assemble
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,18 @@ Material Design music player for Android music lovers
## Differences between Metro and [RetroMusicPlayer](https://github.com/h4h13/RetroMusicPlayer)
- Google Play libraries removed (fully libre)
- Pro features available for free
- Fully offline (INTERNET permission removed)
- Bug fixes
- Minor differences in UI

## 📱 Screenshots
### App Themes
| <img src="screenshots/home_light.jpg" width="200"/> | <img src="screenshots/home_dark.jpg" width="200"/> | <img src="screenshots/home_black.jpg" width="200"/> |
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg" width="200"/> | <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg" width="200"/> | <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg" width="200"/> |
|:---:|:---:|:---:|
|Clearly white| Kinda dark | Just black|

### Player screen
| <img src="screenshots/home_light.jpg" width="200"/>| <img src="screenshots/songs.jpg" width="200"/>| <img src="screenshots/albums.jpg" width="200"/>| <img src="screenshots/artists.jpg" width="200"/>| <img src="screenshots/settings.jpg" width="200"/>|
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg" width="200"/>| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg" width="200"/>| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg" width="200"/>| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/7.jpg" width="200"/>| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/8.jpg" width="200"/>|
|:---:|:---:|:---:|:---:|:---:|
| Home | Songs | Albums | Artists | Settings |

Expand All @@ -36,7 +37,7 @@ Material Design music player for Android music lovers
| Synced Replace Cover light | Synced Replace Cover dark | Synced Replace Cover black |

### 10+ Now playing themes
| <img src="screenshots/normal.jpg" width="200"/> |<img src="screenshots/fit.jpg" width="200"/>| <img src="screenshots/flat.jpg" width="200"/> | <img src="screenshots/color.jpg" width="200"/> | <img src="screenshots/material.jpg" width="200"/> |
| <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg" width="200"/> |<img src="screenshots/fit.jpg" width="200"/>| <img src="screenshots/flat.jpg" width="200"/> | <img src="screenshots/color.jpg" width="200"/> | <img src="screenshots/material.jpg" width="200"/> |
|:-----: |:-----: |:-----: |:-----: |:-----: |
| Normal | Fit | Flat | Color | Material |

Expand Down
65 changes: 32 additions & 33 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: "androidx.navigation.safeargs.kotlin"
apply plugin: 'kotlin-parcelize'
apply plugin: 'com.google.devtools.ksp'

android {
compileSdk 32
buildToolsVersion = '30.0.3'
compileSdk 33
namespace "code.name.monkey.retromusic"

defaultConfig {
namespace 'code.name.monkey.retromusic'
minSdk 21
targetSdk 32

vectorDrawables.useSupportLibrary = true

applicationId 'io.github.muntashirakon.Music'
versionCode 10580
versionName '5.8.5'
versionCode 10600
versionName '6.0.4'

multiDexEnabled true
}
Expand All @@ -32,7 +31,7 @@ android {
}
}

buildFeatures{
buildFeatures {
viewBinding true
}
packagingOptions {
Expand All @@ -41,8 +40,8 @@ android {
}
}
lint {
abortOnError false
disable 'MissingTranslation', 'InvalidPackage'
abortOnError true
warning 'ImpliedQuantity', 'Instantiatable', 'MissingQuantity', 'MissingTranslation'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
Expand All @@ -51,8 +50,11 @@ android {
kotlinOptions {
jvmTarget = "1.8"
}

configurations.all {
dependenciesInfo {
includeInApk = false
includeInBundle = false
}
configurations.configureEach {
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
}
Expand All @@ -61,13 +63,13 @@ android {
dependencies {
implementation project(':appthemehelper')
implementation "androidx.gridlayout:gridlayout:1.0.0"
implementation "androidx.cardview:cardview:1.0.0"

implementation "androidx.appcompat:appcompat:$appcompat_version"
implementation 'androidx.annotation:annotation:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.annotation:annotation:1.6.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.recyclerview:recyclerview:1.3.0'
implementation "androidx.preference:preference-ktx:$preference_version"
implementation 'androidx.core:core-ktx:1.7.0'
implementation "androidx.core:core-ktx:$core_version"
implementation 'androidx.palette:palette-ktx:1.0.0'

implementation "androidx.media:media:1.6.0"
Expand All @@ -76,20 +78,22 @@ dependencies {
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"

def room_version = '2.4.2'
def room_version = '2.5.0'
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
kapt "androidx.room:room-compiler:$room_version"
ksp "androidx.room:room-compiler:$room_version"

def lifecycle_version = "2.5.0-rc01"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

implementation "androidx.core:core-splashscreen:1.0.0-beta02"
implementation "androidx.core:core-splashscreen:1.0.0"

implementation "com.google.android.material:material:$mdc_version"
implementation 'com.google.code.gson:gson:2.9.0'

def retrofit_version = '2.9.0'
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"

def material_dialog_version = "3.3.0"
implementation "com.afollestad.material-dialogs:core:$material_dialog_version"
Expand All @@ -98,19 +102,15 @@ dependencies {

implementation 'com.afollestad:material-cab:2.0.1'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

def kotlin_coroutines_version = '1.6.1'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"

def koin_version = '3.2.0'
def koin_version = '3.3.3'
implementation "io.insert-koin:koin-core:$koin_version"
implementation "io.insert-koin:koin-android:$koin_version"

def glide_version = '4.13.2'
def glide_version = '4.15.0'
implementation "com.github.bumptech.glide:glide:$glide_version"
kapt "com.github.bumptech.glide:compiler:$glide_version"
ksp "com.github.bumptech.glide:ksp:$glide_version"

implementation 'com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:1.0.0'

Expand All @@ -125,8 +125,7 @@ dependencies {
implementation 'com.r0adkll:slidableactivity:2.1.0'
implementation 'com.heinrichreimersoftware:material-intro:2.0.0'
implementation 'com.github.dhaval2404:imagepicker:2.1'
implementation 'me.zhanghai.android.fastscroll:library:1.1.8'
implementation 'cat.ereza:customactivityoncrash:2.3.0'
implementation 'me.tankery.lib:circularSeekBar:1.3.2'
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
implementation 'me.zhanghai.android.fastscroll:library:1.2.0'
implementation 'cat.ereza:customactivityoncrash:2.4.0'
implementation 'me.tankery.lib:circularSeekBar:1.4.1'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package code.name.monkey.retromusic.billing

import android.content.Context

@Suppress("UNUSED_PARAMETER")
class BillingManager(context: Context) {

fun release() {}

val isProVersion: Boolean
get() = true
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package code.name.monkey.retromusic.cast

import android.content.Context

@Suppress("UNUSED_PARAMETER")
class RetroWebServer(context: Context)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
@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() {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
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) {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package code.name.monkey.retromusic.util

import android.content.Context

@Suppress("UNUSED_PARAMETER")
object AppRater {
fun appLaunched(context: Context) {}
}
4 changes: 4 additions & 0 deletions app/src/fdroid/res/values/donottranslate.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="download_policy">never</string>
</resources>
Loading

0 comments on commit 46ad05a

Please sign in to comment.