Esempio n. 1
0
        public void TestWriteStream()
        {
            var b = new byte[100];

            var ls = new LocalStorage();

            var msr = new ManualResetEvent(false);

            Task.Run(async() =>
            {
                using (var ms = new MemoryStream(b))
                {
                    var fn = Path.Combine("TestWrites", Guid.NewGuid().ToString());
                    await ls.SaveStream(fn, ms);

                    Assert.IsTrue(await ls.FileExists(fn));
                    using (var result = await ls.LoadStream(fn))
                    {
                        Assert.IsNotNull(result);
                        Assert.AreEqual(result.Length, 100);
                    }
                }

                msr.Set();
            });

            var msrResult = msr.WaitOne(25000);

            Assert.IsTrue(msrResult, "MSR not set, means assertion failed in task");
        }
/*    private IEnumerator _sendFps()
 *  {
 *      while (true)
 *      {
 *          yield return new WaitForSeconds(5f);
 *          var avgFrameRate = Time.frameCount / Time.time;
 *
 *          var wwwForm = new WWWForm();
 *
 *          wwwForm.AddField("text", "Average fps: " + avgFrameRate);
 *          wwwForm.AddField("email", "*****@*****.**");
 *
 *          var www = new WWW(InfoStorage.Server + InfoStorage.QuestionApi, wwwForm);
 *
 *          yield return www;
 *
 *          yield return new WaitForSeconds(40f);
 *      }
 *
 *  }*/

    private void _loadCachedAndDelete()
    {
        if (!LocalStorage.FileExists(FileName))
        {
            return;
        }
        _bugs = (Queue <string>)LocalStorage.Load(FileName);
        LocalStorage.DeleteFile(FileName);
    }
    private void _loadLocal()
    {
        if (!LocalStorage.FileExists(FileName))
        {
            return;
        }

        _news = (List <NewsItem>)LocalStorage.Load(FileName);
        _initializeNews();
    }
    private void _loadLocal()
    {
        if (!LocalStorage.FileExists(FileName))
        {
            return;
        }

        _programme = (List <List <ProgrammeItem> >)LocalStorage.Load(FileName);
        _initializeEvents();
    }
    public IEnumerator DownloadImage(string id, string link)
    {
        var imageComponent = GetComponent <Image>();

        var www = new WWW(InfoStorage.Server + InfoStorage.NewsImages + id + "/" + link);

        yield return(www);

        if (www.error == null)
        {
            _ok = true;

            _texture = www.texture;

            if (!isActiveAndEnabled)
            {
                yield break;
            }

            LocalStorage.Save(PicDir + "/" + link, _texture.EncodeToJPG());
        }
        else if (LocalStorage.FileExists(PicDir + "/" + link))
        {
            _ok = true;

            var rawTexture = (byte[])LocalStorage.Load(PicDir + "/" + link);

            //InfoStorage.TextureBuffer.LoadImage(rawTexture);
            _texture.LoadImage(rawTexture);
        }

        if (_ok)
        {
/*            imageComponent.sprite = Sprite.Create(InfoStorage.TextureBuffer,
 *              new Rect(0, 0, InfoStorage.TextureBuffer.width, InfoStorage.TextureBuffer.height),
 *              new Vector2(0.5f, 0.5f), 100F, 0, SpriteMeshType.FullRect);
 *          imageComponent.preserveAspect = true;
 *          InfoStorage.RelaseMemory();*/

            imageComponent.sprite = Sprite.Create(_texture,
                                                  new Rect(0, 0, _texture.width, _texture.height),
                                                  new Vector2(0.5f, 0.5f), 100F, 0, SpriteMeshType.FullRect);
            imageComponent.preserveAspect = true;

//            InfoStorage.RelaseMemory();
        }
        else
        {
            imageComponent.sprite = NewsController.Temp;
        }
    }
    private IEnumerator _refreshMapCoroutine()
    {
        _userLocUsing = _userLocation != null;
        var qs     = _createApiQuery(_centerLocation.Location, _zoom, _userLocUsing);
        var sensor = false;

        if (LocalStorage.FileExists(MapDir + "/" + qs.GetHashCode()))
        {
            var rawTexture = (byte[])LocalStorage.Load(MapDir + "/" + qs.GetHashCode());

            _texture.LoadImage(rawTexture);
            _textureBufferUpdated.Invoke();
        }
        else
        {
            yield return(StartCoroutine(_getTextureFromServer(_wrapQueryWithLinks(qs))));
        }

        _updateLock = false;
    }
 public static bool Load <T>(this T @this, string filename, params Newtonsoft.Json.JsonConverter[] converters)
 {
     if (LocalStorage.FileExists(filename))
     {
         var contents = LocalStorage.ReadText(filename);
         try
         {
             Newtonsoft.Json.JsonConvert.PopulateObject(contents, @this, new Newtonsoft.Json.JsonSerializerSettings()
             {
                 Converters = converters
             });
             return(true);
         }
         catch (Exception)
         {
             throw;
             //Diagnostics.Log.Output(Diagnostics.Log.ELevel.Error, e, true);
         }
     }
     return(false);
 }
    private IEnumerator _cacheLocationCoroutine(GoogleMapLocation location)
    {
        for (var i = MinZoom; i <= MaxZoom; i++)
        {
            var qs = _createApiQuery(location, i, false);

            if (LocalStorage.FileExists(MapDir + "/" + qs.GetHashCode()))
            {
                continue;
            }

            var query = _wrapQueryWithLinks(qs);

            ServicePointManager.ServerCertificateValidationCallback = _remoteCertificateValidationCallback;
            var webAsync   = new WebAsync();
            var webRequest = HttpWebRequest.Create(query);

            webRequest.Method = "GET";

            yield return(webAsync.GetResponse(webRequest));

            if (webAsync.requestState.errorMessage != null)
            {
                Debug.Log("Error:" + webAsync.requestState.errorMessage);
                yield break;
            }

            var reader = new BinaryReader(webAsync.requestState.webResponse.GetResponseStream());

            var bytesResponce = reader.ReadBytes(1 * 1024 * 1024 * 10);

            Destroy(_texture);
            _reinitializeTextureBuffer();
            _texture.LoadImage(bytesResponce);
            _textureBufferUpdated.Invoke();

            LocalStorage.Save(MapDir + "/" + qs.GetHashCode(), _texture.EncodeToJPG());
        }
    }
    private IEnumerator _getAdresses()
    {
        var www = new WWW(InfoStorage.Server + InfoStorage.EventsApi + "getAll?api=address");

        yield return(www);

        if (www.error == null)
        {
            _markers.Clear();
            var json = JSON.Parse(www.text);

            foreach (JSONNode jsonNode in json.AsArray)
            {
                string address = jsonNode["address"];

                if (address == null || address.Equals(""))
                {
                    continue;
                }

                var gml = new GoogleMapLocation(address);
                var gmm = new GoogleMapMarker(gml);

                _markers.Add(gmm);
            }

            LocalStorage.Save(FileName, _markers);
        }
        else
        {
            if (LocalStorage.FileExists(FileName))
            {
                _markers = (List <GoogleMapMarker>)LocalStorage.Load(FileName);
            }
        }
    }
