/* * Copyright 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.devicediagnostics import android.content.Context import android.icu.text.DateFormat import android.os.AsyncTask import java.time.Instant import java.util.Date import java.util.Locale // Must only be called on the UI thread. fun runInBackground(handler: () -> Unit) { val task = object : AsyncTask() { override fun doInBackground(vararg params: Void?): Void? { handler() return null } } task.execute() } fun getDefaultLocale(context: Context): Locale { return context.resources.configuration.locales.get(0) } fun localizeDateTimestamp(locale: Locale, seconds: Long): String { val instant = Instant.ofEpochSecond(seconds) val formatter = DateFormat.getDateInstance(DateFormat.LONG, locale) return formatter.format(Date.from(instant)) }