use of br.ufrj.caronae.RoundedTransformation in project caronae-android by caronae.
the class MainAct method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
filterCard = (CardView) findViewById(R.id.filter_card);
filterText = (TextView) findViewById(R.id.filter_text);
dissmissFilter = (ImageButton) findViewById(R.id.dissmiss_filter);
startFilterCard();
configureDissmissFilterButton();
SharedPref.setChatActIsForeground(false);
FacebookSdk.sdkInitialize(getApplicationContext());
getFbCallbackManager();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Subscripe to topics
FirebaseTopicsHandler.subscribeFirebaseTopic("user-" + App.getUser().getDbId());
FirebaseTopicsHandler.subscribeFirebaseTopic(SharedPref.TOPIC_GERAL);
versionText = (TextView) findViewById(R.id.text_version);
versionText.setText("Caronae " + Util.getAppVersionName(this));
String title = PreferenceManager.getDefaultSharedPreferences(this).getString(MSG_TYPE_ALERT_HEADER, "");
String alert = PreferenceManager.getDefaultSharedPreferences(this).getString(MSG_TYPE_ALERT, "");
if (!alert.equals("")) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(alert);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setTitle(title);
AlertDialog dialog = builder.create();
dialog.show();
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString(StartAct.MSG_TYPE_ALERT, "").commit();
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString(StartAct.MSG_TYPE_ALERT_HEADER, "").commit();
}
mDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerToggle = new ActionBarDrawerToggle(this, mDrawer, toolbar, R.string.drawer_open, R.string.drawer_close) {
@Override
public void onDrawerOpened(View drawerView) {
// update user pic on drawer if it changed
String profilePicUrl = SharedPref.getDrawerPic();
if (!profilePicUrl.equals(App.getUser().getProfilePicUrl())) {
if (App.getUser().getProfilePicUrl() != null)
profilePicUrl = App.getUser().getProfilePicUrl();
else
profilePicUrl = "";
ImageView user_pic = (ImageView) drawerView.findViewById(R.id.user_pic);
RelativeLayout drawerHeader = (RelativeLayout) drawerView.findViewById(R.id.drawer_header_layout);
drawerHeader.setOnClickListener((View v) -> showProfileFrag());
if (!profilePicUrl.isEmpty()) {
Picasso.with(MainAct.this).load(profilePicUrl).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).transform(new RoundedTransformation()).into(user_pic);
} else {
Picasso.with(MainAct.this).load(R.drawable.user_pic).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).into(user_pic);
}
SharedPref.saveDrawerPic(profilePicUrl);
}
// hide keyboard when nav drawer opens
InputMethodManager inputMethodManager = (InputMethodManager) MainAct.this.getSystemService(Activity.INPUT_METHOD_SERVICE);
try {
// noinspection ConstantConditions
inputMethodManager.hideSoftInputFromWindow(MainAct.this.getCurrentFocus().getWindowToken(), 0);
} catch (NullPointerException e) {
Log.e("onDrawerOpened", e.getMessage());
}
}
};
mDrawer.setDrawerListener(drawerToggle);
final ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayHomeAsUpEnabled(true);
}
getSupportActionBar().setTitle("");
NavigationView nvDrawer = (NavigationView) findViewById(R.id.nvView);
setupDrawerContent(nvDrawer);
getHeaderView(nvDrawer);
backstack = new ArrayList<>();
}
use of br.ufrj.caronae.RoundedTransformation in project caronae-android by caronae.
the class ProfileAct method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
ButterKnife.bind(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayHomeAsUpEnabled(true);
}
String user2 = getIntent().getExtras().getString("user");
user = new Gson().fromJson(user2, User.class);
name_tv.setText(user.getName());
profile_tv.setText(user.getProfile());
course_tv.setText(user.getCourse());
phone_tv.setText(user.getPhoneNumber());
String profilePicUrl = user.getProfilePicUrl();
if (profilePicUrl != null && !profilePicUrl.isEmpty())
Picasso.with(this).load(profilePicUrl).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).transform(new RoundedTransformation()).into(user_pic_iv);
try {
String date = user.getCreatedAt().split(" ")[0];
date = Util.formatBadDateWithYear(date).substring(3);
createdAt_tv.setText(date);
} catch (Exception e) {
e.printStackTrace();
}
CaronaeAPI.service(getApplicationContext()).getRidesHistoryCount(user.getDbId() + "").enqueue(new Callback<HistoryRideCountForJson>() {
@Override
public void onResponse(Call<HistoryRideCountForJson> call, Response<HistoryRideCountForJson> response) {
if (response.isSuccessful()) {
HistoryRideCountForJson historyRideCountForJson = response.body();
ridesOffered_tv.setText(String.valueOf(historyRideCountForJson.getOfferedCount()));
ridesTaken_tv.setText(String.valueOf(historyRideCountForJson.getTakenCount()));
} else {
Util.treatResponseFromServer(response);
Util.toast(R.string.act_profile_errorCountRidesHistory);
Log.e("getRidesHistoryCount", response.message());
}
}
@Override
public void onFailure(Call<HistoryRideCountForJson> call, Throwable t) {
Util.toast(R.string.act_profile_errorCountRidesHistory);
Log.e("getRidesHistoryCount", t.getMessage());
}
});
try {
AccessToken token = AccessToken.getCurrentAccessToken();
if (token != null) {
if (user.getFaceId() != null) {
String name = user.getName().split(" ")[0];
openProfile_tv.setText(getString(R.string.act_profile_openFbProfile, name));
openProfile_tv.setVisibility(View.VISIBLE);
CaronaeAPI.service(getApplicationContext()).getMutualFriends(token.getToken(), user.getFaceId()).enqueue(new Callback<FacebookFriendForJson>() {
@Override
public void onResponse(Call<FacebookFriendForJson> call, Response<FacebookFriendForJson> response) {
if (response.isSuccessful()) {
FacebookFriendForJson mutualFriends = response.body();
if (mutualFriends.getTotalCount() < 1)
return;
mutualFriends_lay.setVisibility(View.VISIBLE);
int totalCount = mutualFriends.getTotalCount();
String s = mutualFriends.getTotalCount() > 1 ? "s" : "";
int size = mutualFriends.getMutualFriends().size();
String s1 = mutualFriends.getMutualFriends().size() != 1 ? "m" : "";
mutualFriends_tv.setText(getString(R.string.act_profile_mutualFriends, totalCount, s, size, s1));
mutualFriendsList.setAdapter(new RidersAdapter(mutualFriends.getMutualFriends(), ProfileAct.this));
mutualFriendsList.setHasFixedSize(true);
mutualFriendsList.setLayoutManager(new LinearLayoutManager(ProfileAct.this, LinearLayoutManager.HORIZONTAL, false));
} else {
Util.treatResponseFromServer(response);
// Util.toast(getString(R.string.act_profile_errorMutualFriends));
Log.e("getMutualFriends", response.message());
}
}
@Override
public void onFailure(Call<FacebookFriendForJson> call, Throwable t) {
Log.e("getMutualFriends", t.getMessage());
}
});
} else {
Log.i("profileact,facebook", "user face id is null");
}
}
} catch (Exception e) {
Log.e("profileact", e.getMessage());
}
String from = getIntent().getExtras().getString("from");
if (from != null && (from.equals("activeRides"))) {
// Controls the options that appears on app when user touch (short or long) on phone number
phone_tv.setOnClickListener((View v) -> {
actionNumberTouch(0);
});
phone_tv.setOnLongClickListener((View v) -> {
actionNumberTouch(1);
return true;
});
} else {
phone_icon.setVisibility(View.INVISIBLE);
phone_tv.setVisibility(View.INVISIBLE);
}
}
use of br.ufrj.caronae.RoundedTransformation in project caronae-android by caronae.
the class RideOfferAct method configureActivityWithRide.
private void configureActivityWithRide(final RideForJson rideWithUsers, boolean isFull) {
final boolean requested = getIntent().getBooleanExtra("requested", false);
if (rideWithUsers == null) {
Util.toast(getString(R.string.act_activeride_rideNUll));
finish();
}
AllRidesFrag.setPageThatWas(rideWithUsers.isGoing());
final User driver = rideWithUsers.getDriver();
final boolean isDriver = driver.getDbId() == App.getUser().getDbId();
int color = Util.getColorbyZone(rideWithUsers.getZone());
join_bt.setBackgroundColor(color);
location_dt.setTextColor(color);
final String location;
if (rideWithUsers.isGoing())
location = rideWithUsers.getNeighborhood() + " ➜ " + rideWithUsers.getHub();
else
location = rideWithUsers.getHub() + " ➜ " + rideWithUsers.getNeighborhood();
String profilePicUrl = driver.getProfilePicUrl();
if (profilePicUrl == null || profilePicUrl.isEmpty()) {
Picasso.with(this.getApplicationContext()).load(R.drawable.user_pic).into(user_pic);
} else {
Picasso.with(this.getApplicationContext()).load(profilePicUrl).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).transform(new RoundedTransformation()).into(user_pic);
}
user_pic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!isDriver) {
// dont allow user to open own profile
Intent intent = new Intent(getApplicationContext(), ProfileAct.class);
intent.putExtra("user", new Gson().toJson(driver));
intent.putExtra("from", "rideoffer");
startActivity(intent);
}
}
});
location_dt.setText(location);
name_dt.setText(driver.getName());
profile_dt.setText(driver.getProfile());
if (rideWithUsers.getRoute().equals("")) {
way_dt.setText("- - -");
} else {
way_dt.setText(rideWithUsers.getRoute());
}
if (rideWithUsers.getPlace().equals("")) {
place_dt.setText("- - -");
} else {
place_dt.setText(rideWithUsers.getPlace());
}
course_dt.setText(driver.getCourse());
if (rideWithUsers.isGoing())
time_dt.setText(getString(R.string.arrivingAt, Util.formatTime(rideWithUsers.getTime())));
else
time_dt.setText(getString(R.string.leavingAt, Util.formatTime(rideWithUsers.getTime())));
time_dt.setTextColor(color);
date_dt.setText(Util.formatBadDateWithoutYear(rideWithUsers.getDate()));
date_dt.setTextColor(color);
if (rideWithUsers.getDescription().equals("")) {
description_dt.setText("- - -");
} else {
description_dt.setText(rideWithUsers.getDescription());
}
if (isDriver) {
join_bt.setVisibility(View.GONE);
} else {
if (requested) {
join_bt.setVisibility(View.GONE);
requested_dt.setVisibility(View.VISIBLE);
} else {
if (isFull) {
join_bt.setText("CARONA CHEIA");
join_bt.setClickable(false);
} else {
join_bt.setClickable(true);
final Context context = this;
join_bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
List<ActiveRide> list = ActiveRide.find(ActiveRide.class, "date = ? and going = ?", rideWithUsers.getDate(), rideWithUsers.isGoing() ? "1" : "0");
if (list != null && !list.isEmpty()) {
Util.toast(getString(R.string.act_rideOffer_rideConflict));
return;
}
com.rey.material.app.Dialog.Builder builder = new SimpleDialog.Builder(R.style.SlideInDialog) {
@Override
protected void onBuildDone(com.rey.material.app.Dialog dialog) {
dialog.layoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
dialog.getWindow().getAttributes().windowAnimations = R.style.SlideInRightDialog;
}
@Override
public void onPositiveActionClicked(com.rey.material.app.DialogFragment fragment) {
final ProgressDialog pd = ProgressDialog.show(context, "", getString(R.string.wait), true, true);
CaronaeAPI.service(context).requestJoin(String.valueOf(rideWithUsers.getDbId())).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()) {
RideRequestSent rideRequest = new RideRequestSent(rideWithUsers.getDbId(), rideWithUsers.isGoing(), rideWithUsers.getDate());
rideRequest.save();
createChatAssets(rideWithUsers);
join_bt.startAnimation(getAnimationForSendButton());
requested_dt.startAnimation(getAnimationForResquestedText());
App.getBus().post(rideRequest);
pd.dismiss();
Util.snack(coordinatorLayout, getResources().getString(R.string.requestSent));
} else {
Util.treatResponseFromServer(response);
pd.dismiss();
Util.snack(coordinatorLayout, getResources().getString(R.string.errorRequestSent));
Log.e("requestJoin", response.message());
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
pd.dismiss();
Util.snack(coordinatorLayout, getResources().getString(R.string.requestSent));
Log.e("requestJoin", t.getMessage());
}
});
super.onPositiveActionClicked(fragment);
}
@Override
public void onNegativeActionClicked(com.rey.material.app.DialogFragment fragment) {
super.onNegativeActionClicked(fragment);
}
};
((SimpleDialog.Builder) builder).message(getString(R.string.act_rideOffer_requestWarn)).title(getString(R.string.attention)).positiveAction(getString(R.string.ok)).negativeAction(getString(R.string.cancel));
com.rey.material.app.DialogFragment fragment = com.rey.material.app.DialogFragment.newInstance(builder);
fragment.show(getSupportFragmentManager(), "a");
}
});
}
}
}
configureShareButton();
}
use of br.ufrj.caronae.RoundedTransformation in project caronae-android by caronae.
the class MyRidesAdapter method configureMyActiveRides.
private void configureMyActiveRides(int position, final MyRidesAdapter.ViewHolder holder) {
final RideForJson rideOffer = (RideForJson) rides.get(position);
int color = Util.getColorbyZone(rideOffer.getZone());
holder.location_tv.setTextColor(color);
holder.photo_iv.setBorderColor(color);
String profilePicUrl = rideOffer.getDriver().getProfilePicUrl();
if (profilePicUrl != null && !profilePicUrl.isEmpty()) {
Picasso.with(activity).load(profilePicUrl).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).transform(new RoundedTransformation()).into(holder.photo_iv);
}
String timeText;
if (rideOffer.isGoing())
timeText = activity.getResources().getString(R.string.arrivingAt, Util.formatTime(rideOffer.getTime()));
else
timeText = activity.getResources().getString(R.string.leavingAt, Util.formatTime(rideOffer.getTime()));
holder.time_tv.setText(timeText);
holder.date_tv.setText(Util.formatBadDateWithoutYear(rideOffer.getDate()));
holder.name_tv.setText(rideOffer.getDriver().getName());
String location;
if (rideOffer.isGoing())
location = rideOffer.getNeighborhood() + " ➜ " + rideOffer.getHub();
else
location = rideOffer.getHub() + " ➜ " + rideOffer.getNeighborhood();
holder.location_tv.setText(location);
holder.layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NewChatMsgIndicator.deleteAll(NewChatMsgIndicator.class, "db_id = ?", rideOffer.getDbId() + "");
holder.newMsgIndicator_iv.setVisibility(View.INVISIBLE);
Intent intent = new Intent(activity, ActiveRideAct.class);
intent.putExtra("ride", rideOffer);
activity.startActivity(intent);
activity.overridePendingTransition(R.anim.anim_right_slide_in, R.anim.anim_left_slide_out);
}
});
boolean found = false;
for (NewChatMsgIndicator newChatMsgIndicator : newChatMsgIndicatorList) {
if (newChatMsgIndicator.getDbId() == rideOffer.getDbId()) {
holder.newMsgIndicator_iv.setVisibility(View.VISIBLE);
found = true;
break;
}
}
if (!found)
holder.newMsgIndicator_iv.setVisibility(View.INVISIBLE);
}
use of br.ufrj.caronae.RoundedTransformation in project caronae-android by caronae.
the class RideOfferAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(final RideOfferAdapter.ViewHolder viewHolder, int position) {
if (!(mixedList == null || mixedList.size() == 0)) {
if (mixedList.get(position).getClass().equals(RideForJson.class)) {
final RideForJson rideOffer = (RideForJson) mixedList.get(position);
int color = Util.getColorbyZone(rideOffer.getZone());
viewHolder.location_tv.setTextColor(color);
viewHolder.time_tv.setTextColor(color);
viewHolder.name_tv.setTextColor(color);
viewHolder.date_tv.setTextColor(color);
viewHolder.photo_iv.setBorderColor(color);
String profilePicUrl = rideOffer.getDriver().getProfilePicUrl();
if (profilePicUrl != null && !profilePicUrl.isEmpty()) {
Picasso.with(context).load(profilePicUrl).placeholder(R.drawable.user_pic).error(R.drawable.user_pic).transform(new RoundedTransformation()).into(viewHolder.photo_iv);
} else {
viewHolder.photo_iv.setImageResource(R.drawable.user_pic);
}
String timeText;
if (rideOffer.isGoing())
timeText = context.getResources().getString(R.string.arrivingAt, Util.formatTime(rideOffer.getTime()));
else
timeText = context.getResources().getString(R.string.leavingAt, Util.formatTime(rideOffer.getTime()));
viewHolder.time_tv.setText(timeText);
viewHolder.date_tv.setText(Util.formatBadDateWithoutYear(rideOffer.getDate()));
String name = rideOffer.getDriver().getName();
try {
String[] split = name.split(" ");
String shortName = split[0] + " " + split[split.length - 1];
viewHolder.name_tv.setText(shortName);
} catch (Exception e) {
viewHolder.name_tv.setText(name);
}
String location;
if (rideOffer.isGoing())
location = rideOffer.getNeighborhood() + " ➜ " + rideOffer.getHub();
else
location = rideOffer.getHub() + " ➜ " + rideOffer.getNeighborhood();
viewHolder.location_tv.setText(location);
List<RideRequestSent> rideRequests = RideRequestSent.find(RideRequestSent.class, "db_id = ?", rideOffer.getDbId() + "");
boolean requested = false;
if (rideRequests != null && !rideRequests.isEmpty())
requested = true;
viewHolder.requestIndicator_iv.setVisibility(requested ? View.VISIBLE : View.INVISIBLE);
final boolean finalRequested = requested;
viewHolder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(context, RideOfferAct.class);
intent.putExtra("ride", rideOffer);
intent.putExtra("requested", finalRequested);
context.startActivity(intent);
}
});
} else {
viewHolder.header_text.setText(getDateText((RideForJson) mixedList.get(position + 1)));
}
}
}
Aggregations