Skip to content

Commit

Permalink
Fixed a few issue with audio player
Browse files Browse the repository at this point in the history
  • Loading branch information
Hamza417 committed Dec 26, 2022
1 parent 55cf349 commit f5cf7ad
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 27 deletions.
9 changes: 7 additions & 2 deletions app/src/main/java/app/simple/inure/services/AudioService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import android.support.v4.media.MediaMetadataCompat
import android.support.v4.media.session.MediaControllerCompat
import android.support.v4.media.session.MediaSessionCompat
import android.support.v4.media.session.PlaybackStateCompat
import android.util.Log
import androidx.core.app.NotificationCompat
import androidx.media.app.NotificationCompat.MediaStyle
import app.simple.inure.R
Expand Down Expand Up @@ -361,8 +362,12 @@ class AudioService : Service(),
}

internal fun seek(to: Int) {
mediaPlayer.seekTo(to)
setPlaybackState(PlaybackStateCompat.STATE_PLAYING)
try {
mediaPlayer.seekTo(to)
setPlaybackState(PlaybackStateCompat.STATE_PLAYING)
} catch (e: IllegalStateException) {
Log.d("AudioService", "IllegalStateException: ${e.message}")
}
}

internal fun changePlayerState(): Boolean {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,18 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import app.simple.inure.R
import app.simple.inure.apk.utils.PackageUtils.getInstalledPackages
import app.simple.inure.extensions.viewmodels.WrappedViewModel
import app.simple.inure.extensions.viewmodels.PackageUtilsViewModel
import app.simple.inure.preferences.AnalyticsPreferences
import app.simple.inure.util.SDKHelper
import com.github.mikephil.charting.data.PieEntry
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class AnalyticsViewModel(application: Application) : WrappedViewModel(application) {
class AnalyticsViewModel(application: Application) : PackageUtilsViewModel(application) {

private val minimumOsData: MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> by lazy {
MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>>().also {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
loadMinimumOsData()
}
}
}

private val targetOsData: MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> by lazy {
MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>>().also {
loadTargetOsData()
}
}

private val installLocationData: MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> by lazy {
MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>>().also {
loadInstallLocationData()
}
}
private val minimumOsData: MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> = MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>>()
private val targetOsData: MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> = MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>>()
private val installLocationData: MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> = MutableLiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>>()

fun getMinimumOsData(): LiveData<Pair<ArrayList<PieEntry>, ArrayList<Int>>> {
return minimumOsData
Expand All @@ -53,7 +36,7 @@ class AnalyticsViewModel(application: Application) : WrappedViewModel(applicatio
@RequiresApi(Build.VERSION_CODES.N)
private fun loadMinimumOsData() {
viewModelScope.launch(Dispatchers.IO) {
val apps = packageManager.getInstalledPackages()
val apps = getInstalledApps()
val data = arrayListOf<PieEntry>()
val colors = arrayListOf<Int>()

Expand All @@ -79,7 +62,7 @@ class AnalyticsViewModel(application: Application) : WrappedViewModel(applicatio

private fun loadTargetOsData() {
viewModelScope.launch(Dispatchers.IO) {
val apps = packageManager.getInstalledPackages()
val apps = getInstalledApps()
val data = arrayListOf<PieEntry>()
val colors = arrayListOf<Int>()

Expand All @@ -105,7 +88,7 @@ class AnalyticsViewModel(application: Application) : WrappedViewModel(applicatio

private fun loadInstallLocationData() {
viewModelScope.launch(Dispatchers.IO) {
val apps = packageManager.getInstalledPackages()
val apps = getInstalledApps()
val data = arrayListOf<PieEntry>()
val colors = arrayListOf<Int>()

Expand Down Expand Up @@ -137,6 +120,11 @@ class AnalyticsViewModel(application: Application) : WrappedViewModel(applicatio
loadMinimumOsData()
}
loadTargetOsData()
loadInstallLocationData()
}

override fun onAppsLoaded(apps: ArrayList<PackageInfo>) {
refresh()
}

override fun onAppUninstalled(packageName: String?) {
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/layout/dialog_simple_warning.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<app.simple.inure.decorations.theme.ThemeIcon
android:layout_width="@dimen/loader_size"
android:layout_height="@dimen/loader_size"
android:layout_gravity="center_vertical"
android:scaleType="center"
android:src="@drawable/ic_error"
app:tintType="secondary" />
Expand Down

0 comments on commit f5cf7ad

Please sign in to comment.