diff --git a/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml b/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml
index 63bdf6e..2284c0c 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml
+++ b/app/MyHyvesBookPlusStagram/app/src/main/AndroidManifest.xml
@@ -3,9 +3,8 @@
package="nl.myhyvesbookplus.tagram">
-
-
+
+
> 16) & 0xFF;
- green = (pixel >> 8) & 0xFF;
- blue = pixel & 0xFF;
-
- red = green = blue = (red + green + blue) / 3;
-
- red += (depth * 2);
- green += depth;
-
- if (red > 255)
- red = 255;
- if (green > 255)
- green = 255;
- pixels[i] = (0xFF << 24) | (red << 16) | (green << 8) | blue;
- }
- sepia.setPixels(pixels, 0, width, 0, 0, width, height);
- return sepia;
+ return Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), mtx, true);
}
public Bitmap getPicture() {
+ picture.recycle();
return filterPicture;
}
@@ -140,5 +162,8 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
+ Log.d(TAG, "surfaceDestroyed: PICTURE DESTROYED");
+ picture.recycle();
+ filterPicture.recycle();
}
}
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileAdapter.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileAdapter.java
new file mode 100644
index 0000000..357876a
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileAdapter.java
@@ -0,0 +1,79 @@
+package nl.myhyvesbookplus.tagram;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.firebase.ui.storage.images.FirebaseImageLoader;
+import com.google.firebase.storage.FirebaseStorage;
+import com.google.firebase.storage.StorageReference;
+
+import java.util.ArrayList;
+
+import nl.myhyvesbookplus.tagram.model.UriPost;
+
+/**
+ * Created by niels on 27-6-17.
+ */
+
+public class ProfileAdapter extends BaseAdapter {
+
+ private static final String TAG = "ProfileAdapter";
+ private LayoutInflater mInflater;
+ private Context mContext;
+ private ArrayList mData;
+ private TextView comment;
+ private TextView nietSlechts;
+ private ImageView photo;
+
+ ProfileAdapter(Context context, ArrayList data) {
+ mContext = context;
+ mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ mData = data;
+ }
+
+ @Override
+ public int getCount() {
+ return mData.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return mData.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ View rowView = mInflater.inflate(R.layout.list_item_timeline_profile, parent, false);
+ View newRowView = findViews(rowView);
+ UriPost post = (UriPost) getItem(position);
+ comment.setText(post.getComment());
+ StorageReference ref = FirebaseStorage.getInstance().getReferenceFromUrl(post.getUri());
+ Glide.with(mContext)
+ .using(new FirebaseImageLoader())
+ .load(ref)
+ .into(photo);
+
+ return newRowView;
+ }
+
+ protected View findViews(View rowView) {
+ comment = (TextView) rowView.findViewById(R.id.comment_timeline_profile);
+ nietSlechts = (TextView) rowView.findViewById(R.id.niet_slecht_count_profile);
+ photo = (ImageView) rowView.findViewById(R.id.timeline_image_profile);
+ return rowView;
+ }
+}
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java
index eb40f3d..4f33ef2 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java
+++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/ProfileFragment.java
@@ -9,12 +9,14 @@ import android.os.Environment;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v4.content.FileProvider;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
+import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
@@ -29,6 +31,7 @@ import com.google.firebase.storage.StorageReference;
import java.io.File;
import java.io.IOException;
+import nl.myhyvesbookplus.tagram.controller.DownloadClass;
import nl.myhyvesbookplus.tagram.controller.ProfilePictureUploader;
import static android.app.Activity.RESULT_OK;
@@ -44,6 +47,8 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
protected ImageView profilePicture;
protected FirebaseUser user;
protected File photoFile = null;
+ private ListView listView;
+ private DownloadClass downloadClass;
ProgressDialog progressDialog;
@@ -55,7 +60,7 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
user = FirebaseAuth.getInstance().getCurrentUser();
- }
+ }
/**
* Assigns all views and buttons.
@@ -81,8 +86,14 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_profile, container, false);
- findViews(view);
+ View viewTimeline = inflater.inflate(R.layout.fragment_profile_timeline, container, false);
+
+
+
+ listView = (ListView) viewTimeline.findViewById(R.id.listview_profile);
+ View viewHeader = inflater.inflate(R.layout.fragment_profile_header, listView, false);
+ findViews(viewHeader);
+ listView.addHeaderView(viewHeader);
if (user != null) {
if(user.getPhotoUrl() != null) {
@@ -100,7 +111,10 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
profilePicture.invalidate();
- return view;
+ downloadClass = new DownloadClass(getActivity());
+ downloadClass.getPostsFromServer();
+
+ return viewTimeline;
}
/**
@@ -131,7 +145,7 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
try {
photoFile = createImageFile();
} catch (IOException ex) {
- Toast.makeText(getActivity(), getString(R.string.image_save_error), Toast.LENGTH_LONG);
+ Toast.makeText(getActivity(), getString(R.string.image_save_error), Toast.LENGTH_LONG).show();
}
if (photoFile != null) {
Uri photoURI = FileProvider.getUriForFile(getActivity(),
@@ -143,6 +157,11 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
}
}
+ public void startList() {
+ ProfileAdapter adapter = new ProfileAdapter(getActivity(), downloadClass.getmList());
+ listView.setAdapter(adapter);
+ }
+
/**
* Grabs the image just taken by the built-in camera and pushes this image to the user account.
* @param requestCode The code which corresponds to REQUEST_TAKE_PHOTO. Used as indicator.
@@ -154,21 +173,20 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
if (requestCode == REQUEST_TAKE_PHOTO && resultCode == RESULT_OK) {
progressDialog = ProgressDialog.show(getActivity(), getString(R.string.please_wait), getString(R.string.upload_profile_pic), false, false);
ProfilePictureUploader profilePictureUploader = new ProfilePictureUploader(getActivity());
- profilePictureUploader.uploadProfilePicture(photoFile.getAbsoluteFile());
+ profilePictureUploader.uploadProfilePicture(photoFile);
}
}
-
private File createImageFile() throws IOException {
// Create an image file name
String imageFileName = "JPEG_" + user.getUid();
File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES);
- return File.createTempFile(
- imageFileName, /* prefix */
- ".jpg", /* suffix */
- storageDir /* directory */
- );
- }
+ return File.createTempFile(
+ imageFileName, /* prefix */
+ ".jpg", /* suffix */
+ storageDir /* directory */
+ );
+ }
@@ -183,8 +201,8 @@ public class ProfileFragment extends Fragment implements View.OnClickListener {
@Override
public void onComplete(@NonNull Task task) {
Toast.makeText(getActivity(), task.isSuccessful()
- ? "An e-mail was sent, please follow its instructions."
- : "An error occurred, please check internet connection.",
+ ? getString(R.string.mail_successful)
+ : getString(R.string.mail_failed),
Toast.LENGTH_SHORT).show();
}
});
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java
index d412883..8146347 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java
+++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimeLineAdapter.java
@@ -8,16 +8,22 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
+import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.firebase.ui.storage.images.FirebaseImageLoader;
+<<<<<<< HEAD
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
+=======
+import com.google.firebase.auth.FirebaseAuth;
+import com.google.firebase.auth.FirebaseUser;
+>>>>>>> origin/master
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
@@ -62,6 +68,7 @@ public class TimeLineAdapter extends BaseAdapter implements AdapterView.OnItemCl
public View getView(final int position, View convertView, ViewGroup parent) {
View rowView = mInflater.inflate(R.layout.list_item_timeline, parent, false);
+// TextView userName = (TextView) rowView.findViewById(R.id.username_timeline);
TextView comment = (TextView) rowView.findViewById(R.id.comment_timeline);
final TextView nietSlechts = (TextView) rowView.findViewById(R.id.niet_slecht_count);
TextView dateTime = (TextView) rowView.findViewById(R.id.timeline_date);
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java
index b2ca6d4..3139be0 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java
+++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/TimelineFragment.java
@@ -23,7 +23,7 @@ public class TimelineFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_timeline, container, false);
- listView = (ListView) view.findViewById(R.id.listview);
+ listView = (ListView) view.findViewById(R.id.list);
downloadClass = new DownloadClass(getActivity());
downloadClass.getPostsFromServer();
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java
index 3624cda..da610b7 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java
+++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/controller/DownloadClass.java
@@ -40,6 +40,7 @@ public class DownloadClass {
mDataRef.child("posts").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
+
for (DataSnapshot data : dataSnapshot.getChildren()) {
UriPost tempPost = data.getValue(UriPost.class);
tempPost.setDatabaseEntryName(data.getKey());
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_back_black_24dp.png b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_back_black_24dp.png
deleted file mode 100644
index 7726760..0000000
Binary files a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_back_black_24dp.png and /dev/null differ
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml
new file mode 100644
index 0000000..ccd28b4
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_forward_black_24dp.png b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_forward_black_24dp.png
deleted file mode 100644
index 8b5a681..0000000
Binary files a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_forward_black_24dp.png and /dev/null differ
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_forward_black_24dp.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_forward_black_24dp.xml
new file mode 100644
index 0000000..71b0a99
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_arrow_forward_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_camera_black_24dp.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_camera_black_24dp.xml
new file mode 100644
index 0000000..8dd7426
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_camera_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_switch_camera_black_24dp.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_switch_camera_black_24dp.xml
new file mode 100644
index 0000000..3b6736d
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/drawable/ic_switch_camera_black_24dp.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/activity_main.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/activity_main.xml
index e2fe541..61c2050 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/activity_main.xml
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/activity_main.xml
@@ -13,7 +13,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
- android:padding="16dp">
+ android:padding="0dp">
+ android:scaleX="2.5"
+ android:scaleY="2.5"
+ android:src="@drawable/ic_camera_black_24dp"/>
+ android:src="@drawable/ic_switch_camera_black_24dp"/>
@@ -64,8 +69,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
- android:scaleX="0.5"
- android:scaleY="0.5"
+ android:scaleX="2"
+ android:scaleY="2"
+ android:padding="10dp"
+ android:layout_margin="10dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_arrow_forward_black_24dp"/>
@@ -74,13 +81,17 @@
android:id="@+id/comment_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:clickable="false"
android:layout_margin="10dp"
+ android:padding="5dp"
+ android:background="@android:color/background_light"
android:orientation="vertical">
+ android:text="@string/comment"/>
-
+ android:orientation="horizontal">
+
+
+
+
+
-
-
-
-
-
-
+ android:layout_centerHorizontal="true"
+ android:scaleType="center"
+ android:layout_margin="15dp"
+ app:fabSize="normal"
+ android:src="@android:drawable/ic_menu_upload"/>
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile.xml
deleted file mode 100644
index 8e04ad4..0000000
--- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_header.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_header.xml
new file mode 100644
index 0000000..562849d
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_header.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml
new file mode 100644
index 0000000..fd06e94
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_profile_timeline.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml
index bfc4bea..fe7a080 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/fragment_timeline.xml
@@ -5,11 +5,19 @@
android:orientation="vertical"
tools:context="nl.myhyvesbookplus.tagram.TimelineFragment">
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml
index e3f6fa4..b77ece9 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline.xml
@@ -4,6 +4,18 @@
android:layout_height="wrap_content"
android:orientation="vertical">
+
+
+
+
-
-
-
+
+
\ No newline at end of file
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline_profile.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline_profile.xml
new file mode 100644
index 0000000..965ec97
--- /dev/null
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/layout/list_item_timeline_profile.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml
index a100eee..d3dd16f 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml
@@ -31,4 +31,7 @@
Het updaten van de profielfoto is mislukt. Controleer uw internetverbinding.
Profielfoto aan het uploaden…
\"\"Niet slecht.\"s: \"
+ An e-mail was sent, please follow its instructions.
+ Bijschrift:
+ Annuleer
\ No newline at end of file
diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml
index 07a5a19..ac6bb8d 100644
--- a/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml
+++ b/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml
@@ -29,5 +29,7 @@
An error occurred. Please check internet connection.
Saving image to storage failed. Please make sure there is space available on the device.
Updating the profile picture failed. Please check network connection.
- Uploading profile picture...
+ Uploading profile picture…
+ Comment:
+ Cancel