mirror of
https://github.com/pierre42100/ComunicAndroid
synced 2024-11-27 15:59:29 +00:00
Update APIRequestParameters
This commit is contained in:
parent
5ab8575c40
commit
59e8240ad8
@ -120,8 +120,8 @@ public class APIRequest {
|
|||||||
* @param params The request parametres to update
|
* @param params The request parametres to update
|
||||||
*/
|
*/
|
||||||
private void addAPItokens(APIRequestParameters params){
|
private void addAPItokens(APIRequestParameters params){
|
||||||
params.addParameter("serviceName", BuildConfig.api_service_name);
|
params.addString("serviceName", BuildConfig.api_service_name);
|
||||||
params.addParameter("serviceToken", BuildConfig.api_service_token);
|
params.addString("serviceToken", BuildConfig.api_service_token);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -145,8 +145,8 @@ public class APIRequest {
|
|||||||
return; //Not enough tokens
|
return; //Not enough tokens
|
||||||
|
|
||||||
//Add them to the request
|
//Add them to the request
|
||||||
params.addParameter("userToken1", tokens.get(0));
|
params.addString("userToken1", tokens.get(0));
|
||||||
params.addParameter("userToken2", tokens.get(1));
|
params.addString("userToken2", tokens.get(1));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,8 +2,6 @@ package org.communiquons.android.comunic.client.api;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import org.communiquons.android.comunic.client.api.APIPostData;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -54,7 +52,7 @@ public class APIRequestParameters {
|
|||||||
* @param name The name of the new key
|
* @param name The name of the new key
|
||||||
* @param value The value of the new key
|
* @param value The value of the new key
|
||||||
*/
|
*/
|
||||||
public void addParameter(String name, String value){
|
public void addString(String name, String value){
|
||||||
parameters.add(new APIPostData(name, value));
|
parameters.add(new APIPostData(name, value));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,8 +62,8 @@ public class APIRequestParameters {
|
|||||||
* @param name The name of the new key
|
* @param name The name of the new key
|
||||||
* @param value The value of the new key (int)
|
* @param value The value of the new key (int)
|
||||||
*/
|
*/
|
||||||
public void addParameter(String name, int value){
|
public void addInt(String name, int value){
|
||||||
this.addParameter(name, ""+value);
|
this.addString(name, ""+value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -74,8 +72,8 @@ public class APIRequestParameters {
|
|||||||
* @param name The name of the new key
|
* @param name The name of the new key
|
||||||
* @param value The value of the new key (boolean)
|
* @param value The value of the new key (boolean)
|
||||||
*/
|
*/
|
||||||
public void addParameter(String name, boolean value){
|
public void addBoolean(String name, boolean value){
|
||||||
this.addParameter(name, value ? "true" : "false");
|
this.addString(name, value ? "true" : "false");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -120,7 +120,7 @@ public class GetUsersHelper {
|
|||||||
//Perform an API request
|
//Perform an API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext,
|
APIRequestParameters params = new APIRequestParameters(mContext,
|
||||||
"user/getAdvancedUserInfos");
|
"user/getAdvancedUserInfos");
|
||||||
params.addParameter("userID", userID);
|
params.addInt("userID", userID);
|
||||||
|
|
||||||
//Perform the request
|
//Perform the request
|
||||||
try {
|
try {
|
||||||
@ -237,8 +237,8 @@ public class GetUsersHelper {
|
|||||||
|
|
||||||
//Make an API request
|
//Make an API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext, "search/user");
|
APIRequestParameters params = new APIRequestParameters(mContext, "search/user");
|
||||||
params.addParameter("query", query);
|
params.addString("query", query);
|
||||||
params.addParameter("searchLimit", ""+limit);
|
params.addString("searchLimit", ""+limit);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ public class GetUsersHelper {
|
|||||||
for(int id : IDs) {
|
for(int id : IDs) {
|
||||||
id_string += id + ",";
|
id_string += id + ",";
|
||||||
}
|
}
|
||||||
requestParameters.addParameter("usersID", id_string);
|
requestParameters.addString("usersID", id_string);
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -91,12 +91,12 @@ public class ConversationMessagesHelper {
|
|||||||
//Make an API request
|
//Make an API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext,
|
APIRequestParameters params = new APIRequestParameters(mContext,
|
||||||
"conversations/sendMessage");
|
"conversations/sendMessage");
|
||||||
params.addParameter("conversationID", ""+convID);
|
params.addString("conversationID", ""+convID);
|
||||||
params.addParameter("message", message);
|
params.addString("message", message);
|
||||||
|
|
||||||
//Include image (if any)
|
//Include image (if any)
|
||||||
if(image != null)
|
if(image != null)
|
||||||
params.addParameter("image", "data:image/png;base64," + image);
|
params.addString("image", "data:image/png;base64," + image);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
new APIRequest().exec(params);
|
new APIRequest().exec(params);
|
||||||
@ -156,8 +156,8 @@ public class ConversationMessagesHelper {
|
|||||||
//Prepare a request on the API
|
//Prepare a request on the API
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext,
|
APIRequestParameters params = new APIRequestParameters(mContext,
|
||||||
"conversations/refresh_single");
|
"conversations/refresh_single");
|
||||||
params.addParameter("conversationID", ""+conversationID);
|
params.addString("conversationID", ""+conversationID);
|
||||||
params.addParameter("last_message_id", ""+last_message_id);
|
params.addString("last_message_id", ""+last_message_id);
|
||||||
|
|
||||||
ArrayList<ConversationMessage> list = new ArrayList<>();
|
ArrayList<ConversationMessage> list = new ArrayList<>();
|
||||||
|
|
||||||
|
@ -117,8 +117,8 @@ public class ConversationsListHelper {
|
|||||||
//Prepare an API request
|
//Prepare an API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext,
|
APIRequestParameters params = new APIRequestParameters(mContext,
|
||||||
"conversations/getPrivate");
|
"conversations/getPrivate");
|
||||||
params.addParameter("otherUser", userID);
|
params.addInt("otherUser", userID);
|
||||||
params.addParameter("allowCreate", allowCreate);
|
params.addBoolean("allowCreate", allowCreate);
|
||||||
|
|
||||||
//Try to perform request
|
//Try to perform request
|
||||||
try {
|
try {
|
||||||
@ -215,7 +215,7 @@ public class ConversationsListHelper {
|
|||||||
|
|
||||||
//Delete the conversation on the API
|
//Delete the conversation on the API
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext, "conversations/delete");
|
APIRequestParameters params = new APIRequestParameters(mContext, "conversations/delete");
|
||||||
params.addParameter("conversationID", ""+convID);
|
params.addString("conversationID", ""+convID);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
new APIRequest().exec(params);
|
new APIRequest().exec(params);
|
||||||
@ -246,9 +246,9 @@ public class ConversationsListHelper {
|
|||||||
|
|
||||||
//Make an API request
|
//Make an API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext, "conversations/create");
|
APIRequestParameters params = new APIRequestParameters(mContext, "conversations/create");
|
||||||
params.addParameter("name", name.equals("") ? "false" : name);
|
params.addString("name", name.equals("") ? "false" : name);
|
||||||
params.addParameter("follow", follow ? "true" : "false");
|
params.addString("follow", follow ? "true" : "false");
|
||||||
params.addParameter("users", members_str);
|
params.addString("users", members_str);
|
||||||
|
|
||||||
//Perform the request
|
//Perform the request
|
||||||
try {
|
try {
|
||||||
@ -290,18 +290,18 @@ public class ConversationsListHelper {
|
|||||||
//Prepare a request on the database
|
//Prepare a request on the database
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext,
|
APIRequestParameters params = new APIRequestParameters(mContext,
|
||||||
"conversations/updateSettings");
|
"conversations/updateSettings");
|
||||||
params.addParameter("conversationID", ""+convID);
|
params.addString("conversationID", ""+convID);
|
||||||
|
|
||||||
//Add the name (if any)
|
//Add the name (if any)
|
||||||
if(name != null)
|
if(name != null)
|
||||||
params.addParameter("name", name.equals("") ? "false" : name);
|
params.addString("name", name.equals("") ? "false" : name);
|
||||||
|
|
||||||
//Add the members (if any)
|
//Add the members (if any)
|
||||||
if(members != null)
|
if(members != null)
|
||||||
params.addParameter("members", ArrayUtils.int_array_to_string(members, ","));
|
params.addString("members", ArrayUtils.int_array_to_string(members, ","));
|
||||||
|
|
||||||
//Add following state
|
//Add following state
|
||||||
params.addParameter("following", following ? "true" : "false");
|
params.addString("following", following ? "true" : "false");
|
||||||
|
|
||||||
//Perform the request
|
//Perform the request
|
||||||
try {
|
try {
|
||||||
@ -370,7 +370,7 @@ public class ConversationsListHelper {
|
|||||||
//Perform an API request
|
//Perform an API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext,
|
APIRequestParameters params = new APIRequestParameters(mContext,
|
||||||
"conversations/getInfosOne");
|
"conversations/getInfosOne");
|
||||||
params.addParameter("conversationID", ""+convID);
|
params.addString("conversationID", ""+convID);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ public class FriendsListHelper {
|
|||||||
|
|
||||||
//Prepare the API request
|
//Prepare the API request
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext, "friends/getList");
|
APIRequestParameters params = new APIRequestParameters(mContext, "friends/getList");
|
||||||
params.addParameter("complete", true);
|
params.addBoolean("complete", true);
|
||||||
|
|
||||||
//Prepare the result
|
//Prepare the result
|
||||||
ArrayList<Friend> friends = new ArrayList<>();
|
ArrayList<Friend> friends = new ArrayList<>();
|
||||||
@ -122,7 +122,7 @@ public class FriendsListHelper {
|
|||||||
try {
|
try {
|
||||||
//Remove the friend online
|
//Remove the friend online
|
||||||
APIRequestParameters delparams = new APIRequestParameters(mContext, "friends/remove");
|
APIRequestParameters delparams = new APIRequestParameters(mContext, "friends/remove");
|
||||||
delparams.addParameter("friendID", ""+friend.getId());
|
delparams.addString("friendID", ""+friend.getId());
|
||||||
new APIRequest().exec(delparams);
|
new APIRequest().exec(delparams);
|
||||||
|
|
||||||
//Remove the friend from the local database
|
//Remove the friend from the local database
|
||||||
@ -146,8 +146,8 @@ public class FriendsListHelper {
|
|||||||
//Perform a request to update the satus online
|
//Perform a request to update the satus online
|
||||||
APIRequestParameters reqParams = new APIRequestParameters(mContext,
|
APIRequestParameters reqParams = new APIRequestParameters(mContext,
|
||||||
"friends/respondRequest");
|
"friends/respondRequest");
|
||||||
reqParams.addParameter("friendID", ""+friend.getId());
|
reqParams.addInt("friendID", friend.getId());
|
||||||
reqParams.addParameter("accept", accept ? "true" : "false");
|
reqParams.addString("accept", accept ? "true" : "false");
|
||||||
new APIRequest().exec(reqParams);
|
new APIRequest().exec(reqParams);
|
||||||
|
|
||||||
//Update the friend in the local database
|
//Update the friend in the local database
|
||||||
|
@ -47,7 +47,7 @@ public class PostsHelper {
|
|||||||
|
|
||||||
//Perform a request on the API
|
//Perform a request on the API
|
||||||
APIRequestParameters params = new APIRequestParameters(mContext, "posts/get_user");
|
APIRequestParameters params = new APIRequestParameters(mContext, "posts/get_user");
|
||||||
params.addParameter("userID", userID);
|
params.addInt("userID", userID);
|
||||||
|
|
||||||
//Perform the request
|
//Perform the request
|
||||||
try {
|
try {
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package org.communiquons.android.comunic.client.data.utils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strings utilities
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
* Created by pierre on 3/12/18.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class StringsUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check the validity of a string to be send to the server
|
||||||
|
*
|
||||||
|
* @param string The string to check
|
||||||
|
* @return Depends of the validity of the string
|
||||||
|
*/
|
||||||
|
public static boolean isValidForContent(String string){
|
||||||
|
|
||||||
|
//Check the length of the string
|
||||||
|
if(string.length() < 5)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
//The string appears to be valid
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -110,8 +110,8 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
//Perform a request on the API to check user credentials and get login tokens
|
//Perform a request on the API to check user credentials and get login tokens
|
||||||
APIRequestParameters params = new APIRequestParameters(this, "user/connectUSER");
|
APIRequestParameters params = new APIRequestParameters(this, "user/connectUSER");
|
||||||
params.addParameter("userMail", ""+login_mail.getText());
|
params.addString("userMail", ""+login_mail.getText());
|
||||||
params.addParameter("userPassword", ""+login_password.getText());
|
params.addString("userPassword", ""+login_password.getText());
|
||||||
|
|
||||||
//Create Request
|
//Create Request
|
||||||
new APIRequestTask(){
|
new APIRequestTask(){
|
||||||
|
@ -1,18 +1,22 @@
|
|||||||
package org.communiquons.android.comunic.client.ui.adapters;
|
package org.communiquons.android.comunic.client.ui.adapters;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.AsyncTask;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.util.Pair;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.communiquons.android.comunic.client.R;
|
import org.communiquons.android.comunic.client.R;
|
||||||
import org.communiquons.android.comunic.client.data.ImageLoad.ImageLoadManager;
|
import org.communiquons.android.comunic.client.data.ImageLoad.ImageLoadManager;
|
||||||
@ -21,8 +25,10 @@ import org.communiquons.android.comunic.client.data.comments.Comment;
|
|||||||
import org.communiquons.android.comunic.client.data.posts.Post;
|
import org.communiquons.android.comunic.client.data.posts.Post;
|
||||||
import org.communiquons.android.comunic.client.data.posts.PostTypes;
|
import org.communiquons.android.comunic.client.data.posts.PostTypes;
|
||||||
import org.communiquons.android.comunic.client.data.posts.PostsList;
|
import org.communiquons.android.comunic.client.data.posts.PostsList;
|
||||||
|
import org.communiquons.android.comunic.client.data.utils.StringsUtils;
|
||||||
import org.communiquons.android.comunic.client.data.utils.UiUtils;
|
import org.communiquons.android.comunic.client.data.utils.UiUtils;
|
||||||
import org.communiquons.android.comunic.client.data.utils.Utilities;
|
import org.communiquons.android.comunic.client.data.utils.Utilities;
|
||||||
|
import org.communiquons.android.comunic.client.ui.views.EditCommentContentView;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@ -69,7 +75,8 @@ public class PostsAdapter extends ArrayAdapter<Post>{
|
|||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
public View getView(final int position, @Nullable View convertView,
|
||||||
|
@NonNull ViewGroup parent) {
|
||||||
|
|
||||||
//Check if the view has to be inflated
|
//Check if the view has to be inflated
|
||||||
if(convertView == null)
|
if(convertView == null)
|
||||||
@ -167,6 +174,81 @@ public class PostsAdapter extends ArrayAdapter<Post>{
|
|||||||
convertView.findViewById(R.id.comments_list).setVisibility(View.GONE);
|
convertView.findViewById(R.id.comments_list).setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Update comment creation form
|
||||||
|
View commentCreationForm = convertView.findViewById(R.id.create_comment_form);
|
||||||
|
EditCommentContentView input_comment = convertView.findViewById(R.id.input_comment_content);
|
||||||
|
if(comments == null){
|
||||||
|
|
||||||
|
//Hide comment creation form
|
||||||
|
commentCreationForm.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
//Display comment creation form
|
||||||
|
commentCreationForm.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
//Make sure the form is correctly set up
|
||||||
|
if(input_comment.getPostID() != post.getId()){
|
||||||
|
|
||||||
|
//Reset input comment
|
||||||
|
input_comment.setPostID(post.getId());
|
||||||
|
input_comment.setText("");
|
||||||
|
|
||||||
|
//Make the send button lives
|
||||||
|
final View finalConvertView = convertView;
|
||||||
|
convertView.findViewById(R.id.comment_send_button)
|
||||||
|
.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
sendComment(position, finalConvertView);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return convertView;
|
return convertView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intend to send a new comment to the server
|
||||||
|
*
|
||||||
|
* @param pos The position of the post to update
|
||||||
|
* @param container The container of the post item
|
||||||
|
*/
|
||||||
|
private void sendComment(int pos, View container){
|
||||||
|
|
||||||
|
//Get post informations
|
||||||
|
Post post = getItem(pos);
|
||||||
|
if(post==null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
//Get informations about the comment
|
||||||
|
int postID = post.getId();
|
||||||
|
String content = ((EditText) container.findViewById(R.id.input_comment_content)).getText()+"";
|
||||||
|
|
||||||
|
//Check the comment's validity
|
||||||
|
if(!StringsUtils.isValidForContent(content)){
|
||||||
|
Toast.makeText(getContext(), R.string.err_invalid_comment_content,
|
||||||
|
Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Submit the comment in a separate thread
|
||||||
|
new AsyncTask<Void, Void, Pair<UserInfo, Comment>>(){
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
protected Pair<UserInfo, Comment> doInBackground(Void... params) {
|
||||||
|
|
||||||
|
//Try to create the comment
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
package org.communiquons.android.comunic.client.ui.views;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Comments creation input view
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
* Created by pierre on 3/12/18.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class EditCommentContentView extends android.support.v7.widget.AppCompatEditText {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ID of the target post
|
||||||
|
*/
|
||||||
|
private int postID;
|
||||||
|
|
||||||
|
public EditCommentContentView(Context context) {
|
||||||
|
super(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EditCommentContentView(Context context, AttributeSet attrs) {
|
||||||
|
super(context, attrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EditCommentContentView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||||
|
super(context, attrs, defStyleAttr);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the ID of the related post
|
||||||
|
*
|
||||||
|
* @param postID The ID of the post
|
||||||
|
*/
|
||||||
|
public void setPostID(int postID) {
|
||||||
|
this.postID = postID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the ID of the related post
|
||||||
|
*
|
||||||
|
* @return The ID of the related post
|
||||||
|
*/
|
||||||
|
public int getPostID() {
|
||||||
|
return postID;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user