/// <summary>
        /// Called in response to OnClientUpdated. Creates a new proxy and
        /// notifies it of the current state.
        /// </summary>
        /// <param name="msg">
        /// the client Messenger to notify
        /// </param>
        public void SetMessenger(Messenger msg)
        {
            this.clientProxy = ClientMarshaller.CreateProxy(msg);
            if (null != this.progressInfo)
            {
                this.clientProxy.OnDownloadProgress(this.progressInfo);
            }

            if (this.clientState != DownloaderState.Unknown)
            {
                this.clientProxy.OnDownloadStateChanged(this.clientState);
            }
        }
Example #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            this.SetContentView(Resource.Layout.Main);

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

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

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

            var delivered = this.AreExpansionFilesDelivered();

            if (delivered)
            {
                this.statusTextView.Text = "Download Complete!";
            }
            else if (!this.GetExpansionFiles())
            {
                this.downloaderServiceConnection = ClientMarshaller.CreateStub(this, typeof(SampleDownloaderService));
            }
        }
Example #3
0
        private bool GetExpansionFiles()
        {
            bool result = false;

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

            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.
            PendingIntent pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.UpdateCurrent);

            // Request to start the download
            DownloadServiceRequirement 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)
            {
                this.downloaderServiceConnection = ClientMarshaller.CreateStub(this, typeof(SampleDownloaderService));

                result = true;
            }

            return(result);
        }
Example #4
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()
 {
     this.InitializeControls();
     this.downloaderServiceConnection = ClientMarshaller.CreateStub(
         this, typeof(SampleDownloaderService));
 }
Example #5
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            //se ci sono documenti integrati controllo se è la prima volta che l'app viene lanciata
            //se è la prima volta importo i documenti altrimenti l'app prosegue normalmente
            //se non ci sono documenti integrati cerco il file di espansione

            AssetManager am = Resources.Assets;

            if (am.List("pub").Length > 0)
            {
                if (!DataManager.Get <IPreferencesManager>().Preferences.DocImported)
                {
                    _progressDialog = new ProgressDialog(this);

                    var importTask = new AnonymousAsyncTask <string, string, bool>((p) =>
                    {
                        RunOnUiThread(() =>
                        {
                            _progressDialog.Indeterminate = true;
                            _progressDialog.SetProgressPercentFormat(null);
                            _progressDialog.SetMessage(GetString(Resource.String.apkDown_loadResources));
                            _progressDialog.Show();
                        });

                        FileSystemManager.ImportDocuments();

                        return(true);
                    }, (bd) =>
                    {
                        StartApp();
                    });

                    importTask.Execute(new Java.Lang.Object[] { });
                }
                else
                {
                    StartApp();
                }
            }
            else
            {
                StartApp();
                _progressDialog = new ProgressDialog(this);
                _progressDialog.SetMessage("");
                _progressDialog.SetTitle(GetString(Resource.String.apkDown_downResources));
                _progressDialog.SetCancelable(false);
                _progressDialog.SetProgressStyle(ProgressDialogStyle.Horizontal);
                _progressDialog.Indeterminate = false;
                _progressDialog.SetProgressNumberFormat(null);

                _progressDialog.Show();

                var delivered = this.AreExpansionFilesDelivered();

                if (delivered)
                {
                    _progressDialog.SetMessage(GetString(Resource.String.apkDown_completed));
                    CheckDownloadedFile();
                }
                else if (!this.GetExpansionFiles())
                {
                    this.downloaderServiceConnection = ClientMarshaller.CreateStub(this, typeof(MyDownloaderService));
                }
            }
        }
 private void InitializeDownloadUI()
 {
     InitializeControls();
     downloaderServiceConnection = ClientMarshaller.CreateStub(this, typeof(LibraryDownloaderService));
 }