Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package alzaichsank.com.movielist.service
- import alzaichsank.com.base_module.model.remote.movie.MovieData
- import alzaichsank.com.base_module.model.remote.movie.MovieResponse
- import alzaichsank.com.base_module.util.DateTimeHelper
- import alzaichsank.com.base_module.util.SharedPreference
- import alzaichsank.com.movielist.BuildConfig
- import alzaichsank.com.movielist.view.main.other.FragmentOther
- import alzaichsank.com.network_module_kotlin.NetworkModule
- import alzaichsank.com.network_module_kotlin.network.NetworkCallback
- import alzaichsank.com.network_module_kotlin.util.BuilderNetworkHelper
- import alzaichsank.com.network_module_kotlin.util.Logger
- import android.content.BroadcastReceiver
- import android.content.Context
- import android.content.Intent
- import java.util.*
- /**
- * Created by alzaichsank on 2019-07-19.
- */
- class AlarmNotificationReceiver : BroadcastReceiver() {
- private var dateNow = Calendar.getInstance()
- private var dateNowData = ""
- private lateinit var dataIntent: MovieData
- companion object {
- const val PREF_NAME_NEW = "NEW_NOTIF_DAILY"
- const val PREF_NAME_DAILY = "STATUS_NOTIF_DAILY"
- }
- override fun onReceive(context: Context, intent: Intent) {
- val sharedPreference = SharedPreference(context)
- if (intent.action == "android.intent.action.BOOT_COMPLETED" && sharedPreference.getValueBoolean(FragmentOther.PREF_NAME_NEW)!!) {
- dateNow.get(Calendar.YEAR)
- dateNow.get(Calendar.MONTH)
- dateNow.get(Calendar.DAY_OF_MONTH)
- dateNowData = DateTimeHelper.convertStringDateToDateDefaultFormat(dateNow)
- getData(context)
- val titleNotif = "New Movie is released~"
- val messageNotif = dataIntent.originalTitleMovie + "\nsynopsis : \n" + dataIntent.overviewMovie
- val service = Intent(context, NotificationService::class.java)
- service.putExtra("title", titleNotif)
- service.putExtra("message", messageNotif)
- context.startService(service)
- } else {
- val service = Intent(context, NotificationService::class.java)
- service.putExtra("title", intent.getStringExtra("title"))
- service.putExtra("message", intent.getStringExtra("message"))
- context.startService(service)
- }
- }
- private fun getData(mContext: Context) {
- BuilderNetworkHelper.InitBuilder(mContext)
- val module = NetworkModule.instance
- if (module != null) {
- module.getReleaseMovieToday(
- BuildConfig.API_KEY,
- dateNowData,
- dateNowData,
- object : NetworkCallback<MovieResponse> {
- override fun onSuccess(response: MovieResponse) {
- Logger.debug("Async Movie LOG >> Berhasil")
- dataIntent = response.movieListData?.get(0) ?: MovieData as MovieData
- }
- override fun onFailed(throwable: Throwable) {
- Logger.debug("Async Movie LOG >> Gagal")
- Logger.debug("CEK PESAN ERROR >>", throwable.toString())
- }
- })
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement