Skip to content

Commit 46ad05a

Browse files
committed
Merge RetroMusicPlayer/dev into dev
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
2 parents e1b127d + 74b317e commit 46ad05a

File tree

539 files changed

+10454
-8955
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

539 files changed

+10454
-8955
lines changed

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
* text=auto eol=lf
2+
3+
*.bat text eol=crlf
4+
*.jar binary

.github/workflows/android.yml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,28 @@ on:
77
branches: [ dev ]
88

99
jobs:
10-
build:
11-
10+
check:
1211
runs-on: ubuntu-latest
13-
12+
timeout-minutes: 10
1413
steps:
15-
- uses: actions/checkout@v2
16-
- name: set up JDK 11
17-
uses: actions/setup-java@v2
18-
with:
19-
java-version: '11'
20-
distribution: 'temurin'
21-
cache: gradle
14+
- uses: actions/checkout@v3
15+
- uses: gradle/wrapper-validation-action@v1
16+
- uses: actions/setup-java@v3
17+
with:
18+
distribution: 'zulu'
19+
java-version: 17
20+
- uses: gradle/gradle-build-action@v2
21+
- name: Lint Android
22+
run: ./gradlew lint
2223

23-
- name: Generate temporary keystore
24-
run: keytool -genkey -v -storetype pkcs12 -keystore store.p12 -storepass android -alias android -keyalg RSA -keysize 2048 -validity 10000 -dname CN=CI
25-
- name: Write retro.properties
26-
run: |
27-
cat >retro.properties <<EOF
28-
storeFile=$PWD/store.p12
29-
keyAlias=android
30-
storePassword=android
31-
keyPassword=android
32-
EOF
33-
- name: Build with Gradle
34-
run: ./gradlew build
24+
build:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: actions/checkout@v3
28+
- uses: actions/setup-java@v3
29+
with:
30+
java-version: '17'
31+
distribution: 'zulu'
32+
- uses: gradle/gradle-build-action@v2
33+
- name: Build
34+
run: ./gradlew app:assemble

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,18 @@ Material Design music player for Android music lovers
1111
## Differences between Metro and [RetroMusicPlayer](https://github.com/h4h13/RetroMusicPlayer)
1212
- Google Play libraries removed (fully libre)
1313
- Pro features available for free
14+
- Fully offline (INTERNET permission removed)
1415
- Bug fixes
1516
- Minor differences in UI
1617

1718
## 📱 Screenshots
1819
### App Themes
19-
| <img src="screenshots/home_light.jpg" width="200"/> | <img src="screenshots/home_dark.jpg" width="200"/> | <img src="screenshots/home_black.jpg" width="200"/> |
20+
| <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"/> |
2021
|:---:|:---:|:---:|
2122
|Clearly white| Kinda dark | Just black|
2223

2324
### Player screen
24-
| <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"/>|
25+
| <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"/>|
2526
|:---:|:---:|:---:|:---:|:---:|
2627
| Home | Songs | Albums | Artists | Settings |
2728

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

3839
### 10+ Now playing themes
39-
| <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"/> |
40+
| <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"/> |
4041
|:-----: |:-----: |:-----: |:-----: |:-----: |
4142
| Normal | Fit | Flat | Color | Material |
4243

app/build.gradle

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
apply plugin: 'com.android.application'
22
apply plugin: 'kotlin-android'
3-
apply plugin: 'kotlin-kapt'
43
apply plugin: "androidx.navigation.safeargs.kotlin"
54
apply plugin: 'kotlin-parcelize'
5+
apply plugin: 'com.google.devtools.ksp'
66

77
android {
8-
compileSdk 32
9-
buildToolsVersion = '30.0.3'
8+
compileSdk 33
9+
namespace "code.name.monkey.retromusic"
1010

1111
defaultConfig {
12-
namespace 'code.name.monkey.retromusic'
1312
minSdk 21
1413
targetSdk 32
1514

1615
vectorDrawables.useSupportLibrary = true
1716

1817
applicationId 'io.github.muntashirakon.Music'
19-
versionCode 10580
20-
versionName '5.8.5'
18+
versionCode 10600
19+
versionName '6.0.4'
2120

2221
multiDexEnabled true
2322
}
@@ -32,7 +31,7 @@ android {
3231
}
3332
}
3433

