1 package com.testdata 2 3 import android.os.Build 4 import androidx.annotation.RequiresApi 5 import androidx.annotation.RestrictTo 6 import androidx.annotation.RestrictTo.Scope 7 import androidx.appfunctions.AppFunctionSerializableProxy 8 import java.time.LocalDateTime 9 10 /** 11 * A proxy class for [LocalDateTime] that can be used to serialize and deserialize [LocalDateTime] 12 * objects across the App Functions boundary. 13 */ 14 @RestrictTo(Scope.LIBRARY_GROUP) 15 @AppFunctionSerializableProxy(targetClass = LocalDateTime::class) 16 public data class AppFunctionLocalDateTime( 17 val year: Int, 18 val month: Int, 19 val dayOfMonth: Int, 20 val hour: Int, 21 val minute: Int, 22 val second: Int, 23 val nanoOfSecond: Int 24 ) { 25 @RequiresApi(Build.VERSION_CODES.O) toLocalDateTimenull26 public fun toLocalDateTime(): LocalDateTime { 27 return LocalDateTime.of(year, month, dayOfMonth, hour, minute, second, nanoOfSecond) 28 } 29 30 public companion object {} 31 } 32