From c80313b2e947b240e6125d2613fcecfa0fe92e6b Mon Sep 17 00:00:00 2001 From: STApps Date: Thu, 4 Aug 2016 18:56:14 +0200 Subject: [PATCH] Fixed #229 --- .vs/Pokemon Go Universal/v14/.suo | Bin 635904 -> 550912 bytes PokemonGo-UWP/Utils/GameClient.cs | 33 ++++++++++-------- .../ViewModels/GameMapPageViewModel.cs | 4 +++ 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.vs/Pokemon Go Universal/v14/.suo b/.vs/Pokemon Go Universal/v14/.suo index 79af2d9b9c89c4805179e5975126c97d18b424db..46830de0c0dfc0c546bd6af14a13e07be76068c9 100644 GIT binary patch delta 3648 zcmd^?e{ht=8OPt<`|-Z-aryn@P7=fA2;qSIMlsfy9!ba#2O*v{GU@;V*EBUGB1fcg z@GjV<2?R`TEsHHB5^Q2ELXy**S}hR}s6U2iwbp^`#furHN(!{o zKm>>e*8eWf--E;m3&4VoAamQ4~CjfQADX4y4a*yUt9+Ysv| zTiK_vOW5Iro0%`c$9!?NfGuT&_#=y<%QcF_r>(Io>TJg2|vW9wfQ4$N~&4I^7BKKyItl9#7jQd-|vo+G^DCOJF$)uoX~ z8{++sUnnoX`=K||ZskJ-a!ywU^%p!r=CC~lGY#S}+4|PqK>QEbnZ3MA!Ahk0KyyY5 zR#zJRmi_Qql#PLnOIpac0~zeG6X3izIFa|AXIx09kpA1fpwu^=xRa@`&OIDjs6)2h^7r55=kC%i<12e~4&IwYr|%e+eUVPQU}DSRrddkopA5_C{Mljo z7%}n{C*@?m^Q63kJk6U<%U-_!lx*guAIP?#@3cHh?ILwzoJLM1u5|ZFZd~x{alx}m zWso+$u8_ppv!wO7`_=usesZWEKYCWK;{7ACm3NNFsoeRIyqOoBkqZZ6)w2t?-NM zbxGoZTRgh?B0wg2*$Huflz3k*xsm&fii6vi5i1`wDuaAshB||Hj>)p2w!XTij^}W=f+3Y|4*O;;KyU(={I@aS|!*)dnO@s~!4Rn3xC z3rleN#vd=nt|WryMnv*@~SgEt~8Z)pOcsOxIC(eN>cH9tZH}-uukVGrWwv44{C>APJgB)KJkycM>B^fr*r?kN|=570`ibOlQVg zvwVq}n_N=RSAFbIRuVW?P)TATJ{p|qArrhFHkqRkvB7U^hc;TO~n@uBPVK-dlYi$C3IM>%BLZp z4$)u+10;eR(mx>;`4~tBdGq*inu7Eb^dRfWV>HfhfT-~GaY!@5`8e6+B%H_w zaUP4I#rL$?iJz{q^jm+p|BkDtw9rgsD@G8z95g#L!xD2SN@y}%7@DyA>IsLsz?TVi zWKY9Gl;tuE!_yz0x-6GRB(7;7<0eBeR66uM90J*%48fYwXQTr#!uOyjjV{O>$+2XHdI?_?&jD5ApW{ zhbQ4J@Oe*UzK!%9co*J--@{4x1H2Dsz~{Bb{t>C{_)kc)@FH7%O$WLr(XIv5Z$DR9 z+!Fm>_0C;m4$n;eu)lTMyXbyoN#2UJJrS?!B`mRx@d)Ehic*3=*yk!rKCaawrAW6e z;FE7YxiAA}!Ys&x*)Ruw2Kg`-=E2Xw4mZPmD1ZfU3lzew zPy`F%Hdq9Up%_Y_6dZ87s<@RhWbS|^uoTMSPFMza!QF5VRKRkmgnOY1s-Xr}KrPfk zJ=_QP!%A2Mt6>eSg>}#XjnJgx$*f0a12~}>THpa_g$Ka}8{r|?1e?JP9#!FoIup3H za=`Q@*2~9pSn$$31L>`Khp2M*3N24VG%j7{7waxjKMQ`JA3^M1+`I+kVtWMXFJLP? z3ftf@cpSFF4%i91;0f3bSgh`Lq;ipVAbkqtt2*R)7sH)te^dY0e%kT>P27U{#!fWt4{0{oz7`y?;;RL)1 zAArxB87qTu8u^bPyo!UpQ;G;LTKO5z$nByz3g5phgHNSV!SlJ;glh|~w*hpmq9UV% zwFX;Dwh=c$W3u6ok*Z(-BbYz~GekfnL_suIU=+kaEW|-PSRnxtAqhsq7)XW`NQJSG z2IC-I#V@xFnJmDgQrnRBc&muqHwXT6-*nKZkr^6KVcC4aLfdC7vLoB4Ss0+k89bxb zW>#jSy8K`9@7)x^)*jZJy5=NNK5mV)>q`vu?rp+TOjN!1&xVq0-qt=(pJz0_@pX?k zkMLJjP1p~x{=RRG)G8XssfBv_cIu)c&|&P?x0p>!2)EHRetv>OlRvxIAH#2lhBZ8g zKbW;h%R$-5TN4?2YfyqiAKXca*5y_D@vN-5x>qPfb z;}pGI-bMOhKLYpJN#nODEOOv96Dt*~7m8EFom& diff --git a/PokemonGo-UWP/Utils/GameClient.cs b/PokemonGo-UWP/Utils/GameClient.cs index e4e8d41b5..bf1fd1823 100644 --- a/PokemonGo-UWP/Utils/GameClient.cs +++ b/PokemonGo-UWP/Utils/GameClient.cs @@ -266,27 +266,32 @@ public static async Task InitializeDataUpdate() }; _mapUpdateTimer.Tick += async (s, e) => { - if (!UpdateDataMutex.WaitOne(0)) return; - if (_skipNextUpdate) - { - _skipNextUpdate = false; - } - else - { - Logger.Write("Updating map"); - await UpdateMapObjects(); - } - - UpdateDataMutex.ReleaseMutex(); - }; + Logger.Write("Updating map"); + await UpdateMapObjects(); + }; // Update before starting timer Busy.SetBusy(true, Resources.Translation.GetString("GettingUserData")); await UpdateMapObjects(); await UpdateInventory(); - _mapUpdateTimer.Start(); Busy.SetBusy(false); } + /// + /// Toggles the update timer based on the isEnabled value + /// + /// + public static void ToggleUpdateTimer(bool isEnabled = true) + { + if (isEnabled) + { + _mapUpdateTimer.Start(); + } + else + { + _mapUpdateTimer.Stop(); + } + } + /// /// Updates catcheable and nearby Pokemons + Pokestops. /// We're using a single method so that we don't need two separate calls to the server, making things faster. diff --git a/PokemonGo-UWP/ViewModels/GameMapPageViewModel.cs b/PokemonGo-UWP/ViewModels/GameMapPageViewModel.cs index c715e553f..74bb0117e 100644 --- a/PokemonGo-UWP/ViewModels/GameMapPageViewModel.cs +++ b/PokemonGo-UWP/ViewModels/GameMapPageViewModel.cs @@ -64,6 +64,8 @@ await Dispatcher.DispatchAsync(async () => } }); } + // Restarts map timer + GameClient.ToggleUpdateTimer(); if (suspensionState.Any()) { // Recovering the state @@ -111,6 +113,8 @@ public override async Task OnNavigatedFromAsync(IDictionary susp public override async Task OnNavigatingFromAsync(NavigatingEventArgs args) { args.Cancel = false; + // Stops map timer + GameClient.ToggleUpdateTimer(false); GameClient.MapPokemonUpdated -= GameClientOnMapPokemonUpdated; await Task.CompletedTask; }