From 64ac34cbbc6a418570c532cc4f38e26e104ec7db Mon Sep 17 00:00:00 2001 From: kishoreraju2 <kishoreraju.1998@gmail.com> Date: Mon, 24 Apr 2017 04:33:09 +0530 Subject: [PATCH] WoooHoooo Added personal Feed --- .../com/mapps/seproject/CameraFragment.java | 72 +++++++++++++++++-- .../main/java/com/mapps/seproject/Feed.java | 25 +++++++ .../com/mapps/seproject/MainActivity.java | 52 +++++++++++++- .../mapps/seproject/MunicipalActivity.java | 2 +- .../com/mapps/seproject/RegisterActivity.java | 4 +- .../mapps/seproject/UserActivityFragment.java | 20 +++--- .../res/layout/fragment_user_activity.xml | 19 ++--- 7 files changed, 161 insertions(+), 33 deletions(-) create mode 100644 app/src/main/java/com/mapps/seproject/Feed.java diff --git a/app/src/main/java/com/mapps/seproject/CameraFragment.java b/app/src/main/java/com/mapps/seproject/CameraFragment.java index 4522583..4e23d29 100644 --- a/app/src/main/java/com/mapps/seproject/CameraFragment.java +++ b/app/src/main/java/com/mapps/seproject/CameraFragment.java @@ -28,6 +28,11 @@ import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnSuccessListener; 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 com.google.firebase.storage.FirebaseStorage; import com.google.firebase.storage.OnProgressListener; import com.google.firebase.storage.StorageReference; @@ -62,7 +67,7 @@ public class CameraFragment extends Fragment { StorageReference mStorageRef; - FirebaseUser user; + FirebaseUser firebaseUser; FirebaseAuth firebaseAuth; private com.mapps.seproject.TrackGPS gps; @@ -71,6 +76,12 @@ public class CameraFragment extends Fragment { String city; String postalCode; + final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("feed"); + + String UID=""; + int flag = 0; + + @Override @@ -80,6 +91,10 @@ public class CameraFragment extends Fragment { view = inflater.inflate(R.layout.fragment_camera, container, false); firebaseAuth = FirebaseAuth.getInstance(); + firebaseUser = firebaseAuth.getCurrentUser(); + UID = firebaseUser.getUid(); + + mStorageRef = FirebaseStorage.getInstance().getReference(); btnCapturePicture = (Button) view.findViewById(R.id.btnCapturePicture); @@ -227,12 +242,13 @@ public class CameraFragment extends Fragment { progressDialog.setTitle("Uploading"); progressDialog.show(); - String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", - Locale.getDefault()).format(new Date()); + Long tsLong = System.currentTimeMillis()/1000; + final String timeStamp = tsLong.toString(); StorageReference riversRef = mStorageRef.child("images/"+ timeStamp+"pic.jpg"); riversRef.putFile(fileUri) .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { + @SuppressWarnings("VisibleForTests") @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { //if the upload is successfull @@ -241,6 +257,31 @@ public class CameraFragment extends Fragment { //and displaying a success toast Toast.makeText(getActivity().getBaseContext(), "File Uploaded ", Toast.LENGTH_LONG).show(); + final Uri downloadUri = taskSnapshot.getDownloadUrl(); + final String downloadUrl = downloadUri.toString(); + + databaseReference.addValueEventListener(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot dataSnapshot) { + + + + if(flag == 0) { + + + databaseReference.child(UID).child("feed").child(String.valueOf(MainActivity.ids)).child("image").setValue(downloadUrl); + databaseReference.child(UID).child("feed").child(String.valueOf(MainActivity.ids)).child("timeStamp").setValue(timeStamp); + flag = 1; + } + + } + + + @Override + public void onCancelled(DatabaseError databaseError) { + + } + }); } }) .addOnFailureListener(new OnFailureListener() { @@ -281,8 +322,8 @@ public class CameraFragment extends Fragment { progressDialog.setTitle("Uploading"); progressDialog.show(); - String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", - Locale.getDefault()).format(new Date()); + Long tsLong = System.currentTimeMillis()/1000; + final String timeStamp = tsLong.toString(); StorageReference riversRef = mStorageRef.child("images/"+ timeStamp+"pic.jpg"); riversRef.putFile(imageUri) @@ -295,6 +336,27 @@ public class CameraFragment extends Fragment { //and displaying a success toast Toast.makeText(getActivity().getBaseContext(), "File Uploaded ", Toast.LENGTH_LONG).show(); + final Uri downloadUri = taskSnapshot.getDownloadUrl(); + final String downloadUrl = downloadUri.toString(); + + databaseReference.addValueEventListener(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot dataSnapshot) { + + if(flag == 0) { + + + databaseReference.child(UID).child("feed").child(String.valueOf(MainActivity.ids)).child("image").setValue(downloadUrl); + databaseReference.child(UID).child("feed").child(String.valueOf(MainActivity.ids)).child("timeStamp").setValue(timeStamp); + flag = 1; + } + } + + @Override + public void onCancelled(DatabaseError databaseError) { + + } + }); } }) .addOnFailureListener(new OnFailureListener() { diff --git a/app/src/main/java/com/mapps/seproject/Feed.java b/app/src/main/java/com/mapps/seproject/Feed.java new file mode 100644 index 0000000..22daec1 --- /dev/null +++ b/app/src/main/java/com/mapps/seproject/Feed.java @@ -0,0 +1,25 @@ +package com.mapps.seproject; + +/** + * Created by kishore on 4/24/2017. + */ + +public class Feed { + + int id; + String name,image,status,profilePic,timeStamp,url; + + public Feed(){} + + public Feed(int id,String name,String image,String status,String profilePic,String timeStamp,String url){ + this.id = id; + this.name = name; + this.image = image; + this.status = status; + this.profilePic = profilePic; + this.timeStamp = timeStamp; + this.url = url; + + } + +} diff --git a/app/src/main/java/com/mapps/seproject/MainActivity.java b/app/src/main/java/com/mapps/seproject/MainActivity.java index 19dd84f..8638182 100644 --- a/app/src/main/java/com/mapps/seproject/MainActivity.java +++ b/app/src/main/java/com/mapps/seproject/MainActivity.java @@ -17,6 +17,7 @@ import android.widget.EditText; import android.widget.Toast; 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; @@ -36,12 +37,27 @@ public class MainActivity extends AppCompatActivity { int flag = 0; FirebaseDatabase database = FirebaseDatabase.getInstance(); - DatabaseReference myRef = database.getReference("message"); + + DatabaseReference databaseReference; + String userId; String UserEmail = null; static String location = "Not Updated"; static String complaint = "Not Updated"; + String UID=""; + + int flags = 0; + + public static int ids; + String image=""; + // String TimeStamp = ""; + String URL = ""; + String profilePic="http://api.androidhive.info/feed/img/ar.jpg"; + String status = ""; + String UserName = ""; + FirebaseUser firebaseUser; + @Override public boolean onCreateOptionsMenu(Menu menu) { @@ -72,9 +88,11 @@ public class MainActivity extends AppCompatActivity { firebaseAuth = FirebaseAuth.getInstance(); final String data = firebaseAuth.getCurrentUser().getEmail(); + firebaseUser = firebaseAuth.getCurrentUser(); final DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("users"); + databaseReference = FirebaseDatabase.getInstance().getReference("feed"); /* userId = mDatabase.push().getKey(); User user = new User(data); @@ -127,6 +145,38 @@ public class MainActivity extends AppCompatActivity { }); + databaseReference.addValueEventListener(new ValueEventListener() { + @Override + public void onDataChange(DataSnapshot dataSnapshot) { + + + + // UserName = getname.getText().toString(); + + if(flags == 0) { + ids = (int) dataSnapshot.child("feed").getChildrenCount(); + + Long tsLong = System.currentTimeMillis()/1000; + UID = firebaseUser.getUid(); + final String TimeStamp = tsLong.toString(); + + + + + Feed feed = new Feed(ids,UserName,image,status,profilePic,TimeStamp,URL); + databaseReference.child(UID).child("feed").child(String.valueOf(ids)).setValue(feed); + flags = 1; + + } + } + + @Override + public void onCancelled(DatabaseError databaseError) { + + } + }); + + BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar); diff --git a/app/src/main/java/com/mapps/seproject/MunicipalActivity.java b/app/src/main/java/com/mapps/seproject/MunicipalActivity.java index 4fdeddd..9dad9aa 100644 --- a/app/src/main/java/com/mapps/seproject/MunicipalActivity.java +++ b/app/src/main/java/com/mapps/seproject/MunicipalActivity.java @@ -32,7 +32,7 @@ public class MunicipalActivity extends AppCompatActivity { private ListView listView; private FeedListAdapter listAdapter; private List<FeedItem> feedItems; - private String URL_FEED = "https://se-project-4a6c6.firebaseapp.com/feeds/feeds.json"; + private String URL_FEED = "https://se-project-4a6c6.firebaseio.com/feed/.json?auth=amEmrcvLUpmPjPlRnhinnkbWjbcLrKhPuLcBdV9i"; @SuppressLint("NewApi") @Override diff --git a/app/src/main/java/com/mapps/seproject/RegisterActivity.java b/app/src/main/java/com/mapps/seproject/RegisterActivity.java index 67072e8..2284722 100644 --- a/app/src/main/java/com/mapps/seproject/RegisterActivity.java +++ b/app/src/main/java/com/mapps/seproject/RegisterActivity.java @@ -97,14 +97,14 @@ public class RegisterActivity extends AppCompatActivity implements View.OnClickL Toast.makeText(RegisterActivity.this, "Registered Successfuly", Toast.LENGTH_SHORT).show(); - progress.hide(); + progress.dismiss(); } else { Toast.makeText(RegisterActivity.this, "Failed to Register", Toast.LENGTH_SHORT).show(); - progress.hide(); + progress.dismiss(); //task.getException().getMessage(); } diff --git a/app/src/main/java/com/mapps/seproject/UserActivityFragment.java b/app/src/main/java/com/mapps/seproject/UserActivityFragment.java index d3500be..0d0fa69 100644 --- a/app/src/main/java/com/mapps/seproject/UserActivityFragment.java +++ b/app/src/main/java/com/mapps/seproject/UserActivityFragment.java @@ -15,6 +15,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; +import android.widget.Toast; import com.android.volley.Cache; import com.android.volley.Request; @@ -43,13 +44,15 @@ public class UserActivityFragment extends Fragment { Button bSignOut; + FirebaseUser firebaseUser; FirebaseUser user; FirebaseAuth firebaseAuth; private ListView listView; private FeedListAdapter listAdapter; private List<FeedItem> feedItems; - private String URL_FEED = "https://se-project-4a6c6.firebaseapp.com/feeds/feeds.json"; + private String URL_FEED; + String UID; View view; @@ -61,6 +64,11 @@ public class UserActivityFragment extends Fragment { view = inflater.inflate(R.layout.fragment_user_activity, container, false); firebaseAuth = FirebaseAuth.getInstance(); + firebaseUser = firebaseAuth.getCurrentUser(); + UID = firebaseUser.getUid(); + Toast.makeText(getActivity().getApplicationContext(),UID,Toast.LENGTH_LONG).show(); + + URL_FEED = "https://se-project-4a6c6.firebaseio.com/feed/"+UID+"/.json?auth=amEmrcvLUpmPjPlRnhinnkbWjbcLrKhPuLcBdV9i"; if(firebaseAuth.getCurrentUser() == null) { // Incase the user hasnt logged in @@ -76,17 +84,7 @@ public class UserActivityFragment extends Fragment { - bSignOut = (Button) view.findViewById(R.id.bSignOut); - bSignOut.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // Log.i("Singout","Clicked"); - firebaseAuth.signOut(); - getActivity().finish(); - startActivity(new Intent(getActivity().getApplicationContext(),LoginActivity.class)); - } - }); listView = (ListView) view.findViewById(R.id.lists); diff --git a/app/src/main/res/layout/fragment_user_activity.xml b/app/src/main/res/layout/fragment_user_activity.xml index 3e0b260..1f65a04 100644 --- a/app/src/main/res/layout/fragment_user_activity.xml +++ b/app/src/main/res/layout/fragment_user_activity.xml @@ -1,12 +1,12 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_width="fill_parent" + android:layout_height="fill_parent" tools:context="com.mapps.seproject.UserActivityFragment"> <RelativeLayout - android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_width="fill_parent" + android:layout_height="fill_parent" > @@ -14,17 +14,10 @@ <ListView android:id="@+id/lists" android:layout_width="fill_parent" - android:layout_height="wrap_content" + android:layout_height="fill_parent" android:divider="@null" /> - <Button - android:text="Sign Out" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/lists" - android:layout_centerHorizontal="true" - android:layout_marginTop="76dp" - android:id="@+id/bSignOut" /> + </RelativeLayout> </FrameLayout> -- GitLab