public override bool OnStopJob(JobParameters @params)
        {
            Log.Debug(TAG, "System halted the job.");
            if (calculator != null && !calculator.IsCancelled)
            {
                calculator.Cancel(true);
            }
            calculator = null;


            BroadcastResults(-1);

            return(false); // Don't reschedule the job.
        }
        public override bool OnStartJob(JobParameters @params)
        {
            fibonacciValue = @params.Extras.GetLong(JobSchedulerHelpers.FibonacciValueKey, -1);
            if (fibonacciValue < 0)
            {
                Log.Debug(TAG, "Invalid value - must be > 0.");
                return(false);
            }

            parameters = @params;
            calculator = new SimpleFibonacciCalculatorTask(this);

            calculator.Execute(fibonacciValue);
            return(true); // No more work to do!
        }