diff --git a/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml b/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml index dff6028..e3615d5 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml @@ -3,6 +3,9 @@ package="nl.myhyvesbookplus.tagram"> + + + task) { Toast.makeText(getActivity(), task.isSuccessful() - ? getString(R.string.mail_successful) - : getString(R.string.mail_failed), + ? "An e-mail was sent, please follow its instructions." + : "An error occurred, please check internet connection.", Toast.LENGTH_SHORT).show(); } }); @@ -174,4 +269,43 @@ public class ProfileFragment extends Fragment implements View.OnClickListener { // TODO Add code here for when there is no currently active user. } } + + /** + * Obligatory onAttach function included in fragments. + * @param context provided context for the function to operate on. + */ + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else { + throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + /** + * Obligatory onDetach function included in fragments. + */ + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + * See the Android Training lesson http://developer.android.com/training/basics/fragments/communicating.html + * for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + void onFragmentInteraction(Uri uri); + } + + } diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/UploadClass.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/UploadClass.java index c3e7c8b..f46b18e 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/UploadClass.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/UploadClass.java @@ -6,6 +6,7 @@ import android.net.Uri; import android.support.annotation.NonNull; import android.util.Log; + import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnSuccessListener; @@ -20,6 +21,9 @@ import com.google.firebase.storage.StorageReference; import com.google.firebase.storage.UploadTask; import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import nl.myhyvesbookplus.tagram.model.BitmapPost; import nl.myhyvesbookplus.tagram.model.UriPost; @@ -100,17 +104,24 @@ public class UploadClass { /// Profile picture /// - public void uploadProfilePicture(Bitmap picture) { - byte[] uploadPhoto = bitmapToBytes(picture); - oldPicture = mUser.getPhotoUrl(); - UploadTask photoUpload = mStorageRef.child("profile").child(getUserUid() + "_" + currentTimeMillis()).putBytes(uploadPhoto); - photoUpload.addOnSuccessListener(new OnSuccessListener() { - @Override - public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { - Uri downloadUrl = taskSnapshot.getDownloadUrl(); - updateProfilePictureInUser(downloadUrl); - } - }); + public void uploadProfilePicture(File picture) { + try { + FileInputStream stream = new FileInputStream(picture); +// Uri uri = Uri.fromFile(picture); + Log.d(TAG, "uploadProfilePicture: This is the uri:" + stream.toString()); + oldPicture = mUser.getPhotoUrl(); + + UploadTask photoUpload = mStorageRef.child("profile").child(getUserUid() + "_" + currentTimeMillis()).putStream(stream); + photoUpload.addOnSuccessListener(new OnSuccessListener() { + @Override + public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { + Uri downloadUrl = taskSnapshot.getDownloadUrl(); + updateProfilePictureInUser(downloadUrl); + } + }); + } catch (FileNotFoundException fnfe) { + Log.d(TAG, "uploadProfilePicture: FIle niet gevonden"); + } } private void updateProfilePictureInUser(Uri url) {