Report missing widget icons

pull/3893/merge
Alex Baker 3 days ago
parent f0c57a0287
commit f1019a24fc

@ -11,7 +11,12 @@ import androidx.core.graphics.createBitmap
import androidx.core.net.toUri
import com.mikepenz.iconics.IconicsDrawable
import com.mikepenz.iconics.utils.sizeDp
import dagger.hilt.EntryPoint
import dagger.hilt.InstallIn
import dagger.hilt.android.EntryPointAccessors
import dagger.hilt.components.SingletonComponent
import org.tasks.BuildConfig
import org.tasks.analytics.Firebase
import org.tasks.icons.OutlinedGoogleMaterial
import timber.log.Timber
import java.io.File
@ -19,6 +24,12 @@ import java.io.FileOutputStream
class WidgetIconProvider : ContentProvider() {
@EntryPoint
@InstallIn(SingletonComponent::class)
interface WidgetIconProviderEntryPoint {
val firebase: Firebase
}
override fun onCreate() = true
override fun openFile(uri: Uri, mode: String): ParcelFileDescriptor? {
@ -76,10 +87,17 @@ class WidgetIconProvider : ContentProvider() {
bitmap.recycle()
} catch (e: Exception) {
Timber.e(e, "Failed to generate icon: $iconName")
hilt().firebase.reportException(e)
file.delete()
}
}
private fun hilt() =
EntryPointAccessors.fromApplication(
context!!.applicationContext,
WidgetIconProviderEntryPoint::class.java
)
private fun getCacheFile(iconName: String): File {
val context = context ?: throw IllegalStateException("Context is null")
val cacheDir = File(context.cacheDir, "widget_icons")

Loading…
Cancel
Save