Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.kristine.spaceadventure;
- import android.content.Intent;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.TextView;
- import com.firebase.ui.database.FirebaseRecyclerAdapter;
- import com.firebase.ui.database.FirebaseRecyclerOptions;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.Query;
- import com.google.firebase.database.ValueEventListener;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity {
- FirebaseAuth mAuth;
- DatabaseReference rootRef;
- FirebaseRecyclerAdapter adapter;
- RecyclerView recyclerView;
- User user;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mAuth = FirebaseAuth.getInstance();
- rootRef = FirebaseDatabase.getInstance().getReference();
- recyclerView = findViewById(R.id.recyclerView_main);
- LinearLayoutManager manager = new LinearLayoutManager(this);
- manager.setOrientation(LinearLayoutManager.VERTICAL);
- recyclerView.setLayoutManager(manager);
- displayStories();
- }
- public void displayStories(){
- Query query = FirebaseDatabase.getInstance().getReference()
- .child("stories");
- FirebaseRecyclerOptions<Stories> options = new FirebaseRecyclerOptions.
- Builder<Stories>().setQuery(query, Stories.class).build();
- adapter = new FirebaseRecyclerAdapter<Stories, StoriesHolder>(options) {
- @NonNull
- @Override
- public StoriesHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.single_layout_main, parent, false);
- return new StoriesHolder(view);
- }
- @Override
- protected void onBindViewHolder(@NonNull final StoriesHolder holder, final int position, @NonNull final Stories model) {
- //final List<User> tempList = new ArrayList<>();
- final List<User> list = new ArrayList<>();
- holder.textView.setText(model.getTittle());
- holder.cont.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- rootRef.child("users").child(mAuth.getUid()).addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- for (DataSnapshot ds: dataSnapshot.getChildren()){
- user = ds.getValue(User.class);
- list.add(user);
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) { }
- });
- Intent intent = new Intent(getApplicationContext(), StoryActivity.class);
- Bundle extras = new Bundle();
- extras.putInt("PROJECT_ID", position);
- extras.putInt("STORY_POSITION", list.get(position).getPosition());
- extras.putInt("STORY_ID", model.getPosition_on_tree());
- extras.putInt("CHAPTER_SIZE", model.getChapter_size());
- intent.putExtras(extras);
- startActivity(intent);
- finish();
- }
- });
- holder.reset.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- User user = new User(0);
- rootRef.child("users").child(mAuth.getUid()).child(String.valueOf(position)).setValue(user);
- }
- });
- }
- };
- adapter.notifyDataSetChanged();
- recyclerView.setAdapter(adapter);
- }
- @Override
- protected void onStart() {
- super.onStart();
- adapter.startListening();
- }
- class StoriesHolder extends RecyclerView.ViewHolder{
- TextView textView;
- Button reset;
- Button cont;
- StoriesHolder(View itemView) {
- super(itemView);
- textView = itemView.findViewById(R.id.textView_main_storyName);
- reset = itemView.findViewById(R.id.button_reset);
- cont = itemView.findViewById(R.id.button_continue);
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_main_activity, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()){
- case R.id.item_logout:
- mAuth.signOut();
- startActivity(new Intent(getApplicationContext(), LoginActivity.class));
- finish();
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement