10 Commits

Author SHA1 Message Date
Felix Atsma
fdcd141f23 Merge branch 'felix' into 'master'
Add logboek

See merge request !35
2017-06-30 10:10:54 +02:00
Felix Atsma
5f5269ceb8 Add logboek 2017-06-30 10:10:26 +02:00
Marijn Jansen
d7b2e54306 Merge branch 'marijn-logboek' into 'master'
Logboek

See merge request !34
2017-06-30 10:07:53 +02:00
Marijn Jansen
8ea692c5a8 Logboek 2017-06-30 10:07:14 +02:00
Felix Atsma
d4bfe0206b Merge branch 'felix' into 'master'
comments

See merge request !33
2017-06-30 00:02:04 +02:00
Felix Atsma
d61b058d0e Merge remote-tracking branch 'origin/master' into felix 2017-06-30 00:01:22 +02:00
Felix Atsma
979f1aab9a Add comments 2017-06-29 16:46:34 +02:00
Niels Zwemmer
69bbfeaacd Merge branch 'niels-profile' into 'master'
Fixed sepia filter uploading black pictures.

See merge request !32
2017-06-29 16:22:15 +02:00
Niels Zwemmer
1f4fa4c768 Fixed sepia filter uploading black pictures. 2017-06-29 16:21:18 +02:00
Marijn Jansen
dc7690e183 Merge branch 'marijn-fixdingen' into 'master'
Fixed double things in timeline :)

See merge request !31
2017-06-29 16:02:00 +02:00
3 changed files with 154 additions and 9 deletions

View File

@@ -15,11 +15,10 @@ import android.view.SurfaceHolder;
import android.view.SurfaceView; import android.view.SurfaceView;
/** /**
* Created by felix on 23/06/2017. * Draws the picture taken and applies filters, which can be switched.
*/ */
public class PicturePreview extends SurfaceView implements SurfaceHolder.Callback { public class PicturePreview extends SurfaceView implements SurfaceHolder.Callback {
private static final String TAG = "PicturePreveiew"; private static final String TAG = "PicturePreview";
private static final int FILTER_NONE = 0; private static final int FILTER_NONE = 0;
private static final int FILTER_SEPIA = 1; private static final int FILTER_SEPIA = 1;
private static final int FILTER_BW = 2; private static final int FILTER_BW = 2;
@@ -27,11 +26,17 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
private static int currentFilter = FILTER_NONE; private static int currentFilter = FILTER_NONE;
int facing; private int facing;
int rotate; private int rotate;
Bitmap picture; private Bitmap picture;
Bitmap filterPicture; private Bitmap filterPicture;
/**
* Constructor: changes image based on current direction the camera is facing.
* @param context
* @param bmp Image to be previewed.
* @param facing Direction camera is facing.
*/
public PicturePreview(Context context, Bitmap bmp, int facing) { public PicturePreview(Context context, Bitmap bmp, int facing) {
super(context); super(context);
setWillNotDraw(false); setWillNotDraw(false);
@@ -45,9 +50,12 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
picture = Bitmap.createScaledBitmap(bmp, bmp.getWidth() / 2, bmp.getHeight() / 2, false); picture = Bitmap.createScaledBitmap(bmp, bmp.getWidth() / 2, bmp.getHeight() / 2, false);
rotate = 90; rotate = 90;
} }
Log.d(TAG, "PicturePreview: " + bmp.getWidth() + " " + bmp.getHeight());
} }
/**
* Checks the current filter and draws and saves the image with altered colours.
* @param canvas
*/
@Override @Override
protected void onDraw(Canvas canvas) { protected void onDraw(Canvas canvas) {
super.onDraw(canvas); super.onDraw(canvas);
@@ -73,6 +81,7 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
filter = new ColorMatrixColorFilter(cm); filter = new ColorMatrixColorFilter(cm);
paint.setColorFilter(filter); paint.setColorFilter(filter);
saveCanvas.setBitmap(filterPicture);
saveCanvas.drawBitmap(rotate(picture, rotate), 0, 0, paint); saveCanvas.drawBitmap(rotate(picture, rotate), 0, 0, paint);
canvas.drawBitmap(rotate(picture, rotate), 0, 0, paint); canvas.drawBitmap(rotate(picture, rotate), 0, 0, paint);
break; break;
@@ -106,6 +115,9 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
} }
} }
/**
* Switches filter to the left.
*/
public static void filterPrev() { public static void filterPrev() {
switch (currentFilter) { switch (currentFilter) {
case FILTER_NONE: case FILTER_NONE:
@@ -123,6 +135,9 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
} }
} }
/**
* Switches filter to the right.
*/
public static void filterNext() { public static void filterNext() {
switch (currentFilter) { switch (currentFilter) {
case FILTER_NONE: case FILTER_NONE:
@@ -140,6 +155,12 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
} }
} }
/**
* Rotates an image by a specified amount of degrees by matrix.
* @param bmp Image to be rotated.
* @param degree Amount of degrees to rotate
* @return Rotated image.
*/
public static Bitmap rotate(Bitmap bmp, int degree) { public static Bitmap rotate(Bitmap bmp, int degree) {
Matrix mtx = new Matrix(); Matrix mtx = new Matrix();
mtx.postRotate(degree); mtx.postRotate(degree);
@@ -160,9 +181,12 @@ public class PicturePreview extends SurfaceView implements SurfaceHolder.Callbac
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
} }
/**
* Recycles pictures to free memory.
* @param holder
*/
@Override @Override
public void surfaceDestroyed(SurfaceHolder holder) { public void surfaceDestroyed(SurfaceHolder holder) {
Log.d(TAG, "surfaceDestroyed: PICTURE DESTROYED");
picture.recycle(); picture.recycle();
filterPicture.recycle(); filterPicture.recycle();
} }

View File

@@ -0,0 +1,98 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LATEX-TEMPLATE GENERIEK
% Voor readme en meest recente versie, zie
% https://gitlab-fnwi.uva.nl/informatica/LaTeX-template.git
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%-------------------------------------------------------------------------------
% PACKAGES EN DOCUMENT CONFIGURATIE
%-------------------------------------------------------------------------------
\documentclass{uva-inf-article}
\usepackage[dutch]{babel}
\usepackage{booktabs}
%-------------------------------------------------------------------------------
% GEGEVENS VOOR IN DE TITEL, HEADER EN FOOTER
%-------------------------------------------------------------------------------
% Vul de naam van de opdracht in.
\assignment{MyHyvesBookPlusTagram}
% Vul het soort opdracht in.
\assignmenttype{Samenvatting}
% Vul de titel van de eindopdracht in.
\title{Logboek}
% Vul de volledige namen van alle auteurs in.
\authors{Felix Atsma}
% Vul de corresponderende UvAnetID's in.
\uvanetids{11035064}
% Vul altijd de naam in van diegene die het nakijkt, tutor of docent.
\tutor{Youri Voet}
% Vul indien nodig de naam van de begeleider in.
\mentor{}
% Vul eventueel ook de naam van de docent of vakcoordinator toe.
\docent{}
% Vul hier de naam van de PAV-groep in.
\group{The Return Of MyHyvesBook+}
% Vul de naam van de cursus in.
\course{Multimedia}
% Te vinden op onder andere Datanose.
\courseid{}
\date{\today}
% Dit is de datum die op het document komt te staan. Standaard is dat vandaag.
%-------------------------------------------------------------------------------
% VOORPAGINA EN EVENTUEEL INHOUDSOPGAVE EN ABSTRACT
%-------------------------------------------------------------------------------
\begin{document}
\maketitle
%-------------------------------------------------------------------------------
% INHOUD
%-------------------------------------------------------------------------------
\section{Algemeen}
\subsection{19-6-2017}
Deze dag begon met het maken van een kleine presentatie van het projectplan
voor de TA, Youri. Het plan werdt goedgekeurd. Daarna zijn we aan de slag
gegaan met programmeren tot ongeveer 3 uur. Ik ben begonnen aan het maken van
een preview voor de camera en heb daar thuis verder aan gewerkt.
\subsection{20-6-2017}
Na de opdrachten om 9 uur laten nakijken ben ik verder gegaan met de camera
view, hiermee was ik de hele dag bezig. 's Avonds was ik klaar met een simpele
preview, nog zonder de functionaliteit van foto's maken.
\subsection{21-6-2017}
Deze dag was ik niet aanwezig op het Science Park, dit komt doordat ik de
nacht ervoor laat door heb gewerkt, en ik had werk. Ondanks dit heb ik thuis
doorgewerkt. Het wisselen van voor- en achtercamera is afgemaakt, daarnaast is
er gewerkt aan bugfixes.
\subsection{22-6-2017}
Op deze dag heb ik het nemen van foto's geïmplementeerd en gewerkt aan de
layout van de camera view. Thuis heb ik ook nog het uploaden van foto's
werkend gekregen.
Naast het programmeren hebben ik en Marijn een eerste versie van de poster
gemaakt voor PAV.
\subsection{23-6-2017}
Ik heb me vooral bezig gehouden met het implementeren van de filters.
\subsection{24/25-6-2017}
Tijdens het weekend gewerkt aan wisselen tussen filters en het uploaden van de
gefilterde foto's.
\subsection{26-6-2017}
Gewerkt aan een comment functie, en er voor gezorgd dat de camera het hele
beeld opvult.
\subsection{27-6-2017}
Deze dag veel gewerkt aan problemen oplossen, met name het roteren van het
genomen plaatje, daarnaast een probleem met de comment box opgelost. Ook heb
ik nog snel nog een filter toegevoegd.
\subsection{28-6-2017}
Wederom weer problemen opgelost, nu de layout van posts op de timeline
aangepast en een bug met de front facing camera gefixt.
\subsection{29-6-2017}
Deze dag hebben we de laatste puntjes gezet, met de timeline layout
verbeteren, een crash verhelpen en comments aan de code toevoegen.
\subsection{30-6-2017}
Lorem Ipsum Dolor sit amet.
\end{document}

23
logboek/logboek_marijn.md Normal file
View File

@@ -0,0 +1,23 @@
# Logboek Marijn
## Week 1
### Maandag
Vandaag heb gewerkt aan aan de Firebase implementatie, de login en registratie pagina's werken. Ook heb ik een begin gemaakt aan de Fragments.
### Dinsdag
Login verbeterd, er worden checks uitgevoerd en er komt een dialog die de gebruiker laat weten dat er op de achtergrond iets gebeurt.
### Woensdag
Vandaag hebben we aan profielpagina gewerkt.
### Donderdag
Fixed onClick methods.
### Vrijdag
Klasses gemaakt voor posts, deze zijn abstract gemaakt. Profielfoto's werken sinds vandaag.
## Week 2
### Maandag
Profielfotoupload listners gemaakt.
### Dinsdag
Timeline gemaakt.
### Woensdag
Poster en flyer in elkaar gezet.
### Donderdag
Laatste dingen aan de app gedaan.
### Vrijdag
Posterpresentatie