Advertisement
kiev_north

CostumeBrodcast

Jul 22nd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. package alzaichsank.com.movielist.service
  2.  
  3. import alzaichsank.com.base_module.model.remote.movie.MovieData
  4. import alzaichsank.com.base_module.model.remote.movie.MovieResponse
  5. import alzaichsank.com.base_module.util.DateTimeHelper
  6. import alzaichsank.com.base_module.util.SharedPreference
  7. import alzaichsank.com.movielist.BuildConfig
  8. import alzaichsank.com.movielist.view.main.other.FragmentOther
  9. import alzaichsank.com.network_module_kotlin.NetworkModule
  10. import alzaichsank.com.network_module_kotlin.network.NetworkCallback
  11. import alzaichsank.com.network_module_kotlin.util.BuilderNetworkHelper
  12. import alzaichsank.com.network_module_kotlin.util.Logger
  13. import android.content.BroadcastReceiver
  14. import android.content.Context
  15. import android.content.Intent
  16. import java.util.*
  17.  
  18. /**
  19. * Created by alzaichsank on 2019-07-19.
  20. */
  21. class AlarmNotificationReceiver : BroadcastReceiver() {
  22. private var dateNow = Calendar.getInstance()
  23. private var dateNowData = ""
  24. private lateinit var dataIntent: MovieData
  25.  
  26. companion object {
  27. const val PREF_NAME_NEW = "NEW_NOTIF_DAILY"
  28. const val PREF_NAME_DAILY = "STATUS_NOTIF_DAILY"
  29. }
  30.  
  31. override fun onReceive(context: Context, intent: Intent) {
  32. val sharedPreference = SharedPreference(context)
  33. if (intent.action == "android.intent.action.BOOT_COMPLETED" && sharedPreference.getValueBoolean(FragmentOther.PREF_NAME_NEW)!!) {
  34. dateNow.get(Calendar.YEAR)
  35. dateNow.get(Calendar.MONTH)
  36. dateNow.get(Calendar.DAY_OF_MONTH)
  37. dateNowData = DateTimeHelper.convertStringDateToDateDefaultFormat(dateNow)
  38. getData(context)
  39. val titleNotif = "New Movie is released~"
  40. val messageNotif = dataIntent.originalTitleMovie + "\nsynopsis : \n" + dataIntent.overviewMovie
  41. val service = Intent(context, NotificationService::class.java)
  42. service.putExtra("title", titleNotif)
  43. service.putExtra("message", messageNotif)
  44. context.startService(service)
  45. } else {
  46. val service = Intent(context, NotificationService::class.java)
  47. service.putExtra("title", intent.getStringExtra("title"))
  48. service.putExtra("message", intent.getStringExtra("message"))
  49. context.startService(service)
  50. }
  51. }
  52.  
  53. private fun getData(mContext: Context) {
  54. BuilderNetworkHelper.InitBuilder(mContext)
  55. val module = NetworkModule.instance
  56. if (module != null) {
  57. module.getReleaseMovieToday(
  58. BuildConfig.API_KEY,
  59. dateNowData,
  60. dateNowData,
  61. object : NetworkCallback<MovieResponse> {
  62. override fun onSuccess(response: MovieResponse) {
  63. Logger.debug("Async Movie LOG >> Berhasil")
  64. dataIntent = response.movieListData?.get(0) ?: MovieData as MovieData
  65. }
  66. override fun onFailed(throwable: Throwable) {
  67. Logger.debug("Async Movie LOG >> Gagal")
  68. Logger.debug("CEK PESAN ERROR >>", throwable.toString())
  69. }
  70. })
  71. }
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement