コード例 #1
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));
            }
        }
コード例 #2
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);
        }
コード例 #3
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(SampleDownloaderService));
 }