protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.ViewChallengeList);

            prefHelper  = new PreferenceHelper(this);
            dataManager = new DataManger(this);

            var recyclerView  = FindViewById <RecyclerView>(Resource.Id.recyclerView);
            var toolbar       = FindViewById <Android.Widget.Toolbar>(Resource.Id.toolbar);
            var addItemButton = FindViewById <com.refractored.fab.FloatingActionButton>(Resource.Id.addItemButton);

            SetActionBar(toolbar);
            ActionBar.Title = "Check It";
            ActionBar.SetDisplayHomeAsUpEnabled(true);
            ActionBar.SetHomeButtonEnabled(true);

            var layoutManager = new LinearLayoutManager(this, LinearLayoutManager.Vertical, false);

            recyclerView.SetLayoutManager(layoutManager);

            //Get challenges from database
            challenges = dataManager.ChallangeData.GetChallanges();

            adapter = new ChallengeAdapter(this, challenges.Where(w => !w.IsCompleted).ToList());

            recyclerView.SetAdapter(adapter);

            adapter.ItemClick   += Challenge_ItemClick;
            addItemButton.Click += AddItemButton_Click;
        }
Example #2
0
        private void EnsureChallengeExistsInStorage(ChallengeListSingleInfo challengeInfo)
        {
            Challenge challenge = new Challenge(challengeInfo.UId, challengeInfo.Name, challengeInfo.Author, challengeInfo.Environnement);

            ChallengeAdapter.IncreaseRaces(challenge);
            CurrentChallengeID = challenge.ID.Value;

            OnChallengeCreatedOrUpdated(challengeInfo, challenge);
        }
Example #3
0
        public void GetChallengeAdapter_Success()
        {
            // Arrange
            var requestBuilder = new ChallengeBuilder().FavoratePassTime();
            var mokAdapter     = new ChallengeAdapter();

            // Act
            var response = mokAdapter.Get(Guid.NewGuid());
            var expected = requestBuilder.UpdateId(response.Id).Build();

            // Assert
            Assert.IsNotNull(response);
            var compareDetails = Comparer.Compare(expected, response);

            compareDetails.DisplayDifferences();
            Assert.IsTrue(compareDetails.AreEqual, "The initative comparison failed");
        }
Example #4
0
        protected override void Init()
        {
            Settings = LocalRecordsSettings.ReadFromFile(PluginSettingsFilePath);

            try
            {
                AdapterProvider  = AdapterProviderFactory.GetAdapterProvider(Settings);
                ChallengeAdapter = AdapterProvider.GetChallengeAdapter();
                PlayerAdapter    = AdapterProvider.GetPlayerAdapter();
                PositionAdapter  = AdapterProvider.GetPositionAdapter();
                RecordAdapter    = AdapterProvider.GetRecordAdapter();
                RatingAdapter    = AdapterProvider.GetRatingAdapter();
                SessionAdapter   = AdapterProvider.GetSessionAdapter();
                RankingAdapter   = AdapterProvider.GetRankingAdapter();
            }
            catch (Exception ex)
            {
                Logger.Error("Error initializing AdapterProvider for local records.", ex);
                Logger.ErrorToUI(string.Format("An error occured. {0} not started!", Name));
                return;
            }

            List <ChallengeListSingleInfo> challenges = GetChallengeList();

            if (challenges == null)
            {
                return;
            }

            try
            {
                Logger.InfoToUI("Starting to delete data of missing tracks");
                int amountOfDeletedTracks = ChallengeAdapter.DeleteTracksNotInProvidedList(challenges.ConvertAll(c => c.UId));
                Logger.InfoToUI(string.Format("Data of {0} Track(s) has been deleted.", amountOfDeletedTracks));
            }
            catch (Exception ex)
            {
                Logger.ErrorToUI("Couldn't delete data of missing tracks.", ex);
            }


            foreach (PlayerSettings playerSettings in Context.PlayerSettings.GetAllAsList())
            {
                if (!playerSettings.NickName.IsNullOrTimmedEmpty())
                {
                    PlayerAdapter.CreateOrUpdate(new Player(playerSettings.Login, playerSettings.NickName));
                }
            }

            ChallengeInfo currentChallengeInfo = GetCurrentChallengeInfoCached();

            if (currentChallengeInfo == null)
            {
                Logger.ErrorToUI(string.Format("An error occured. {0} not started!", Name));
                return;
            }

            EnsureChallengeExistsInStorage(currentChallengeInfo);
            DetermineLocalRecords();

            InitializePlugins();
            OnLocalRecordsDetermined(new List <RankEntry>(LocalRecords));

            Context.RPCClient.Callbacks.BeginRace        += Callbacks_BeginRace;
            Context.RPCClient.Callbacks.EndRace          += Callbacks_EndRace;
            Context.RPCClient.Callbacks.PlayerConnect    += Callbacks_PlayerConnect;
            Context.RPCClient.Callbacks.PlayerDisconnect += Callbacks_PlayerDisconnect;
            Context.RPCClient.Callbacks.PlayerFinish     += Callbacks_PlayerFinish;
            Context.RPCClient.Callbacks.PlayerChat       += Callbacks_PlayerChat;
        }