Esempio n. 10
0
        public void TestWriteStreamLots()
        {
            var ls = new LocalStorage();



            var msr = new ManualResetEvent(false);

            string test = "";

            for (var i = 0; i < 20; i++)
            {
                test += "this here is more text" + i;
            }

            Task.Run(async() =>
            {
                for (var b = 0; b < 50; b++)
                {
                    var g = Guid.NewGuid().ToString();
                    for (var i = 0; i < 10; i++)
                    {
                        var fn = Path.Combine("TestWrites", g);
                        //var fn = "TestWrites";
                        // test += i;

                        await ls.SaveString(fn, test);

                        Assert.IsTrue(await ls.FileExists(fn));
                        var loaded = await ls.LoadString(fn);

                        Assert.IsNotNull(loaded);
                        Assert.AreEqual(loaded, test);
                        // Debug.WriteLine(i);
                    }
                }

                msr.Set();
            });


            Task.Run(async() =>
            {
                for (var b = 0; b < 50; b++)
                {
                    var g = Guid.NewGuid().ToString();
                    for (var i = 0; i < 10; i++)
                    {
                        var fn = Path.Combine("TestWrites", g);
                        //var fn = "TestWrites";
                        // test += i;

                        await ls.SaveString(fn, test);

                        Assert.IsTrue(await ls.FileExists(fn));
                        var loaded = await ls.LoadString(fn);

                        Assert.IsNotNull(loaded);
                        Assert.AreEqual(loaded, test);
                        // Debug.WriteLine(i);
                    }
                }

                //msr.Set();
            });

            Task.Run(async() =>
            {
                for (var b = 0; b < 50; b++)
                {
                    var g = Guid.NewGuid().ToString();
                    for (var i = 0; i < 10; i++)
                    {
                        var fn = Path.Combine("TestWrites", g);
                        //var fn = "TestWrites";
                        // test += i;

                        await ls.SaveString(fn, test);

                        Assert.IsTrue(await ls.FileExists(fn));
                        var loaded = await ls.LoadString(fn);

                        Assert.IsNotNull(loaded);
                        Assert.AreEqual(loaded, test);
                        // Debug.WriteLine(i);
                    }
                }

                //msr.Set();
            });


            var msrResult = msr.WaitOne(25000);

            Assert.IsTrue(msrResult, "MSR not set, means assertion failed in task");
        }