Search in sources :

Example 1 with RankingRequest

use of cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest in project androidApp by InspectorIncognito.

the class UserFragment method updateUI.

@UiThread
private void updateUI() {
    final TranSappAccount account = TranSappAccountManager.getCurrentAccount();
    if (!TranSappAccountManager.isLoggedIn()) {
        getActivity().finish();
        return;
    }
    progressImage.setProgressValues(account.getScore(), account.getLevelMinScore(), account.getLevelMaxScore());
    progressImage.loadImage(account);
    userName.setText(account.getName());
    level.setText(String.format(Locale.getDefault(), "NIVEL %d", account.getLevelPosition()));
    score.setText(String.format(Locale.getDefault(), "%s de %s ptos", account.getFormattedScore(), account.getFormattedLevelMaxScore()));
    levelName.setText(account.getLevelName());
    levelBackground.setImageResource(account.getLevelBackgroundImage());
    rankingPosition.setText(String.format(Locale.getDefault(), "%d", account.currentUser.globalRankingPosition));
    rankingFrame.setImageResource(account.getLevelSimpleFrame());
    int id = account.getBusAvatarId();
    userBusAvatarView.setAvatarId(id);
    BusAvatar avatar = Avatar.getBusAvatarById(id);
    userBusAvatarTitle.setText(getString(avatar.titleId));
    rankingButton.setClickable(true);
    rankingPosition.setVisibility(View.VISIBLE);
    rankingProgressBar.setVisibility(View.GONE);
    rankingButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            rankingButton.setClickable(false);
            rankingPosition.setVisibility(View.GONE);
            rankingProgressBar.setVisibility(View.VISIBLE);
            RankingRequest request = new RankingRequest(new Request.RequestListener<Pair<ArrayList<TranSappUser>, ArrayList<TranSappUser>>>() {

                @Override
                public void onRequestError() {
                    if (getActivity() == null || getContext() == null) {
                        return;
                    }
                    Toast.makeText(getActivity(), "Ranking no disponible", Toast.LENGTH_SHORT).show();
                    rankingButton.setClickable(true);
                    rankingPosition.setVisibility(View.VISIBLE);
                    rankingProgressBar.setVisibility(View.GONE);
                }

                @Override
                public void onRequestResult(@NonNull Pair<ArrayList<TranSappUser>, ArrayList<TranSappUser>> response) {
                    if (getActivity() == null || getContext() == null) {
                        return;
                    }
                    Intent intent = new Intent(getActivity(), RankingActivity.class);
                    intent.putParcelableArrayListExtra(RankingActivity.TOP_RANKING_KEY, response.first);
                    intent.putParcelableArrayListExtra(RankingActivity.USER_RANKING_KEY, response.second);
                    startActivityForResult(intent, RANKING_ACTIVITY_CODE);
                }
            }, account);
            ServerController.sendRequest(request, null);
        }
    });
}
Also used : TranSappAccount(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappAccount) ArrayList(java.util.ArrayList) TranSappUser(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser) Intent(android.content.Intent) BusAvatar(cl.smartcities.isci.transportinspector.backend.BusAvatar) ImageView(android.widget.ImageView) View(android.view.View) ActiveBusView(cl.smartcities.isci.transportinspector.drawables.ActiveBusView) TextView(android.widget.TextView) NonNull(android.support.annotation.NonNull) RankingRequest(cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest) Pair(android.support.v4.util.Pair) UiThread(android.support.annotation.UiThread)

Example 2 with RankingRequest

use of cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest in project androidApp by InspectorIncognito.

the class UserFragment method onStart.

@Override
public void onStart() {
    super.onStart();
    final TranSappAccount account = TranSappAccountManager.getCurrentAccount();
    if (account == null) {
        getActivity().finish();
        return;
    }
    RankingRequest request = new RankingRequest(new Request.RequestListener<Pair<ArrayList<TranSappUser>, ArrayList<TranSappUser>>>() {

        @Override
        public void onRequestError() {
        }

        @Override
        public void onRequestResult(@NonNull Pair<ArrayList<TranSappUser>, ArrayList<TranSappUser>> response) {
            ArrayList<TranSappUser> ranking = response.second;
            for (TranSappUser user : ranking) {
                if (user.userId.equals(account.currentUser.userId) && !account.currentUser.userId.equals("")) {
                    if (account.currentUser.globalRankingPosition != user.globalRankingPosition) {
                        account.updateRankingData(user.globalRankingPosition);
                        if (UserFragment.this.getActivity() != null && !UserFragment.this.getActivity().isFinishing()) {
                            updateUI();
                        }
                    }
                }
            }
        }
    }, account);
    ServerController.sendRequest(request, null);
}
Also used : TranSappAccount(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappAccount) Request(cl.smartcities.isci.transportinspector.serverConnection.requests.Request) RankingRequest(cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest) TranSappUser(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser) ArrayList(java.util.ArrayList) RankingRequest(cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest) Pair(android.support.v4.util.Pair)

Aggregations

Pair (android.support.v4.util.Pair)2 TranSappAccount (cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappAccount)2 TranSappUser (cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser)2 RankingRequest (cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest)2 ArrayList (java.util.ArrayList)2 Intent (android.content.Intent)1 NonNull (android.support.annotation.NonNull)1 UiThread (android.support.annotation.UiThread)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 BusAvatar (cl.smartcities.isci.transportinspector.backend.BusAvatar)1 ActiveBusView (cl.smartcities.isci.transportinspector.drawables.ActiveBusView)1 Request (cl.smartcities.isci.transportinspector.serverConnection.requests.Request)1