Advertisement
Guest User

Untitled

a guest
Jan 26th, 2018
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.58 KB | None | 0 0
  1. package com.healthier_life.a90_days_diet.entities
  2.  
  3. import android.database.Cursor
  4. import android.os.Parcel
  5. import android.os.Parcelable
  6. import com.healthier_life.a90_days_diet.enumerations.DietType
  7. import org.joda.time.DateTime
  8. import org.joda.time.DateTimeZone
  9. import java.util.*
  10.  
  11. class DietEntity: Parcelable {
  12.     private val NO_ID = 1
  13.  
  14.     var id: Int = NO_ID
  15.     var endDate: DateTime
  16.     var type: DietType
  17.     var skipWaterDay1: Boolean = false;
  18.     var skipWaterDay2: Boolean = false;
  19.     var skipWaterDay3: Boolean = false;
  20.     var startDate: DateTime
  21.  
  22.     constructor(cursor: Cursor) {
  23.         this.id = DatabaseContract.getColumnInt(cursor, DatabaseContract.DietColumns.ID)
  24.         this.startDate = DateTime(DatabaseContract.getColumnLong(cursor, DatabaseContract.DietColumns.START_DATE))
  25.         this.endDate = DateTime(DatabaseContract.getColumnLong(cursor, DatabaseContract.DietColumns.END_DATE))
  26.         this.type = DietType.valueOf(DatabaseContract.getColumnString(cursor, DatabaseContract.DietColumns.TYPE))
  27.         this.skipWaterDay1 = DatabaseContract.getColumnBoolean(cursor, DatabaseContract.DietColumns.SKIP_WATER_DAY_1)
  28.         this.skipWaterDay2 = DatabaseContract.getColumnBoolean(cursor, DatabaseContract.DietColumns.SKIP_WATER_DAY_2)
  29.         this.skipWaterDay3 = DatabaseContract.getColumnBoolean(cursor, DatabaseContract.DietColumns.SKIP_WATER_DAY_3)
  30.  
  31.     }
  32.  
  33.     constructor(`in`: Parcel) {
  34.         id = `in`.readInt()
  35.         startDate = DateTime(`in`.readLong())
  36.         endDate = DateTime(`in`.readLong())
  37.         type = DietType.valueOf(`in`.readString())
  38.         skipWaterDay1 = (`in`.readByte().toInt() != 0x00)
  39.         skipWaterDay2 = (`in`.readByte().toInt() != 0x00)
  40.         skipWaterDay3 = (`in`.readByte().toInt() != 0x00)
  41.     }
  42.  
  43.     override fun writeToParcel(p0: Parcel?, p1: Int) {
  44.         p0?.writeInt(id)
  45.         p0?.writeLong(startDate.millis)
  46.         p0?.writeLong(endDate.millis)
  47.         p0?.writeString(type.toString())
  48.         p0?.writeByte((if(skipWaterDay1) 0x01 else 0x00).toByte())
  49.         p0?.writeByte((if(skipWaterDay2) 0x01 else 0x00).toByte())
  50.         p0?.writeByte((if(skipWaterDay3) 0x01 else 0x00).toByte())
  51.  
  52.     }
  53.  
  54.     override fun describeContents(): Int {
  55.         return 0
  56.     }
  57.  
  58.     val CREATOR: Parcelable.Creator<DietEntity> = object : Parcelable.Creator<DietEntity> {
  59.         override fun createFromParcel(`in`: Parcel): DietEntity {
  60.             return DietEntity(`in`)
  61.         }
  62.  
  63.         override fun newArray(size: Int): Array<DietEntity?> {
  64.             return arrayOfNulls<DietEntity>(size)
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement