Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PrincipalActivity extends AppCompatActivity implements View.OnClickListener {
- String lastEvent = null;
- String nowTime = "";
- private FloatingActionButton fab;
- private DatabaseReference fabChecker;
- private String day, month;
- private DatabaseReference mDatabase;
- private DatabaseReference dataBase;
- private DatabaseReference root;
- private DatabaseReference userDb;
- private FirebaseAuth mAuth;
- private RecyclerView mEventList;
- private FirebaseRecyclerAdapter<Event, EventViewHolder> firebaseRecyclerAdapter;
- private FirebaseRecyclerOptions<Event> options;
- private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
- = new BottomNavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- BottomNavigationView bottomNavigationView = findViewById(R.id.navigation);
- switch (item.getItemId()) {
- case R.id.nav_home:
- break;
- case R.id.nav_profile:
- startActivity(new Intent(PrincipalActivity.this, ProfileActivity.class));
- break;
- }
- return false;
- }
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_principal);
- BottomNavigationView bottomNavigationView = findViewById(R.id.navigation);
- bottomNavigationView.getMenu().findItem(R.id.nav_home).setChecked(true);
- bottomNavigationView.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
- mAuth = FirebaseAuth.getInstance();
- if (mAuth.getCurrentUser() == null) {
- finish();
- startActivity(new Intent(this, HomeScreenActivity.class));
- }
- Calendar c = Calendar.getInstance();
- if(c.get(Calendar.DAY_OF_MONTH) < 10){
- day = "0" + String.valueOf(c.get(Calendar.DAY_OF_MONTH));
- }
- if (c.get(Calendar.MONTH) + 1 < 10){
- month = "0" + String.valueOf(c.get(Calendar.MONTH) + 1);
- }
- nowTime = String.valueOf(c.get(Calendar.YEAR)) + month + day;
- mEventList = (RecyclerView) findViewById(R.id.event_list);
- mEventList.setHasFixedSize(true);
- mEventList.setLayoutManager(new LinearLayoutManager(this));
- fab = findViewById(R.id.fab);
- fab.setOnClickListener(this);
- fab.setVisibility(View.GONE);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- getSupportActionBar().setTitle("");
- userDb = FirebaseDatabase.getInstance().getReference().child("Usuarios").child(mAuth.getCurrentUser().getUid().toString());
- fabChecker = FirebaseDatabase.getInstance().getReference().child("Premiums");
- fabChecker.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if (dataSnapshot.child(mAuth.getCurrentUser().getUid()).exists()) {
- String isPremium = dataSnapshot.child(mAuth.getCurrentUser().getUid().toString().trim()).getValue().toString();
- if (isPremium.equals("requested")) {
- fab.setVisibility(View.GONE);
- } else if (isPremium.equals("true")) {
- fab.setVisibility(View.VISIBLE);
- }
- } else {
- fab.setVisibility(View.GONE);
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- mDatabase = FirebaseDatabase.getInstance().getReference().child("Eventos");
- Intent intent = getIntent();
- Bundle extras = intent.getExtras();
- if (extras != null) {
- if (extras.containsKey("lastEvent")) {
- String key = extras.getString("lastEvent", null);
- StorageReference storageReference = FirebaseStorage.getInstance().getReference().child("Eventos").child(key);
- storageReference.delete();
- mDatabase.child(key).removeValue();
- }
- }
- dataBase = FirebaseDatabase.getInstance()
- .getReference().child("Usuarios").child(mAuth.getCurrentUser().getUid().toString()).child("Asistir");
- root = FirebaseDatabase.getInstance().getReference().child("Notifications").child(mAuth.getCurrentUser().getUid().toString());
- root.removeValue();
- }
- @Override
- public void onBackPressed() {
- //TODO:
- }
- public void searchBtn(View view) {
- startActivity(new Intent(PrincipalActivity.this, SearchActivity.class));
- }
- public void msgBtn(View view) {
- startActivity(new Intent(PrincipalActivity.this, MessagesActivity.class));
- }
- @Override
- protected void onStart() {
- super.onStart();
- SharedPreferences settings = getSharedPreferences("opciones", MODE_PRIVATE);
- DatabaseReference userDb = FirebaseDatabase.getInstance().getReference().child("Usuarios").child(mAuth.getCurrentUser().getUid().toString());
- if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED && settings.getBoolean("showLoc", false)) {
- }
- final DatabaseReference rootDb = FirebaseDatabase.getInstance().getReference();
- rootDb.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String mantenimiento = dataSnapshot.child("mantenimiento").getValue().toString();
- if(mantenimiento.equals("true")){
- rootDb.child("Usuarios").child(mAuth.getCurrentUser().getUid().toString()).child("device_token").removeValue();
- mAuth.signOut();
- finishAffinity();
- startActivity(new Intent(PrincipalActivity.this, HomeScreenActivity.class));
- Toast.makeText(getApplicationContext(), "Tu sesión expiró.", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- Query searchQuery = mDatabase.orderByChild("timeStamp");
- options = new FirebaseRecyclerOptions.Builder<Event>()
- .setQuery(searchQuery, Event.class)
- .build();
- firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Event, EventViewHolder>(options) {
- @Override
- protected void onBindViewHolder(final EventViewHolder viewHolder, int position, final Event model) {
- final String id = getRef(viewHolder.getAdapterPosition()).getKey().toString().trim();
- viewHolder.setTitle(model.getTitle());
- viewHolder.setDateWords(model.getDateWords());
- viewHolder.setDesc(model.getDesc());
- final boolean asiste;
- final boolean[] creator = new boolean[1];
- mDatabase.child(id).addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if(dataSnapshot.child("banner").exists()){
- String bannerValue = dataSnapshot.child("banner").getValue().toString();
- ImageView bannerView = viewHolder.itemView.findViewById(R.id.bannerFoto);
- SharedPreferences settings = getSharedPreferences("opciones" ,MODE_PRIVATE);
- if(settings.getBoolean("save3G", false)){
- Glide.with(getApplicationContext()).load(R.drawable.event_placeholder).into(bannerView);
- } else {
- Glide.with(getApplicationContext()).load(bannerValue).into(bannerView);
- }
- }
- if(dataSnapshot.child("creatorUid").exists()){
- if(dataSnapshot.child("creatorUid").getValue().toString().equals(mAuth.getCurrentUser().getUid().toString())){
- creator[0] = true;
- } else {
- creator[0] = false;
- }
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- dataBase.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if(!dataSnapshot.child(id).exists()){
- //No existe => Funcion para asistir al evento
- viewHolder.asistBtn.setVisibility(View.VISIBLE);
- viewHolder.unAsistBtn.setVisibility(View.GONE);
- } else {
- //Existe
- viewHolder.asistBtn.setVisibility(View.GONE);
- viewHolder.unAsistBtn.setVisibility(View.VISIBLE);
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- viewHolder.mView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- mDatabase.child(id).addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- String eventTime = dataSnapshot.child("timeStamp").getValue().toString();
- if(Integer.parseInt(nowTime) > Integer.parseInt(eventTime)){
- Intent intent = new Intent(PrincipalActivity.this, TestingActivity.class);
- intent.putExtra("eventKey", id);
- startActivity(intent);
- finish();
- } else {
- Intent intent = new Intent(PrincipalActivity.this, EventSingleActivity.class);
- intent.putExtra("eventKey", id);
- startActivity(intent);
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- }
- });
- viewHolder.asistBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- viewHolder.asistBtn.setVisibility(View.GONE);
- viewHolder.unAsistBtn.setVisibility(View.VISIBLE);
- dataBase.child(id).child("id").setValue(id);
- mDatabase.child(id).child("asist").child(mAuth.getCurrentUser().getUid()).child("id").setValue(mAuth.getCurrentUser().getUid());
- }
- });
- viewHolder.mView.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View view) {
- options(creator[0], id, model.getTitle());
- //startActivity(new Intent(PrincipalActivity.this, TestingActivity.class));
- return false;
- }
- });
- viewHolder.unAsistBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- viewHolder.asistBtn.setVisibility(View.VISIBLE);
- viewHolder.unAsistBtn.setVisibility(View.GONE);
- dataBase.child(id).removeValue();
- mDatabase.child(id).child("asist").child(mAuth.getCurrentUser().getUid()).child("id").removeValue();
- }
- });
- }
- @NonNull
- @Override
- public EventViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.event_row, parent, false);
- return new EventViewHolder(view);
- }
- };
- firebaseRecyclerAdapter.startListening();
- mEventList.setAdapter(firebaseRecyclerAdapter);
- }
- private void options (boolean creator, final String eventKey, final String eventTitle){
- if(creator) {
- CharSequence options[] = new CharSequence[]{"Editar evento", "Compartir"};
- AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(PrincipalActivity.this);
- myAlertDialog.setItems(options, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- if (i == 0) {
- Intent intent = new Intent(getApplicationContext(), EventConfigActivity.class);
- intent.putExtra("eventKey", eventKey);
- startActivity(intent);
- } else if(i == 1) {
- Intent intent = new Intent(getApplicationContext(), SendEventActivity.class);
- intent.putExtra("eventKey", eventKey);
- intent.putExtra("eventName", eventTitle);
- startActivity(intent);
- }
- }
- });
- myAlertDialog.show();
- } else if (!creator){
- CharSequence options[] = new CharSequence[]{"Compartir"};
- AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(PrincipalActivity.this);
- myAlertDialog.setItems(options, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- if (i == 0) {
- Intent intent = new Intent(getApplicationContext(), SendEventActivity.class);
- intent.putExtra("eventKey", eventKey);
- intent.putExtra("eventName", eventTitle);
- startActivity(intent);
- }
- }
- });
- myAlertDialog.show();
- }
- }
- @Override
- public void onClick(View view) {
- Evento(view.getId());
- }
- public void Evento (int opc) {
- switch (opc) {
- case R.id.fab:
- userDb.addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot dataSnapshot) {
- if(dataSnapshot.child("phone").exists()){
- startActivity(new Intent(PrincipalActivity.this, NewEventActivity.class));
- finish();
- } else {
- Toast.makeText(getApplicationContext(), "Debes ingresar un número de teléfono válido!", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- }
- });
- break;
- }
- }
- public void onRequestPermissionsResult(int requestCode,
- String permissions[], int[] grantResults) {
- switch (requestCode) {
- case 1: {
- if (grantResults.length > 0
- && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- } else {
- }
- return;
- }
- }
- }
- public static class EventViewHolder extends RecyclerView.ViewHolder {
- View mView;
- ImageButton asistBtn = itemView.findViewById(R.id.asistBtn);
- ImageButton unAsistBtn = itemView.findViewById(R.id.unAsistBtn);
- public EventViewHolder(View itemView) {
- super(itemView);
- mView = itemView;
- }
- public void setTitle(String title) {
- TextView textView =itemView.findViewById(R.id.eventName);
- textView.setText(title);
- }
- public void setDateWords(String dateWords){
- TextView textView = itemView.findViewById(R.id.eventDate);
- textView.setText(dateWords.toString().trim());
- }
- public void setDesc (String desc) {
- TextView textView = itemView.findViewById(R.id.eventDesc);
- textView.setText(desc);
- }
- }
- public void testBtn (View view) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement