4 Commits

Author SHA1 Message Date
austinried
336e106e01 changelog for 1.1.1 2021-12-15 14:08:37 +09:00
austinried
c0f802c27b bump version 1.1.1 2021-12-15 14:05:51 +09:00
austinried
da033e697f check if we paused on duck before playing again (#51)
prevents music playing after an alarm or call ends if it wasn't paused by that alarm/call in the first place
2021-12-15 13:59:58 +09:00
austinried
5bb32df16b Create FUNDING.yml 2021-12-13 09:34:22 +09:00
6 changed files with 25 additions and 5 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
ko_fi: austinried

View File

@@ -134,8 +134,8 @@ android {
applicationId "com.subtracks" applicationId "com.subtracks"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 4 versionCode 5
versionName '1.1.0' versionName '1.1.1'
} }
splits { splits {
abi { abi {

View File

@@ -34,6 +34,12 @@ const rebuildQueue = () => {
}) })
} }
const setDuckPaused = (duckPaused: boolean) => {
unstable_batchedUpdates(() => {
useStore.getState().setDuckPaused(duckPaused)
})
}
let serviceCreated = false let serviceCreated = false
const createService = async () => { const createService = async () => {
@@ -81,9 +87,14 @@ const createService = async () => {
} }
if (data.paused) { if (data.paused) {
trackPlayerCommands.enqueue(TrackPlayer.pause) let state = useStore.getState().playerState
} else { if (state === State.Playing || state === State.Buffering || state === State.Connecting) {
trackPlayerCommands.enqueue(TrackPlayer.pause)
setDuckPaused(true)
}
} else if (useStore.getState().duckPaused) {
trackPlayerCommands.enqueue(TrackPlayer.play) trackPlayerCommands.enqueue(TrackPlayer.play)
setDuckPaused(false)
} }
}) })

View File

@@ -42,6 +42,9 @@ export type TrackPlayerSlice = {
playerState: State playerState: State
setPlayerState: (playerState: State) => void setPlayerState: (playerState: State) => void
duckPaused: boolean
setDuckPaused: (duckPaused: boolean) => void
currentTrack?: TrackExt currentTrack?: TrackExt
currentTrackIdx?: number currentTrackIdx?: number
setCurrentTrackIdx: (idx?: number) => void setCurrentTrackIdx: (idx?: number) => void
@@ -197,6 +200,9 @@ export const createTrackPlayerSlice = (set: SetState<Store>, get: GetState<Store
) )
}, },
duckPaused: false,
setDuckPaused: duckPaused => set({ duckPaused }),
queue: [], queue: [],
setQueue: async (songs, name, contextType, contextId, playTrack, shuffle) => { setQueue: async (songs, name, contextType, contextId, playTrack, shuffle) => {
return trackPlayerCommands.enqueue(async () => { return trackPlayerCommands.enqueue(async () => {

View File

@@ -0,0 +1,2 @@
## Fixed
- Don't resume playback after alarm/call ends if the alarm/call didn't pause playback in the first place

View File

@@ -1,6 +1,6 @@
{ {
"name": "subtracks", "name": "subtracks",
"version": "1.1.0", "version": "1.1.1",
"private": true, "private": true,
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"scripts": { "scripts": {