diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index 01ca2e4..d7e9b33 100644 Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ diff --git a/app/build.gradle b/app/build.gradle index 13e94c4..436e0aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,5 +42,5 @@ dependencies { implementation 'com.android.support:recyclerview-v7:28.0.0' implementation 'com.android.support:support-v4:28.0.0' implementation 'cz.msebera.android:httpclient:4.4.1.2' - implementation 'com.google.firebase:firebase-dynamic-links:16.1.7' + implementation 'com.google.firebase:firebase-dynamic-links:16.1.8' } diff --git a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Dash.java b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Dash.java index 141bfb9..ef6cf37 100644 --- a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Dash.java +++ b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Dash.java @@ -39,12 +39,16 @@ import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.dynamiclinks.DynamicLink; +import com.google.firebase.dynamiclinks.FirebaseDynamicLinks; +import com.google.firebase.dynamiclinks.ShortDynamicLink; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.InstanceIdResult; import com.squareup.picasso.Picasso; import org.json.JSONException; +import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @@ -138,7 +142,35 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte setMsgId(); + Intent getIntent = getIntent(); + String sl_idToGo = getIntent.getStringExtra("sl_idToGo"); + String inviteToAdd = getIntent.getStringExtra("inviteToAdd"); + if (sl_idToGo != null && inviteToAdd != null) { + try { + db.addInviteLinkDynamicLink(inviteToAdd, FirebaseAuth.getInstance().getCurrentUser().getUid()); + } catch (SQLException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } +// Damit werden die Shared Shoppinglists angezeigt + + +// try { +// TabHost tabhost = (TabHost) findViewById(R.id.tabHost1); +// tabhost.setCurrentTab(1); +// sharedswiperefresh.setRefreshing(true); +// showSharedShoppingList(FirebaseAuth.getInstance().getCurrentUser().getUid()); +// sharedswiperefresh.setRefreshing(false); +// } catch (JSONException e) { +// e.printStackTrace(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } + //Damit wird die hinzugefügte shoppinglist angezeigt + onShoppinglistClickContainer(sl_idToGo); + } /* @@ -793,7 +825,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte } } - private void onShoppinglistClickContainer(String sl_id, View v) { + private void onShoppinglistClickContainer(String sl_id) { finish(); Intent intent = new Intent(this, ShoppinglistDetails.class); intent.putExtra("sl_id", sl_id); @@ -827,109 +859,222 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte * @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 invitelink, String dynamiclink) { +// +// return link; +// } + + @Override + public void onShareClick(final String sl_id, final View v) { String link = null; try { if (db.isShared(sl_id)) { link = db.getInviteLink(sl_id); - } else { + final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); + View popupContentView = inflater.inflate(R.layout.add_share, null); - link = db.createInviteLink(sl_id); + final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink); + linkausgabe.setText("invite.dergeorg.at/invite/" + link); + + ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit); + Picasso.get().load(R.drawable.close).into(exitButton); + exitButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + popupShare.dismiss(); + } + }); + + 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); + + final String finalLink = link; + 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); + + + TabHost tabhost = (TabHost) findViewById(R.id.tabHost1); + tabhost.setCurrentTab(0); + sharedswiperefresh.setRefreshing(true); + + showSharedShoppingList(FirebaseAuth.getInstance().getCurrentUser().getUid()); + sharedswiperefresh.setRefreshing(false); + popupShare.dismiss(); + } catch (SQLException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } + + + } + }); + + popupShare = new PopupWindow(popupContentView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + popupShare.setOutsideTouchable(false); + popupShare.setFocusable(true); + // Set an elevation value for popup window + // Call requires API level 21 + if (Build.VERSION.SDK_INT >= 21) { + popupShare.setElevation(5.0f); + } + popupShare.setAnimationStyle(R.style.popup_window_animation_phone); + + + popupShare.showAtLocation(v, Gravity.CENTER, 0, 0); + popupShare.update(); + } else { + final String invitelink = db.generateInviteLink(); + String url = "https://smartshopper.cf/androidinvite/" + sl_id; + Task shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() + .setLink(Uri.parse("https://smartshopper.cf/invite/" + invitelink + "?slid=" + sl_id)) + .setDomainUriPrefix("https://invite.dergeorg.at/invite") + .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build()) + .buildShortDynamicLink() + .addOnCompleteListener(this, new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + // Short link created + final Uri shortLink = task.getResult().getShortLink(); + try { + db.createInviteLink(sl_id, invitelink, db.getinviteFromLink(shortLink.toString())); + } catch (SQLException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); + View popupContentView = inflater.inflate(R.layout.add_share, null); + + final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink); + try { + linkausgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id)); + } catch (SQLException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } + + ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit); + Picasso.get().load(R.drawable.close).into(exitButton); + exitButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + popupShare.dismiss(); + } + }); + + 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); + + delShare.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Shoppinglist spl = null; + try { + spl = db.getShoppinglist(sl_id); + } 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(db.getInviteLink(shortLink.toString())); + + + TabHost tabhost = (TabHost) findViewById(R.id.tabHost1); + tabhost.setCurrentTab(0); + sharedswiperefresh.setRefreshing(true); + + showSharedShoppingList(FirebaseAuth.getInstance().getCurrentUser().getUid()); + sharedswiperefresh.setRefreshing(false); + popupShare.dismiss(); + } catch (SQLException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } + + + } + }); + + popupShare = new PopupWindow(popupContentView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + popupShare.setOutsideTouchable(false); + popupShare.setFocusable(true); + // Set an elevation value for popup window + // Call requires API level 21 + if (Build.VERSION.SDK_INT >= 21) { + popupShare.setElevation(5.0f); + } + popupShare.setAnimationStyle(R.style.popup_window_animation_phone); + + + popupShare.showAtLocation(v, Gravity.CENTER, 0, 0); + popupShare.update(); + Uri flowchartLink = task.getResult().getPreviewLink(); + } else { + // Error + // ... + } + } + }); } } catch (SQLException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } - return link; - } - - @Override - public void onShareClick(final String sl_id, View v) { - final String link = getInviteLink(sl_id); - - final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); - View popupContentView = inflater.inflate(R.layout.add_share, null); - - final TextView linkausgabe = (TextView) popupContentView.findViewById(R.id.shareLink); - linkausgabe.setText("www.smartshopper.cf/invite/" + link); - - ImageButton exitButton = (ImageButton) popupContentView.findViewById(R.id.shareExit); - Picasso.get().load(R.drawable.close).into(exitButton); - exitButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - popupShare.dismiss(); - } - }); - - 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); - - final String finalLink = link; - 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); - - - TabHost tabhost = (TabHost) findViewById(R.id.tabHost1); - tabhost.setCurrentTab(0); - sharedswiperefresh.setRefreshing(true); - - showSharedShoppingList(FirebaseAuth.getInstance().getCurrentUser().getUid()); - sharedswiperefresh.setRefreshing(false); - popupShare.dismiss(); - } catch (SQLException e) { - e.printStackTrace(); - } catch (JSONException e) { - e.printStackTrace(); - } - - - } - }); - - popupShare = new PopupWindow(popupContentView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - popupShare.setOutsideTouchable(false); - popupShare.setFocusable(true); - // Set an elevation value for popup window - // Call requires API level 21 - if (Build.VERSION.SDK_INT >= 21) { - popupShare.setElevation(5.0f); - } - popupShare.setAnimationStyle(R.style.popup_window_animation_phone); - - - popupShare.showAtLocation(v, Gravity.CENTER, 0, 0); - popupShare.update(); } /** @@ -945,7 +1090,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte @Override public void onShoppinglistClick(String sl_id, View v) { - onShoppinglistClickContainer(sl_id, v); + onShoppinglistClickContainer(sl_id); } @Override @@ -959,7 +1104,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte } @Override - public void sharedOnShareClick(String sl_id, View v) { + public void sharedOnShareClick(String sl_id, View v) throws SQLException, JSONException { final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); View popupContentView = inflater.inflate(R.layout.edit_share_member, null); @@ -970,7 +1115,7 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte Button stopShareBtn = popupContentView.findViewById(R.id.delShare); - linkAusgabe.setText("www.smartshopper.cf/invite/" + getInviteLink(sl_id)); + linkAusgabe.setText("invite.dergeorg.at/invite/" + db.getInviteLink(sl_id)); exitBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -1019,6 +1164,6 @@ public class Dash extends AppCompatActivity implements ShoppinglistAdapter.OnIte @Override public void sharedOnShoppinglistClick(String sl_id, View v) { - onShoppinglistClickContainer(sl_id, v); + onShoppinglistClickContainer(sl_id); } } diff --git a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java index 70feb81..555c7fc 100644 --- a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java +++ b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java @@ -60,12 +60,21 @@ public class LoginActivity extends AppCompatActivity { public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) { // Get deep link from result (may be null if no link is found) Uri deepLink = null; + String sl_idToGo = ""; if (pendingDynamicLinkData != null) { deepLink = pendingDynamicLinkData.getLink(); + String invite = deepLink.toString(); + invite = invite.replaceAll("https://smartshopper.cf/invite/", ""); + invite = invite.replaceAll(".slid=.*", ""); + sl_idToGo = deepLink.getQueryParameter("slid"); Log.d("SmartShopper", deepLink.toString()); + if (null != mAuth.getCurrentUser()) { + goDash(sl_idToGo, invite); + } } + // Handle the deep link. For example, open the linked // content, or apply promotional credit to the user's // account. @@ -109,7 +118,7 @@ public class LoginActivity extends AppCompatActivity { /** * Wechselt zu der Dash Activity */ - private void goDash() { + private void goDash(String sl_idToGo, String inviteToAdd) { FirebaseInstanceId.getInstance().getInstanceId() .addOnCompleteListener(new OnCompleteListener() { @@ -156,6 +165,10 @@ public class LoginActivity extends AppCompatActivity { Intent intent = new Intent(this, Dash.class); + if(sl_idToGo != null){ + intent.putExtra("sl_idToGo", sl_idToGo); + intent.putExtra("inviteToAdd", inviteToAdd); + } finish(); startActivity(intent); } @@ -175,7 +188,7 @@ public class LoginActivity extends AppCompatActivity { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithEmail:success"); FirebaseUser user = mAuth.getCurrentUser(); - goDash(); + goDash(null, null); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithEmail:failure", task.getException()); @@ -225,7 +238,7 @@ public class LoginActivity extends AppCompatActivity { mAuth = FirebaseAuth.getInstance(); db = new Database(); - getDynamicLink(); + Button loginEmailBtn = (Button) findViewById(R.id.loginEmailBtn); final TextView email = (TextView) findViewById(R.id.email); @@ -277,7 +290,7 @@ public class LoginActivity extends AppCompatActivity { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithCredential:success"); FirebaseUser user = mAuth.getCurrentUser(); - goDash(); + goDash(null, null); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithCredential:failure", task.getException()); @@ -297,9 +310,10 @@ public class LoginActivity extends AppCompatActivity { public void onStart() { super.onStart(); + getDynamicLink(); if (null != mAuth.getCurrentUser()) { - goDash(); + goDash(null, null); } } diff --git a/app/src/main/java/at/smartshopper/smartshopperapp/db/Database.java b/app/src/main/java/at/smartshopper/smartshopperapp/db/Database.java index 242bf52..7df664d 100644 --- a/app/src/main/java/at/smartshopper/smartshopperapp/db/Database.java +++ b/app/src/main/java/at/smartshopper/smartshopperapp/db/Database.java @@ -1,12 +1,21 @@ package at.smartshopper.smartshopperapp.db; +import android.net.Uri; import android.os.StrictMode; +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.dynamiclinks.DynamicLink; +import com.google.firebase.dynamiclinks.FirebaseDynamicLinks; +import com.google.firebase.dynamiclinks.ShortDynamicLink; import org.json.JSONException; import org.json.JSONObject; +import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; @@ -21,7 +30,7 @@ import at.smartshopper.smartshopperapp.shoppinglist.details.Details; import at.smartshopper.smartshopperapp.shoppinglist.details.group.Group; import at.smartshopper.smartshopperapp.shoppinglist.details.item.Item; -public class Database { +public class Database extends AppCompatActivity { final private String HOST = "188.166.124.80"; final private String DB_NAME = "smartshopperdb"; @@ -163,7 +172,7 @@ public class Database { public void deleteInvite(String invitelink) throws SQLException, JSONException { String sl_id = getSlIdFromInvite(invitelink); sqlUpdate("DELETE FROM \"Shoppinglist_member\" WHERE sl_id = ?", sl_id); - sqlUpdate("Update \"Shoppinglist\" set invitelink=null where sl_id=?", sl_id); + sqlUpdate("Update \"Shoppinglist\" set invitelink=null, dynamiclink=null where sl_id=?", sl_id); } /** @@ -179,15 +188,17 @@ public class Database { } - private String getinviteFromLink(String eingabeLink) { + public String getinviteFromLink(String eingabeLink) { String delString = null; if (eingabeLink.contains("https://")) { - delString = "https://www.smartshopper.cf/invite/"; + delString = "https://invite.dergeorg.at/invite/"; } else if (eingabeLink.contains("http://")) { - delString = "http://www.smartshopper.cf/invite/"; - } else if (eingabeLink.contains("www.smartshopper.cf/invite/")) { - delString = "www.smartshopper.cf/invite/"; - } else if (!eingabeLink.contains("www.smartshopper.cf/invite/")) { + delString = "http://invite.dergeorg.at/invite/"; + } else if (eingabeLink.contains("invite.dergeorg.at/invite/")) { + delString = "invite.dergeorg.at/invite/"; + } else if (eingabeLink.contains("www.invite.dergeorg.atf/invite/")) { + delString = "www.invite.dergeorg.at/invite"; + } else { delString = ""; } String invite = eingabeLink.replace(delString, ""); @@ -204,7 +215,7 @@ public class Database { * @throws JSONException */ public String getInviteLink(String sl_id) throws SQLException, JSONException { - String SQL = "Select invitelink from \"Shoppinglist\" WHERE sl_id = ?"; + String SQL = "Select dynamiclink from \"Shoppinglist\" WHERE sl_id = ?"; String returnLink = executeQuery(SQL, sl_id); return returnLink; } @@ -218,6 +229,20 @@ public class Database { * @throws JSONException */ public String getSlIdFromInvite(String invitelink) throws SQLException, JSONException { + String SQL = "Select sl_id from \"Shoppinglist\" WHERE dynamiclink = ?"; + String returnSl_id = executeQuery(SQL, getinviteFromLink(invitelink)); + return returnSl_id; + } + + /** + * Sucht anhand des invitelinks eine Shoppingliste und gibt dessen sl_id zurück + * + * @param invitelink Der invitelink nach dem gesucht werden soll + * @return Die sl_id die dem invitelink zugeordnet ist + * @throws SQLException + * @throws JSONException + */ + public String getSlIdFromInviteDynamicLink(String invitelink) throws SQLException, JSONException { String SQL = "Select sl_id from \"Shoppinglist\" WHERE invitelink = ?"; String returnSl_id = executeQuery(SQL, getinviteFromLink(invitelink)); return returnSl_id; @@ -239,6 +264,21 @@ public class Database { } } + /** + * Fügt einen invite link zu den shoppinglisten hinzu + * + * @param invitelink Der invite link der hinzugefügt werden soll + * @param uid Der user zu dem der invitelink hinzugefügt werden soll + * @throws SQLException + * @throws JSONException + */ + public void addInviteLinkDynamicLink(String invitelink, String uid) throws SQLException, JSONException { + String sl_id = getSlIdFromInviteDynamicLink(invitelink); + if (!sl_id.equals("null")) { + sqlUpdate2Param("INSERT INTO \"Shoppinglist_member\" (username, sl_id) VALUES (?, ?)", uid, sl_id); + } + } + /** * Erstellt einen neuen InviteLink * @@ -246,10 +286,17 @@ public class Database { * @return Der neue InviteLink * @throws SQLException */ - public String createInviteLink(String sl_id) throws SQLException { - String invitelink = generateInviteLink(); - sqlUpdate2Param("UPDATE \"Shoppinglist\" SET invitelink = ? WHERE sl_id = ?", invitelink, sl_id); - return invitelink; + public void createInviteLink(String sl_id, String invitelink, String dynamiclink) throws SQLException, IOException, JSONException { + sqlUpdate3Param("UPDATE \"Shoppinglist\" SET invitelink = ?, dynamiclink = ? WHERE sl_id = ?", invitelink, dynamiclink, sl_id); + } + + /** + * Generiert einen neuen dynamic link bei google und gibt nur die id zurück + * + * @return DynamicId von dem neuen link + */ + private void generateDynamicLink(final String sl_id, final String invitelink) throws IOException, SQLException, JSONException { + } /** diff --git a/app/src/main/java/at/smartshopper/smartshopperapp/shoppinglist/ShoppinglistSharedAdapter.java b/app/src/main/java/at/smartshopper/smartshopperapp/shoppinglist/ShoppinglistSharedAdapter.java index fe7d975..3f9ae2d 100644 --- a/app/src/main/java/at/smartshopper/smartshopperapp/shoppinglist/ShoppinglistSharedAdapter.java +++ b/app/src/main/java/at/smartshopper/smartshopperapp/shoppinglist/ShoppinglistSharedAdapter.java @@ -99,7 +99,13 @@ public class ShoppinglistSharedAdapter extends RecyclerView.Adapter