Skip to content
This repository has been archived by the owner on Jan 22, 2023. It is now read-only.

Commit

Permalink
refactors some methods
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonas Schubert committed May 25, 2019
1 parent 5d70c28 commit b4fe6ea
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 50 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![API](https://img.shields.io/badge/API-14+-blue.svg)](https://android-arsenal.com/api?level=14)
[![](https://jitpack.io/v/TimeXt/TimeXt-Kotlin.svg)](https://jitpack.io/#TimeXt/TimeXt-Kotlin)

[![Version](https://img.shields.io/badge/version-v0.5.0-blue.svg)](https://github.com/TimeXt/TimeXt-Kotlin/releases/tag/0.5.0)
[![Version](https://img.shields.io/badge/version-v0.5.1-blue.svg)](https://github.com/TimeXt/TimeXt-Kotlin/releases/tag/0.5.1)
[![Build](https://img.shields.io/badge/build-success-green.svg)](timext)
[![CodeCoverage](https://img.shields.io/badge/codeCoverage-64-orange.svg)](timext)

Expand Down Expand Up @@ -156,15 +156,15 @@ Add the dependency to your `build.gradle`:

```groovy
dependencies {
implementation 'com.github.TimeXt.TimeXt-Kotlin:timext:0.5.0'
implementation 'com.github.TimeXt.TimeXt-Kotlin:timext:0.5.1'
}
```

- For **Android** projects:

```groovy
dependencies {
implementation 'com.github.TimeXt.TimeXt-Kotlin:timext-android:0.5.0'
implementation 'com.github.TimeXt.TimeXt-Kotlin:timext-android:0.5.1'
}
```

Expand Down
4 changes: 2 additions & 2 deletions timext-android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 28
versionCode 500
versionName "0.5.0"
versionCode 501
versionName "0.5.1"
}

buildTypes {
Expand Down
5 changes: 5 additions & 0 deletions timext-android/timext-android.iml
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,19 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations_zip" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compile_only_not_namespaced_r_class_jar" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/consumer_proguard_file" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_and_local_jars_jni" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_publish_jar" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_jni_libs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged_res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/public_res" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,47 +23,25 @@ class TimeXt(var value: Double, private var unit: Double) {
val inMilliseconds: Double
get() = this.value * this.unit / TimeXtUnit.millisecond

fun toYears(): TimeXt {
return TimeXt(this.inYears, TimeXtUnit.year)
}
fun toYears(): TimeXt = TimeXt(this.inYears, TimeXtUnit.year)

fun toWeeks(): TimeXt {
return TimeXt(this.inWeeks, TimeXtUnit.week)
}
fun toWeeks(): TimeXt = TimeXt(this.inWeeks, TimeXtUnit.week)

fun toDays(): TimeXt {
return TimeXt(this.inDays, TimeXtUnit.day)
}
fun toDays(): TimeXt = TimeXt(this.inDays, TimeXtUnit.day)

fun toHours(): TimeXt {
return TimeXt(this.inHours, TimeXtUnit.hour)
}
fun toHours(): TimeXt = TimeXt(this.inHours, TimeXtUnit.hour)

fun toMinutes(): TimeXt {
return TimeXt(this.inMinutes, TimeXtUnit.minute)
}
fun toMinutes(): TimeXt = TimeXt(this.inMinutes, TimeXtUnit.minute)

fun toSeconds(): TimeXt {
return TimeXt(this.inSeconds, TimeXtUnit.second)
}
fun toSeconds(): TimeXt = TimeXt(this.inSeconds, TimeXtUnit.second)

fun toMilliseconds(): TimeXt {
return TimeXt(this.inMilliseconds, TimeXtUnit.millisecond)
}
fun toMilliseconds(): TimeXt = TimeXt(this.inMilliseconds, TimeXtUnit.millisecond)

operator fun plus(timeXt: TimeXt): TimeXt {
val newValue = ((this.inMilliseconds + timeXt.inMilliseconds) / this.unit) * TimeXtUnit.millisecond
return TimeXt(newValue, this.unit)
}
operator fun plus(timeXt: TimeXt): TimeXt = TimeXt(((this.inMilliseconds + timeXt.inMilliseconds) / this.unit) * TimeXtUnit.millisecond, this.unit)

operator fun minus(timeXt: TimeXt): TimeXt {
val newValue = ((this.inMilliseconds - timeXt.inMilliseconds) / this.unit) * TimeXtUnit.millisecond
return TimeXt(newValue, this.unit)
}
operator fun minus(timeXt: TimeXt): TimeXt = TimeXt(((this.inMilliseconds - timeXt.inMilliseconds) / this.unit) * TimeXtUnit.millisecond, this.unit)

operator fun times(timesValue: Number): TimeXt {
return TimeXt(value * timesValue.toDouble(), this.unit)
}
operator fun times(timesValue: Number): TimeXt = TimeXt(value * timesValue.toDouble(), this.unit)

operator fun div(divValue: Number): TimeXt {
if (divValue == 0) {
Expand All @@ -80,12 +58,12 @@ class TimeXt(var value: Double, private var unit: Double) {

operator fun contains(compareTimeXt: TimeXt) = inMilliseconds >= compareTimeXt.inMilliseconds

override operator fun equals(other: Any?): Boolean {
if (other == null || other !is TimeXt) {
return false
}
return compareTo(other) == 0
}
override operator fun equals(other: Any?): Boolean =
if (other == null || other !is TimeXt) {
false
} else {
compareTo(other) == 0
}

override fun hashCode() = inMilliseconds.hashCode()
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@ operator fun Calendar.plus(timeXt: TimeXt): Calendar {
return newCalendar
}

operator fun Calendar.minus(timeXt: TimeXt): Calendar {
return this + (timeXt * -1)
}
operator fun Calendar.minus(timeXt: TimeXt): Calendar = this + (timeXt * -1)

operator fun Calendar.minus(calendar: Calendar): TimeXt {
val difference = this.timeInMillis - calendar.timeInMillis
return TimeXt(difference.toDouble(), TimeXtUnit.millisecond)
}
operator fun Calendar.minus(calendar: Calendar): TimeXt = TimeXt((this.timeInMillis - calendar.timeInMillis).toDouble(), TimeXtUnit.millisecond)

0 comments on commit b4fe6ea

Please sign in to comment.