public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view         = inflater.Inflate(Resource.Layout.AccountProfile, container, false);
            var logoutButton = view.FindViewById <Button>(Resource.Id.logoutButton);

            logoutButton.Click += async(_, e) =>
            {
                logoutButton.Enabled = false;
                try
                {
                    await GlobalServices.XjtuSite.Account.LogoutAsync();

                    DroidUtility.ShowToast(Activity, "×¢Ïú³É¹¦¡£");
                }
                catch (Exception ex)
                {
                    DroidUtility.ReportException(Activity, ex);
                }
                finally
                {
                    logoutButton.Enabled = true;
                }
            };
            UpdateView(view);
            return(view);
        }
Exemple #2
0
        private async void TransferButton_Click(object sender, EventArgs e)
        {
            transferButton.Enabled = false;
            var vp = new ManualVerificationProvider(Activity);

            GlobalServices.XjtuSite.RegisterService(vp);
            try
            {
                var amount = Convert.ToDecimal(transferAmountEditText.Text);
                if (amount < 0.01m || amount > 500)
                {
                    return;
                }
                if (await GlobalServices.XjtuSite.Card.Transfer(amount))
                {
                    transferAmountEditText.Text = "";
                    DroidUtility.ShowToast(Activity, string.Format(zhCN, "向过渡账户转入了{0:C}。\n将会在下次消费时转入校园卡。", amount));
                }
            }
            catch (Exception ex)
            {
                DroidUtility.ReportException(Activity, ex);
            }
            finally
            {
                transferButton.Enabled = true;
                GlobalServices.XjtuSite.UnregisterService(vp);
            }
        }
Exemple #3
0
 private static void AndroidEnvironment_UnhandledExceptionRaiser(object sender, RaiseThrowableEventArgs e)
 {
     if (CurrentActivity != null)
     {
         DroidUtility.ReportException(CurrentActivity, e.Exception, true);
         e.Handled = true;
     }
 }
Exemple #4
0
 static partial void LoadXjtuSite()
 {
     try
     {
         using (var fs = Application.Context.OpenFileInput("siteCookies"))
         {
             var cc = (CookieContainer)binFormatter.Deserialize(fs);
             XjtuSite.WebClient.CookieContainer = cc;
         }
     }
     catch (FileNotFoundException)
     {
     }
     catch (Exception ex)
     {
         if (CurrentActivity != null)
         {
             DroidUtility.ReportException(CurrentActivity, ex);
         }
     }
 }
Exemple #5
0
 private async Task UpdateCardManager()
 {
     if (refreshButton != null)
     {
         refreshButton.Enabled = false;
     }
     try
     {
         await GlobalServices.XjtuSite.Card.UpdateAsync();
     }
     catch (Exception ex) when(ex is WebException || ex is TaskCanceledException)
     {
         DroidUtility.ReportException(Activity, ex);
     }
     finally
     {
         if (refreshButton != null)
         {
             refreshButton.Enabled = true;
         }
     }
 }
 public void MakePawnAndInitCrafting(DroneCraftingDef def)
 {
     this.orderProcessor.requestedItems.Clear();
     foreach (ThingOrderRequest cost in def.costList)
     {
         this.orderProcessor.requestedItems.Add(new ThingOrderRequest()
         {
             nutrition = cost.nutrition,
             thingDef  = cost.thingDef,
             amount    = cost.amount
         });
     }
     this.craftingTime = def.timeCost;
     if (def.useDroneCreator)
     {
         this.pawnBeingCrafted = DroidUtility.MakeDroidTemplate(def.pawnKind, this.Faction, this.Map.Tile, (List <SkillRequirement>)null, 6);
     }
     else
     {
         this.pawnBeingCrafted = PawnGenerator.GeneratePawn(def.pawnKind, this.Faction);
     }
     this.crafterStatus = CrafterStatus.Filling;
 }
 public override void InitiatePawnCrafting()
 {
     this.pawnBeingCrafted = DroidUtility.MakeCustomDroid(this.printerProperties.pawnKind, this.Faction);
     this.crafterStatus    = CrafterStatus.Filling;
 }