Share, Toolbar, Fixes
User create hat einen leeren user erstellt, jetzt nichtmehr Share Button wurde hinzugefügt In zwischenablage kopieren wurde entfernt Eine toolbar mit der farbe der Gruppe/Shoppingliste wurde hinzugefügt Toolbar hat den namen der Shoppingliste/Gruppe
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								.idea/caches/gradle_models.ser
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.idea/caches/gradle_models.ser
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -5,10 +5,10 @@ android {
 | 
				
			|||||||
    compileSdkVersion 28
 | 
					    compileSdkVersion 28
 | 
				
			||||||
    defaultConfig {
 | 
					    defaultConfig {
 | 
				
			||||||
        applicationId "at.smartshopper.smartshopperapp"
 | 
					        applicationId "at.smartshopper.smartshopperapp"
 | 
				
			||||||
        minSdkVersion 26
 | 
					        minSdkVersion 19
 | 
				
			||||||
        targetSdkVersion 28
 | 
					        targetSdkVersion 28
 | 
				
			||||||
        versionCode 5
 | 
					        versionCode 10
 | 
				
			||||||
        versionName "3.2"
 | 
					        versionName "4"
 | 
				
			||||||
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 | 
					        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    buildTypes {
 | 
					    buildTypes {
 | 
				
			||||||
@@ -28,7 +28,7 @@ dependencies {
 | 
				
			|||||||
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
 | 
					    androidTestImplementation 'com.android.support.test:runner:1.0.2'
 | 
				
			||||||
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
 | 
					    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
 | 
				
			||||||
    implementation 'com.google.firebase:firebase-auth:16.2.0'
 | 
					    implementation 'com.google.firebase:firebase-auth:16.2.0'
 | 
				
			||||||
    implementation 'com.google.firebase:firebase-messaging:17.4.0'
 | 
					    implementation 'com.google.firebase:firebase-messaging:17.5.0'
 | 
				
			||||||
    implementation 'com.google.firebase:firebase-core:16.0.8'
 | 
					    implementation 'com.google.firebase:firebase-core:16.0.8'
 | 
				
			||||||
    implementation 'com.google.firebase:firebase-storage:16.1.0'
 | 
					    implementation 'com.google.firebase:firebase-storage:16.1.0'
 | 
				
			||||||
    implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
 | 
					    implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,14 @@
 | 
				
			|||||||
            "certificate_hash": "4f9180e4472117e0f2b5a891778d247c99b1ea16"
 | 
					            "certificate_hash": "4f9180e4472117e0f2b5a891778d247c99b1ea16"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "client_id": "221332577314-e0fidj0e30k4f7bffbpn263o6q41klah.apps.googleusercontent.com",
 | 
				
			||||||
 | 
					          "client_type": 1,
 | 
				
			||||||
 | 
					          "android_info": {
 | 
				
			||||||
 | 
					            "package_name": "at.smartshopper.smartshopperapp",
 | 
				
			||||||
 | 
					            "certificate_hash": "3f5e1db662961243853557e59547222f4980eeb2"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "client_id": "221332577314-oo8b4uqtlgj75e7u7o3qt1vc96prfv52.apps.googleusercontent.com",
 | 
					          "client_id": "221332577314-oo8b4uqtlgj75e7u7o3qt1vc96prfv52.apps.googleusercontent.com",
 | 
				
			||||||
          "client_type": 3
 | 
					          "client_type": 3
 | 
				
			||||||
 
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1 +1 @@
 | 
				
			|||||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":5,"versionName":"3.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
 | 
					[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":10,"versionName":"4","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
 | 
				
			||||||
@@ -15,6 +15,7 @@ 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.support.v7.widget.Toolbar;
 | 
				
			||||||
import android.text.Editable;
 | 
					import android.text.Editable;
 | 
				
			||||||
import android.text.TextWatcher;
 | 
					import android.text.TextWatcher;
 | 
				
			||||||
import android.util.Log;
 | 
					import android.util.Log;
 | 
				
			||||||
@@ -138,6 +139,10 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
    protected void onCreate(Bundle savedInstanceState) {
 | 
					    protected void onCreate(Bundle savedInstanceState) {
 | 
				
			||||||
        super.onCreate(savedInstanceState);
 | 
					        super.onCreate(savedInstanceState);
 | 
				
			||||||
        setContentView(R.layout.activity_dash);
 | 
					        setContentView(R.layout.activity_dash);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Toolbar myToolbar = (Toolbar) findViewById(R.id.dashToolbar);
 | 
				
			||||||
 | 
					        setSupportActionBar(myToolbar);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        color = "ffffff";
 | 
					        color = "ffffff";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        setMsgId();
 | 
					        setMsgId();
 | 
				
			||||||
@@ -289,7 +294,9 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
        colorBtn = (Button) customView.findViewById(R.id.addColor);
 | 
					        colorBtn = (Button) customView.findViewById(R.id.addColor);
 | 
				
			||||||
        final Button addFertig = (Button) customView.findViewById(R.id.addFertig);
 | 
					        final Button addFertig = (Button) customView.findViewById(R.id.addFertig);
 | 
				
			||||||
        final EditText name = (EditText) customView.findViewById(R.id.addName);
 | 
					        final EditText name = (EditText) customView.findViewById(R.id.addName);
 | 
				
			||||||
 | 
					        name.setTextIsSelectable(true);
 | 
				
			||||||
        final EditText description = (EditText) customView.findViewById(R.id.addDescription);
 | 
					        final EditText description = (EditText) customView.findViewById(R.id.addDescription);
 | 
				
			||||||
 | 
					        description.setTextIsSelectable(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Picasso.get().load(R.drawable.close).into(addClose);
 | 
					        Picasso.get().load(R.drawable.close).into(addClose);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -298,6 +305,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            addFertig.setEnabled(false);
 | 
					            addFertig.setEnabled(false);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        name.addTextChangedListener(new TextWatcher() {
 | 
					        name.addTextChangedListener(new TextWatcher() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 | 
					            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 | 
				
			||||||
@@ -478,7 +486,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
            sharedListsListTmp = sharedListsArrayListTmp;
 | 
					            sharedListsListTmp = sharedListsArrayListTmp;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            sharedListsListTmp = sharedListsList;
 | 
					            sharedListsListTmp = sharedListsList;
 | 
				
			||||||
            findViewById(R.id.pfeilnachunten3).setVisibility(View.GONE);
 | 
					//            findViewById(R.id.pfeilnachunten3).setVisibility(View.GONE);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        ShoppinglistSharedAdapter shpAdapter = new ShoppinglistSharedAdapter(Dash.this, sharedListsListTmp, db);
 | 
					        ShoppinglistSharedAdapter shpAdapter = new ShoppinglistSharedAdapter(Dash.this, sharedListsListTmp, db);
 | 
				
			||||||
        if (sharedListsList.isEmpty()) {
 | 
					        if (sharedListsList.isEmpty()) {
 | 
				
			||||||
@@ -599,23 +607,37 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
        spec.setIndicator("Geteilte Einkaufslisten");
 | 
					        spec.setIndicator("Geteilte Einkaufslisten");
 | 
				
			||||||
        host.addTab(spec);
 | 
					        host.addTab(spec);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        host.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
 | 
					        host.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
            public void onTabChanged(String tabId) {
 | 
					            public void onTabChanged(String tabId) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
                int i = host.getCurrentTab();
 | 
					                int i = host.getCurrentTab();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                View pfeil = findViewById(R.id.pfeilnachunten3);
 | 
				
			||||||
 | 
					                FloatingActionButton fab = findViewById(R.id.addShoppinglistFab);
 | 
				
			||||||
                if (i == 0) {
 | 
					                if (i == 0) {
 | 
				
			||||||
                    try {
 | 
					                    try {
 | 
				
			||||||
                        refreshOwnShoppinglist(uid);
 | 
					                        refreshOwnShoppinglist(uid);
 | 
				
			||||||
 | 
					                        fab.show();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if (db.getMyShoppinglists(uid).isEmpty()) {
 | 
				
			||||||
 | 
					                            pfeil.setVisibility(View.VISIBLE);
 | 
				
			||||||
 | 
					                        } else {
 | 
				
			||||||
 | 
					                            pfeil.setVisibility(View.GONE);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        //TODO
 | 
				
			||||||
                    } catch (SQLException e) {
 | 
					                    } catch (SQLException e) {
 | 
				
			||||||
                        e.printStackTrace();
 | 
					                        e.printStackTrace();
 | 
				
			||||||
 | 
					                    } catch (JSONException e) {
 | 
				
			||||||
 | 
					                        e.printStackTrace();
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                } else if (i == 1) {
 | 
					                } else if (i == 1) {
 | 
				
			||||||
                    try {
 | 
					                    try {
 | 
				
			||||||
                        showSharedShoppingList(uid);
 | 
					                        showSharedShoppingList(uid);
 | 
				
			||||||
 | 
					                        pfeil.setVisibility(View.GONE);
 | 
				
			||||||
 | 
					                        fab.hide();
 | 
				
			||||||
                    } catch (JSONException e) {
 | 
					                    } catch (JSONException e) {
 | 
				
			||||||
                        e.printStackTrace();
 | 
					                        e.printStackTrace();
 | 
				
			||||||
                    } catch (SQLException e) {
 | 
					                    } catch (SQLException e) {
 | 
				
			||||||
@@ -863,7 +885,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
//
 | 
					//
 | 
				
			||||||
//        return link;
 | 
					//        return link;
 | 
				
			||||||
//    }
 | 
					//    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onShareClick(final String sl_id, final View v) {
 | 
					    public void onShareClick(final String sl_id, final View v) {
 | 
				
			||||||
        String link = null;
 | 
					        String link = null;
 | 
				
			||||||
@@ -874,6 +895,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
                View popupContentView = inflater.inflate(R.layout.add_share, null);
 | 
					                View popupContentView = inflater.inflate(R.layout.add_share, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
 | 
					                final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
 | 
				
			||||||
 | 
					                linkausgabe.setTextIsSelectable(true);
 | 
				
			||||||
                linkausgabe.setText("invite.dergeorg.at/invite/" + link);
 | 
					                linkausgabe.setText("invite.dergeorg.at/invite/" + link);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit);
 | 
					                ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit);
 | 
				
			||||||
@@ -885,15 +907,37 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
 | 
					                ImageButton shareIntentBtn = (ImageButton) popupContentView.findViewById(R.id.shareIntentBtn);
 | 
				
			||||||
                copyButton.setOnClickListener(new View.OnClickListener() {
 | 
					                Picasso.get().load(R.drawable.share).into(shareIntentBtn);
 | 
				
			||||||
 | 
					                shareIntentBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
                    @Override
 | 
					                    @Override
 | 
				
			||||||
                    public void onClick(View v) {
 | 
					                    public void onClick(View v) {
 | 
				
			||||||
                        copyText(linkausgabe.getText().toString());
 | 
					                        String shoppinglistname = "";
 | 
				
			||||||
 | 
					                        try {
 | 
				
			||||||
 | 
					                            shoppinglistname = db.getShoppinglist(sl_id).getname();
 | 
				
			||||||
 | 
					                        } catch (SQLException e) {
 | 
				
			||||||
 | 
					                            e.printStackTrace();
 | 
				
			||||||
 | 
					                        } catch (JSONException e) {
 | 
				
			||||||
 | 
					                            e.printStackTrace();
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
 | 
				
			||||||
 | 
					                        sharingIntent.setType("text/plain");
 | 
				
			||||||
 | 
					                        sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Einladung zum bearbeiten der Shoppingliste " + shoppinglistname + " von: " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName());
 | 
				
			||||||
 | 
					                        sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, linkausgabe.getText().toString());
 | 
				
			||||||
                        popupShare.dismiss();
 | 
					                        popupShare.dismiss();
 | 
				
			||||||
 | 
					                        startActivity(Intent.createChooser(sharingIntent, "Teile mit"));
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//                final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
 | 
				
			||||||
 | 
					//                copyButton.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
 | 
					//                    @Override
 | 
				
			||||||
 | 
					//                    public void onClick(View v) {
 | 
				
			||||||
 | 
					//                        copyText(linkausgabe.getText().toString());
 | 
				
			||||||
 | 
					//                        popupShare.dismiss();
 | 
				
			||||||
 | 
					//                    }
 | 
				
			||||||
 | 
					//                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
 | 
					                Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                final String finalLink = link;
 | 
					                final String finalLink = link;
 | 
				
			||||||
@@ -979,6 +1023,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
                                    View popupContentView = inflater.inflate(R.layout.add_share, null);
 | 
					                                    View popupContentView = inflater.inflate(R.layout.add_share, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
 | 
					                                    final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink);
 | 
				
			||||||
 | 
					                                    linkausgabe.setTextIsSelectable(true);
 | 
				
			||||||
                                    try {
 | 
					                                    try {
 | 
				
			||||||
                                        linkausgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
 | 
					                                        linkausgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
 | 
				
			||||||
                                    } catch (SQLException e) {
 | 
					                                    } catch (SQLException e) {
 | 
				
			||||||
@@ -996,15 +1041,37 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                    });
 | 
					                                    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
 | 
					                                    ImageButton shareIntentBtn = (ImageButton) popupContentView.findViewById(R.id.shareIntentBtn);
 | 
				
			||||||
                                    copyButton.setOnClickListener(new View.OnClickListener() {
 | 
					                                    Picasso.get().load(R.drawable.share).into(shareIntentBtn);
 | 
				
			||||||
 | 
					                                    shareIntentBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
                                        @Override
 | 
					                                        @Override
 | 
				
			||||||
                                        public void onClick(View v) {
 | 
					                                        public void onClick(View v) {
 | 
				
			||||||
                                            copyText(linkausgabe.getText().toString());
 | 
					                                            String shoppinglistname = "";
 | 
				
			||||||
 | 
					                                            try {
 | 
				
			||||||
 | 
					                                                shoppinglistname = db.getShoppinglist(sl_id).getname();
 | 
				
			||||||
 | 
					                                            } catch (SQLException e) {
 | 
				
			||||||
 | 
					                                                e.printStackTrace();
 | 
				
			||||||
 | 
					                                            } catch (JSONException e) {
 | 
				
			||||||
 | 
					                                                e.printStackTrace();
 | 
				
			||||||
 | 
					                                            }
 | 
				
			||||||
 | 
					                                            Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
 | 
				
			||||||
 | 
					                                            sharingIntent.setType("text/plain");
 | 
				
			||||||
 | 
					                                            sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Einladung zum bearbeiten der Shoppingliste " + shoppinglistname + " von: " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName());
 | 
				
			||||||
 | 
					                                            sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, linkausgabe.getText().toString());
 | 
				
			||||||
                                            popupShare.dismiss();
 | 
					                                            popupShare.dismiss();
 | 
				
			||||||
 | 
					                                            startActivity(Intent.createChooser(sharingIntent, "Teile mit"));
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                    });
 | 
					                                    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//                                    final Button copyButton = (Button) popupContentView.findViewById(R.id.shareCopy);
 | 
				
			||||||
 | 
					//                                    copyButton.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
 | 
					//                                        @Override
 | 
				
			||||||
 | 
					//                                        public void onClick(View v) {
 | 
				
			||||||
 | 
					//                                            copyText(linkausgabe.getText().toString());
 | 
				
			||||||
 | 
					//                                            popupShare.dismiss();
 | 
				
			||||||
 | 
					//                                        }
 | 
				
			||||||
 | 
					//                                    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
 | 
					                                    Button delShare = (Button) popupContentView.findViewById(R.id.delShare);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    delShare.setOnClickListener(new View.OnClickListener() {
 | 
					                                    delShare.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
@@ -1104,17 +1171,17 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void sharedOnShareClick(String sl_id, View v) throws SQLException, JSONException {
 | 
					    public void sharedOnShareClick(final String sl_id, View v) throws SQLException, JSONException {
 | 
				
			||||||
        final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
 | 
					        final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
 | 
				
			||||||
        View popupContentView = inflater.inflate(R.layout.edit_share_member, null);
 | 
					        View popupContentView = inflater.inflate(R.layout.edit_share_member, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ImageButton exitBtn = popupContentView.findViewById(R.id.exitButton);
 | 
					        ImageButton exitBtn = popupContentView.findViewById(R.id.exitButton);
 | 
				
			||||||
        Picasso.get().load(R.drawable.close).into(exitBtn);
 | 
					        Picasso.get().load(R.drawable.close).into(exitBtn);
 | 
				
			||||||
        final TextView linkAusgabe = popupContentView.findViewById(R.id.linkausgabe);
 | 
					        final TextView linkAusgabe = popupContentView.findViewById(R.id.linkausgabe);
 | 
				
			||||||
        Button copyBtn = popupContentView.findViewById(R.id.copyButton);
 | 
					//        Button copyBtn = popupContentView.findViewById(R.id.copyButton);
 | 
				
			||||||
        Button stopShareBtn = popupContentView.findViewById(R.id.delShare);
 | 
					        Button stopShareBtn = popupContentView.findViewById(R.id.delShare);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        linkAusgabe.setTextIsSelectable(true);
 | 
				
			||||||
        linkAusgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
 | 
					        linkAusgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id));
 | 
				
			||||||
        exitBtn.setOnClickListener(new View.OnClickListener() {
 | 
					        exitBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
@@ -1122,11 +1189,31 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
 | 
				
			|||||||
                popupEditShare.dismiss();
 | 
					                popupEditShare.dismiss();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        copyBtn.setOnClickListener(new View.OnClickListener() {
 | 
					//        copyBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
 | 
					//            @Override
 | 
				
			||||||
 | 
					//            public void onClick(View v) {
 | 
				
			||||||
 | 
					//                copyText(linkAusgabe.getText().toString());
 | 
				
			||||||
 | 
					//                popupEditShare.dismiss();
 | 
				
			||||||
 | 
					//            }
 | 
				
			||||||
 | 
					//        });
 | 
				
			||||||
 | 
					        ImageButton shareIntentBtn = popupContentView.findViewById(R.id.shareIntentBtn);
 | 
				
			||||||
 | 
					        Picasso.get().load(R.drawable.share).into(shareIntentBtn);
 | 
				
			||||||
 | 
					        shareIntentBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
            public void onClick(View v) {
 | 
					            public void onClick(View v) {
 | 
				
			||||||
                copyText(linkAusgabe.getText().toString());
 | 
					                String shoppinglistname = "";
 | 
				
			||||||
                popupEditShare.dismiss();
 | 
					                try {
 | 
				
			||||||
 | 
					                    shoppinglistname = db.getShoppinglist(sl_id).getname();
 | 
				
			||||||
 | 
					                } catch (SQLException e) {
 | 
				
			||||||
 | 
					                    e.printStackTrace();
 | 
				
			||||||
 | 
					                } catch (JSONException e) {
 | 
				
			||||||
 | 
					                    e.printStackTrace();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
 | 
				
			||||||
 | 
					                sharingIntent.setType("text/plain");
 | 
				
			||||||
 | 
					                sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Einladung zum bearbeiten der Shoppingliste " + shoppinglistname + " von: " + FirebaseAuth.getInstance().getCurrentUser().getDisplayName());
 | 
				
			||||||
 | 
					                sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, linkAusgabe.getText().toString());
 | 
				
			||||||
 | 
					                startActivity(Intent.createChooser(sharingIntent, "Teilen mit"));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        stopShareBtn.setOnClickListener(new View.OnClickListener() {
 | 
					        stopShareBtn.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ 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.support.v7.widget.Toolbar;
 | 
				
			||||||
import android.view.Menu;
 | 
					import android.view.Menu;
 | 
				
			||||||
import android.view.MenuInflater;
 | 
					import android.view.MenuInflater;
 | 
				
			||||||
import android.view.MenuItem;
 | 
					import android.view.MenuItem;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,7 @@ 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.support.v7.widget.Toolbar;
 | 
				
			||||||
import android.text.Editable;
 | 
					import android.text.Editable;
 | 
				
			||||||
import android.text.TextWatcher;
 | 
					import android.text.TextWatcher;
 | 
				
			||||||
import android.view.Gravity;
 | 
					import android.view.Gravity;
 | 
				
			||||||
@@ -59,24 +60,39 @@ public class ItemListActivity extends AppCompatActivity implements ItemAdapter.O
 | 
				
			|||||||
        super.onCreate(savedInstanceState);
 | 
					        super.onCreate(savedInstanceState);
 | 
				
			||||||
        setContentView(R.layout.activity_item_list);
 | 
					        setContentView(R.layout.activity_item_list);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Intent myIntent = getIntent(); // gets the previously created intent
 | 
					        Intent myIntent = getIntent(); // gets the previously created intent
 | 
				
			||||||
        this.group_id = myIntent.getStringExtra("group_id"); // will return "FirstKeyValue"
 | 
					        this.group_id = myIntent.getStringExtra("group_id"); // will return "FirstKeyValue"
 | 
				
			||||||
        this.sl_id = myIntent.getStringExtra("sl_id"); // will return "SecondKeyValue"
 | 
					        this.sl_id = myIntent.getStringExtra("sl_id"); // will return "SecondKeyValue"
 | 
				
			||||||
        this.groupNameString = myIntent.getStringExtra("groupNameString"); // will return "SecondKeyValue"
 | 
					        this.groupNameString = myIntent.getStringExtra("groupNameString"); // will return "SecondKeyValue"
 | 
				
			||||||
        this.db = new Database();
 | 
					        this.db = new Database();
 | 
				
			||||||
 | 
					        String colorToolbar = null;
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            colorToolbar = db.getGroup(group_id, sl_id).getColor();
 | 
				
			||||||
 | 
					        } catch (SQLException e) {
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        } catch (JSONException e) {
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Toolbar toolbar = findViewById(R.id.itemToolbar);
 | 
				
			||||||
 | 
					        toolbar.setTitle("Gruppe: " + this.groupNameString);
 | 
				
			||||||
 | 
					        String colorstring;
 | 
				
			||||||
 | 
					        if (colorToolbar.contains("#")) {
 | 
				
			||||||
 | 
					            colorstring = colorToolbar;
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            colorstring = "#" + colorToolbar;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        toolbar.setBackgroundColor(Color.parseColor(colorstring));
 | 
				
			||||||
 | 
					        setSupportActionBar(toolbar);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.groupName = (TextView) findViewById(R.id.groupViewName);
 | 
					        this.groupName = (TextView) findViewById(R.id.groupViewName);
 | 
				
			||||||
        this.groupName.setText(groupNameString);
 | 
					        this.groupName.setText(groupNameString);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.colorView = (View) findViewById(R.id.itemListColorView);
 | 
					        this.colorView = (View) findViewById(R.id.itemListColorView);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        this.colorView.setBackgroundColor(Color.parseColor(colorstring));
 | 
				
			||||||
            this.colorView.setBackgroundColor(Color.parseColor(db.getGroup(group_id, sl_id).getColor()));
 | 
					
 | 
				
			||||||
        } catch (SQLException e) {
 | 
					 | 
				
			||||||
            e.printStackTrace();
 | 
					 | 
				
			||||||
        } catch (JSONException e) {
 | 
					 | 
				
			||||||
            e.printStackTrace();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.swipeRefreshLayoutItem = (SwipeRefreshLayout) findViewById(R.id.itemListRefresh);
 | 
					        this.swipeRefreshLayoutItem = (SwipeRefreshLayout) findViewById(R.id.itemListRefresh);
 | 
				
			||||||
        this.swipeRefreshLayoutItem.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
 | 
					        this.swipeRefreshLayoutItem.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
 | 
				
			||||||
@@ -182,7 +198,7 @@ public class ItemListActivity extends AppCompatActivity implements ItemAdapter.O
 | 
				
			|||||||
        List itemListTmp;
 | 
					        List itemListTmp;
 | 
				
			||||||
        View pfeil = findViewById(R.id.pfeilnachunten2);
 | 
					        View pfeil = findViewById(R.id.pfeilnachunten2);
 | 
				
			||||||
        if (itemList.isEmpty()) {
 | 
					        if (itemList.isEmpty()) {
 | 
				
			||||||
            itemArrayListTmp.add(new Item("empty", "empty", "empty", "Bitte ein Item Hinzufügen!", ""));
 | 
					            itemArrayListTmp.add(new Item("empty", "empty", "empty", "Bitte ein Item Hinzufügen!", "1"));
 | 
				
			||||||
            itemListTmp = itemArrayListTmp;
 | 
					            itemListTmp = itemArrayListTmp;
 | 
				
			||||||
            pfeil.setVisibility(View.VISIBLE);
 | 
					            pfeil.setVisibility(View.VISIBLE);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,21 +129,11 @@ public class LoginActivity extends AppCompatActivity {
 | 
				
			|||||||
                            return;
 | 
					                            return;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        String uid = FirebaseAuth.getInstance().getUid();
 | 
					                        FirebaseUser userFirebase = FirebaseAuth.getInstance().getCurrentUser();
 | 
				
			||||||
                        Member user;
 | 
					                        Member user;
 | 
				
			||||||
                        String name = null;
 | 
					                        String name = null;
 | 
				
			||||||
                        String picture = null;
 | 
					                        String picture = null;
 | 
				
			||||||
                        String email = null;
 | 
					                        String email = null;
 | 
				
			||||||
                        try {
 | 
					 | 
				
			||||||
                            user = db.getUser(uid);
 | 
					 | 
				
			||||||
                            name = user.getName();
 | 
					 | 
				
			||||||
                            picture = user.getPic();
 | 
					 | 
				
			||||||
                            email = user.getEmail();
 | 
					 | 
				
			||||||
                        } catch (SQLException e) {
 | 
					 | 
				
			||||||
                            e.printStackTrace();
 | 
					 | 
				
			||||||
                        } catch (JSONException e) {
 | 
					 | 
				
			||||||
                            e.printStackTrace();
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        // Get new Instance ID token
 | 
					                        // Get new Instance ID token
 | 
				
			||||||
                        String token = task.getResult().getToken();
 | 
					                        String token = task.getResult().getToken();
 | 
				
			||||||
@@ -151,10 +141,23 @@ public class LoginActivity extends AppCompatActivity {
 | 
				
			|||||||
                        try {
 | 
					                        try {
 | 
				
			||||||
                            if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) {
 | 
					                            if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                db.createUser(uid, token, name, picture, email);
 | 
					                                name = userFirebase.getDisplayName();
 | 
				
			||||||
 | 
					                                picture = userFirebase.getPhotoUrl().toString();
 | 
				
			||||||
 | 
					                                email = userFirebase.getEmail();
 | 
				
			||||||
 | 
					                                db.createUser(userFirebase.getUid(), token, name, picture, email);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            } else {
 | 
					                            } else {
 | 
				
			||||||
                                db.updateUser(uid, token, name, picture, email);
 | 
					                                try {
 | 
				
			||||||
 | 
					                                    user = db.getUser(userFirebase.getUid());
 | 
				
			||||||
 | 
					                                    name = user.getName();
 | 
				
			||||||
 | 
					                                    picture = user.getPic();
 | 
				
			||||||
 | 
					                                    email = user.getEmail();
 | 
				
			||||||
 | 
					                                } catch (SQLException e) {
 | 
				
			||||||
 | 
					                                    e.printStackTrace();
 | 
				
			||||||
 | 
					                                } catch (JSONException e) {
 | 
				
			||||||
 | 
					                                    e.printStackTrace();
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                                db.updateUser(userFirebase.getUid(), token, name, picture, email);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        } catch (SQLException e) {
 | 
					                        } catch (SQLException e) {
 | 
				
			||||||
                            e.printStackTrace();
 | 
					                            e.printStackTrace();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,7 @@ 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.support.v7.widget.Toolbar;
 | 
				
			||||||
import android.text.Editable;
 | 
					import android.text.Editable;
 | 
				
			||||||
import android.text.TextWatcher;
 | 
					import android.text.TextWatcher;
 | 
				
			||||||
import android.view.Gravity;
 | 
					import android.view.Gravity;
 | 
				
			||||||
@@ -125,14 +126,25 @@ public class ShoppinglistDetails extends AppCompatActivity implements DetailsAda
 | 
				
			|||||||
        Intent intent = getIntent();
 | 
					        Intent intent = getIntent();
 | 
				
			||||||
        sl_id = intent.getStringExtra("sl_id");
 | 
					        sl_id = intent.getStringExtra("sl_id");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Shoppinglist shoppinglist = null;
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            Shoppinglist shoppinglist = db.getShoppinglist(sl_id);
 | 
					             shoppinglist = db.getShoppinglist(sl_id);
 | 
				
			||||||
        } catch (SQLException e) {
 | 
					        } catch (SQLException e) {
 | 
				
			||||||
            e.printStackTrace();
 | 
					            e.printStackTrace();
 | 
				
			||||||
        } catch (JSONException e) {
 | 
					        } catch (JSONException e) {
 | 
				
			||||||
            e.printStackTrace();
 | 
					            e.printStackTrace();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        Toolbar toolbar = findViewById(R.id.shoppinglistDetailsToolbar);
 | 
				
			||||||
 | 
					        toolbar.setTitle("Shoppingliste: " + shoppinglist.getname());
 | 
				
			||||||
 | 
					        String colorstring;
 | 
				
			||||||
 | 
					        if (shoppinglist.getcolor().contains("#")) {
 | 
				
			||||||
 | 
					            colorstring = shoppinglist.getcolor();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            colorstring = "#" + shoppinglist.getcolor();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        toolbar.setBackgroundColor(Color.parseColor(colorstring));
 | 
				
			||||||
 | 
					        setSupportActionBar(toolbar);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        final String finalSl_id = sl_id;
 | 
					        final String finalSl_id = sl_id;
 | 
				
			||||||
        fab.setOnClickListener(new View.OnClickListener() {
 | 
					        fab.setOnClickListener(new View.OnClickListener() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,191 @@
 | 
				
			|||||||
 | 
					package at.smartshopper.smartshopperapp.customViews;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.view.GestureDetector;
 | 
				
			||||||
 | 
					import android.view.MotionEvent;
 | 
				
			||||||
 | 
					import android.view.View;
 | 
				
			||||||
 | 
					import android.view.animation.AccelerateInterpolator;
 | 
				
			||||||
 | 
					import android.view.animation.Animation;
 | 
				
			||||||
 | 
					import android.view.animation.TranslateAnimation;
 | 
				
			||||||
 | 
					import android.widget.TabHost;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class AnimatedTabHostListener implements TabHost.OnTabChangeListener
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private static final int ANIMATION_TIME = 240;
 | 
				
			||||||
 | 
					    private TabHost tabHost;
 | 
				
			||||||
 | 
					    private View previousView;
 | 
				
			||||||
 | 
					    private View currentView;
 | 
				
			||||||
 | 
					    private GestureDetector gestureDetector;
 | 
				
			||||||
 | 
					    private int currentTab;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Constructor that takes the TabHost as a parameter and sets previousView to the currentView at instantiation
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param context
 | 
				
			||||||
 | 
					     * @param tabHost
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public AnimatedTabHostListener(Context context, TabHost tabHost)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        this.tabHost = tabHost;
 | 
				
			||||||
 | 
					        this.previousView = tabHost.getCurrentView();
 | 
				
			||||||
 | 
					        gestureDetector = new GestureDetector(context, new MyGestureDetector());
 | 
				
			||||||
 | 
					        tabHost.setOnTouchListener(new View.OnTouchListener()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            public boolean onTouch(View v, MotionEvent event)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (gestureDetector.onTouchEvent(event))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    return false;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    return true;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * When tabs change we fetch the current view that we are animating to and animate it and the previous view in the
 | 
				
			||||||
 | 
					     * appropriate directions.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void onTabChanged(String tabId)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        currentView = tabHost.getCurrentView();
 | 
				
			||||||
 | 
					        if (tabHost.getCurrentTab() > currentTab)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            previousView.setAnimation(outToLeftAnimation());
 | 
				
			||||||
 | 
					            currentView.setAnimation(inFromRightAnimation());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            previousView.setAnimation(outToRightAnimation());
 | 
				
			||||||
 | 
					            currentView.setAnimation(inFromLeftAnimation());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        previousView = currentView;
 | 
				
			||||||
 | 
					        currentTab = tabHost.getCurrentTab();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Custom animation that animates in from right
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return Animation the Animation object
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private Animation inFromRightAnimation()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Animation inFromRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 1.0f,
 | 
				
			||||||
 | 
					                Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
 | 
				
			||||||
 | 
					                0.0f);
 | 
				
			||||||
 | 
					        return setProperties(inFromRight);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Custom animation that animates out to the right
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return Animation the Animation object
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private Animation outToRightAnimation()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Animation outToRight = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
 | 
				
			||||||
 | 
					                1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
 | 
				
			||||||
 | 
					        return setProperties(outToRight);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Custom animation that animates in from left
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return Animation the Animation object
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private Animation inFromLeftAnimation()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Animation inFromLeft = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -1.0f,
 | 
				
			||||||
 | 
					                Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
 | 
				
			||||||
 | 
					                0.0f);
 | 
				
			||||||
 | 
					        return setProperties(inFromLeft);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Custom animation that animates out to the left
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return Animation the Animation object
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private Animation outToLeftAnimation()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Animation outtoLeft = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT,
 | 
				
			||||||
 | 
					                -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f);
 | 
				
			||||||
 | 
					        return setProperties(outtoLeft);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Helper method that sets some common properties
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param animation
 | 
				
			||||||
 | 
					     *            the animation to give common properties
 | 
				
			||||||
 | 
					     * @return the animation with common properties
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    private Animation setProperties(Animation animation)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        animation.setDuration(ANIMATION_TIME);
 | 
				
			||||||
 | 
					        animation.setInterpolator(new AccelerateInterpolator());
 | 
				
			||||||
 | 
					        return animation;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * A gesture listener that listens for a left or right swipe and uses the swip gesture to navigate a TabHost that
 | 
				
			||||||
 | 
					     * uses an AnimatedTabHost listener.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @author Daniel Kvist
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    class MyGestureDetector extends GestureDetector.SimpleOnGestureListener
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private static final int SWIPE_MIN_DISTANCE = 120;
 | 
				
			||||||
 | 
					        private static final int SWIPE_MAX_OFF_PATH = 250;
 | 
				
			||||||
 | 
					        private static final int SWIPE_THRESHOLD_VELOCITY = 200;
 | 
				
			||||||
 | 
					        private int maxTabs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * An empty constructor that uses the tabhosts content view to decide how many tabs there are.
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        public MyGestureDetector()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            maxTabs = tabHost.getTabContentView().getChildCount();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * Listens for the onFling event and performs some calculations between the touch down point and the touch up
 | 
				
			||||||
 | 
					         * point. It then uses that information to calculate if the swipe was long enough. It also uses the swiping
 | 
				
			||||||
 | 
					         * velocity to decide if it was a "true" swipe or just some random touching.
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        @Override
 | 
				
			||||||
 | 
					        public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            int newTab = 0;
 | 
				
			||||||
 | 
					            if (Math.abs(event1.getY() - event2.getY()) > SWIPE_MAX_OFF_PATH)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (event1.getX() - event2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                // Swipe right to left
 | 
				
			||||||
 | 
					                newTab = currentTab + 1;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (event2.getX() - event1.getX() > SWIPE_MIN_DISTANCE
 | 
				
			||||||
 | 
					                    && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                // Swipe left to right
 | 
				
			||||||
 | 
					                newTab = currentTab - 1;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (newTab < 0 || newTab > (maxTabs - 1))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            tabHost.setCurrentTab(newTab);
 | 
				
			||||||
 | 
					            return super.onFling(event1, event2, velocityX, velocityY);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -132,7 +132,7 @@ public class Database extends AppCompatActivity {
 | 
				
			|||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            newpicture = picture;
 | 
					            newpicture = picture;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (email.isEmpty()) {
 | 
					        if (email == null) {
 | 
				
			||||||
            newemail = "EMPTY";
 | 
					            newemail = "EMPTY";
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            newemail = email;
 | 
					            newemail = email;
 | 
				
			||||||
@@ -532,7 +532,7 @@ public class Database extends AppCompatActivity {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public void createUser(String username, String message_id, String name, String picture, String email) throws SQLException {
 | 
					    public void createUser(String username, String message_id, String name, String picture, String email) throws SQLException {
 | 
				
			||||||
        String SQL = "INSERT INTO \"User\" (username, message_id, name, picture, email) VALUES (?, ?, ?, ?, ?)";
 | 
					        String SQL = "INSERT INTO \"User\" (username, message_id, name, picture, email) VALUES (?, ?, ?, ?, ?)";
 | 
				
			||||||
        if (picture.isEmpty()) {
 | 
					        if (picture == null) {
 | 
				
			||||||
            picture = "https://st2.depositphotos.com/1537427/5927/v/950/depositphotos_59279377-stock-illustration-user-icon.jpg";
 | 
					            picture = "https://st2.depositphotos.com/1537427/5927/v/950/depositphotos_59279377-stock-illustration-user-icon.jpg";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        sqlUpdate5Param(SQL, username, message_id, name, picture, email);
 | 
					        sqlUpdate5Param(SQL, username, message_id, name, picture, email);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -118,22 +118,17 @@ public class ShoppinglistSharedAdapter extends RecyclerView.Adapter<Shoppinglist
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        holder.shoppinglistColor.setBackgroundColor(cardcolor);
 | 
					        holder.shoppinglistColor.setBackgroundColor(cardcolor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (shoppinglist.getSlId().equals("empty")) {
 | 
					        String uid = FirebaseAuth.getInstance().getUid();
 | 
				
			||||||
            FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
 | 
					 | 
				
			||||||
            if (user != null) {
 | 
					 | 
				
			||||||
                // Name, email address, and profile photo Url
 | 
					 | 
				
			||||||
                String name = user.getDisplayName();
 | 
					 | 
				
			||||||
                Uri photoUrl = user.getPhotoUrl();
 | 
					 | 
				
			||||||
                holder.ownerName.setText(name);
 | 
					 | 
				
			||||||
                Picasso.get().load(photoUrl).resize(250, 250).transform(new RoundCornersTransformation(15, 15, true, true)).into(holder.imageView);
 | 
					 | 
				
			||||||
                // holder.imageView.setImageDrawable(Drawable.createFromPath("@drawable/common_google_signin_btn_icon_dark"));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // Check if user's email is verified
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // The user's ID, unique to the Firebase project. Do NOT use this value to
 | 
					        try {
 | 
				
			||||||
                // authenticate with your backend server, if you have one. Use
 | 
					            Member user = db.getUser(uid);
 | 
				
			||||||
                // FirebaseUser.getIdToken() instead.
 | 
					            holder.ownerName.setText(user.getName());
 | 
				
			||||||
            }
 | 
					            Picasso.get().load(user.getPic()).resize(250, 250).transform(new RoundCornersTransformation(15, 15, true, true)).into(holder.imageView);
 | 
				
			||||||
 | 
					        } catch (SQLException e) {
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        } catch (JSONException e) {
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            if (!shoppinglist.getSlId().equals("empty")) {
 | 
					            if (!shoppinglist.getSlId().equals("empty")) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +1,40 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
					<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
					    xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
				
			||||||
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
    android:layout_width="match_parent"
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
    android:layout_height="match_parent">
 | 
					    android:layout_height="match_parent">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <android.support.v7.widget.Toolbar
 | 
				
			||||||
 | 
					        android:id="@+id/dashToolbar"
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:background="?attr/colorPrimary"
 | 
				
			||||||
 | 
					        android:minHeight="?attr/actionBarSize"
 | 
				
			||||||
 | 
					        android:theme="?attr/actionBarTheme"
 | 
				
			||||||
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toTopOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <View
 | 
					    <View
 | 
				
			||||||
        android:id="@+id/pfeilnachunten3"
 | 
					        android:id="@+id/pfeilnachunten3"
 | 
				
			||||||
        android:layout_width="84dp"
 | 
					        android:layout_width="60dp"
 | 
				
			||||||
        android:layout_height="331dp"
 | 
					        android:layout_height="190dp"
 | 
				
			||||||
        android:layout_marginEnd="8dp"
 | 
					        android:layout_marginEnd="8dp"
 | 
				
			||||||
        android:layout_marginBottom="8dp"
 | 
					        android:layout_marginBottom="8dp"
 | 
				
			||||||
        android:background="@drawable/pfeil"
 | 
					        android:background="@drawable/pfeil"
 | 
				
			||||||
        app:layout_constraintBottom_toTopOf="@+id/addShoppinglistFab"
 | 
					        app:layout_constraintBottom_toTopOf="@+id/addShoppinglistFab"
 | 
				
			||||||
        app:layout_constraintEnd_toEndOf="parent" />
 | 
					        app:layout_constraintEnd_toEndOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <TabHost
 | 
					    <TabHost
 | 
				
			||||||
        android:id="@+id/tabHost1"
 | 
					        android:id="@+id/tabHost1"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="0dp"
 | 
				
			||||||
        app:layout_constraintBottom_toBottomOf="parent"
 | 
					        app:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
        app:layout_constraintEnd_toEndOf="parent"
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
        app:layout_constraintStart_toStartOf="parent"
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
        app:layout_constraintTop_toTopOf="parent">
 | 
					        app:layout_constraintTop_toBottomOf="@+id/dashToolbar">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <LinearLayout
 | 
					        <LinearLayout
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
@@ -113,7 +126,7 @@
 | 
				
			|||||||
        android:layout_marginEnd="8dp"
 | 
					        android:layout_marginEnd="8dp"
 | 
				
			||||||
        android:layout_marginBottom="8dp"
 | 
					        android:layout_marginBottom="8dp"
 | 
				
			||||||
        android:clickable="true"
 | 
					        android:clickable="true"
 | 
				
			||||||
        app:backgroundTint="@color/fui_linkColor"
 | 
					        app:backgroundTint="@color/colorButton"
 | 
				
			||||||
        app:layout_constraintBottom_toBottomOf="parent"
 | 
					        app:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
        app:layout_constraintEnd_toEndOf="@+id/tabHost1"
 | 
					        app:layout_constraintEnd_toEndOf="@+id/tabHost1"
 | 
				
			||||||
        app:srcCompat="@drawable/addoutline" />
 | 
					        app:srcCompat="@drawable/addoutline" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,10 +4,24 @@
 | 
				
			|||||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
					    xmlns:tools="http://schemas.android.com/tools"
 | 
				
			||||||
    android:layout_width="match_parent"
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
    android:layout_height="match_parent"
 | 
					    android:layout_height="match_parent"
 | 
				
			||||||
    android:layout_margin="8dp"
 | 
					 | 
				
			||||||
    tools:context=".activitys.ItemListActivity">
 | 
					    tools:context=".activitys.ItemListActivity">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <android.support.v7.widget.Toolbar
 | 
				
			||||||
 | 
					        android:id="@+id/itemToolbar"
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_margin="0dp"
 | 
				
			||||||
 | 
					        android:layout_marginStart="8dp"
 | 
				
			||||||
 | 
					        android:layout_marginTop="8dp"
 | 
				
			||||||
 | 
					        android:background="?attr/colorPrimary"
 | 
				
			||||||
 | 
					        android:minHeight="?attr/actionBarSize"
 | 
				
			||||||
 | 
					        android:padding="0dp"
 | 
				
			||||||
 | 
					        android:theme="?attr/actionBarTheme"
 | 
				
			||||||
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toTopOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <android.support.v4.widget.SwipeRefreshLayout
 | 
					    <android.support.v4.widget.SwipeRefreshLayout
 | 
				
			||||||
 | 
					        android:layout_margin="8dp"
 | 
				
			||||||
        android:id="@+id/itemListRefresh"
 | 
					        android:id="@+id/itemListRefresh"
 | 
				
			||||||
        android:layout_width="0dp"
 | 
					        android:layout_width="0dp"
 | 
				
			||||||
        android:layout_height="0dp"
 | 
					        android:layout_height="0dp"
 | 
				
			||||||
@@ -19,8 +33,7 @@
 | 
				
			|||||||
        app:layout_constraintEnd_toEndOf="parent"
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
        app:layout_constraintHorizontal_bias="0.0"
 | 
					        app:layout_constraintHorizontal_bias="0.0"
 | 
				
			||||||
        app:layout_constraintStart_toStartOf="parent"
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
        app:layout_constraintTop_toTopOf="parent"
 | 
					        app:layout_constraintTop_toBottomOf="@+id/itemToolbar">
 | 
				
			||||||
        app:layout_constraintVertical_bias="0.0">
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <android.support.v7.widget.CardView
 | 
					        <android.support.v7.widget.CardView
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
@@ -112,8 +125,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                <View
 | 
					                <View
 | 
				
			||||||
                    android:id="@+id/pfeilnachunten2"
 | 
					                    android:id="@+id/pfeilnachunten2"
 | 
				
			||||||
                    android:layout_width="84dp"
 | 
					                    android:layout_width="60dp"
 | 
				
			||||||
                    android:layout_height="331dp"
 | 
					                    android:layout_height="190dp"
 | 
				
			||||||
                    android:layout_marginBottom="60dp"
 | 
					                    android:layout_marginBottom="60dp"
 | 
				
			||||||
                    android:background="@drawable/pfeil"
 | 
					                    android:background="@drawable/pfeil"
 | 
				
			||||||
                    app:layout_constraintBottom_toBottomOf="parent"
 | 
					                    app:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
@@ -131,7 +144,7 @@
 | 
				
			|||||||
        android:layout_marginBottom="8dp"
 | 
					        android:layout_marginBottom="8dp"
 | 
				
			||||||
        android:clickable="true"
 | 
					        android:clickable="true"
 | 
				
			||||||
        android:src="@drawable/addoutline"
 | 
					        android:src="@drawable/addoutline"
 | 
				
			||||||
        app:backgroundTint="@color/fui_linkColor"
 | 
					        app:backgroundTint="@color/colorButton"
 | 
				
			||||||
        app:layout_constraintBottom_toBottomOf="parent"
 | 
					        app:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
        app:layout_constraintEnd_toEndOf="parent" />
 | 
					        app:layout_constraintEnd_toEndOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,6 +71,7 @@
 | 
				
			|||||||
                android:id="@+id/loginEmailBtn"
 | 
					                android:id="@+id/loginEmailBtn"
 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:background="@color/colorButton"
 | 
				
			||||||
                android:text="Login Email" />
 | 
					                android:text="Login Email" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,10 +6,21 @@
 | 
				
			|||||||
    android:layout_height="match_parent"
 | 
					    android:layout_height="match_parent"
 | 
				
			||||||
    tools:context=".activitys.ShoppinglistDetails">
 | 
					    tools:context=".activitys.ShoppinglistDetails">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <android.support.v7.widget.Toolbar
 | 
				
			||||||
 | 
					        android:id="@+id/shoppinglistDetailsToolbar"
 | 
				
			||||||
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:background="?attr/colorPrimary"
 | 
				
			||||||
 | 
					        android:minHeight="?attr/actionBarSize"
 | 
				
			||||||
 | 
					        android:theme="?attr/actionBarTheme"
 | 
				
			||||||
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toTopOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <View
 | 
					    <View
 | 
				
			||||||
        android:id="@+id/pfeilnachunten"
 | 
					        android:id="@+id/pfeilnachunten"
 | 
				
			||||||
        android:layout_width="66dp"
 | 
					        android:layout_width="60dp"
 | 
				
			||||||
        android:layout_height="299dp"
 | 
					        android:layout_height="190dp"
 | 
				
			||||||
        android:layout_marginEnd="8dp"
 | 
					        android:layout_marginEnd="8dp"
 | 
				
			||||||
        android:layout_marginBottom="8dp"
 | 
					        android:layout_marginBottom="8dp"
 | 
				
			||||||
        android:background="@drawable/pfeil"
 | 
					        android:background="@drawable/pfeil"
 | 
				
			||||||
@@ -28,8 +39,7 @@
 | 
				
			|||||||
        app:layout_constraintEnd_toEndOf="parent"
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
        app:layout_constraintHorizontal_bias="0.0"
 | 
					        app:layout_constraintHorizontal_bias="0.0"
 | 
				
			||||||
        app:layout_constraintStart_toStartOf="parent"
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
        app:layout_constraintTop_toTopOf="parent"
 | 
					        app:layout_constraintTop_toBottomOf="@+id/shoppinglistDetailsToolbar">
 | 
				
			||||||
        app:layout_constraintVertical_bias="0.0">
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <android.support.v7.widget.RecyclerView
 | 
					        <android.support.v7.widget.RecyclerView
 | 
				
			||||||
            android:id="@+id/groupRecycle"
 | 
					            android:id="@+id/groupRecycle"
 | 
				
			||||||
@@ -48,7 +58,7 @@
 | 
				
			|||||||
        android:layout_marginBottom="8dp"
 | 
					        android:layout_marginBottom="8dp"
 | 
				
			||||||
        android:clickable="true"
 | 
					        android:clickable="true"
 | 
				
			||||||
        android:src="@drawable/addoutline"
 | 
					        android:src="@drawable/addoutline"
 | 
				
			||||||
        app:backgroundTint="@color/fui_linkColor"
 | 
					        app:backgroundTint="@color/colorButton"
 | 
				
			||||||
        app:layout_constraintBottom_toBottomOf="parent"
 | 
					        app:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
        app:layout_constraintEnd_toEndOf="parent" />
 | 
					        app:layout_constraintEnd_toEndOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -94,6 +94,7 @@
 | 
				
			|||||||
                    android:id="@+id/groupColor"
 | 
					                    android:id="@+id/groupColor"
 | 
				
			||||||
                    android:layout_width="match_parent"
 | 
					                    android:layout_width="match_parent"
 | 
				
			||||||
                    android:layout_height="wrap_content"
 | 
					                    android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                    android:background="@color/colorButton"
 | 
				
			||||||
                    android:text="Farbe Auswählen" />
 | 
					                    android:text="Farbe Auswählen" />
 | 
				
			||||||
            </LinearLayout>
 | 
					            </LinearLayout>
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
@@ -113,6 +114,7 @@
 | 
				
			|||||||
                    android:id="@+id/groupFinish"
 | 
					                    android:id="@+id/groupFinish"
 | 
				
			||||||
                    android:layout_width="match_parent"
 | 
					                    android:layout_width="match_parent"
 | 
				
			||||||
                    android:layout_height="wrap_content"
 | 
					                    android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                    android:background="@color/colorButton"
 | 
				
			||||||
                    android:text="Fertig" />
 | 
					                    android:text="Fertig" />
 | 
				
			||||||
            </LinearLayout>
 | 
					            </LinearLayout>
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -121,6 +121,7 @@
 | 
				
			|||||||
                    android:id="@+id/itemFinish"
 | 
					                    android:id="@+id/itemFinish"
 | 
				
			||||||
                    android:layout_width="match_parent"
 | 
					                    android:layout_width="match_parent"
 | 
				
			||||||
                    android:layout_height="wrap_content"
 | 
					                    android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                    android:background="@color/colorButton"
 | 
				
			||||||
                    android:text="Fertig" />
 | 
					                    android:text="Fertig" />
 | 
				
			||||||
            </LinearLayout>
 | 
					            </LinearLayout>
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,6 +62,7 @@
 | 
				
			|||||||
                android:ems="10"
 | 
					                android:ems="10"
 | 
				
			||||||
                android:inputType="textPersonName"
 | 
					                android:inputType="textPersonName"
 | 
				
			||||||
                android:text="Shared Link"
 | 
					                android:text="Shared Link"
 | 
				
			||||||
 | 
					                android:textIsSelectable="true"
 | 
				
			||||||
                tools:layout_editor_absoluteY="731dp" />
 | 
					                tools:layout_editor_absoluteY="731dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
@@ -71,13 +72,26 @@
 | 
				
			|||||||
            android:layout_height="match_parent"
 | 
					            android:layout_height="match_parent"
 | 
				
			||||||
            android:gravity="center">
 | 
					            android:gravity="center">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <Button
 | 
					            <ImageButton
 | 
				
			||||||
                android:id="@+id/shareCopy"
 | 
					                android:id="@+id/shareIntentBtn"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:text="in die zwischenablage kopieren" />
 | 
					                android:background="@color/fui_transparent"
 | 
				
			||||||
 | 
					                app:srcCompat="@drawable/share" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!--<TableRow-->
 | 
				
			||||||
 | 
					            <!--android:layout_width="match_parent"-->
 | 
				
			||||||
 | 
					            <!--android:layout_height="match_parent"-->
 | 
				
			||||||
 | 
					            <!--android:gravity="center">-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!--<Button-->
 | 
				
			||||||
 | 
					                <!--android:id="@+id/shareCopy"-->
 | 
				
			||||||
 | 
					                <!--android:layout_width="wrap_content"-->
 | 
				
			||||||
 | 
					                <!--android:layout_height="wrap_content"-->
 | 
				
			||||||
 | 
					                <!--android:text="In die zwischenablage kopieren" />-->
 | 
				
			||||||
 | 
					        <!--</TableRow>-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TableRow
 | 
					        <TableRow
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
            android:layout_height="match_parent"
 | 
					            android:layout_height="match_parent"
 | 
				
			||||||
@@ -87,9 +101,11 @@
 | 
				
			|||||||
                android:id="@+id/delShare"
 | 
					                android:id="@+id/delShare"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:background="@color/colorButton"
 | 
				
			||||||
                android:text=" Share Aufheben" />
 | 
					                android:text=" Share Aufheben" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </TableLayout>
 | 
					    </TableLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</android.support.v7.widget.CardView>
 | 
					</android.support.v7.widget.CardView>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -58,6 +58,7 @@
 | 
				
			|||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:ems="10"
 | 
					                android:ems="10"
 | 
				
			||||||
 | 
					                android:textIsSelectable="true"
 | 
				
			||||||
                android:inputType="textPersonName" />
 | 
					                android:inputType="textPersonName" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -70,6 +71,7 @@
 | 
				
			|||||||
                android:id="@+id/shareAddFinish"
 | 
					                android:id="@+id/shareAddFinish"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:background="@color/colorButton"
 | 
				
			||||||
                android:text="Fertig" />
 | 
					                android:text="Fertig" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -80,6 +80,8 @@
 | 
				
			|||||||
                    android:layout_height="wrap_content"
 | 
					                    android:layout_height="wrap_content"
 | 
				
			||||||
                    android:layout_weight="1"
 | 
					                    android:layout_weight="1"
 | 
				
			||||||
                    android:ems="10"
 | 
					                    android:ems="10"
 | 
				
			||||||
 | 
					                    android:editable="true"
 | 
				
			||||||
 | 
					                    android:textIsSelectable="true"
 | 
				
			||||||
                    android:inputType="textPersonName" />
 | 
					                    android:inputType="textPersonName" />
 | 
				
			||||||
            </LinearLayout>
 | 
					            </LinearLayout>
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
@@ -108,6 +110,8 @@
 | 
				
			|||||||
                    android:layout_height="wrap_content"
 | 
					                    android:layout_height="wrap_content"
 | 
				
			||||||
                    android:layout_weight="1"
 | 
					                    android:layout_weight="1"
 | 
				
			||||||
                    android:ems="10"
 | 
					                    android:ems="10"
 | 
				
			||||||
 | 
					                    android:editable="true"
 | 
				
			||||||
 | 
					                    android:textIsSelectable="true"
 | 
				
			||||||
                    android:inputType="textPersonName" />
 | 
					                    android:inputType="textPersonName" />
 | 
				
			||||||
            </LinearLayout>
 | 
					            </LinearLayout>
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
@@ -147,7 +151,8 @@
 | 
				
			|||||||
                    android:id="@+id/addFertig"
 | 
					                    android:id="@+id/addFertig"
 | 
				
			||||||
                    android:layout_width="match_parent"
 | 
					                    android:layout_width="match_parent"
 | 
				
			||||||
                    android:layout_height="wrap_content"
 | 
					                    android:layout_height="wrap_content"
 | 
				
			||||||
                    android:text="Fertig" />
 | 
					                    android:text="Fertig"
 | 
				
			||||||
 | 
					                    app:backgroundTint="@color/colorButton" />
 | 
				
			||||||
            </LinearLayout>
 | 
					            </LinearLayout>
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
    </TableLayout>
 | 
					    </TableLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,7 +41,8 @@
 | 
				
			|||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:editable="false"
 | 
					                android:editable="false"
 | 
				
			||||||
                android:ems="10"
 | 
					                android:ems="10"
 | 
				
			||||||
                android:inputType="textPersonName" />
 | 
					                android:inputType="textPersonName"
 | 
				
			||||||
 | 
					                android:textIsSelectable="true" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TableRow
 | 
					        <TableRow
 | 
				
			||||||
@@ -49,13 +50,26 @@
 | 
				
			|||||||
            android:layout_height="match_parent"
 | 
					            android:layout_height="match_parent"
 | 
				
			||||||
            android:gravity="center">
 | 
					            android:gravity="center">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <Button
 | 
					            <ImageButton
 | 
				
			||||||
                android:id="@+id/copyButton"
 | 
					                android:id="@+id/shareIntentBtn"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:text="in die zwischenablage kopieren" />
 | 
					                android:background="@color/fui_transparent"
 | 
				
			||||||
 | 
					                app:srcCompat="@drawable/share" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!--<TableRow-->
 | 
				
			||||||
 | 
					            <!--android:layout_width="match_parent"-->
 | 
				
			||||||
 | 
					            <!--android:layout_height="match_parent"-->
 | 
				
			||||||
 | 
					            <!--android:gravity="center">-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!--<Button-->
 | 
				
			||||||
 | 
					                <!--android:id="@+id/copyButton"-->
 | 
				
			||||||
 | 
					                <!--android:layout_width="wrap_content"-->
 | 
				
			||||||
 | 
					                <!--android:layout_height="wrap_content"-->
 | 
				
			||||||
 | 
					                <!--android:text="in die zwischenablage kopieren" />-->
 | 
				
			||||||
 | 
					        <!--</TableRow>-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TableRow
 | 
					        <TableRow
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
            android:layout_height="match_parent"
 | 
					            android:layout_height="match_parent"
 | 
				
			||||||
@@ -65,6 +79,7 @@
 | 
				
			|||||||
                android:id="@+id/delShare"
 | 
					                android:id="@+id/delShare"
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:background="@color/colorButton"
 | 
				
			||||||
                android:text="Listen Sharing beenden!" />
 | 
					                android:text="Listen Sharing beenden!" />
 | 
				
			||||||
        </TableRow>
 | 
					        </TableRow>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,5 @@
 | 
				
			|||||||
    <color name="colorPrimary">#FFFFFF</color>
 | 
					    <color name="colorPrimary">#FFFFFF</color>
 | 
				
			||||||
    <color name="colorPrimaryDark">#00574B</color>
 | 
					    <color name="colorPrimaryDark">#00574B</color>
 | 
				
			||||||
    <color name="colorAccent">#880e4f</color>
 | 
					    <color name="colorAccent">#880e4f</color>
 | 
				
			||||||
 | 
					    <color name="colorButton">@color/fui_linkColor</color>
 | 
				
			||||||
</resources>
 | 
					</resources>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,8 @@
 | 
				
			|||||||
        <item name="colorPrimary">@color/colorPrimary</item>
 | 
					        <item name="colorPrimary">@color/colorPrimary</item>
 | 
				
			||||||
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
 | 
					        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
 | 
				
			||||||
        <item name="colorAccent">@color/colorAccent</item>
 | 
					        <item name="colorAccent">@color/colorAccent</item>
 | 
				
			||||||
 | 
					        <item name="windowActionBar">false</item>
 | 
				
			||||||
 | 
					        <item name="windowNoTitle">true</item>
 | 
				
			||||||
    </style>
 | 
					    </style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <style name="popup_window_animation_phone">
 | 
					    <style name="popup_window_animation_phone">
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user