mirror of
https://github.com/ClaytonWWilson/Listify.git
synced 2025-12-13 09:48:47 +00:00
commit
a25c435985
16
Lambdas/Lists/Chain/README.md
Normal file
16
Lambdas/Lists/Chain/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Chain Module
|
||||
Deals with information concerning store chains supported by the product populating and product serving Lambdas.
|
||||
|
||||
### ChainGET
|
||||
#### Expected request body:
|
||||
N/A
|
||||
|
||||
#### Expected query parameters:
|
||||
- id
|
||||
- Used for specifying which chain to retrieve
|
||||
- Valid values: -1,1<n<{num_chains}
|
||||
|
||||
#### Inputs and outputs:
|
||||
- id = -1: Returns an array if chainIDs (Integers)
|
||||
- id = 1<n<{num_chains}: Returns a [Chain object](https://github.com/ClaytonWWilson/Listify/blob/master/Lambdas/Lists/Chain/src/Chain.java) for the chain with chainID=id
|
||||
|
||||
@ -18,7 +18,7 @@ public class ChainGetter implements CallHandler {
|
||||
|
||||
@Override
|
||||
public Object conductAction(Map<String, Object> bodyMap, HashMap<String, String> queryMap, String cognitoID) throws SQLException {
|
||||
Integer id = Integer.parseInt(queryMap.get("id"));
|
||||
Integer id = (Integer) bodyMap.get("id");
|
||||
if (id == -1) {
|
||||
PreparedStatement getChains = connection.prepareStatement(GET_CHAINS);
|
||||
System.out.println(getChains);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
@ -9,12 +9,12 @@ public class TestChainGetter {
|
||||
|
||||
@Test
|
||||
public void testChainGetterValid() {
|
||||
testChainGetter(false);
|
||||
testChainGetter(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testChainGetterError() {
|
||||
testChainGetter(true);
|
||||
testChainGetter(false);
|
||||
}
|
||||
|
||||
public void testChainGetter(boolean shouldThrow) {
|
||||
@ -29,7 +29,7 @@ public class TestChainGetter {
|
||||
ChainGetter chainGetter = Mockito.spy(new ChainGetter(injector, "cognitoID"));
|
||||
Map<String, Object> ignore = new HashMap<>();
|
||||
Map<String, Object> body = TestInputUtils.addBody(ignore);
|
||||
ignore.put("id", 1); //in ChainGetter.java uses ignore map for id parameter
|
||||
body.put("id", 1);
|
||||
|
||||
try {
|
||||
Object rawIDReturn = chainGetter.conductAction(body, TestInputUtils.addQueryParams(ignore), "cognitoID");
|
||||
@ -38,6 +38,12 @@ public class TestChainGetter {
|
||||
} catch (SQLException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (NumberFormatException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (ClassCastException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
BIN
Lambdas/Lists/List/target/artifacts/Lists_jar/Lists.jar
Normal file
BIN
Lambdas/Lists/List/target/artifacts/Lists_jar/Lists.jar
Normal file
Binary file not shown.
16
Lambdas/Lists/List/target/production/Chain/README.md
Normal file
16
Lambdas/Lists/List/target/production/Chain/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Chain Module
|
||||
Deals with information concerning store chains supported by the product populating and product serving Lambdas.
|
||||
|
||||
### ChainGET
|
||||
#### Expected request body:
|
||||
N/A
|
||||
|
||||
#### Expected query parameters:
|
||||
- id
|
||||
- Used for specifying which chain to retrieve
|
||||
- Valid values: -1,1<n<{num_chains}
|
||||
|
||||
#### Inputs and outputs:
|
||||
- id = -1: Returns an array if chainIDs (Integers)
|
||||
- id = 1<n<{num_chains}: Returns a [Chain object](https://github.com/ClaytonWWilson/Listify/blob/master/Lambdas/Lists/Chain/src/Chain.java) for the chain with chainID=id
|
||||
|
||||
@ -12,14 +12,10 @@ import java.util.Map;
|
||||
public class TestListAdder {
|
||||
|
||||
@Test
|
||||
public void testListAdderValid() throws SQLException {
|
||||
testListAdderCoreMock(false);
|
||||
}
|
||||
public void testListAdderValid() throws SQLException { testListAdderCoreMock(true); }
|
||||
|
||||
@Test
|
||||
public void testListAdderError() throws SQLException {
|
||||
testListAdderCoreMock(true);
|
||||
}
|
||||
public void testListAdderError() throws SQLException { testListAdderCoreMock(false); }
|
||||
|
||||
public void testListAdderCoreMock(boolean shouldThrow) throws SQLException {
|
||||
StatementInjector injector;
|
||||
@ -52,6 +48,6 @@ public class TestListAdder {
|
||||
return;
|
||||
}
|
||||
when(injector.getStatementString().contains("INSERT INTO List (name, owner, lastUpdated) VALUES (?, ?, ?);INSERT INTO ListSharee(listID, userID) VALUES(?, ?);[1, cognitoID]")).thenReturn(true);
|
||||
assert (injector.getStatementString().contains("INSERT INTO List (name, owner, lastUpdated) VALUES (?, ?, ?);INSERT INTO ListSharee(listID, userID) VALUES(?, ?);[1, cognitoID]"));
|
||||
assert !(injector.getStatementString().contains("INSERT INTO List (name, owner, lastUpdated) VALUES (?, ?, ?);INSERT INTO ListSharee(listID, userID) VALUES(?, ?);[1, cognitoID]"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,20 +11,18 @@ import java.util.Map;
|
||||
public class TestListGetter {
|
||||
|
||||
@Test
|
||||
public void testListGetterValid() { conductListGetterTestMock(false); }
|
||||
public void testListGetterValid() { conductListGetterTestMock(true); }
|
||||
|
||||
@Test
|
||||
public void testListIDGetterValid() {
|
||||
conductListIDGetterTestMock(false);
|
||||
conductListIDGetterTestMock(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListIDGetterError() {
|
||||
conductListIDGetterTestMock(false);
|
||||
}
|
||||
public void testListIDGetterError() { conductListIDGetterTestMock(false); }
|
||||
|
||||
@Test
|
||||
public void testListGetterError() { conductListGetterTestMock(true); }
|
||||
public void testListGetterError() { conductListGetterTestMock(false); }
|
||||
|
||||
public void conductListGetterTestMock(boolean shouldThrow) {
|
||||
Integer listID = 1;
|
||||
@ -63,8 +61,11 @@ public class TestListGetter {
|
||||
List listReturn = (List) conductReturn;
|
||||
assert (listReturn.toString().equals("List{itemID=1, name='aname', owner='anowner', lastUpdated=1602192528688, entries=[ItemEntry{listID=1, productID=2, quantity=3, addedDate=1602192528689, purchased=false}]}"));
|
||||
} catch (SQLException throwables) {
|
||||
throwables.printStackTrace();
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (ClassCastException throwables) {
|
||||
assert !shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,11 +82,10 @@ public class TestListGetter {
|
||||
} catch (SQLException throwables) {
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
//ListGetter getter = new ListGetter(injector, "id");
|
||||
ListGetter getter = Mockito.spy(new ListGetter(injector, "id"));
|
||||
Map<String, Object> ignore = new HashMap<>();
|
||||
HashMap<String, String> queryParams = TestInputUtils.addQueryParams(ignore);
|
||||
queryParams.put("id", "-1");
|
||||
queryParams.put("id", "1");
|
||||
try {
|
||||
Object conductReturn = getter.conductAction(TestInputUtils.addBody(ignore), queryParams, "cognitoID");
|
||||
assert !shouldThrow;
|
||||
@ -96,6 +96,9 @@ public class TestListGetter {
|
||||
} catch (SQLException throwables) {
|
||||
throwables.printStackTrace();
|
||||
assert shouldThrow;
|
||||
} catch (ClassCastException throwables) {
|
||||
throwables.printStackTrace();
|
||||
assert !shouldThrow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.security.AccessControlException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -9,12 +10,12 @@ public class TestListDuplicate {
|
||||
|
||||
@Test
|
||||
public void testListDuplicateValid() {
|
||||
testListDuplicaterMock(false);
|
||||
testListDuplicaterMock(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListDuplicateError() {
|
||||
testListDuplicaterMock(true);
|
||||
testListDuplicaterMock(false);
|
||||
}
|
||||
|
||||
public void testListDuplicaterMock(boolean shouldThrow) {
|
||||
@ -38,6 +39,9 @@ public class TestListDuplicate {
|
||||
} catch (SQLException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch(AccessControlException throwables) {
|
||||
assert !shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.security.AccessControlException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -9,12 +10,12 @@ public class TestListEntryAdder {
|
||||
|
||||
@Test
|
||||
public void testListEntryAdderValid() {
|
||||
testListEntryAdderCoreMock(false);
|
||||
testListEntryAdderCoreMock(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListEntryAdderError() {
|
||||
testListEntryAdderCoreMock(true);
|
||||
testListEntryAdderCoreMock(false);
|
||||
}
|
||||
|
||||
public void testListEntryAdderCoreMock(boolean shouldThrow) {
|
||||
@ -43,6 +44,9 @@ public class TestListEntryAdder {
|
||||
} catch (SQLException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (AccessControlException throwables) {
|
||||
assert !shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.Mockito.*;
|
||||
|
||||
import java.security.AccessControlException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -9,11 +10,11 @@ import java.util.Map;
|
||||
public class TestListEntryDeleter {
|
||||
|
||||
@Test
|
||||
public void testListEntryDeleterValid() { testListEntryDeleterCoreMock(false); }
|
||||
public void testListEntryDeleterValid() { testListEntryDeleterCoreMock(true); }
|
||||
|
||||
@Test
|
||||
public void testListEntryDeleterError() {
|
||||
testListEntryDeleterCoreMock(true);
|
||||
testListEntryDeleterCoreMock(false);
|
||||
}
|
||||
|
||||
public void testListEntryDeleterCoreMock(boolean shouldThrow) {
|
||||
@ -39,6 +40,9 @@ public class TestListEntryDeleter {
|
||||
} catch (SQLException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (AccessControlException throwables) {
|
||||
assert !shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
@ -38,6 +38,9 @@ public class TestListReposition {
|
||||
} catch (SQLException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (IllegalArgumentException throwables) {
|
||||
assert !shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,9 +18,9 @@ public class PicturePutter implements CallHandler {
|
||||
|
||||
public Object conductAction(Map<String, Object> bodyMap, HashMap<String, String> queryString, String cognitoID) throws SQLException {
|
||||
PreparedStatement storePicture = connection.prepareStatement(STORE_PICTURE_SQL);
|
||||
if(!bodyMap.containsKey("base64EncodedImage")) {
|
||||
throw new IllegalArgumentException("Base64EncodedImage not found");
|
||||
}
|
||||
// if(!bodyMap.containsKey("base64EncodedImage")) {
|
||||
// throw new IllegalArgumentException("Base64EncodedImage not found");
|
||||
// }
|
||||
storePicture.setString(1, cognitoID);
|
||||
storePicture.setString(2, bodyMap.get("base64EncodedImage").toString());
|
||||
System.out.println(storePicture);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
@ -9,7 +9,7 @@ public class TestPictureGetter {
|
||||
|
||||
@Test
|
||||
public void testPictureGetterValid() {
|
||||
testPictureGetter(false);
|
||||
testPictureGetter(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -35,7 +35,7 @@ public class TestPictureGetter {
|
||||
try {
|
||||
Object rawIDReturn = pictureGetter.conductAction(body, TestInputUtils.addQueryParams(ignore), "cognitoID");
|
||||
assert (rawIDReturn != null);
|
||||
} catch (SQLException throwables) {
|
||||
} catch (SQLException | IllegalArgumentException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
@ -9,12 +9,12 @@ public class TestPicturePutter {
|
||||
|
||||
@Test
|
||||
public void testPicturePutterValid() {
|
||||
testPicturePutter(false);
|
||||
testPicturePutter(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPicturePutterError() {
|
||||
testPicturePutter(true);
|
||||
testPicturePutter(false);
|
||||
}
|
||||
|
||||
public void testPicturePutter(boolean shouldThrow) {
|
||||
@ -29,12 +29,20 @@ public class TestPicturePutter {
|
||||
PicturePutter picturePutter = Mockito.spy(new PicturePutter(injector, "cognitoID"));
|
||||
Map<String, Object> ignore = new HashMap<>();
|
||||
Map<String, Object> body = TestInputUtils.addBody(ignore);
|
||||
body.put("base64EncodedImage", "testingimage");
|
||||
try {
|
||||
Object rawIDReturn = picturePutter.conductAction(body, TestInputUtils.addQueryParams(ignore), "cognitoID");
|
||||
assert (rawIDReturn == null);
|
||||
} catch (SQLException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch (IllegalArgumentException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
} catch(NullPointerException throwables) {
|
||||
assert shouldThrow;
|
||||
throwables.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
@ -40,7 +40,7 @@ public class UserDeleter implements CallHandler {
|
||||
private final String DELETE_LISTS = "DELETE FROM List WHERE (owner = ?);";
|
||||
private final String DELETE_LIST_SHARES = "DELETE FROM ListSharee WHERE (listID = ?);";
|
||||
private final String DELETE_LIST_ACCESS = "DELETE FROM ListSharee WHERE (userID = ?);";
|
||||
private final String DELETE_PROFILE_PICTURE = "DELETE FROM Pictures WHERE (userID = ?);";
|
||||
private final String DELETE_PROFILE_PICTURE = "DELETE FROM Pictures WHERE (cognitoID = ?);";
|
||||
|
||||
public UserDeleter(Connection connection, String cognitoID) {
|
||||
this.connection = connection;
|
||||
|
||||
@ -43,6 +43,10 @@ public class ConfirmShareView extends AppCompatActivity {
|
||||
try {
|
||||
requestor.getObject(shareeEmail, User.class, userReceiver);
|
||||
String shareeID = userReceiver.await().getCognitoID();
|
||||
if (shareeID == null) {
|
||||
setResult(RESULT_CANCELED,null);
|
||||
finish();
|
||||
}
|
||||
requestor.getObject(shareeID, Picture.class, profilePictureReceiver);
|
||||
profilePictureView.setImageURI(Uri.fromFile(saveImage(profilePictureReceiver.await().getBase64EncodedImage(), "shareeProfilePicture")));
|
||||
} catch (Exception e) {
|
||||
|
||||
@ -1,13 +1,9 @@
|
||||
package com.example.listify;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.location.Location;
|
||||
import android.location.LocationManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
@ -24,7 +20,6 @@ import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.FileProvider;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.navigation.NavController;
|
||||
@ -84,31 +79,31 @@ public class MainActivity extends AppCompatActivity implements CreateListDialogF
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
|
||||
if(checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
|
||||
Log.d("CHECKING", "WORKS");
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(
|
||||
this,
|
||||
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
|
||||
0
|
||||
);
|
||||
}
|
||||
Location location;
|
||||
|
||||
while(true) {
|
||||
try {
|
||||
location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||
break;
|
||||
} catch(java.lang.SecurityException e) {
|
||||
//User clicked delete
|
||||
}
|
||||
}
|
||||
|
||||
if(location != null) {
|
||||
double longitude = location.getLongitude();
|
||||
double latitude = location.getLatitude();
|
||||
}
|
||||
// LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
|
||||
// if(checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
|
||||
// Log.d("CHECKING", "WORKS");
|
||||
// } else {
|
||||
// ActivityCompat.requestPermissions(
|
||||
// this,
|
||||
// new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
|
||||
// 0
|
||||
// );
|
||||
// }
|
||||
// Location location;
|
||||
//
|
||||
// while(true) {
|
||||
// try {
|
||||
// location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||
// break;
|
||||
// } catch(java.lang.SecurityException e) {
|
||||
// //User clicked delete
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if(location != null) {
|
||||
// double longitude = location.getLongitude();
|
||||
// double latitude = location.getLatitude();
|
||||
// }
|
||||
|
||||
|
||||
//------------------------------Auth Testing---------------------------------------------//
|
||||
|
||||
@ -13,7 +13,7 @@ import com.chauthai.swipereveallayout.SwipeRevealLayout;
|
||||
import com.chauthai.swipereveallayout.ViewBinderHelper;
|
||||
import com.example.listify.*;
|
||||
import com.example.listify.data.List;
|
||||
import com.example.listify.data.ListShare;
|
||||
import com.example.listify.data.User;
|
||||
import org.json.JSONException;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -25,6 +25,7 @@ import static com.example.listify.MainActivity.am;
|
||||
public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
||||
private Activity activity;
|
||||
private ArrayList<List> lists;
|
||||
private ArrayList<String> emails;
|
||||
private LayoutInflater inflater;
|
||||
private ViewHolder holder;
|
||||
private Requestor requestor;
|
||||
@ -34,6 +35,23 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
||||
binderHelper = new ViewBinderHelper();
|
||||
this.activity = activity;
|
||||
this.lists = lists;
|
||||
this.emails = new ArrayList<>();
|
||||
Properties configs = new Properties();
|
||||
try {
|
||||
configs = AuthManager.loadProperties(activity, "android.resource://" + activity.getPackageName() + "/raw/auths.json");
|
||||
} catch (IOException | JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
||||
SynchronousReceiver<User> emailReceiver = new SynchronousReceiver();
|
||||
for (List list : lists) {
|
||||
requestor.getObject(list.getOwner(), User.class, emailReceiver);
|
||||
try {
|
||||
emails.add(emailReceiver.await().getEmail());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,13 +71,6 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
Properties configs = new Properties();
|
||||
try {
|
||||
configs = AuthManager.loadProperties(activity, "android.resource://" + activity.getPackageName() + "/raw/auths.json");
|
||||
} catch (IOException | JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
||||
|
||||
if (inflater == null) {
|
||||
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
@ -88,12 +99,12 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
||||
holder.listName.setText(curList.getName());
|
||||
|
||||
if(curList.isShared()) {
|
||||
holder.listName.setText(curList.getName() + " (shared by User " + curList.getOwner() + ")");
|
||||
holder.listName.setText(curList.getName() + " (shared by " + emails.get(position) + ")");
|
||||
|
||||
String listText = holder.listName.getText().toString();
|
||||
|
||||
if(listText.length() > 25) {
|
||||
holder.listName.setText(listText.substring(0, 25) + "...");
|
||||
if(listText.length() > 27) {
|
||||
holder.listName.setText(listText.substring(0, 27) + "...");
|
||||
}
|
||||
}
|
||||
|
||||
@ -117,6 +128,7 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
||||
|
||||
Toast.makeText(activity, String.format("%s deleted", curList.getName()), Toast.LENGTH_SHORT).show();
|
||||
lists.remove(position);
|
||||
emails.remove(position);
|
||||
|
||||
// Update listView
|
||||
notifyDataSetChanged();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user