diff --git a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/OmegaIntentBuilder.kt b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/OmegaIntentBuilder.kt index 80f4f13..aa6c813 100644 --- a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/OmegaIntentBuilder.kt +++ b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/OmegaIntentBuilder.kt @@ -17,12 +17,12 @@ import android.net.Uri import android.os.Build import androidx.annotation.RequiresApi import com.omega_r.libs.omegaintentbuilder.builders.* +import com.omega_r.libs.omegaintentbuilder.builders.alarm.AlarmBuilder import com.omega_r.libs.omegaintentbuilder.builders.pick.PickBuilder import com.omega_r.libs.omegaintentbuilder.builders.share.EmailIntentBuilder import com.omega_r.libs.omegaintentbuilder.builders.share.ShareIntentBuilder import com.omega_r.libs.omegaintentbuilder.types.CalendarActionTypes import com.omega_r.libs.omegaintentbuilder.types.MapTypes -import com.omega_r.libs.omegaintentbuilder.types.ShowType /** * OmegaIntentBuilder class for creating supports createdIntent builders. @@ -158,28 +158,14 @@ object OmegaIntentBuilder { fun searchWeb() = SearchWebIntentBuilder() /** - * @return AlarmIntentBuilder - */ - @JvmStatic - @RequiresApi(Build.VERSION_CODES.KITKAT) - fun createAlarm() = AlarmIntentBuilder() - - /** - * @return ShowAlarmsTimersIntentBuilder - */ - @JvmStatic - fun showTimers() = ShowAlarmsTimersIntentBuilder(ShowType.TIMERS) - - /** - * @return ShowAlarmsTimersIntentBuilder + * @return VideoRecordBuilder */ @JvmStatic - fun showAlarms() = ShowAlarmsTimersIntentBuilder(ShowType.ALARMS) + fun recordVideo() = VideoRecordBuilder() /** * @return VideoRecordBuilder */ @JvmStatic - fun recordVideo() = VideoRecordBuilder() - + fun alarm() = AlarmBuilder } \ No newline at end of file diff --git a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/ShowAlarmsTimersIntentBuilder.kt b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/ShowAlarmsTimersIntentBuilder.kt deleted file mode 100644 index 9b5c00a..0000000 --- a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/ShowAlarmsTimersIntentBuilder.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.omega_r.libs.omegaintentbuilder.builders - -import android.content.Context -import android.content.Intent -import com.omega_r.libs.omegaintentbuilder.types.ShowType - -class ShowAlarmsTimersIntentBuilder(private val showType: ShowType) : BaseActivityBuilder() { - - override fun createIntent(context: Context): Intent { - return Intent(showType.actionType) - } - -} \ No newline at end of file diff --git a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/AlarmBuilder.kt b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/AlarmBuilder.kt new file mode 100644 index 0000000..bcc323c --- /dev/null +++ b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/AlarmBuilder.kt @@ -0,0 +1,24 @@ +package com.omega_r.libs.omegaintentbuilder.builders.alarm + +import android.os.Build +import androidx.annotation.RequiresApi + +object AlarmBuilder { + /** + * @return CreateAlarmIntentBuilder for creating intent to set alarm + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + fun create() = CreateAlarmIntentBuilder() + + /** + * @return DismissAlarmIntentBuilder for creating intent to dismiss alarm + */ + @RequiresApi(Build.VERSION_CODES.M) + fun dismiss() = DismissAlarmIntentBuilder() + + /** + * @return ShowAlarmsIntentBuilder for creating intent to show alarm + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + fun show() = ShowAlarmsIntentBuilder() +} \ No newline at end of file diff --git a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/AlarmIntentBuilder.kt b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/CreateAlarmIntentBuilder.kt similarity index 83% rename from core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/AlarmIntentBuilder.kt rename to core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/CreateAlarmIntentBuilder.kt index 441aa34..3d165b7 100644 --- a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/AlarmIntentBuilder.kt +++ b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/CreateAlarmIntentBuilder.kt @@ -1,10 +1,13 @@ -package com.omega_r.libs.omegaintentbuilder.builders +package com.omega_r.libs.omegaintentbuilder.builders.alarm import android.content.Context import android.content.Intent +import android.os.Build import android.provider.AlarmClock.* +import androidx.annotation.RequiresApi +import com.omega_r.libs.omegaintentbuilder.builders.BaseActivityBuilder -class AlarmIntentBuilder : BaseActivityBuilder() { +class CreateAlarmIntentBuilder : BaseActivityBuilder() { private var message: String? = null private var hour: Int? = null private var minutes: Int? = null @@ -22,7 +25,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * @param message String * @return This AlarmIntentBuilder for method chaining */ - fun message(message: String): AlarmIntentBuilder { + fun message(message: String): CreateAlarmIntentBuilder { this.message = message return this } @@ -36,7 +39,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * @param hour String * @return This AlarmIntentBuilder for method chaining */ - fun hour(hour: Int): AlarmIntentBuilder { + fun hour(hour: Int): CreateAlarmIntentBuilder { this.hour = hour return this } @@ -47,7 +50,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * @param minutes String * @return This AlarmIntentBuilder for method chaining */ - fun minutes(minutes: Int): AlarmIntentBuilder { + fun minutes(minutes: Int): CreateAlarmIntentBuilder { this.minutes = minutes return this } @@ -62,7 +65,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * @param ringtone String * @return This AlarmIntentBuilder for method chaining */ - fun ringtone(ringtone: String): AlarmIntentBuilder { + fun ringtone(ringtone: String): CreateAlarmIntentBuilder { this.ringtone = ringtone return this } @@ -73,7 +76,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * * @return This AlarmIntentBuilder for method chaining */ - fun skipUI(): AlarmIntentBuilder { + fun skipUI(): CreateAlarmIntentBuilder { skipUI = true return this } @@ -86,7 +89,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * @return This AlarmIntentBuilder for method chaining */ @JvmOverloads - fun vibrate(vibrate: Boolean = true): AlarmIntentBuilder { + fun vibrate(vibrate: Boolean = true): CreateAlarmIntentBuilder { this.vibrate = vibrate return this } @@ -96,7 +99,7 @@ class AlarmIntentBuilder : BaseActivityBuilder() { * * @return This AlarmIntentBuilder for method chaining */ - fun ringtoneSilent(): AlarmIntentBuilder { + fun ringtoneSilent(): CreateAlarmIntentBuilder { ringtoneSilent = true return this } diff --git a/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/DismissAlarmIntentBuilder.kt b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/DismissAlarmIntentBuilder.kt new file mode 100644 index 0000000..a6c59a7 --- /dev/null +++ b/core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/alarm/DismissAlarmIntentBuilder.kt @@ -0,0 +1,121 @@ +package com.omega_r.libs.omegaintentbuilder.builders.alarm + +import android.content.Context +import android.content.Intent +import android.provider.AlarmClock.* +import com.omega_r.libs.omegaintentbuilder.builders.BaseActivityBuilder + +class DismissAlarmIntentBuilder : BaseActivityBuilder() { + + private var hour: Int? = null + private var minute: Int? = null + private var isPM: Boolean? = null + private var label: String? = null + private var next: Boolean? = null + + /** + *
+ * The value is an {@link Integer} and ranges from 0 to 23. + *
+ * + * @param hour Integer + * @return This DismissAlarmIntentBuilder for method chaining + */ + fun hour(hour: Int): DismissAlarmIntentBuilder { + label = null + next = null + this.hour = hour + return this + } + + /** + *+ * The value is an {@link Integer} and ranges from 0 to 59. If not provided, it defaults to 0. + *
+ * + * @param minute Integer + * @return This DismissAlarmIntentBuilder for method chaining + */ + fun minute(minute: Int): DismissAlarmIntentBuilder { + label = null + next = null + this.minute = minute + return this + } + + /** + *+ * The value is an {@link Integer} and ranges from 0 to 59. If not provided, it defaults to 0. + *
+ * + * @param isPM Integer + * @return This DismissAlarmIntentBuilder for method chaining + */ + fun isPM(isPM: Boolean): DismissAlarmIntentBuilder { + label = null + next = null + this.isPM = isPM + return this + } + + /** + * Search alarm by label + * + * @param label String + * @return This DismissAlarmIntentBuilder for method chaining + */ + fun label(label: String): DismissAlarmIntentBuilder { + hour = null + minute = null + isPM = null + next = null + this.label = label + return this + } + + /** + * For activate search mode NEXT + * Search next alarm + * + * @return This DismissAlarmIntentBuilder for method chaining + */ + fun next(): DismissAlarmIntentBuilder { + next = true + return this + } + + /** + *