Search in sources :

Example 1 with TranSappUser

use of cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser 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 TranSappUser

use of cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser in project androidApp by InspectorIncognito.

the class RankingActivity method getCurrentUserPosition.

private int getCurrentUserPosition(ArrayList<TranSappUser> tranSappUserRanking) {
    TranSappUser currentUser = TranSappAccountManager.getCurrentAccount().currentUser;
    int position = 0;
    for (TranSappUser user : tranSappUserRanking) {
        if (user.userId.equals(currentUser.userId)) {
            return position;
        }
        position++;
    }
    return 0;
}
Also used : TranSappUser(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser)

Example 3 with TranSappUser

use of cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser in project androidApp by InspectorIncognito.

the class TranSappAccountManager method createAccountFromLoginResult.

private static TranSappAccount createAccountFromLoginResult(String result, String nickname, SocialMediaAccount socialMediaAccount) throws JSONException {
    TranSappUser tranSappUser = new TranSappUser();
    tranSappUser.nickname = nickname;
    JSONObject data = new JSONObject(result);
    String sessionToken = data.getString(LoginRequest.SESSION_TOKEN_KEY);
    JSONObject userSettings = data.getJSONObject("userSettings");
    int busAvatarId = userSettings.getInt(LoginRequest.BUS_AVATAR_ID_KEY);
    updateUserSettings(tranSappUser, userSettings);
    updateGamificationData(tranSappUser, data);
    SocialAccountLoaderManager manager = new SocialAccountLoaderManager();
    manager.saveAccount(socialMediaAccount, nickname);
    return new TranSappAccount(socialMediaAccount, tranSappUser, sessionToken, busAvatarId);
}
Also used : TranSappAccount(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappAccount) JSONObject(org.json.JSONObject) TranSappUser(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser)

Example 4 with TranSappUser

use of cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser in project androidApp by InspectorIncognito.

the class RankingAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
    TranSappUser tranSappUser = items.get(position);
    holder.setUserData(tranSappUser, currentTranSappUser);
}
Also used : TranSappUser(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser)

Example 5 with TranSappUser

use of cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser in project androidApp by InspectorIncognito.

the class RankingTopUsersAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
    TranSappUser tranSappUser = items.get(position);
    holder.setUserData(tranSappUser);
}
Also used : TranSappUser(cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser)

Aggregations

TranSappUser (cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappUser)8 TranSappAccount (cl.smartcities.isci.transportinspector.gamification.transappUser.TranSappAccount)3 ArrayList (java.util.ArrayList)3 NonNull (android.support.annotation.NonNull)2 Pair (android.support.v4.util.Pair)2 RankingRequest (cl.smartcities.isci.transportinspector.serverConnection.requests.pullRequests.RankingRequest)2 JSONObject (org.json.JSONObject)2 Intent (android.content.Intent)1 UiThread (android.support.annotation.UiThread)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 View (android.view.View)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 RankingAdapter (cl.smartcities.isci.transportinspector.adapters.RankingAdapter)1 RankingTopUsersAdapter (cl.smartcities.isci.transportinspector.adapters.RankingTopUsersAdapter)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 JSONArray (org.json.JSONArray)1 JSONException (org.json.JSONException)1