private boolean isStallingAction(UserActionEntity userAction) { switch (userAction.getActionType()) { case IDoCareContract.UserActions.ACTION_TYPE_CREATE_REQUEST: case IDoCareContract.UserActions.ACTION_TYPE_PICKUP_REQUEST: case IDoCareContract.UserActions.ACTION_TYPE_CLOSE_REQUEST: return true; default: return false; } }
private boolean isCreateRequestUserAction(UserActionEntity userAction) { return userAction.getEntityType().equals(IDoCareContract.UserActions.ENTITY_TYPE_REQUEST) && userAction.getActionType().equals(IDoCareContract.UserActions.ACTION_TYPE_CREATE_REQUEST); }
public void cacheUserAction(UserActionEntity userAction) { mLogger.d(TAG, "cacheUserAction(); user action: " + userAction); ContentValues userActionCV = new ContentValues(6); userActionCV.put(IDoCareContract.UserActions.COL_TIMESTAMP, userAction.getDatetime()); userActionCV.put(IDoCareContract.UserActions.COL_ENTITY_TYPE, userAction.getEntityType()); userActionCV.put(IDoCareContract.UserActions.COL_ENTITY_ID, userAction.getEntityId()); userActionCV.put(IDoCareContract.UserActions.COL_ENTITY_PARAM, userAction.getEntityParam()); userActionCV.put(IDoCareContract.UserActions.COL_ACTION_TYPE, userAction.getActionType()); userActionCV.put(IDoCareContract.UserActions.COL_ACTION_PARAM, userAction.getActionParam()); mContentResolver.insert( IDoCareContract.UserActions.CONTENT_URI, userActionCV ); }
/** * * @param userAction the user action which should be applied to request * @param requestEntity the request on which to apply the user action * @return new request which is the merge of the provided request and the information from * user action * @throws IllegalArgumentException if the provided user action is not applicable to the * provided request */ public RequestEntity applyUserActionToRequest(@NonNull UserActionEntity userAction, @NonNull RequestEntity requestEntity) { if (!userAction.getEntityType().equals(UserActions.ENTITY_TYPE_REQUEST) || !userAction.getEntityId().equals(requestEntity.getId())) { throw new IllegalArgumentException("user action is not related to the request"); } if (userAction.getActionType().equals(UserActions.ACTION_TYPE_CLOSE_REQUEST)) { return closeRequest(CloseRequestUserActionEntity.fromUserAction(userAction), requestEntity); } else if (userAction.getActionType().equals(UserActions.ACTION_TYPE_PICKUP_REQUEST)) { return pickUpRequest(PickUpRequestUserActionEntity.fromUserAction(userAction), requestEntity); } else if (userAction.getActionType().equals(UserActions.ACTION_TYPE_CREATE_REQUEST)) { // this action is just a "marker" - the actual data has already been written to requests cache return requestEntity; } else if (userAction.getActionType().equals(UserActions.ACTION_TYPE_VOTE_FOR_REQUEST)) { return voteForRequest(VoteForRequestUserActionEntity.fromUserAction(userAction), requestEntity); } else { throw new RuntimeException("invalid user action: " + userAction); } }
private void assertUserActionsEqual(UserActionEntity actual, UserActionEntity expected) { assertThat(actual.getActionParam(), is(expected.getActionParam())); assertThat(actual.getActionType(), is(expected.getActionType())); assertThat(actual.getEntityId(), is(expected.getEntityId())); assertThat(actual.getEntityParam(), is(expected.getEntityParam())); assertThat(actual.getEntityType(), is(expected.getEntityType())); assertThat(actual.getDatetime(), is(expected.getDatetime())); }
String actionType = userAction.getActionType();
public static Builder newBuilder(UserActionEntity userAction) { return newBuilder() .setId(userAction.getActionId()) .setTimestamp(userAction.getDatetime()) .setEntityType(userAction.getEntityType()) .setEntityId(userAction.getEntityId()) .setEntityParam(userAction.getEntityParam()) .setActionType(userAction.getActionType()) .setActionParam(userAction.getActionParam()); }