mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-06-05 22:19:17 +02:00
@ -6,18 +6,17 @@ import android.appwidget.AppWidgetManager
|
|||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.SharedPreferences
|
|
||||||
import android.media.AudioAttributes
|
import android.media.AudioAttributes
|
||||||
import android.media.AudioManager
|
import android.media.AudioManager
|
||||||
import android.media.AudioManager.STREAM_ALARM
|
import android.media.AudioManager.STREAM_ALARM
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.os.Build
|
||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import android.text.SpannableString
|
import android.text.SpannableString
|
||||||
import android.text.style.RelativeSizeSpan
|
import android.text.style.RelativeSizeSpan
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.app.AlarmManagerCompat
|
import androidx.core.app.AlarmManagerCompat
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.preference.PreferenceManager
|
|
||||||
import com.simplemobiletools.clock.R
|
import com.simplemobiletools.clock.R
|
||||||
import com.simplemobiletools.clock.activities.ReminderActivity
|
import com.simplemobiletools.clock.activities.ReminderActivity
|
||||||
import com.simplemobiletools.clock.activities.SnoozeReminderActivity
|
import com.simplemobiletools.clock.activities.SnoozeReminderActivity
|
||||||
@ -31,13 +30,11 @@ import com.simplemobiletools.clock.receivers.HideAlarmReceiver
|
|||||||
import com.simplemobiletools.clock.receivers.HideTimerReceiver
|
import com.simplemobiletools.clock.receivers.HideTimerReceiver
|
||||||
import com.simplemobiletools.clock.services.SnoozeService
|
import com.simplemobiletools.clock.services.SnoozeService
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_ALARM
|
import com.simplemobiletools.commons.helpers.*
|
||||||
import com.simplemobiletools.commons.helpers.DAY_MINUTES
|
|
||||||
import com.simplemobiletools.commons.helpers.SILENT
|
|
||||||
import com.simplemobiletools.commons.helpers.isOreoPlus
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
|
|
||||||
val Context.config: Config get() = Config.newInstance(applicationContext)
|
val Context.config: Config get() = Config.newInstance(applicationContext)
|
||||||
|
|
||||||
val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext)
|
val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext)
|
||||||
@ -168,7 +165,11 @@ fun Context.scheduleNextWidgetUpdate() {
|
|||||||
|
|
||||||
val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||||
val triggerAtMillis = System.currentTimeMillis() + getMSTillNextMinute()
|
val triggerAtMillis = System.currentTimeMillis() + getMSTillNextMinute()
|
||||||
alarmManager.setExact(AlarmManager.RTC, triggerAtMillis, pendingIntent)
|
|
||||||
|
when {
|
||||||
|
isMarshmallowPlus() -> alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC, triggerAtMillis, pendingIntent)
|
||||||
|
else -> alarmManager.setExact(AlarmManager.RTC, triggerAtMillis, pendingIntent) //MAYBE RTC_WAKEUP
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.getFormattedTime(passedSeconds: Int, showSeconds: Boolean, makeAmPmSmaller: Boolean): SpannableString {
|
fun Context.getFormattedTime(passedSeconds: Int, showSeconds: Boolean, makeAmPmSmaller: Boolean): SpannableString {
|
||||||
|
@ -6,6 +6,19 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:id="@+id/timer_scroll"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/timer_play_pause"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
android:id="@+id/timer_time"
|
android:id="@+id/timer_time"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -97,6 +110,9 @@
|
|||||||
android:textSize="@dimen/normal_text_size" />
|
android:textSize="@dimen/normal_text_size" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/timer_play_pause"
|
android:id="@+id/timer_play_pause"
|
||||||
android:layout_width="@dimen/stopwatch_button_size"
|
android:layout_width="@dimen/stopwatch_button_size"
|
||||||
@ -108,22 +124,22 @@
|
|||||||
android:src="@drawable/ic_play_vector"
|
android:src="@drawable/ic_play_vector"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/timer_reset"
|
android:id="@+id/timer_reset"
|
||||||
android:layout_width="@dimen/stopwatch_button_small_size"
|
android:layout_width="@dimen/stopwatch_button_small_size"
|
||||||
android:layout_height="@dimen/stopwatch_button_small_size"
|
android:layout_height="@dimen/stopwatch_button_small_size"
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_toLeftOf="@+id/timer_play_pause"
|
|
||||||
android:background="?attr/selectableItemBackgroundBorderless"
|
android:background="?attr/selectableItemBackgroundBorderless"
|
||||||
android:padding="@dimen/normal_margin"
|
android:padding="@dimen/normal_margin"
|
||||||
android:src="@drawable/ic_reset_vector"
|
android:src="@drawable/ic_reset_vector"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/timer_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/timer_play_pause"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/timer_play_pause"
|
app:layout_constraintEnd_toStartOf="@+id/timer_play_pause"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/timer_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/timer_play_pause" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user