Created
June 28, 2019 06:34
-
-
Save SteveOye/187ba565d7e9d28fd3e999d6b7221295 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.druve.druve; | |
import android.os.Bundle; | |
import androidx.annotation.NonNull; | |
import androidx.core.view.GravityCompat; | |
import androidx.appcompat.app.ActionBarDrawerToggle; | |
import android.util.Log; | |
import android.view.MenuItem; | |
import com.google.android.material.navigation.NavigationView; | |
import com.google.firebase.auth.FirebaseAuth; | |
import com.google.firebase.auth.FirebaseUser; | |
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.ValueEventListener; | |
import androidx.drawerlayout.widget.DrawerLayout; | |
import androidx.appcompat.app.AppCompatActivity; | |
import androidx.appcompat.widget.Toolbar; | |
import android.view.Menu; | |
import android.widget.ImageView; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
public class MainActivity extends AppCompatActivity | |
implements NavigationView.OnNavigationItemSelectedListener { | |
private static final String TAG = "Activity"; | |
TextView navNameText, navEmailText, rough; | |
ImageView navProfileImage; | |
private FirebaseDatabase mFirebaseDatabase; | |
private FirebaseAuth mAuth; | |
private FirebaseAuth.AuthStateListener mAuthStateListener; | |
private DatabaseReference mDatabaseReference; | |
private String userId; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
Toolbar toolbar = findViewById(R.id.toolbar); | |
setSupportActionBar(toolbar); | |
DrawerLayout drawer = findViewById(R.id.drawer_layout); | |
NavigationView navigationView = findViewById(R.id.nav_view); | |
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( | |
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); | |
drawer.addDrawerListener(toggle); | |
toggle.syncState(); | |
navigationView.setNavigationItemSelectedListener(this); | |
initViews(); | |
mAuth = FirebaseAuth.getInstance(); | |
mFirebaseDatabase = FirebaseDatabase.getInstance(); | |
mDatabaseReference = mFirebaseDatabase.getReference(); | |
FirebaseUser user = mAuth.getCurrentUser(); | |
userId = user.getUid(); | |
mAuthStateListener = new FirebaseAuth.AuthStateListener() { | |
@Override | |
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { | |
FirebaseUser user = firebaseAuth.getCurrentUser(); | |
if (user != null) { | |
Toast.makeText(MainActivity.this, "Successfully sign in with" + user.getUid(), Toast.LENGTH_SHORT).show(); | |
} else { | |
Toast.makeText(MainActivity.this, "Signed out", Toast.LENGTH_SHORT).show(); | |
} | |
} | |
}; | |
mDatabaseReference.addValueEventListener(new ValueEventListener() { | |
@Override | |
public void onDataChange(@NonNull DataSnapshot dataSnapshot) { | |
showData(dataSnapshot); | |
} | |
@Override | |
public void onCancelled(@NonNull DatabaseError databaseError) { | |
} | |
}); | |
} | |
private void showData(DataSnapshot dataSnapshot) { | |
Log.d(TAG, "showData: called"); | |
for (DataSnapshot ds : dataSnapshot.getChildren()) { | |
User user = new User(); | |
user.setName(ds.child(userId).getValue(User.class).getName()); | |
user.setEmail(ds.child(userId).getValue(User.class).getEmail()); | |
navNameText.setText(user.getName()); | |
navEmailText.setText(user.getEmail()); | |
rough.setText(user.getEmail() + " " + user.getName()); | |
Log.d(TAG, "showData: " + user.getName()); | |
Log.d(TAG, "showData: " + user.getEmail()); | |
} | |
} | |
@Override | |
public void onBackPressed() { | |
DrawerLayout drawer = findViewById(R.id.drawer_layout); | |
if (drawer.isDrawerOpen(GravityCompat.START)) { | |
drawer.closeDrawer(GravityCompat.START); | |
} else { | |
super.onBackPressed(); | |
} | |
} | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
// Inflate the menu; this adds items to the action bar if it is present. | |
getMenuInflater().inflate(R.menu.main, menu); | |
return true; | |
} | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item) { | |
// Handle action bar item clicks here. The action bar will | |
// automatically handle clicks on the Home/Up button, so long | |
// as you specify a parent activity in AndroidManifest.xml. | |
int id = item.getItemId(); | |
//noinspection SimplifiableIfStatement | |
if (id == R.id.action_settings) { | |
return true; | |
} | |
return super.onOptionsItemSelected(item); | |
} | |
@SuppressWarnings("StatementWithEmptyBody") | |
@Override | |
public boolean onNavigationItemSelected(@NonNull MenuItem item) { | |
// Handle navigation view item clicks here. | |
int id = item.getItemId(); | |
if (id == R.id.nav_create_ads) { | |
// Handle the camera action | |
} else if (id == R.id.nav_crowdvertize) { | |
} else if (id == R.id.nav_manage_ads) { | |
} else if (id == R.id.nav_balance) { | |
} else if (id == R.id.nav_share) { | |
} else if (id == R.id.nav_contact) { | |
} | |
DrawerLayout drawer = findViewById(R.id.drawer_layout); | |
drawer.closeDrawer(GravityCompat.START); | |
return true; | |
} | |
public void initViews() { | |
navProfileImage = findViewById(R.id.profile_image_nav); | |
navEmailText = findViewById(R.id.email_text_nav); | |
navNameText = findViewById(R.id.name_text_nav); | |
rough = findViewById(R.id.rough); | |
} | |
@Override | |
protected void onStart() { | |
super.onStart(); | |
mAuth.addAuthStateListener(mAuthStateListener); | |
} | |
@Override | |
protected void onStop() { | |
super.onStop(); | |
if (mAuthStateListener != null) { | |
mAuth.removeAuthStateListener(mAuthStateListener); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment