itachi1706/CheesecakeUtilities

View on GitHub
app/src/main/java/com/itachi1706/cheesecakeutilities/modules/connectivityquiethours/objects/ConnectivityPeriod.kt

Summary

Maintainability
A
1 hr
Test Coverage
package com.itachi1706.cheesecakeutilities.modules.connectivityquiethours.objects

/**
 * Created by Kenneth on 28/4/2017.
 * for com.itachi1706.cheesecakeutilities.modules.ConnectivityQuietHours.Objects in CheesecakeUtilities
 */

class ConnectivityPeriod {

    var startHr: Int = 0
    var startMin: Int = 0
    var endHr: Int = 0
    var endMin: Int = 0

    constructor(startHr: Int, startMin: Int, endHr: Int, endMin: Int) {
        this.startHr = startHr
        this.startMin = startMin
        this.endHr = endHr
        this.endMin = endMin
    }

    constructor(serializedObject: String) {
        val tmp = serializedObject.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
        val tmpSize = tmp.size
        this.endHr = 0
        this.endMin = 0
        this.startHr = 0
        this.startMin = 0
        if (tmpSize >= 4) this.endMin = Integer.parseInt(tmp[3])
        if (tmpSize >= 3) this.endHr = Integer.parseInt(tmp[2])
        if (tmpSize >= 2) this.startMin = Integer.parseInt(tmp[1])
        if (tmpSize >= 1) this.startHr = Integer.parseInt(tmp[0])
    }

    constructor(startHr: Int, startMin: Int) {
        this.startHr = startHr
        this.startMin = startMin
        this.endHr = 0
        this.endMin = 0
    }

    override fun toString(): String {
        return startHr.toString() + ":" + startMin + " - " + endHr + ":" + endMin
    }

    fun serialize(): String {
        return startHr.toString() + ":" + startMin + ":" + endHr + ":" + endMin
    }
}