Refresh List, Gui
Refresch List by swipe
Gui update
    User image
    User Image round
    Full width CardView
			
			
This commit is contained in:
		
							
								
								
									
										6
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					<project version="4">
 | 
				
			||||||
 | 
					  <component name="VcsDirectoryMappings">
 | 
				
			||||||
 | 
					    <mapping directory="$PROJECT_DIR$" vcs="Git" />
 | 
				
			||||||
 | 
					  </component>
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
@@ -32,4 +32,6 @@ dependencies {
 | 
				
			|||||||
    implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
 | 
					    implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
 | 
				
			||||||
    // http://mvnrepository.com/artifact/postgresql/postgresql
 | 
					    // http://mvnrepository.com/artifact/postgresql/postgresql
 | 
				
			||||||
    implementation group: 'postgresql', name: 'postgresql', version: '9.1-901.jdbc4'
 | 
					    implementation group: 'postgresql', name: 'postgresql', version: '9.1-901.jdbc4'
 | 
				
			||||||
 | 
					    implementation 'com.squareup.picasso:picasso:2.71828'
 | 
				
			||||||
 | 
					    implementation 'com.android.support:swiperefreshlayout:28.0.0-alpha1'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,15 @@
 | 
				
			|||||||
package at.smartshopper.smartshopper;
 | 
					package at.smartshopper.smartshopper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.content.Intent;
 | 
				
			||||||
import android.net.Uri;
 | 
					import android.net.Uri;
 | 
				
			||||||
import android.os.Bundle;
 | 
					import android.os.Bundle;
 | 
				
			||||||
import android.support.annotation.NonNull;
 | 
					import android.support.annotation.NonNull;
 | 
				
			||||||
 | 
					import android.support.v4.widget.SwipeRefreshLayout;
 | 
				
			||||||
import android.support.v7.app.AppCompatActivity;
 | 
					import android.support.v7.app.AppCompatActivity;
 | 
				
			||||||
import android.support.v7.widget.LinearLayoutManager;
 | 
					import android.support.v7.widget.LinearLayoutManager;
 | 
				
			||||||
import android.support.v7.widget.RecyclerView;
 | 
					import android.support.v7.widget.RecyclerView;
 | 
				
			||||||
 | 
					import android.view.View;
 | 
				
			||||||
 | 
					import android.widget.Button;
 | 
				
			||||||
import android.widget.TabHost;
 | 
					import android.widget.TabHost;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.google.android.gms.tasks.OnCompleteListener;
 | 
					import com.google.android.gms.tasks.OnCompleteListener;
 | 
				
			||||||
@@ -23,6 +27,12 @@ import java.util.jar.JarInputStream;
 | 
				
			|||||||
public class Dash extends AppCompatActivity {
 | 
					public class Dash extends AppCompatActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private Database db = new Database();
 | 
					    private Database db = new Database();
 | 
				
			||||||
 | 
					    private SwipeRefreshLayout ownswiperefresh;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void goLogin() {
 | 
				
			||||||
 | 
					        Intent intent = new Intent(this, LoginActivity.class);
 | 
				
			||||||
 | 
					        startActivity(intent);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -31,9 +41,17 @@ public class Dash extends AppCompatActivity {
 | 
				
			|||||||
        setContentView(R.layout.activity_dash);
 | 
					        setContentView(R.layout.activity_dash);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
        tabHoster();
 | 
					        tabHoster();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Button logoutBtn = (Button) findViewById(R.id.logoutBtn);
 | 
				
			||||||
 | 
					        logoutBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
 | 
					            @Override
 | 
				
			||||||
 | 
					            public void onClick(View v) {
 | 
				
			||||||
 | 
					                FirebaseAuth.getInstance().signOut();
 | 
				
			||||||
 | 
					                goLogin();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /*
 | 
					        /*
 | 
				
			||||||
        Get userinformations
 | 
					        Get userinformations
 | 
				
			||||||
@@ -44,9 +62,7 @@ public class Dash extends AppCompatActivity {
 | 
				
			|||||||
            String name = user.getDisplayName();
 | 
					            String name = user.getDisplayName();
 | 
				
			||||||
            String email = user.getEmail();
 | 
					            String email = user.getEmail();
 | 
				
			||||||
            Uri photoUrl = user.getPhotoUrl();
 | 
					            Uri photoUrl = user.getPhotoUrl();
 | 
				
			||||||
            RecyclerView ownRecycleView = (RecyclerView) findViewById(R.id.ownrecycler);
 | 
					
 | 
				
			||||||
            ownRecycleView.setHasFixedSize(true);
 | 
					 | 
				
			||||||
            ownRecycleView.setLayoutManager(new LinearLayoutManager(this));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Check if user's email is verified
 | 
					            // Check if user's email is verified
 | 
				
			||||||
            boolean emailVerified = user.isEmailVerified();
 | 
					            boolean emailVerified = user.isEmailVerified();
 | 
				
			||||||
@@ -54,18 +70,65 @@ public class Dash extends AppCompatActivity {
 | 
				
			|||||||
            // The user's ID, unique to the Firebase project. Do NOT use this value to
 | 
					            // The user's ID, unique to the Firebase project. Do NOT use this value to
 | 
				
			||||||
            // authenticate with your backend server, if you have one. Use
 | 
					            // authenticate with your backend server, if you have one. Use
 | 
				
			||||||
            // FirebaseUser.getIdToken() instead.
 | 
					            // FirebaseUser.getIdToken() instead.
 | 
				
			||||||
            String uid = user.getUid();
 | 
					            final String uid = user.getUid();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                List<Shoppinglist> ownListsList = db.getMyShoppinglists(uid);
 | 
					                showOwnShoppingList(uid);
 | 
				
			||||||
 | 
					            } catch (JSONException e) {
 | 
				
			||||||
                ShoppinglistAdapter shpAdapter = new ShoppinglistAdapter(Dash.this, ownListsList);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                ownRecycleView.setAdapter(shpAdapter);
 | 
					 | 
				
			||||||
            }catch (JSONException e){
 | 
					 | 
				
			||||||
                e.printStackTrace();
 | 
					                e.printStackTrace();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            ownswiperefresh = (SwipeRefreshLayout) findViewById(R.id.ownSwipe);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ownswiperefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
 | 
				
			||||||
 | 
					                @Override
 | 
				
			||||||
 | 
					                public void onRefresh() {
 | 
				
			||||||
 | 
					                    refreshOwnShoppinglist(uid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Refreshed die eigene shoppinglist und veranlasst das das refreshen beendet wird
 | 
				
			||||||
 | 
					     * @param uid Von dem benutzer von welchem die Shoppinglists angezeigt werden sollen
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private void refreshOwnShoppinglist(String uid){
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            showOwnShoppingList(uid);
 | 
				
			||||||
 | 
					        } catch (JSONException e) {
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        refreshOwnShoppinglistFinish();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Stoppt das refreshen der OwnShoppinglist
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private void refreshOwnShoppinglistFinish() {
 | 
				
			||||||
 | 
					        // Update the adapter and notify data set changed
 | 
				
			||||||
 | 
					        // ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Stop refresh animation
 | 
				
			||||||
 | 
					        ownswiperefresh.setRefreshing(false);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Macht eine Datenbankverbindung und holt alle Shoppinglists die dem User gehören, diese werden auf dem recycled view angezeigt
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param uid Die UserId damit von diesem user die shoppinglisten angezeigt werden
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private void showOwnShoppingList(String uid) throws JSONException {
 | 
				
			||||||
 | 
					        RecyclerView ownRecycleView = (RecyclerView) findViewById(R.id.ownrecycler);
 | 
				
			||||||
 | 
					        ownRecycleView.setHasFixedSize(true);
 | 
				
			||||||
 | 
					        ownRecycleView.setLayoutManager(new LinearLayoutManager(this));
 | 
				
			||||||
 | 
					        List<Shoppinglist> ownListsList = db.getMyShoppinglists(uid);
 | 
				
			||||||
 | 
					        ShoppinglistAdapter shpAdapter = new ShoppinglistAdapter(Dash.this, ownListsList);
 | 
				
			||||||
 | 
					        ownRecycleView.setAdapter(shpAdapter);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,152 @@
 | 
				
			|||||||
 | 
					package at.smartshopper.smartshopper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.graphics.Bitmap;
 | 
				
			||||||
 | 
					import android.graphics.Bitmap.Config;
 | 
				
			||||||
 | 
					import android.graphics.BitmapShader;
 | 
				
			||||||
 | 
					import android.graphics.Canvas;
 | 
				
			||||||
 | 
					import android.graphics.Paint;
 | 
				
			||||||
 | 
					import android.graphics.Path;
 | 
				
			||||||
 | 
					import android.graphics.RectF;
 | 
				
			||||||
 | 
					import android.graphics.Shader;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// enables hardware accelerated rounded corners
 | 
				
			||||||
 | 
					// original idea here : http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
 | 
				
			||||||
 | 
					// https://gist.github.com/aprock/6213395
 | 
				
			||||||
 | 
					// https://gist.github.com/amardeshbd/06b491d4adb568b1b226a20d4953a180
 | 
				
			||||||
 | 
					public class RoundCornersTransformation implements com.squareup.picasso.Transformation {
 | 
				
			||||||
 | 
					    private final int radius;  // dp
 | 
				
			||||||
 | 
					    private final int margin;  // dp
 | 
				
			||||||
 | 
					    private String KEY = "";
 | 
				
			||||||
 | 
					    private boolean topCorners = true;
 | 
				
			||||||
 | 
					    private boolean bottomCorners = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Creates rounded transformation for all corners.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param radius radius is corner radii in dp
 | 
				
			||||||
 | 
					     * @param margin margin is the board in dp
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public RoundCornersTransformation(final int radius, final int margin) {
 | 
				
			||||||
 | 
					        this.radius = radius;
 | 
				
			||||||
 | 
					        this.margin = margin;
 | 
				
			||||||
 | 
					        if (KEY.isEmpty()) KEY = "rounded_" + radius + margin;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Creates rounded transformation for top or bottom corners.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param radius radius is corner radii in dp
 | 
				
			||||||
 | 
					     * @param margin margin is the board in dp
 | 
				
			||||||
 | 
					     * @param topCornersOnly Rounded corner for top corners only.
 | 
				
			||||||
 | 
					     * @param bottomCornersOnly Rounded corner for bottom corners only.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public RoundCornersTransformation(final int radius, final int margin, boolean topCornersOnly,
 | 
				
			||||||
 | 
					                                      boolean bottomCornersOnly) {
 | 
				
			||||||
 | 
					        this(radius, margin);
 | 
				
			||||||
 | 
					        topCorners = topCornersOnly;
 | 
				
			||||||
 | 
					        bottomCorners = bottomCornersOnly;
 | 
				
			||||||
 | 
					        KEY = "rounded_" + radius + margin + topCorners + bottomCorners;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public Bitmap transform(final Bitmap source) {
 | 
				
			||||||
 | 
					        final Paint paint = new Paint();
 | 
				
			||||||
 | 
					        paint.setAntiAlias(true);
 | 
				
			||||||
 | 
					        paint.setShader(new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Bitmap output = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Config.ARGB_8888);
 | 
				
			||||||
 | 
					        Canvas canvas = new Canvas(output);
 | 
				
			||||||
 | 
					        if(topCorners && bottomCorners) {
 | 
				
			||||||
 | 
					            // Uses native method to draw symmetric rounded corners
 | 
				
			||||||
 | 
					            canvas.drawRoundRect(new RectF(margin, margin, source.getWidth() - margin,
 | 
				
			||||||
 | 
					                    source.getHeight() - margin), radius, radius, paint);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            // Uses custom path to generate rounded corner individually
 | 
				
			||||||
 | 
					            canvas.drawPath(RoundedRect(margin, margin, source.getWidth() - margin,
 | 
				
			||||||
 | 
					                    source.getHeight() - margin, radius, radius, topCorners, topCorners,
 | 
				
			||||||
 | 
					                    bottomCorners, bottomCorners), paint);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (source != output) {
 | 
				
			||||||
 | 
					            source.recycle();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return output;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public String key() {
 | 
				
			||||||
 | 
					        return "rounded_" + radius + margin;
 | 
				
			||||||
 | 
					//        return KEY;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Prepares a path for rounded corner selectively.
 | 
				
			||||||
 | 
					     * Source taken from http://stackoverflow.com/a/35668889/6635889
 | 
				
			||||||
 | 
					     * @param leftX The X coordinate of the left side of the rectangle
 | 
				
			||||||
 | 
					     * @param topY The Y coordinate of the top of the rectangle
 | 
				
			||||||
 | 
					     * @param rightX The X coordinate of the right side of the rectangle
 | 
				
			||||||
 | 
					     * @param bottomY The Y coordinate of the bottom of the rectangle
 | 
				
			||||||
 | 
					     * @param rx The x-radius of the oval used to round the corners
 | 
				
			||||||
 | 
					     * @param ry The y-radius of the oval used to round the corners
 | 
				
			||||||
 | 
					     * @param topLeft
 | 
				
			||||||
 | 
					     * @param topRight
 | 
				
			||||||
 | 
					     * @param bottomRight
 | 
				
			||||||
 | 
					     * @param bottomLeft
 | 
				
			||||||
 | 
					     * @return
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static Path RoundedRect(float leftX, float topY, float rightX, float bottomY, float rx,
 | 
				
			||||||
 | 
					                                   float ry, boolean topLeft, boolean topRight, boolean
 | 
				
			||||||
 | 
					                                           bottomRight, boolean bottomLeft) {
 | 
				
			||||||
 | 
					        Path path = new Path();
 | 
				
			||||||
 | 
					        if (rx < 0) rx = 0;
 | 
				
			||||||
 | 
					        if (ry < 0) ry = 0;
 | 
				
			||||||
 | 
					        float width = rightX - leftX;
 | 
				
			||||||
 | 
					        float height = bottomY - topY;
 | 
				
			||||||
 | 
					        if (rx > width / 2) rx = width / 2;
 | 
				
			||||||
 | 
					        if (ry > height / 2) ry = height / 2;
 | 
				
			||||||
 | 
					        float widthMinusCorners = (width - (2 * rx));
 | 
				
			||||||
 | 
					        float heightMinusCorners = (height - (2 * ry));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        path.moveTo(rightX, topY + ry);
 | 
				
			||||||
 | 
					        if (topRight)
 | 
				
			||||||
 | 
					            path.rQuadTo(0, -ry, -rx, -ry);//top-right corner
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            path.rLineTo(0, -ry);
 | 
				
			||||||
 | 
					            path.rLineTo(-rx,0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        path.rLineTo(-widthMinusCorners, 0);
 | 
				
			||||||
 | 
					        if (topLeft)
 | 
				
			||||||
 | 
					            path.rQuadTo(-rx, 0, -rx, ry); //top-left corner
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            path.rLineTo(-rx, 0);
 | 
				
			||||||
 | 
					            path.rLineTo(0,ry);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        path.rLineTo(0, heightMinusCorners);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (bottomLeft)
 | 
				
			||||||
 | 
					            path.rQuadTo(0, ry, rx, ry);//bottom-left corner
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            path.rLineTo(0, ry);
 | 
				
			||||||
 | 
					            path.rLineTo(rx,0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        path.rLineTo(widthMinusCorners, 0);
 | 
				
			||||||
 | 
					        if (bottomRight)
 | 
				
			||||||
 | 
					            path.rQuadTo(rx, 0, rx, -ry); //bottom-right corner
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            path.rLineTo(rx,0);
 | 
				
			||||||
 | 
					            path.rLineTo(0, -ry);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        path.rLineTo(0, -heightMinusCorners);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        path.close();//Given close, last lineto can be removed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return path;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
package at.smartshopper.smartshopper;
 | 
					package at.smartshopper.smartshopper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.graphics.drawable.Drawable;
 | 
				
			||||||
import android.net.Uri;
 | 
					import android.net.Uri;
 | 
				
			||||||
import android.support.v7.widget.RecyclerView;
 | 
					import android.support.v7.widget.RecyclerView;
 | 
				
			||||||
import android.view.LayoutInflater;
 | 
					import android.view.LayoutInflater;
 | 
				
			||||||
@@ -11,6 +12,7 @@ import android.widget.TextView;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import com.google.firebase.auth.FirebaseAuth;
 | 
					import com.google.firebase.auth.FirebaseAuth;
 | 
				
			||||||
import com.google.firebase.auth.FirebaseUser;
 | 
					import com.google.firebase.auth.FirebaseUser;
 | 
				
			||||||
 | 
					import com.squareup.picasso.Picasso;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -33,13 +35,13 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
 | 
				
			|||||||
    public ShoppinglistViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
 | 
					    public ShoppinglistViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
 | 
				
			||||||
        //inflating and returning our view holder
 | 
					        //inflating and returning our view holder
 | 
				
			||||||
        LayoutInflater inflater = LayoutInflater.from(mCtx);
 | 
					        LayoutInflater inflater = LayoutInflater.from(mCtx);
 | 
				
			||||||
        View view = inflater.inflate(R.layout.cardview, null);
 | 
					        View view = inflater.inflate(R.layout.cardview, parent, false);
 | 
				
			||||||
        return new ShoppinglistViewHolder(view);
 | 
					        return new ShoppinglistViewHolder(view);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onBindViewHolder(ShoppinglistViewHolder holder, int position) {
 | 
					    public void onBindViewHolder(ShoppinglistViewHolder holder, int position) {
 | 
				
			||||||
        //getting the product of the specified position
 | 
					        //getting the product of the specified position,
 | 
				
			||||||
        Shoppinglist shoppinglist = this.shoppinglist.get(position);
 | 
					        Shoppinglist shoppinglist = this.shoppinglist.get(position);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //binding the data with the viewholder views
 | 
					        //binding the data with the viewholder views
 | 
				
			||||||
@@ -51,7 +53,9 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
 | 
				
			|||||||
            // Name, email address, and profile photo Url
 | 
					            // Name, email address, and profile photo Url
 | 
				
			||||||
            String name = user.getDisplayName();
 | 
					            String name = user.getDisplayName();
 | 
				
			||||||
            Uri photoUrl = user.getPhotoUrl();
 | 
					            Uri photoUrl = user.getPhotoUrl();
 | 
				
			||||||
            holder.imageView.setImageURI(photoUrl);
 | 
					            holder.ownerName.setText(name);
 | 
				
			||||||
 | 
					            Picasso.get().load(photoUrl).resize(250, 250).transform(new RoundCornersTransformation(30, 30, true, true)).into(holder.imageView);
 | 
				
			||||||
 | 
					           // holder.imageView.setImageDrawable(Drawable.createFromPath("@drawable/common_google_signin_btn_icon_dark"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Check if user's email is verified
 | 
					            // Check if user's email is verified
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -73,7 +77,7 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    class ShoppinglistViewHolder extends RecyclerView.ViewHolder {
 | 
					    class ShoppinglistViewHolder extends RecyclerView.ViewHolder {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        TextView textViewTitle, textViewBeschreibung;
 | 
					        TextView textViewTitle, textViewBeschreibung, ownerName;
 | 
				
			||||||
        ImageView imageView;
 | 
					        ImageView imageView;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public ShoppinglistViewHolder(View itemView) {
 | 
					        public ShoppinglistViewHolder(View itemView) {
 | 
				
			||||||
@@ -82,6 +86,7 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter<ShoppinglistAdapte
 | 
				
			|||||||
            textViewTitle = itemView.findViewById(R.id.shoppinglistName);
 | 
					            textViewTitle = itemView.findViewById(R.id.shoppinglistName);
 | 
				
			||||||
            textViewBeschreibung = itemView.findViewById(R.id.shoppinglistBeschreibung);
 | 
					            textViewBeschreibung = itemView.findViewById(R.id.shoppinglistBeschreibung);
 | 
				
			||||||
            imageView = itemView.findViewById(R.id.shoppinglistOwner);
 | 
					            imageView = itemView.findViewById(R.id.shoppinglistOwner);
 | 
				
			||||||
 | 
					            ownerName = itemView.findViewById(R.id.ownerName);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -46,21 +46,18 @@
 | 
				
			|||||||
                            android:layout_height="wrap_content"
 | 
					                            android:layout_height="wrap_content"
 | 
				
			||||||
                            android:text="Logout" />
 | 
					                            android:text="Logout" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextView
 | 
					                        <android.support.v4.widget.SwipeRefreshLayout
 | 
				
			||||||
                            android:id="@+id/textView"
 | 
					                            xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
					                            android:id="@+id/ownSwipe"
 | 
				
			||||||
                            android:layout_width="match_parent"
 | 
					                            android:layout_width="match_parent"
 | 
				
			||||||
                            android:layout_height="wrap_content"
 | 
					                            android:layout_height="match_parent">
 | 
				
			||||||
                            android:text="Eigene Einkaufslisten"
 | 
					 | 
				
			||||||
                            android:textAlignment="center"
 | 
					 | 
				
			||||||
                            android:textSize="18sp"
 | 
					 | 
				
			||||||
                            android:textStyle="bold" />
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            <android.support.v7.widget.RecyclerView
 | 
					                            <android.support.v7.widget.RecyclerView
 | 
				
			||||||
                                android:id="@+id/ownrecycler"
 | 
					                                android:id="@+id/ownrecycler"
 | 
				
			||||||
                                android:layout_width="match_parent"
 | 
					                                android:layout_width="match_parent"
 | 
				
			||||||
                                android:layout_height="match_parent" />
 | 
					                                android:layout_height="match_parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        </android.support.v4.widget.SwipeRefreshLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    </LinearLayout>
 | 
					                    </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -84,14 +81,6 @@
 | 
				
			|||||||
                            android:layout_height="wrap_content"
 | 
					                            android:layout_height="wrap_content"
 | 
				
			||||||
                            android:text="Logout" />
 | 
					                            android:text="Logout" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextView
 | 
					 | 
				
			||||||
                            android:id="@+id/textView2"
 | 
					 | 
				
			||||||
                            android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
                            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                            android:text="Geteilte Einkaufslisten"
 | 
					 | 
				
			||||||
                            android:textAlignment="center"
 | 
					 | 
				
			||||||
                            android:textStyle="bold" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        <android.support.v7.widget.RecyclerView
 | 
					                        <android.support.v7.widget.RecyclerView
 | 
				
			||||||
                            android:id="@+id/sharedrecycler"
 | 
					                            android:id="@+id/sharedrecycler"
 | 
				
			||||||
                            android:layout_width="match_parent"
 | 
					                            android:layout_width="match_parent"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,8 +16,10 @@
 | 
				
			|||||||
            android:id="@+id/shoppinglistOwner"
 | 
					            android:id="@+id/shoppinglistOwner"
 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_marginStart="8dp"
 | 
					            android:layout_marginStart="15dp"
 | 
				
			||||||
            android:layout_marginTop="8dp"
 | 
					            android:scaleType="centerCrop"
 | 
				
			||||||
 | 
					            card_view:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					            card_view:layout_constraintTop_toTopOf="parent"
 | 
				
			||||||
            tools:srcCompat="@drawable/common_google_signin_btn_icon_dark" />
 | 
					            tools:srcCompat="@drawable/common_google_signin_btn_icon_dark" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
@@ -31,7 +33,7 @@
 | 
				
			|||||||
            android:textSize="18sp"
 | 
					            android:textSize="18sp"
 | 
				
			||||||
            android:textStyle="bold"
 | 
					            android:textStyle="bold"
 | 
				
			||||||
            card_view:layout_constraintEnd_toEndOf="parent"
 | 
					            card_view:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
            card_view:layout_constraintStart_toStartOf="parent"
 | 
					            card_view:layout_constraintStart_toEndOf="@+id/shoppinglistOwner"
 | 
				
			||||||
            card_view:layout_constraintTop_toTopOf="parent" />
 | 
					            card_view:layout_constraintTop_toTopOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
@@ -41,11 +43,24 @@
 | 
				
			|||||||
            android:layout_marginStart="8dp"
 | 
					            android:layout_marginStart="8dp"
 | 
				
			||||||
            android:layout_marginTop="8dp"
 | 
					            android:layout_marginTop="8dp"
 | 
				
			||||||
            android:layout_marginEnd="8dp"
 | 
					            android:layout_marginEnd="8dp"
 | 
				
			||||||
 | 
					            android:layout_marginBottom="8dp"
 | 
				
			||||||
            android:text="Beschreibung"
 | 
					            android:text="Beschreibung"
 | 
				
			||||||
 | 
					            card_view:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
            card_view:layout_constraintEnd_toEndOf="parent"
 | 
					            card_view:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
            card_view:layout_constraintHorizontal_bias="0.498"
 | 
					            card_view:layout_constraintStart_toEndOf="@+id/shoppinglistOwner"
 | 
				
			||||||
            card_view:layout_constraintStart_toStartOf="parent"
 | 
					 | 
				
			||||||
            card_view:layout_constraintTop_toBottomOf="@+id/shoppinglistName" />
 | 
					            card_view:layout_constraintTop_toBottomOf="@+id/shoppinglistName" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <TextView
 | 
				
			||||||
 | 
					            android:id="@+id/ownerName"
 | 
				
			||||||
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					            android:layout_marginStart="15dp"
 | 
				
			||||||
 | 
					            android:layout_marginBottom="8dp"
 | 
				
			||||||
 | 
					            android:text="OwnerName"
 | 
				
			||||||
 | 
					            android:textSize="10sp"
 | 
				
			||||||
 | 
					            card_view:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
 | 
					            card_view:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					            card_view:layout_constraintTop_toBottomOf="@+id/shoppinglistOwner" />
 | 
				
			||||||
    </android.support.constraint.ConstraintLayout>
 | 
					    </android.support.constraint.ConstraintLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</android.support.v7.widget.CardView>
 | 
					</android.support.v7.widget.CardView>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user