use of cl.smartcities.isci.transportinspector.backend.BusAvatar 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);
}
});
}
use of cl.smartcities.isci.transportinspector.backend.BusAvatar in project androidApp by InspectorIncognito.
the class BusAvatarRowAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
final BusAvatar avatar = items.get(position);
holder.position = holder.getAdapterPosition();
holder.busView.setAvatarId(avatar.getServerId());
holder.level.setText(String.format(Locale.getDefault(), "Nv.%d", avatar.getMinLevelRequired()));
holder.title.setText(holder.itemView.getContext().getString(avatar.titleId));
holder.description.setText(holder.itemView.getContext().getString(avatar.descriptionId));
holder.row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (selectedHolder == holder) {
return;
}
if (currentLevel < avatar.getMinLevelRequired()) {
Toast.makeText(holder.row.getContext(), String.format(Locale.getDefault(), "Debes tener al menos nivel %d", avatar.getMinLevelRequired()), Toast.LENGTH_SHORT).show();
return;
}
unSelectHolder(selectedHolder);
selectedHolder = holder;
selectHolder(selectedHolder);
listener.onNewAvatarSelected(avatar.getServerId());
}
});
if (selectedHolder != null && holder.equals(selectedHolder) && avatar.getServerId() != selectedAvatarId) {
selectedHolder = null;
}
if (avatar.getServerId() == selectedAvatarId) {
selectedHolder = holder;
selectHolder(holder);
} else if (currentLevel < avatar.getMinLevelRequired()) {
lockHolder(holder);
} else {
unSelectHolder(holder);
}
}
use of cl.smartcities.isci.transportinspector.backend.BusAvatar in project androidApp by InspectorIncognito.
the class ActiveBusView method setLayout.
private void setLayout() {
BusAvatar avatar = Avatar.getBusAvatarById(avatarId);
colorImage.setImageResource(avatar.getColor());
bodyImage.setImageResource(avatar.getBase());
colorImage.setColorFilter(color);
if (service == null || service.length() == 0) {
text.setVisibility(GONE);
} else {
text.setVisibility(VISIBLE);
text.setText(service);
}
fixedDefaultFrogBus(colorImage, bodyImage);
if (flipped) {
colorImage.setScaleX(-1);
bodyImage.setScaleX(-1);
}
setTextMargins();
}
Aggregations