RestoreReceiver.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * Copyright (c) 2014-2015 by appPlant UG. All rights reserved.
  3. *
  4. * @APPPLANT_LICENSE_HEADER_START@
  5. *
  6. * This file contains Original Code and/or Modifications of Original Code
  7. * as defined in and that are subject to the Apache License
  8. * Version 2.0 (the 'License'). You may not use this file except in
  9. * compliance with the License. Please obtain a copy of the License at
  10. * http://opensource.org/licenses/Apache-2.0/ and read it before using this
  11. * file.
  12. *
  13. * The Original Code and all software distributed under the License are
  14. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  15. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  16. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  17. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  18. * Please see the License for the specific language governing rights and
  19. * limitations under the License.
  20. *
  21. * @APPPLANT_LICENSE_HEADER_END@
  22. */
  23. package de.appplant.cordova.plugin.localnotification;
  24. import de.appplant.cordova.plugin.notification.AbstractRestoreReceiver;
  25. import de.appplant.cordova.plugin.notification.Builder;
  26. import de.appplant.cordova.plugin.notification.Notification;
  27. /**
  28. * This class is triggered upon reboot of the device. It needs to re-register
  29. * the alarms with the AlarmManager since these alarms are lost in case of
  30. * reboot.
  31. */
  32. public class RestoreReceiver extends AbstractRestoreReceiver {
  33. /**
  34. * Called when a local notification need to be restored.
  35. *
  36. * @param notification
  37. * Wrapper around the local notification
  38. */
  39. @Override
  40. public void onRestore (Notification notification) {
  41. if (notification.isScheduled()) {
  42. notification.schedule();
  43. } else {
  44. notification.cancel();
  45. }
  46. }
  47. /**
  48. * Build notification specified by options.
  49. *
  50. * @param builder
  51. * Notification builder
  52. */
  53. @Override
  54. public Notification buildNotification (Builder builder) {
  55. return builder
  56. .setTriggerReceiver(TriggerReceiver.class)
  57. .setClearReceiver(ClearReceiver.class)
  58. .setClickActivity(ClickActivity.class)
  59. .build();
  60. }
  61. }