diff --git a/app/src/androidTest/java/at/smartshopper/smartshopper/ExampleInstrumentedTest.java b/app/src/androidTest/java/at/smartshopper/smartshopper/ExampleInstrumentedTest.java index 83ac8b9..dc4e0cb 100644 --- a/app/src/androidTest/java/at/smartshopper/smartshopper/ExampleInstrumentedTest.java +++ b/app/src/androidTest/java/at/smartshopper/smartshopper/ExampleInstrumentedTest.java @@ -7,7 +7,7 @@ import android.support.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; /** * Instrumented test, which will execute on an Android device. diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/Colorpicker.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/Colorpicker.java index e3b0a40..65cac2b 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/Colorpicker.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/Colorpicker.java @@ -1,12 +1,10 @@ package at.smartshopper.smartshopper.activitys; import android.content.Intent; -import android.content.SharedPreferences; import android.graphics.Color; import android.net.Uri; -import android.preference.PreferenceManager; -import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java index 6d0bbe9..951bc1c 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/Dash.java @@ -11,8 +11,6 @@ import android.os.Bundle; import android.os.Handler; import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; -import android.support.design.widget.TabLayout; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; @@ -29,9 +27,6 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; - -import at.smartshopper.smartshopper.R; - import android.widget.PopupWindow; import android.widget.TabHost; import android.widget.TextView; @@ -43,22 +38,14 @@ import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.InstanceIdResult; -import com.google.gson.JsonSerializer; import com.squareup.picasso.Picasso; import org.json.JSONException; -import org.w3c.dom.Text; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.io.Serializable; import java.sql.SQLException; -import java.util.Base64; import java.util.List; - -import at.smartshopper.smartshopper.customViews.SpaceItemDecoration; +import at.smartshopper.smartshopper.R; import at.smartshopper.smartshopper.db.Database; import at.smartshopper.smartshopper.shoppinglist.Shoppinglist; import at.smartshopper.smartshopper.shoppinglist.ShoppinglistAdapter; @@ -73,6 +60,18 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte private PopupWindow popupWindowAdd, popupShare, popupAddShare, popupEditShare; private String color; private Button colorBtn; + //Für Double Back press to exit + private boolean doubleBackToExitPressedOnce = false; + + /** + * Convertiert eine int farbe in eine hexa dezimale Farbe + * + * @param color Farbe zum umwandeln in int + * @return farbe als hex im string + */ + private static String colorToHexString(int color) { + return String.format("#%06X", 0xFFFFFFFF & color); + } /** * Setzt das atribut color wenn die activity colorpicker beendet wird @@ -91,18 +90,17 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte } } - /** * Holt den msg token - * + *

* SETZT IHN NOCH NED - * - * + *

+ *

* WEITER PROGRAMMIERN - * + *

* MIR FEHLT NOCH DIE DB VON LUKAS */ - private void setMsgId(){ + private void setMsgId() { FirebaseInstanceId.getInstance().getInstanceId() .addOnCompleteListener(new OnCompleteListener() { @Override @@ -126,17 +124,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte }); } - /** - * Convertiert eine int farbe in eine hexa dezimale Farbe - * - * @param color Farbe zum umwandeln in int - * @return farbe als hex im string - */ - private static String colorToHexString(int color) { - return String.format("#%06X", 0xFFFFFFFF & color); - } - - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -258,9 +245,9 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte Picasso.get().load(R.drawable.close).into(addClose); - if(!name.getText().toString().isEmpty()){ + if (!name.getText().toString().isEmpty()) { addFertig.setEnabled(true); - }else{ + } else { addFertig.setEnabled(false); } name.addTextChangedListener(new TextWatcher() { @@ -276,9 +263,9 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte @Override public void afterTextChanged(Editable s) { - if(!name.getText().toString().isEmpty()){ + if (!name.getText().toString().isEmpty()) { addFertig.setEnabled(true); - }else{ + } else { addFertig.setEnabled(false); } } @@ -401,7 +388,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte ownswiperefresh.setRefreshing(false); } - /** * Macht eine Datenbankverbindung und holt alle Shoppinglists die mit dem User geteilt werden, diese werden auf dem recycled view angezeigt * @@ -472,7 +458,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte startActivity(intent); } - @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. @@ -480,7 +465,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte return true; } - /** * Menu item Action listener * @@ -528,9 +512,9 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte }); final Button finish = (Button) popupContentView.findViewById(R.id.shareAddFinish); - if(!linkEingabe.getText().toString().isEmpty()){ + if (!linkEingabe.getText().toString().isEmpty()) { finish.setEnabled(true); - }else{ + } else { finish.setEnabled(false); } linkEingabe.addTextChangedListener(new TextWatcher() { @@ -546,9 +530,9 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte @Override public void afterTextChanged(Editable s) { - if(!linkEingabe.getText().toString().isEmpty()){ + if (!linkEingabe.getText().toString().isEmpty()) { finish.setEnabled(true); - }else{ + } else { finish.setEnabled(false); } } @@ -561,7 +545,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte String invite = linkEingabe.getText().toString(); - try { db.addInviteLink(invite, FirebaseAuth.getInstance().getCurrentUser().getUid()); } catch (SQLException e) { @@ -602,10 +585,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte popupAddShare.update(); } - - //Für Double Back press to exit - private boolean doubleBackToExitPressedOnce = false; - /** * 2 Mal Zurück Drücken um die App zu schließen */ @@ -635,7 +614,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte * * @param sl_id Die Shoppingliste dieser Id wird gelöscht */ - private void onItemClickContainer(String sl_id){ + private void onItemClickContainer(String sl_id) { try { db.delShoppinglist(sl_id); refreshOwnShoppinglist(FirebaseAuth.getInstance().getCurrentUser().getUid()); @@ -649,7 +628,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte * * @param sl_id Die Shoppinglist die bearbeitet werden soll */ - private void onChangeItemClickContainer(String sl_id, View v){ + private void onChangeItemClickContainer(String sl_id, View v) { try { showShoppinglistEditView(true, sl_id, "Shoppingliste bearbeiten", v); } catch (SQLException e) { @@ -659,7 +638,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte } } - private void onShoppinglistClickContainer(String sl_id, View v){ + private void onShoppinglistClickContainer(String sl_id, View v) { Intent intent = new Intent(this, ShoppinglistDetails.class); intent.putExtra("sl_id", sl_id); @@ -688,10 +667,11 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte /** * Holt den Invitelink einer Shoppingliste + * * @param sl_id Die Shoppingliste von der der invitelink gewünscht ist * @return */ - private String getInviteLink(String sl_id){ + private String getInviteLink(String sl_id) { String link = null; try { if (db.isShared(sl_id)) { @@ -781,9 +761,10 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte /** * Kopiert einen Text in die Zwischenablage + * * @param text Der Text, welcher zu kopieren ist */ - private void copyText(String text){ + private void copyText(String text) { ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("SmartShopper", text); clipboard.setPrimaryClip(clip); diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/DoneItemActivity.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/DoneItemActivity.java index aab8eb3..0a07fe1 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/DoneItemActivity.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/DoneItemActivity.java @@ -1,8 +1,8 @@ package at.smartshopper.smartshopper.activitys; +import android.os.Bundle; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -14,8 +14,6 @@ import java.util.List; import at.smartshopper.smartshopper.R; import at.smartshopper.smartshopper.customViews.SpaceItemDecoration; import at.smartshopper.smartshopper.db.Database; -import at.smartshopper.smartshopper.shoppinglist.Shoppinglist; -import at.smartshopper.smartshopper.shoppinglist.ShoppinglistSharedAdapter; import at.smartshopper.smartshopper.shoppinglist.details.item.Item; import at.smartshopper.smartshopper.shoppinglist.details.item.ItemShoppinglistDetailsAdapter; @@ -58,6 +56,7 @@ public class DoneItemActivity extends AppCompatActivity { /** * Zeigt alle erledigten Items an + * * @throws SQLException * @throws JSONException */ @@ -68,7 +67,7 @@ public class DoneItemActivity extends AppCompatActivity { RecyclerView.ItemDecoration itemDecoration; while (doneRecycle.getItemDecorationCount() > 0 - &&(itemDecoration = doneRecycle.getItemDecorationAt(0)) != null) { + && (itemDecoration = doneRecycle.getItemDecorationAt(0)) != null) { doneRecycle.removeItemDecoration(itemDecoration); } doneRecycle.addItemDecoration(new SpaceItemDecoration(spacingInPixels)); diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/ItemListActivity.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/ItemListActivity.java index 286d5b4..fc7e05b 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/ItemListActivity.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/ItemListActivity.java @@ -58,7 +58,7 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit this.groupNameString = myIntent.getStringExtra("groupNameString"); // will return "SecondKeyValue" this.db = new Database(); - this.groupName = (TextView)findViewById(R.id.groupViewName); + this.groupName = (TextView) findViewById(R.id.groupViewName); this.groupName.setText(groupNameString); this.colorView = (View) findViewById(R.id.itemListColorView); @@ -86,7 +86,7 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit } }); - this.fabAddItem = (FloatingActionButton)findViewById(R.id.fabItemAdd); + this.fabAddItem = (FloatingActionButton) findViewById(R.id.fabItemAdd); fabAddItem.setOnClickListener(new View.OnClickListener() { @Override @@ -119,7 +119,7 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit RecyclerView.ItemDecoration itemDecoration; while (itemsListRecycler.getItemDecorationCount() > 0 - &&(itemDecoration = itemsListRecycler.getItemDecorationAt(0)) != null) { + && (itemDecoration = itemsListRecycler.getItemDecorationAt(0)) != null) { itemsListRecycler.removeItemDecoration(itemDecoration); } itemsListRecycler.addItemDecoration(new SpaceItemDecoration(spacingInPixels)); @@ -195,9 +195,9 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit colorString = "ffffff"; } - if(!name.getText().toString().isEmpty()){ + if (!name.getText().toString().isEmpty()) { finish.setEnabled(true); - }else{ + } else { finish.setEnabled(false); } TextWatcher tw = new TextWatcher() { @@ -213,9 +213,9 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit @Override public void afterTextChanged(Editable s) { - if(!name.getText().toString().isEmpty() && !count.getText().toString().isEmpty()){ + if (!name.getText().toString().isEmpty() && !count.getText().toString().isEmpty()) { finish.setEnabled(true); - }else{ + } else { finish.setEnabled(false); } } diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java index 3bb7cd9..0f628a8 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java @@ -1,11 +1,11 @@ package at.smartshopper.smartshopper.activitys; import android.content.Intent; +import android.os.Bundle; import android.os.Handler; import android.support.annotation.NonNull; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; @@ -27,9 +27,6 @@ import com.google.firebase.auth.FirebaseUser; import com.google.firebase.auth.GoogleAuthProvider; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.InstanceIdResult; -import com.google.firebase.messaging.FirebaseMessaging; - -import org.json.JSONException; import java.sql.SQLException; @@ -40,11 +37,12 @@ public class LoginActivity extends AppCompatActivity { private static final String TAG = "SMASH"; private static final int RC_SIGN_IN = 1; - private FirebaseAuth mAuth; - private Database db; - SignInButton button; GoogleSignInClient mGoogleSignInClient; + private FirebaseAuth mAuth; + private Database db; + //Für Double Back press to exit + private boolean doubleBackToExitPressedOnce = false; @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -142,7 +140,6 @@ public class LoginActivity extends AppCompatActivity { }); } - /** * Erstellt einen Account mit Email und Passwort * @@ -170,7 +167,6 @@ public class LoginActivity extends AppCompatActivity { }); } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -244,7 +240,6 @@ public class LoginActivity extends AppCompatActivity { }); } - /** * Prüft ob der User bereits eingelogt ist. Wenn ja, wird er auf die Dash Activity weitergeleitet */ @@ -259,9 +254,6 @@ public class LoginActivity extends AppCompatActivity { } - //Für Double Back press to exit - private boolean doubleBackToExitPressedOnce = false; - /** * 2 Mal Zurück Drücken um die App zu schließen */ diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/ShoppinglistDetails.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/ShoppinglistDetails.java index e5d0ee6..ee66726 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/ShoppinglistDetails.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/ShoppinglistDetails.java @@ -1,10 +1,10 @@ package at.smartshopper.smartshopper.activitys; +import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.app.Activity; import android.support.design.widget.FloatingActionButton; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; @@ -22,14 +22,10 @@ import android.widget.PopupWindow; import android.widget.TextView; import com.google.firebase.auth.FirebaseAuth; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import com.squareup.picasso.Picasso; import org.json.JSONException; -import java.io.ByteArrayInputStream; -import java.io.IOException; import java.sql.SQLException; import java.util.List; @@ -50,6 +46,16 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr private Button colorBtn; private SwipeRefreshLayout detailsSwiperefresh; + /** + * Convertiert eine int farbe in eine hexa dezimale Farbe + * + * @param color Farbe zum umwandeln in int + * @return farbe als hex im string + */ + private static String colorToHexString(int color) { + return String.format("#%06X", 0xFFFFFFFF & color); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -110,7 +116,6 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr } - /** * Zeigt ein Popup zum bearbeiten und erstellen von groups * Wenn from db true ist wird die groupid benötigt @@ -151,9 +156,9 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr colorString = "ffffff"; } - if(!name.getText().toString().isEmpty()){ + if (!name.getText().toString().isEmpty()) { finish.setEnabled(true); - }else{ + } else { finish.setEnabled(false); } name.addTextChangedListener(new TextWatcher() { @@ -169,9 +174,9 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr @Override public void afterTextChanged(Editable s) { - if(!name.getText().toString().isEmpty()){ + if (!name.getText().toString().isEmpty()) { finish.setEnabled(true); - }else{ + } else { finish.setEnabled(false); } } @@ -264,16 +269,6 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr } } - /** - * Convertiert eine int farbe in eine hexa dezimale Farbe - * - * @param color Farbe zum umwandeln in int - * @return farbe als hex im string - */ - private static String colorToHexString(int color) { - return String.format("#%06X", 0xFFFFFFFF & color); - } - /** * Zeigt das Card View der Shoppinglist Details an * @@ -287,7 +282,7 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr RecyclerView.ItemDecoration itemDecoration; while (detailsRecycleView.getItemDecorationCount() > 0 - &&(itemDecoration = detailsRecycleView.getItemDecorationAt(0)) != null) { + && (itemDecoration = detailsRecycleView.getItemDecorationAt(0)) != null) { detailsRecycleView.removeItemDecoration(itemDecoration); } detailsRecycleView.addItemDecoration(new SpaceItemDecoration(spacingInPixels)); diff --git a/app/src/main/java/at/smartshopper/smartshopper/customViews/RoundCornersTransformation.java b/app/src/main/java/at/smartshopper/smartshopper/customViews/RoundCornersTransformation.java index 71632ec..21feeca 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/customViews/RoundCornersTransformation.java +++ b/app/src/main/java/at/smartshopper/smartshopper/customViews/RoundCornersTransformation.java @@ -37,9 +37,9 @@ public class RoundCornersTransformation implements com.squareup.picasso.Transfor /** * 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 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, @@ -50,49 +50,16 @@ public class RoundCornersTransformation implements com.squareup.picasso.Transfor 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 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 @@ -115,31 +82,31 @@ public class RoundCornersTransformation implements com.squareup.picasso.Transfor path.moveTo(rightX, topY + ry); if (topRight) path.rQuadTo(0, -ry, -rx, -ry);//top-right corner - else{ + else { path.rLineTo(0, -ry); - path.rLineTo(-rx,0); + path.rLineTo(-rx, 0); } path.rLineTo(-widthMinusCorners, 0); if (topLeft) path.rQuadTo(-rx, 0, -rx, ry); //top-left corner - else{ + else { path.rLineTo(-rx, 0); - path.rLineTo(0,ry); + path.rLineTo(0, ry); } path.rLineTo(0, heightMinusCorners); if (bottomLeft) path.rQuadTo(0, ry, rx, ry);//bottom-left corner - else{ + else { path.rLineTo(0, ry); - path.rLineTo(rx,0); + path.rLineTo(rx, 0); } path.rLineTo(widthMinusCorners, 0); if (bottomRight) path.rQuadTo(rx, 0, rx, -ry); //bottom-right corner - else{ - path.rLineTo(rx,0); + else { + path.rLineTo(rx, 0); path.rLineTo(0, -ry); } @@ -149,4 +116,37 @@ public class RoundCornersTransformation implements com.squareup.picasso.Transfor return path; } + + @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; + } } diff --git a/app/src/main/java/at/smartshopper/smartshopper/db/Database.java b/app/src/main/java/at/smartshopper/smartshopper/db/Database.java index df5eab3..a032375 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/db/Database.java +++ b/app/src/main/java/at/smartshopper/smartshopper/db/Database.java @@ -1,24 +1,18 @@ package at.smartshopper.smartshopper.db; import android.os.StrictMode; -import android.util.Log; import com.google.firebase.auth.FirebaseAuth; -import com.google.gson.JsonSerializer; import org.json.JSONException; import org.json.JSONObject; -import java.io.Serializable; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Date; import java.util.List; import at.smartshopper.smartshopper.shoppinglist.Member; @@ -29,7 +23,6 @@ import at.smartshopper.smartshopper.shoppinglist.details.item.Item; public class Database { - private transient Connection conect; final private String HOST = "188.166.124.80"; final private String DB_NAME = "smartshopperdb"; final private String USERNAME = "smartshopper-user"; @@ -39,6 +32,7 @@ public class Database { final private int groupIdLength = 10; final private int itemIdLength = 10; final private int inviteLength = 50; + private transient Connection conect; /** @@ -111,7 +105,7 @@ public class Database { String SQL = "SELECT row_to_json(\"User\") as obj FROM \"User\" JOIN \"Shoppinglist_member\" USING (username) WHERE sl_id = ?"; ArrayList members = new ArrayList(); List jsonObjects = executeQueryJSONObject(SQL, sl_id); - for(int i = 0; i < jsonObjects.size(); i++){ + for (int i = 0; i < jsonObjects.size(); i++) { JSONObject jsonObject = jsonObjects.get(i); members.add(new Member(jsonObject.getString("username"), jsonObject.getString("message_id"), jsonObject.getString("name"), jsonObject.getString("picture"), jsonObject.getString("email"))); } @@ -133,6 +127,7 @@ public class Database { /** * Stopt eine Einladung, indem der Member die liste nichtmehr sehen kann + * * @param invitelink Der invitelink * @throws SQLException * @throws JSONException @@ -143,7 +138,7 @@ public class Database { } - private String getinviteFromLink(String eingabeLink){ + private String getinviteFromLink(String eingabeLink) { String delString = null; if (eingabeLink.contains("https://")) { delString = "https://www.smartshopper.cf/invite/"; @@ -158,6 +153,7 @@ public class Database { return invite; } + /** * Gibt den Invite link einer Shoppingliste zurück, wenn keiner vorhanden ist --> null * @@ -227,7 +223,7 @@ public class Database { String SQL = "SELECT row_to_json(\"Shoppinglist\") AS obj FROM \"Shoppinglist\" WHERE sl_id = ?"; boolean returnBoolean = false; List jsonObjects = executeQueryJSONObject(SQL, sl_id); - for(int i = 0; i < jsonObjects.size(); i++){ + for (int i = 0; i < jsonObjects.size(); i++) { JSONObject jsonObject = jsonObjects.get(i); if (jsonObject.getString("invitelink").equals("null")) { returnBoolean = false; @@ -740,7 +736,7 @@ public class Database { /** * Führt ein SQL Befehl aus und gibt die antwort in ein JSONObject List * - * @param SQL Der SQL der auszuführen ist + * @param SQL Der SQL der auszuführen ist * @return Das ergebnis als JSONObject * @throws SQLException * @throws JSONException @@ -758,7 +754,7 @@ public class Database { /** * Führt ein SQL Befehl aus und gibt die antwort in ein JSONObject List * - * @param SQL Der SQL der auszuführen ist + * @param SQL Der SQL der auszuführen ist * @return Das ergebnis als JSONObject * @throws SQLException * @throws JSONException diff --git a/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java b/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java index e6cb332..9562edb 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java +++ b/app/src/main/java/at/smartshopper/smartshopper/messaging/MyFirebaseMessagingService.java @@ -8,12 +8,12 @@ import android.media.RingtoneManager; import android.net.Uri; import android.support.v4.app.NotificationCompat; import android.util.Log; + import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; - -import at.smartshopper.smartshopper.activitys.Dash; import at.smartshopper.smartshopper.R; +import at.smartshopper.smartshopper.activitys.Dash; public class MyFirebaseMessagingService extends FirebaseMessagingService { @@ -48,7 +48,7 @@ public class MyFirebaseMessagingService extends FirebaseMessagingService { /** * Persist token to third-party servers. - * + *

* Modify this method to associate the user's FCM InstanceID token with any server-side account * maintained by your application. * @@ -88,8 +88,8 @@ public class MyFirebaseMessagingService extends FirebaseMessagingService { //if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { // NotificationChannel channel = new NotificationChannel(channelId, // "Channel human readable title", - // NotificationManager.IMPORTANCE_DEFAULT); - // notificationManager.createNotificationChannel(channel); + // NotificationManager.IMPORTANCE_DEFAULT); + // notificationManager.createNotificationChannel(channel); //} notificationManager.notify(0 /* ID of notification */, notificationBuilder.build()); diff --git a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Member.java b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Member.java index d9953ef..2ce7069 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Member.java +++ b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Member.java @@ -3,7 +3,7 @@ package at.smartshopper.smartshopper.shoppinglist; public class Member { private String uid, msid, name, pic, email; - public Member(String uid, String msid, String name, String pic, String email){ + public Member(String uid, String msid, String name, String pic, String email) { this.uid = uid; this.msid = msid; this.name = name; diff --git a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Shoppinglist.java b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Shoppinglist.java index b8f680e..bdd9898 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Shoppinglist.java +++ b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/Shoppinglist.java @@ -3,18 +3,18 @@ package at.smartshopper.smartshopper.shoppinglist; public class Shoppinglist { - private String sl_id, name, description, invitelink, color; /** * Erstellt ein Object von Shoppinglist. - * @param sl_id Shoppinglist ID - * @param name Shoppinglist Name + * + * @param sl_id Shoppinglist ID + * @param name Shoppinglist Name * @param description Shoppinglist Beschreibung - * @param invitelink Shoppinglist Einladungslink - * @param color Shoppinglist Farbe + * @param invitelink Shoppinglist Einladungslink + * @param color Shoppinglist Farbe */ - public Shoppinglist(String sl_id, String name, String description, String invitelink, String color){ + public Shoppinglist(String sl_id, String name, String description, String invitelink, String color) { this.sl_id = sl_id; this.name = name; this.description = description; @@ -22,23 +22,29 @@ public class Shoppinglist { this.color = color; } - public String getSlId(){ + public String getSlId() { return this.sl_id; } - public String getname(){ + public String getname() { return this.name; } - public String getdescription(){return this.description;} + public String getdescription() { + return this.description; + } - public String getInvitelink(){return this.invitelink;} + public String getInvitelink() { + return this.invitelink; + } - public String getcolor(){ return this.color;} + public String getcolor() { + return this.color; + } @Override - public String toString(){ - return "SL_ID: " + sl_id + " name: " + name + " description: " + description + " invitelink: " + invitelink + " color: "+ color; + public String toString() { + return "SL_ID: " + sl_id + " name: " + name + " description: " + description + " invitelink: " + invitelink + " color: " + color; } } diff --git a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/ShoppinglistAdapter.java b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/ShoppinglistAdapter.java index 77b4b39..d44d398 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/ShoppinglistAdapter.java +++ b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/ShoppinglistAdapter.java @@ -1,11 +1,8 @@ package at.smartshopper.smartshopper.shoppinglist; import android.content.Context; -import android.content.Intent; import android.graphics.Color; -import android.media.Image; import android.net.Uri; -import android.os.Bundle; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -20,11 +17,9 @@ import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.squareup.picasso.Picasso; -import java.sql.SQLException; import java.util.List; import at.smartshopper.smartshopper.R; -import at.smartshopper.smartshopper.activitys.ShoppinglistDetails; import at.smartshopper.smartshopper.customViews.RoundCornersTransformation; import at.smartshopper.smartshopper.db.Database; @@ -140,6 +135,7 @@ public class ShoppinglistAdapter extends RecyclerView.Adapter { @@ -97,26 +89,14 @@ public class ItemAdapter extends RecyclerView.Adapter } - public interface OnItemDelClicked { - void onItemDelClicked(String item_id, String group_id, String sl_id); - } - public void setItemDelClick(OnItemDelClicked onItemDelClicked) { this.onItemDelClicked = onItemDelClicked; } - public interface OnItemEditClicked { - void onItemEditClicked(String item_id, String group_id, String sl_id, View v); - } - public void setOnItemEditClick(OnItemEditClicked onItemEditClick) { this.onItemEditClick = onItemEditClick; } - public interface OnItemCheckClicked { - void onItemCheckClicked(String uid, String name, String itemId, String groupId, String sl_id, int count); - } - public void setOnItemCheckClick(OnItemCheckClicked onItemCheckClick) { this.onItemCheckClick = onItemCheckClick; } @@ -126,6 +106,18 @@ public class ItemAdapter extends RecyclerView.Adapter return data.size(); } + public interface OnItemDelClicked { + void onItemDelClicked(String item_id, String group_id, String sl_id); + } + + public interface OnItemEditClicked { + void onItemEditClicked(String item_id, String group_id, String sl_id, View v); + } + + public interface OnItemCheckClicked { + void onItemCheckClicked(String uid, String name, String itemId, String groupId, String sl_id, int count); + } + /** * Haltet alle elemente. Durch ein Objekt von dem kann jedes Element welches hier drinnen angeführt ist verwendet werden */ diff --git a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/details/item/ItemShoppinglistDetailsAdapter.java b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/details/item/ItemShoppinglistDetailsAdapter.java index 7d812e7..778e14f 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/details/item/ItemShoppinglistDetailsAdapter.java +++ b/app/src/main/java/at/smartshopper/smartshopper/shoppinglist/details/item/ItemShoppinglistDetailsAdapter.java @@ -6,20 +6,13 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.ImageView; import android.widget.TextView; -import com.google.firebase.auth.FirebaseAuth; -import com.squareup.picasso.Picasso; - import org.json.JSONException; import java.sql.SQLException; import java.util.List; - import at.smartshopper.smartshopper.R; import at.smartshopper.smartshopper.db.Database; @@ -78,11 +71,6 @@ public class ItemShoppinglistDetailsAdapter extends RecyclerView.Adapter - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_colorpicker.xml b/app/src/main/res/layout/activity_colorpicker.xml index 2925bb6..80dbec1 100644 --- a/app/src/main/res/layout/activity_colorpicker.xml +++ b/app/src/main/res/layout/activity_colorpicker.xml @@ -9,7 +9,7 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" - android:padding="16dp" > + android:padding="16dp"> + android:orientation="horizontal"> + android:orientation="horizontal">