mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-01 16:44:41 +02:00
Add deviceId to DeviceInfo for Android
This commit is contained in:
parent
e842de78dd
commit
d9a6ec65df
3 changed files with 22 additions and 5 deletions
|
@ -74,6 +74,7 @@ open class LibraryItemWrapper(var id:String) {
|
||||||
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
data class DeviceInfo(
|
data class DeviceInfo(
|
||||||
|
var deviceId:String,
|
||||||
var manufacturer:String,
|
var manufacturer:String,
|
||||||
var model:String,
|
var model:String,
|
||||||
var brand:String,
|
var brand:String,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.audiobookshelf.app.player
|
package com.audiobookshelf.app.player
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.app.*
|
import android.app.*
|
||||||
import android.appwidget.AppWidgetManager
|
import android.appwidget.AppWidgetManager
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
|
@ -16,6 +17,7 @@ import android.net.NetworkCapabilities
|
||||||
import android.net.NetworkRequest
|
import android.net.NetworkRequest
|
||||||
import android.os.*
|
import android.os.*
|
||||||
import android.provider.MediaStore
|
import android.provider.MediaStore
|
||||||
|
import android.provider.Settings
|
||||||
import android.support.v4.media.MediaBrowserCompat
|
import android.support.v4.media.MediaBrowserCompat
|
||||||
import android.support.v4.media.MediaDescriptionCompat
|
import android.support.v4.media.MediaDescriptionCompat
|
||||||
import android.support.v4.media.MediaMetadataCompat
|
import android.support.v4.media.MediaMetadataCompat
|
||||||
|
@ -31,7 +33,6 @@ import androidx.core.content.ContextCompat
|
||||||
import androidx.media.MediaBrowserServiceCompat
|
import androidx.media.MediaBrowserServiceCompat
|
||||||
import androidx.media.utils.MediaConstants
|
import androidx.media.utils.MediaConstants
|
||||||
import com.audiobookshelf.app.BuildConfig
|
import com.audiobookshelf.app.BuildConfig
|
||||||
import com.audiobookshelf.app.MediaPlayerWidget
|
|
||||||
import com.audiobookshelf.app.R
|
import com.audiobookshelf.app.R
|
||||||
import com.audiobookshelf.app.data.*
|
import com.audiobookshelf.app.data.*
|
||||||
import com.audiobookshelf.app.data.DeviceInfo
|
import com.audiobookshelf.app.data.DeviceInfo
|
||||||
|
@ -894,6 +895,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||||
return if(currentPlayer == castPlayer) PLAYER_CAST else PLAYER_EXO
|
return if(currentPlayer == castPlayer) PLAYER_CAST else PLAYER_EXO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("HardwareIds")
|
||||||
private fun getDeviceInfo(): DeviceInfo {
|
private fun getDeviceInfo(): DeviceInfo {
|
||||||
/* EXAMPLE
|
/* EXAMPLE
|
||||||
manufacturer: Google
|
manufacturer: Google
|
||||||
|
@ -902,7 +904,8 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||||
sdkVersion: 32
|
sdkVersion: 32
|
||||||
appVersion: 0.9.46-beta
|
appVersion: 0.9.46-beta
|
||||||
*/
|
*/
|
||||||
return DeviceInfo(Build.MANUFACTURER, Build.MODEL, Build.BRAND, Build.VERSION.SDK_INT, BuildConfig.VERSION_NAME)
|
val deviceId = Settings.Secure.getString(ctx.contentResolver, Settings.Secure.ANDROID_ID)
|
||||||
|
return DeviceInfo(deviceId, Build.MANUFACTURER, Build.MODEL, Build.BRAND, Build.VERSION.SDK_INT, BuildConfig.VERSION_NAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
private val deviceSettings get() = DeviceManager.deviceData.deviceSettings ?: DeviceSettings.default()
|
private val deviceSettings get() = DeviceManager.deviceData.deviceSettings ?: DeviceSettings.default()
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { registerPlugin, WebPlugin } from '@capacitor/core';
|
import { registerPlugin, WebPlugin } from '@capacitor/core'
|
||||||
|
import { nanoid } from 'nanoid'
|
||||||
const { PlayerState } = require('../constants')
|
const { PlayerState } = require('../constants')
|
||||||
|
|
||||||
var $axios = null
|
var $axios = null
|
||||||
|
@ -42,6 +43,15 @@ class AbsAudioPlayerWeb extends WebPlugin {
|
||||||
return this.player && !this.player.paused
|
return this.player && !this.player.paused
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDeviceId() {
|
||||||
|
let deviceId = localStorage.getItem('absDeviceId')
|
||||||
|
if (!deviceId) {
|
||||||
|
deviceId = nanoid()
|
||||||
|
localStorage.setItem('absDeviceId', deviceId)
|
||||||
|
}
|
||||||
|
return deviceId
|
||||||
|
}
|
||||||
|
|
||||||
// PluginMethod
|
// PluginMethod
|
||||||
async prepareLibraryItem({ libraryItemId, episodeId, playWhenReady, startTime }) {
|
async prepareLibraryItem({ libraryItemId, episodeId, playWhenReady, startTime }) {
|
||||||
console.log('[AbsAudioPlayer] Prepare library item', libraryItemId)
|
console.log('[AbsAudioPlayer] Prepare library item', libraryItemId)
|
||||||
|
@ -49,8 +59,11 @@ class AbsAudioPlayerWeb extends WebPlugin {
|
||||||
if (libraryItemId.startsWith('local_')) {
|
if (libraryItemId.startsWith('local_')) {
|
||||||
// Fetch Local - local not implemented on web
|
// Fetch Local - local not implemented on web
|
||||||
} else {
|
} else {
|
||||||
var route = !episodeId ? `/api/items/${libraryItemId}/play` : `/api/items/${libraryItemId}/play/${episodeId}`
|
const route = !episodeId ? `/api/items/${libraryItemId}/play` : `/api/items/${libraryItemId}/play/${episodeId}`
|
||||||
var playbackSession = await $axios.$post(route, { mediaPlayer: 'html5-mobile', forceDirectPlay: true })
|
const deviceInfo = {
|
||||||
|
deviceId: this.getDeviceId()
|
||||||
|
}
|
||||||
|
const playbackSession = await $axios.$post(route, { deviceInfo, mediaPlayer: 'html5-mobile', forceDirectPlay: true })
|
||||||
if (playbackSession) {
|
if (playbackSession) {
|
||||||
if (startTime !== undefined && startTime !== null) playbackSession.currentTime = startTime
|
if (startTime !== undefined && startTime !== null) playbackSession.currentTime = startTime
|
||||||
this.setAudioPlayer(playbackSession, playWhenReady)
|
this.setAudioPlayer(playbackSession, playWhenReady)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue