Push wird bei jeder änderung geschickt
Push wird geschickt bei: Item ändern, erstellen, löschen, erledigen Gruppe ändern, erstellen, löschen Shoppingliste bearbeiten, sharing aufheben
This commit is contained in:
parent
4eda7a13b2
commit
42747e6a9e
@ -292,7 +292,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
||||
addFertig.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
String pushEndString;
|
||||
if (fromDB) {
|
||||
try {
|
||||
db.editShoppinglist(sl_idString, name.getText().toString(), description.getText().toString(), color);
|
||||
@ -304,6 +304,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pushEndString = " wurde geändert!";
|
||||
} else {
|
||||
try {
|
||||
db.addShoppinglist(name.getText().toString(), description.getText().toString(), username, color);
|
||||
@ -315,8 +316,18 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pushEndString = " wurde erstellt!";
|
||||
}
|
||||
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_idString));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_idString));
|
||||
myFirebaseSender.sendMessage(name.getText().toString() + pushEndString +" Von " + db.getUser(username).getName(),name.getText().toString() + pushEndString);
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
@ -690,7 +701,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShareClick(String sl_id, View v) {
|
||||
public void onShareClick(final String sl_id, View v) {
|
||||
final String link = getInviteLink(sl_id);
|
||||
|
||||
final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
|
||||
@ -723,6 +734,23 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
||||
delShare.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Shoppinglist spl = null;
|
||||
try {
|
||||
spl = db.getShoppinglist(db.getSlIdFromInvite(finalLink));
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_id));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_id));
|
||||
myFirebaseSender.sendMessage("Das Sharing von " + spl.getname() + " wurde von " + db.getUser(FirebaseAuth.getInstance().getCurrentUser().getUid()).getName() + " aufgehoben!",spl.getname() + " sharing wurde geändert!");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
db.deleteInvite(finalLink);
|
||||
@ -784,13 +812,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte
|
||||
@Override
|
||||
public void sharedOnChangeItemClick(String sl_id, View v) {
|
||||
onChangeItemClickContainer(sl_id, v);
|
||||
try {
|
||||
new MyFirebaseSender(db.getMembers(sl_id)).sendMessage("Eine ihrer Shoppinglisten wurde geändert", "MY_ACTION");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -21,6 +21,7 @@ import android.widget.ImageButton;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
import org.json.JSONException;
|
||||
@ -31,6 +32,7 @@ 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.messaging.MyFirebaseSender;
|
||||
import at.smartshopper.smartshopper.shoppinglist.details.item.Item;
|
||||
import at.smartshopper.smartshopper.shoppinglist.details.item.ItemAdapter;
|
||||
|
||||
@ -145,7 +147,9 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
|
||||
@Override
|
||||
public void onItemDelClicked(String item_id, String group_id, String sl_id) {
|
||||
Item item = null;
|
||||
try {
|
||||
item = db.getItem(item_id);
|
||||
swipeRefreshLayoutItem.setRefreshing(true);
|
||||
db.deleteItem(item_id, group_id, sl_id);
|
||||
showItems(group_id, sl_id);
|
||||
@ -155,6 +159,15 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_id));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_id));
|
||||
myFirebaseSender.sendMessage(item.getName() + " wurde von " + db.getUser(FirebaseAuth.getInstance().getCurrentUser().getUid()).getName() + " gelöscht!","Item: " + item.getName() + " wurde gelöscht!");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -226,6 +239,7 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
finish.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String pushEndSting;
|
||||
if (fromDB) {
|
||||
try {
|
||||
db.editItem(item_id, group_id, sl_id, name.getText().toString(), Integer.parseInt(count.getText().toString()));
|
||||
@ -237,6 +251,7 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pushEndSting = " wurde geändert!";
|
||||
} else {
|
||||
try {
|
||||
db.addItem(group_id, sl_id, name.getText().toString(), Integer.parseInt(count.getText().toString()));
|
||||
@ -248,6 +263,16 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pushEndSting = " wurde erstellt!";
|
||||
}
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_id));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_id));
|
||||
myFirebaseSender.sendMessage(name.getText().toString() + pushEndSting + " Von: " + db.getUser(FirebaseAuth.getInstance().getCurrentUser().getUid()).getName(),"Item: " + name.getText().toString() + pushEndSting);
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -279,7 +304,9 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
|
||||
@Override
|
||||
public void onItemCheckClicked(String uid, String name, String itemId, String groupId, String sl_id, int count) {
|
||||
Item item = null;
|
||||
try {
|
||||
item = db.getItem(itemId);
|
||||
swipeRefreshLayoutItem.setRefreshing(true);
|
||||
db.setDoneItem(uid, name, itemId, groupId, sl_id, count);
|
||||
showItems(group_id, sl_id);
|
||||
@ -289,5 +316,15 @@ public class ItemListActivity extends Activity implements ItemAdapter.OnItemEdit
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_id));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_id));
|
||||
myFirebaseSender.sendMessage(item.getName() + " wurde von " + db.getUser(FirebaseAuth.getInstance().getCurrentUser().getUid()).getName() + " gekauft!","Item Erledigt: " + item.getName() + "!");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -86,8 +86,12 @@ public class LoginActivity extends AppCompatActivity {
|
||||
String uid = user.getUid();
|
||||
String name = user.getDisplayName();
|
||||
String email = user.getEmail();
|
||||
String picture = user.getPhotoUrl().toString();
|
||||
|
||||
String picture = " ";
|
||||
try {
|
||||
picture = user.getPhotoUrl().toString();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
// Get new Instance ID token
|
||||
String token = task.getResult().getToken();
|
||||
|
||||
|
@ -32,6 +32,7 @@ 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.messaging.MyFirebaseSender;
|
||||
import at.smartshopper.smartshopper.shoppinglist.Shoppinglist;
|
||||
import at.smartshopper.smartshopper.shoppinglist.details.Details;
|
||||
import at.smartshopper.smartshopper.shoppinglist.details.DetailsAdapter;
|
||||
@ -185,6 +186,7 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr
|
||||
finish.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String pushEndString;
|
||||
if (fromDB) {
|
||||
try {
|
||||
db.editGroup(sl_id, groupid, name.getText().toString(), colorString, "");
|
||||
@ -196,17 +198,30 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pushEndString = " wurde geändert!";
|
||||
} else {
|
||||
try {
|
||||
db.addGroup(sl_id, name.getText().toString(), colorString, "");
|
||||
showDetails(sl_id);
|
||||
popupWindow.dismiss();
|
||||
colorString = "ffffff";
|
||||
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
pushEndString = " wurde erstellt!";
|
||||
}
|
||||
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_id));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_id));
|
||||
myFirebaseSender.sendMessage(name.getText().toString() + pushEndString + " Von: " + db.getUser(username).getName(),"Gruppe: " + name.getText().toString() + pushEndString);
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -314,7 +329,9 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr
|
||||
|
||||
@Override
|
||||
public void onGroupDeleteClick(String sl_id, String group_id, View v) {
|
||||
Group group = null;
|
||||
try {
|
||||
group = db.getGroup(group_id, sl_id);
|
||||
detailsSwiperefresh.setRefreshing(true);
|
||||
db.deleteGroup(group_id, sl_id);
|
||||
showDetails(sl_id);
|
||||
@ -324,6 +341,15 @@ public class ShoppinglistDetails extends Activity implements DetailsAdapter.OnGr
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
MyFirebaseSender myFirebaseSender = new MyFirebaseSender(db.getMembers(sl_id));
|
||||
myFirebaseSender.addMember(db.getAdmin(sl_id));
|
||||
myFirebaseSender.sendMessage(group.getGroupName() + " wurde von " + db.getUser(FirebaseAuth.getInstance().getCurrentUser().getUid()).getName() + " gelöscht!","Gruppe: " + group.getGroupName() + " wurde gelöscht!");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,6 +3,7 @@ package at.smartshopper.smartshopper.db;
|
||||
import android.os.StrictMode;
|
||||
|
||||
import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.messaging.FirebaseMessaging;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
@ -92,7 +93,48 @@ public class Database {
|
||||
public Member getAdmin(String sl_id) throws SQLException, JSONException {
|
||||
String SQL = "SELECT row_to_json(\"User\") as obj FROM \"User\" JOIN \"Shoppinglist_admin\" USING (username) WHERE sl_id = ?";
|
||||
JSONObject jsonObject = new JSONObject(executeQuery(SQL, sl_id));
|
||||
return new Member(jsonObject.getString("username"), jsonObject.getString("message_id"), jsonObject.getString("name"), jsonObject.getString("picture"), jsonObject.getString("email"));
|
||||
return generateNewSecureMember(jsonObject.getString("username"), jsonObject.getString("message_id"), jsonObject.getString("name"), jsonObject.getString("picture"), jsonObject.getString("email"));
|
||||
}
|
||||
|
||||
public Member getUser(String uid) throws SQLException, JSONException {
|
||||
String SQL = "SELECT row_to_json(\"User\") FROM \"User\" WHERE username = ?";
|
||||
JSONObject jsonObject = new JSONObject(executeQuery(SQL, uid));
|
||||
return generateNewSecureMember(jsonObject.getString("username"), jsonObject.getString("message_id"), jsonObject.getString("name"), jsonObject.getString("picture"), jsonObject.getString("email"));
|
||||
}
|
||||
|
||||
private Member generateNewSecureMember(String username, String message_id, String name, String picture, String email) throws SQLException {
|
||||
String newusername = "", newmessage_id = "", newname = "", newpicture = "", newemail = "";
|
||||
if(username.isEmpty()){
|
||||
newusername = "EMPTY";
|
||||
}else {
|
||||
newusername = username;
|
||||
}
|
||||
if(message_id.isEmpty()){
|
||||
newmessage_id = "EMPTY";
|
||||
}else {
|
||||
newmessage_id = message_id;
|
||||
}
|
||||
if(name.isEmpty()){
|
||||
newname = "EMPTY";
|
||||
}else {
|
||||
newname = name;
|
||||
}
|
||||
if(picture.isEmpty() || picture.equals(" ")){
|
||||
newpicture = "https://i0.wp.com/www.windowspower.de/wp-content/uploads/2015/10/profilbilde-windows-10.jpg?fit=610%2C340&ssl=1";
|
||||
}else {
|
||||
newpicture = picture;
|
||||
}
|
||||
if(email.isEmpty()){
|
||||
newemail = "EMPTY";
|
||||
}else {
|
||||
newemail = email;
|
||||
}
|
||||
if(username.equals(newusername)) {
|
||||
if (!name.equals(newname) || !message_id.equals(newmessage_id) || !picture.equals(newpicture) || !email.equals(newemail)) {
|
||||
updateUser(username, newmessage_id, newname, newpicture, newemail);
|
||||
}
|
||||
}
|
||||
return new Member(newusername, newmessage_id, newname, newpicture, newemail);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -176,7 +218,7 @@ public class Database {
|
||||
* @throws SQLException
|
||||
* @throws JSONException
|
||||
*/
|
||||
private String getSlIdFromInvite(String invitelink) throws SQLException, JSONException {
|
||||
public String getSlIdFromInvite(String invitelink) throws SQLException, JSONException {
|
||||
String SQL = "Select sl_id from \"Shoppinglist\" WHERE invitelink = ?";
|
||||
String returnSl_id = executeQuery(SQL, getinviteFromLink(invitelink));
|
||||
return returnSl_id;
|
||||
|
@ -2,22 +2,14 @@ package at.smartshopper.smartshopper.messaging;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.firebase.messaging.FirebaseMessaging;
|
||||
import com.google.firebase.messaging.RemoteMessage;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import at.smartshopper.smartshopper.R;
|
||||
import at.smartshopper.smartshopper.shoppinglist.Member;
|
||||
import cz.msebera.android.httpclient.HttpResponse;
|
||||
import cz.msebera.android.httpclient.NameValuePair;
|
||||
import cz.msebera.android.httpclient.client.HttpClient;
|
||||
import cz.msebera.android.httpclient.client.entity.UrlEncodedFormEntity;
|
||||
import cz.msebera.android.httpclient.client.methods.HttpPost;
|
||||
import cz.msebera.android.httpclient.client.methods.HttpGet;
|
||||
import cz.msebera.android.httpclient.impl.client.DefaultHttpClient;
|
||||
import cz.msebera.android.httpclient.message.BasicNameValuePair;
|
||||
|
||||
public class MyFirebaseSender {
|
||||
|
||||
@ -31,31 +23,42 @@ public class MyFirebaseSender {
|
||||
messageIds = tmp;
|
||||
}
|
||||
|
||||
public void addMember(Member member){
|
||||
if(!messageIds.contains(member.getMsid())){
|
||||
messageIds.add(member.getMsid());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sendet die Firebase Messages zum server
|
||||
*
|
||||
* @param message Push Nachricht
|
||||
* @param action Push action
|
||||
* @param title Push title
|
||||
*/
|
||||
public void sendMessage(String message, String action) {
|
||||
FirebaseMessaging firebaseMessaging = FirebaseMessaging.getInstance();
|
||||
public void sendMessage(String message, String title) {
|
||||
message = message.replace(" ", "%20");
|
||||
title = title.replace(" ", "%20");
|
||||
//FirebaseMessaging firebaseMessaging = FirebaseMessaging.getInstance();
|
||||
for (int i = 0; messageIds.size() > i; i++) {
|
||||
|
||||
try {
|
||||
/*
|
||||
firebaseMessaging.send(new RemoteMessage.Builder(R.string.firebase_sender_id + "@fcm.googleapis.com/fcm/")
|
||||
.setMessageId(messageIds.get(i))
|
||||
.addData("my_message", message)
|
||||
.addData("LoginActivity", action)
|
||||
.build());
|
||||
*/
|
||||
|
||||
// Create a new HttpClient and Post Header
|
||||
HttpClient httpclient = new DefaultHttpClient();
|
||||
HttpPost httppost = new HttpPost("https://www.smartshopper.cf/push/" + messageIds.get(i));
|
||||
HttpGet httpGet = new HttpGet("https://www.smartshopper.cf/push/" + messageIds.get(i) + "/" + message + "/" + title);
|
||||
|
||||
// Execute HTTP Post Request
|
||||
HttpResponse response = httpclient.execute(httppost);
|
||||
Log.d(R.string.StringTag + "", "Response Push Post" + response);
|
||||
HttpResponse response = httpclient.execute(httpGet);
|
||||
Log.d("SmartShopper", "Message ID: " + messageIds.get(i));
|
||||
Log.d("SmartShopper", "Response Push Post: " + response);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -1,4 +1,5 @@
|
||||
<resources>
|
||||
|
||||
<string name="app_name">SmartShopper</string>
|
||||
<string name="title_activity_dash">Dash</string>
|
||||
<string name="title_activity_shoppinglist_detail">ShoppinglistDetail</string>
|
||||
@ -6,4 +7,6 @@
|
||||
<string name="title_activity_item_list">ItemListActivity</string>
|
||||
<string name="firebase_sender_id">221332577314</string>
|
||||
<string name="StringTag">SmartShopper</string>
|
||||
|
||||
</resources>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user