Skip to content

Commit

Permalink
try harder at waking up the device on alarm trigger
Browse files Browse the repository at this point in the history
  • Loading branch information
tibbi committed Jul 3, 2022
1 parent 97b0c4d commit c10452a
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 14 deletions.
5 changes: 4 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"
Expand Down Expand Up @@ -48,7 +50,8 @@
<activity
android:name=".activities.ReminderActivity"
android:exported="false"
android:launchMode="singleTask" />
android:launchMode="singleTask"
android:showOnLockScreen="true" />

<activity
android:name=".activities.SettingsActivity"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.simplemobiletools.clock.activities

import android.annotation.SuppressLint
import android.app.KeyguardManager
import android.content.Context
import android.content.Intent
import android.media.AudioManager
Expand All @@ -12,6 +13,7 @@ import android.os.VibrationEffect
import android.os.Vibrator
import android.view.MotionEvent
import android.view.ViewGroup
import android.view.WindowManager
import android.view.animation.AnimationUtils
import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.extensions.*
Expand Down Expand Up @@ -245,4 +247,17 @@ class ReminderActivity : SimpleActivity() {
finish()
overridePendingTransition(0, 0)
}

private fun showOverLockscreen() {
window.addFlags(
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON or
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
)

setShowWhenLocked(true)
setTurnScreenOn(true)
(getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager).requestDismissKeyguard(this, null)
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import android.content.Intent
import android.media.AudioAttributes
import android.net.Uri
import android.os.Handler
import android.os.PowerManager
import androidx.core.app.NotificationCompat
import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.activities.ReminderActivity
Expand Down Expand Up @@ -43,11 +44,12 @@ class AlarmReceiver : BroadcastReceiver() {
}
}

val pendingIntent = PendingIntent.getActivity(context, 0, Intent(context, ReminderActivity::class.java).apply {
val reminderActivityIntent = Intent(context, ReminderActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
putExtra(ALARM_ID, id)
}, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
}

val pendingIntent = PendingIntent.getActivity(context, 0, reminderActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
val builder = NotificationCompat.Builder(context, "Alarm")
.setSmallIcon(R.drawable.ic_alarm_vector)
.setContentTitle(context.getString(R.string.alarm))
Expand All @@ -58,6 +60,10 @@ class AlarmReceiver : BroadcastReceiver() {

try {
notificationManager.notify(ALARM_NOTIF_ID, builder.build())

val powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager
val wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK or PowerManager.ACQUIRE_CAUSES_WAKEUP, "simpleClock:showAlarmLock")
wakeLock.acquire(10000)
} catch (e: Exception) {
context.showErrorToast(e)
}
Expand Down

0 comments on commit c10452a

Please sign in to comment.