fuck
This commit is contained in:
parent
f67c5e5bb5
commit
b5f2b3cac8
@ -76,10 +76,41 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||||
|
// If killed while started, don't recreate
|
||||||
|
return START_NOT_STICKY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
Log.d(TAG, "onDestroy()");
|
||||||
|
mRingtone.stop();
|
||||||
|
mAudioManager.abandonAudioFocus(null); // no listener was set
|
||||||
|
mSilenceHandler.removeCallbacks(mSilenceRunnable);
|
||||||
|
if (mAutoSilenced) {
|
||||||
|
// Post notification that alarm was missed, or timer expired.
|
||||||
|
// TODO: You should probably do this in the appropriate subclass.
|
||||||
|
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
||||||
|
Notification note = new NotificationCompat.Builder(this)
|
||||||
|
.setContentTitle(getString(R.string.missed_alarm))
|
||||||
|
.setContentText(mNormalRingTime)
|
||||||
|
.setSmallIcon(R.mipmap.ic_launcher)
|
||||||
|
.build();
|
||||||
|
// A tag with the name of the subclass is used in addition to the item's id to prevent
|
||||||
|
// conflicting notifications for items of different class types. Items of any class type
|
||||||
|
// have ids starting from 0.
|
||||||
|
nm.notify(getClass().getName(), mAlarm.intId(), note);
|
||||||
|
}
|
||||||
|
stopForeground(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBinder onBind(Intent intent) {
|
||||||
|
return mBinder;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void playRingtone(long itemId) {
|
||||||
if (mAudioManager == null && mRingtone == null) {
|
if (mAudioManager == null && mRingtone == null) {
|
||||||
Log.d(TAG, "RingtoneService starting");
|
mAlarm = checkNotNull(AlarmsRepository.getInstance(this).getItem(itemId));
|
||||||
long id = intent.getLongExtra(RingtoneActivity.EXTRA_ITEM_ID, -1);
|
|
||||||
mAlarm = checkNotNull(AlarmsRepository.getInstance(this).getItem(id));
|
|
||||||
// TODO: The below call requires a notification, and there is no way to provide one suitable
|
// TODO: The below call requires a notification, and there is no way to provide one suitable
|
||||||
// for both Alarms and Timers. Consider making this class abstract, and have subclasses
|
// for both Alarms and Timers. Consider making this class abstract, and have subclasses
|
||||||
// implement an abstract method that calls startForeground(). You would then call that
|
// implement an abstract method that calls startForeground(). You would then call that
|
||||||
@ -113,40 +144,6 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc
|
|||||||
scheduleAutoSilence();
|
scheduleAutoSilence();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If killed while started, don't recreate
|
|
||||||
return START_NOT_STICKY;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroy() {
|
|
||||||
Log.d(TAG, "onDestroy()");
|
|
||||||
mRingtone.stop();
|
|
||||||
mAudioManager.abandonAudioFocus(null); // no listener was set
|
|
||||||
mSilenceHandler.removeCallbacks(mSilenceRunnable);
|
|
||||||
if (mAutoSilenced) {
|
|
||||||
// Post notification that alarm was missed, or timer expired.
|
|
||||||
// TODO: You should probably do this in the appropriate subclass.
|
|
||||||
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
|
||||||
Notification note = new NotificationCompat.Builder(this)
|
|
||||||
.setContentTitle(getString(R.string.missed_alarm))
|
|
||||||
.setContentText(mNormalRingTime)
|
|
||||||
.setSmallIcon(R.mipmap.ic_launcher)
|
|
||||||
.build();
|
|
||||||
// A tag with the name of the subclass is used in addition to the item's id to prevent
|
|
||||||
// conflicting notifications for items of different class types. Items of any class type
|
|
||||||
// have ids starting from 0.
|
|
||||||
nm.notify(getClass().getName(), mAlarm.intId(), note);
|
|
||||||
}
|
|
||||||
stopForeground(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IBinder onBind(Intent intent) {
|
|
||||||
return mBinder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void playRingtone() {
|
|
||||||
// TODO
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRingtoneCallback(RingtoneCallback callback) {
|
public void setRingtoneCallback(RingtoneCallback callback) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user