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"/> -