1 /* 2 * Copyright (C) 2019 The Android Open Source Project 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 package com.example.android.bubbles.data 17 18 import androidx.annotation.DrawableRes 19 20 data class Message( 21 val id: Long, 22 val sender: Long, 23 val text: String, 24 @DrawableRes 25 val photo: Int?, 26 val timestamp: Long 27 ) { 28 29 val isIncoming: Boolean 30 get() = sender != 0L 31 32 class Builder { 33 var id: Long? = null 34 var sender: Long? = null 35 var text: String? = null 36 var photo: Int? = null 37 var timestamp: Long? = null buildnull38 fun build() = Message(id!!, sender!!, text!!, photo, timestamp!!) 39 } 40 } 41