diff --git a/video/app/src/main/java/org/thoughtcrime/video/app/MainActivity.kt b/video/app/src/main/java/org/thoughtcrime/video/app/MainActivity.kt index 807e97effe..11441fdd35 100644 --- a/video/app/src/main/java/org/thoughtcrime/video/app/MainActivity.kt +++ b/video/app/src/main/java/org/thoughtcrime/video/app/MainActivity.kt @@ -29,6 +29,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import org.signal.core.util.logging.AndroidLogger import org.signal.core.util.logging.Log import org.thoughtcrime.video.app.playback.PlaybackTestActivity import org.thoughtcrime.video.app.transcode.TranscodeTestActivity @@ -53,6 +54,8 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + Log.initialize(AndroidLogger()) + val startPlaybackScreen = { saveChoice: Boolean -> proceed(Screen.TEST_PLAYBACK, saveChoice) } val startTranscodeScreen = { saveChoice: Boolean -> proceed(Screen.TEST_TRANSCODE, saveChoice) } setContent { diff --git a/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt b/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt index 516b1947e5..9e3329a759 100644 --- a/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt +++ b/video/app/src/main/java/org/thoughtcrime/video/app/transcode/TranscodeWorker.kt @@ -36,6 +36,8 @@ import java.time.Instant * A WorkManager worker to transcode videos in the background. This utilizes [StreamingTranscoder]. */ class TranscodeWorker(ctx: Context, params: WorkerParameters) : CoroutineWorker(ctx, params) { + private var lastProgress = 0 + @UnstableApi override suspend fun doWork(): Result { val logPrefix = "[Job ${id.toString().takeLast(4)}]" @@ -95,10 +97,13 @@ class TranscodeWorker(ctx: Context, params: WorkerParameters) : CoroutineWorker( Log.w(TAG, "$logPrefix Could not open temp file for I/O!") return Result.failure() } - transcoder.transcode({ percent: Int -> - setProgressAsync(Data.Builder().putInt(KEY_PROGRESS, percent).build()) - setForegroundAsync(createForegroundInfo(percent, notificationId)) + if (lastProgress != percent) { + lastProgress = percent + Log.v(TAG, "$logPrefix Updating progress percent to $percent%") + setProgressAsync(Data.Builder().putInt(KEY_PROGRESS, percent).build()) + setForegroundAsync(createForegroundInfo(percent, notificationId)) + } }, outputStream, { isStopped }) } Log.v(TAG, "$logPrefix Initial transcode completed successfully!") @@ -165,6 +170,7 @@ class TranscodeWorker(ctx: Context, params: WorkerParameters) : CoroutineWorker( .setSmallIcon(R.drawable.ic_work_notification) .setOngoing(true) .setContentIntent(pendingIntent) + .setPriority(NotificationCompat.PRIORITY_LOW) .addAction(android.R.drawable.ic_delete, cancel, intent) .build()