35-
buildFeatures{
34+
buildFeatures {
3635
viewBinding true
3736
}
3837
packagingOptions {
@@ -41,8 +40,8 @@ android {
4140
}
4241
}
4342
lint {
44-
abortOnError false
45-
disable 'MissingTranslation', 'InvalidPackage'
43+
abortOnError true
44+
warning 'ImpliedQuantity', 'Instantiatable', 'MissingQuantity', 'MissingTranslation'
4645
}
4746
compileOptions {
4847
sourceCompatibility JavaVersion.VERSION_1_8
@@ -51,8 +50,11 @@ android {
5150
kotlinOptions {
5251
jvmTarget = "1.8"
5352
}
54-
55-
configurations.all {
53+
dependenciesInfo {
54+
includeInApk = false
55+
includeInBundle = false
56+
}
57+
configurations.configureEach {
5658
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
5759
}
5860
}
@@ -61,13 +63,13 @@ android {
6163
dependencies {
6264
implementation project(':appthemehelper')
6365
implementation "androidx.gridlayout:gridlayout:1.0.0"
64-
implementation "androidx.cardview:cardview:1.0.0"
66+
6567
implementation "androidx.appcompat:appcompat:$appcompat_version"
66-
implementation 'androidx.annotation:annotation:1.3.0'
67-
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
68-
implementation 'androidx.recyclerview:recyclerview:1.2.1'
68+
implementation 'androidx.annotation:annotation:1.6.0'
69+
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
70+
implementation 'androidx.recyclerview:recyclerview:1.3.0'
6971
implementation "androidx.preference:preference-ktx:$preference_version"
70-
implementation 'androidx.core:core-ktx:1.7.0'
72+
implementation "androidx.core:core-ktx:$core_version"
7173
implementation 'androidx.palette:palette-ktx:1.0.0'
7274

7375
implementation "androidx.media:media:1.6.0"
@@ -76,20 +78,22 @@ dependencies {
7678
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
7779
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
7880

79-
def room_version = '2.4.2'
81+
def room_version = '2.5.0'
8082
implementation "androidx.room:room-runtime:$room_version"
8183
implementation "androidx.room:room-ktx:$room_version"
82-
kapt "androidx.room:room-compiler:$room_version"
84+
ksp "androidx.room:room-compiler:$room_version"
8385

84-
def lifecycle_version = "2.5.0-rc01"
8586
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
8687
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
8788
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
8889

89-
implementation "androidx.core:core-splashscreen:1.0.0-beta02"
90+
implementation "androidx.core:core-splashscreen:1.0.0"
9091

9192
implementation "com.google.android.material:material:$mdc_version"
92-
implementation 'com.google.code.gson:gson:2.9.0'
93+
94+
def retrofit_version = '2.9.0'
95+
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
96+
implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
9397

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

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

101-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
102-
103-
def kotlin_coroutines_version = '1.6.1'
104-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
105-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
105+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"
106106

107-
def koin_version = '3.2.0'
107+
def koin_version = '3.3.3'
108108
implementation "io.insert-koin:koin-core:$koin_version"
109109
implementation "io.insert-koin:koin-android:$koin_version"
110110

111-
def glide_version = '4.13.2'
111+
def glide_version = '4.15.0'
112112
implementation "com.github.bumptech.glide:glide:$glide_version"
113-
kapt "com.github.bumptech.glide:compiler:$glide_version"
113+
ksp "com.github.bumptech.glide:ksp:$glide_version"
114114

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

@@ -125,8 +125,7 @@ dependencies {
125125
implementation 'com.r0adkll:slidableactivity:2.1.0'
126126
implementation 'com.heinrichreimersoftware:material-intro:2.0.0'
127127
implementation 'com.github.dhaval2404:imagepicker:2.1'
128-
implementation 'me.zhanghai.android.fastscroll:library:1.1.8'
129-
implementation 'cat.ereza:customactivityoncrash:2.3.0'
130-
implementation 'me.tankery.lib:circularSeekBar:1.3.2'
131-
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
128+
implementation 'me.zhanghai.android.fastscroll:library:1.2.0'
129+
implementation 'cat.ereza:customactivityoncrash:2.4.0'
130+
implementation 'me.tankery.lib:circularSeekBar:1.4.1'
132131
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package code.name.monkey.retromusic.billing
2+
3+
import android.content.Context
4+
5+
@Suppress("UNUSED_PARAMETER")
6+
class BillingManager(context: Context) {
7+
8+
fun release() {}
9+
10+
val isProVersion: Boolean
11+
get() = true
12+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package code.name.monkey.retromusic.cast
2+
3+
import android.content.Context
4+
5+
@Suppress("UNUSED_PARAMETER")
6+
class RetroWebServer(context: Context)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@file:Suppress("UNUSED_PARAMETER", "unused")
2+
3+
package code.name.monkey.retromusic.extensions
4+
5+
import android.content.Context
6+
import android.view.Menu
7+
import androidx.fragment.app.FragmentActivity
8+
9+
fun Context.setUpMediaRouteButton(menu: Menu) {}
10+
11+
fun FragmentActivity.installLanguageAndRecreate(code: String) {
12+
recreate()
13+
}
14+
15+
fun Context.goToProVersion() {}
16+
17+
fun Context.installSplitCompat() {}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package code.name.monkey.retromusic.service
2+
3+
import code.name.monkey.retromusic.model.Song
4+
import code.name.monkey.retromusic.service.playback.Playback
5+
6+
// Empty CastPlayer implementation
7+
class CastPlayer : Playback {
8+
override val isInitialized: Boolean
9+
get() = true
10+
override val isPlaying: Boolean
11+
get() = true
12+
override val audioSessionId: Int
13+
get() = 0
14+
15+
override fun setDataSource(
16+
song: Song,
17+
force: Boolean,
18+
completion: (success: Boolean) -> Unit,
19+
) {
20+
}
21+
22+
override fun setNextDataSource(path: String?) {}
23+
24+
override var callbacks: Playback.PlaybackCallbacks? = null
25+
26+
override fun start() = true
27+
28+
override fun stop() {}
29+
30+
override fun release() {}
31+
32+
override fun pause(): Boolean = true
33+
34+
override fun duration() = 0
35+
36+
override fun position() = 0
37+
38+
override fun seek(whereto: Int) = whereto
39+
40+
override fun setVolume(vol: Float) = true
41+
42+
override fun setAudioSessionId(sessionId: Int) = true
43+
44+
override fun setCrossFadeDuration(duration: Int) {}
45+
46+
override fun setPlaybackSpeedPitch(speed: Float, pitch: Float) {}
47+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package code.name.monkey.retromusic.util
2+
3+
import android.content.Context
4+
5+
@Suppress("UNUSED_PARAMETER")
6+
object AppRater {
7+
fun appLaunched(context: Context) {}
8+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<string name="download_policy">never</string>
4+
</resources>

0 commit comments

Comments
 (0)