コード例 #1
0
        /// <summary>
        /// If the download isn't present, we initialize the download UI. This ties
        /// all of the controls into the remote service calls.
        /// </summary>
        private void InitializeDownloadUi()
        {
            InitializeControls();
            initText.Visibility         = ViewStates.Gone;
            useObbDownloader.Visibility = ViewStates.Visible;

            downloaderServiceConnection = DownloaderClientMarshaller.CreateStub(this, typeof(MediaDownloadService));
        }
コード例 #2
0
 /// <summary>
 /// This method is called when the BroadcastReceiver is receiving an Intent
 /// broadcast.
 /// </summary>
 /// <param name="context">
 /// The Context in which the receiver is running.
 /// </param>
 /// <param name="intent">
 /// The Intent being received.
 /// </param>
 public override void OnReceive(Context context, Intent intent)
 {
     try
     {
         DownloaderClientMarshaller.StartDownloadServiceIfRequired(
             context, intent, typeof(ExpansionDownloaderService));
     }
     catch (PackageManager.NameNotFoundException e)
     {
         e.PrintStackTrace();
     }
 }
コード例 #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Main);

            progressBar              = FindViewById <ProgressBar>(Resource.Id.prgProgress);
            statusTextView           = FindViewById <TextView>(Resource.Id.lblStatus);
            progressFractionTextView = FindViewById <TextView>(Resource.Id.lblProgress);
            dashboardView            = FindViewById(Resource.Id.dashboard);
            useCellDataView          = FindViewById(Resource.Id.approve);
            pauseButton              = FindViewById <Button>(Resource.Id.btnPause);
            openWiFiSettingsButton   = FindViewById <Button>(Resource.Id.btnWifi);
            resumeOnCellDataButton   = FindViewById <Button>(Resource.Id.btnResumeCell);

            pauseButton.Click += delegate
            {
                if (isPaused)
                {
                    downloaderService.RequestContinueDownload();
                }
                else
                {
                    downloaderService.RequestPauseDownload();
                }
                UpdatePauseButton(!isPaused);
            };
            openWiFiSettingsButton.Click += delegate
            {
                StartActivity(new Intent(Settings.ActionWifiSettings));
            };
            resumeOnCellDataButton.Click += delegate
            {
                downloaderService.SetDownloadFlags(DownloaderServiceFlags.DownloadOverCellular);
                downloaderService.RequestContinueDownload();
                useCellDataView.Visibility = ViewStates.Gone;
            };

            dashboardView.Visibility   = ViewStates.Gone;
            useCellDataView.Visibility = ViewStates.Gone;

            var delivered = AreExpansionFilesDelivered();

            if (delivered)
            {
                statusTextView.Text = "Download Complete!";
            }
            else if (!GetExpansionFiles())
            {
                downloaderServiceConnection = DownloaderClientMarshaller.CreateStub(this, typeof(SampleDownloaderService));
            }
        }
コード例 #4
0
        private void StartExpansionDownload()
        {
            //("MainActivity.StartExpansionDownload");
            Intent intent  = this.Intent;
            Intent intent2 = new Intent(this, typeof(SMainActivity));

            intent2.SetFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask);
            intent2.SetAction(intent.Action);
            if (intent.Categories != null)
            {
                foreach (string category in intent.Categories)
                {
                    intent2.AddCategory(category);
                }
            }
            PendingIntent activity = PendingIntent.GetActivity(this, 0, intent2, PendingIntentFlags.UpdateCurrent);

            try
            {
                DownloaderServiceRequirement downloaderServiceRequirement = DownloaderService.StartDownloadServiceIfRequired(this, activity, typeof(ExpansionDownloaderService));
                if (downloaderServiceRequirement != 0)
                {
                    //("MainActivity.StartExpansionDownload A startResult:" + downloaderServiceRequirement);
                    this._downloaderServiceConnection = DownloaderClientMarshaller.CreateStub(this, typeof(ExpansionDownloaderService));
                    this._downloaderServiceConnection.Connect(this);
                    //("MainActivity.StartExpansionDownload B startResult:" + downloaderServiceRequirement);
                }
                else
                {
                    //("MainActivity.StartExpansionDownload - all files have finished downloading already");
                    this.OnExpansionDowloaded();
                }
            }
            catch (IllegalStateException ex)
            {
                //("MainActivity.StartExpansionDownload ERROR exception:" + ex);
                Crashes.TrackError(ex);
            }
        }
コード例 #5
0
        private bool GetExpansionFiles()
        {
            bool result = false;

            // Build the intent that launches this activity.
            var launchIntent = Intent;
            var intent       = new Intent(this, typeof(MainActivity));

            intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.ClearTop);
            intent.SetAction(launchIntent.Action);

            if (launchIntent.Categories != null)
            {
                foreach (string category in launchIntent.Categories)
                {
                    intent.AddCategory(category);
                }
            }

            // Build PendingIntent used to open this activity when user
            // taps the notification.
            var pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.UpdateCurrent);

            // Request to start the download
            var startResult = DownloaderService.StartDownloadServiceIfRequired(this, pendingIntent, typeof(SampleDownloaderService));

            // The DownloaderService has started downloading the files,
            // show progress otherwise, the download is not needed so  we
            // fall through to starting the actual app.
            if (startResult != DownloadServiceRequirement.NoDownloadRequired)
            {
                downloaderServiceConnection = DownloaderClientMarshaller.CreateStub(this, typeof(SampleDownloaderService));

                result = true;
            }

            return(result);
        }
コード例 #6
0
 /// <summary>
 /// If the download isn't present, we initialize the download UI. This ties
 /// all of the controls into the remote service calls.
 /// </summary>
 private void InitializeDownloadUi()
 {
     InitializeControls();
     _downloaderServiceConnection = DownloaderClientMarshaller.CreateStub(
         this, typeof(ExpansionDownloaderService));
 }
コード例 #7
0
 public override void OnReceive(Context context, Intent intent)
 {
     DownloaderClientMarshaller.StartDownloadServiceIfRequired(context, intent, typeof(SampleDownloaderService));
 }