mirror of
				https://github.com/pierre42100/ComunicAndroid
				synced 2025-11-04 11:34:06 +00:00 
			
		
		
		
	Ready to implement post creation.
This commit is contained in:
		@@ -0,0 +1,15 @@
 | 
			
		||||
package org.communiquons.android.comunic.client.data.posts;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This object extends the Post object in order to include all the required informations to
 | 
			
		||||
 * create a new post
 | 
			
		||||
 *
 | 
			
		||||
 * @author Pierre HUBERT
 | 
			
		||||
 * Created by pierre on 4/1/18.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public class CreatePost extends Post {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,17 @@
 | 
			
		||||
package org.communiquons.android.comunic.client.data.posts;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Page types
 | 
			
		||||
 *
 | 
			
		||||
 * @author Pierre HUBERT
 | 
			
		||||
 * Created by pierre on 4/1/18.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public enum PageType {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * User page
 | 
			
		||||
     */
 | 
			
		||||
    USER_PAGE
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 | 
			
		||||
/**
 | 
			
		||||
 * Post model
 | 
			
		||||
 *
 | 
			
		||||
 * This object contains the informations about a single post
 | 
			
		||||
 * This object contains the information about a single post
 | 
			
		||||
 *
 | 
			
		||||
 * @author Pierre HUBERT
 | 
			
		||||
 * Created by pierre on 1/21/18.
 | 
			
		||||
@@ -21,6 +21,8 @@ public class Post {
 | 
			
		||||
    private int id;
 | 
			
		||||
    private int userID;
 | 
			
		||||
    private int post_time;
 | 
			
		||||
    private PageType page_type;
 | 
			
		||||
    private int page_id;
 | 
			
		||||
    private String content;
 | 
			
		||||
    private PostTypes type;
 | 
			
		||||
    private PostVisibilityLevels visibilityLevel;
 | 
			
		||||
@@ -61,6 +63,25 @@ public class Post {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //Set and get the type of the page
 | 
			
		||||
    void setPage_type(PageType page_type) {
 | 
			
		||||
        this.page_type = page_type;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public PageType getPage_type() {
 | 
			
		||||
        return page_type;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //Get and set page id
 | 
			
		||||
    void setPage_id(int page_id) {
 | 
			
		||||
        this.page_id = page_id;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public int getPage_id() {
 | 
			
		||||
        return page_id;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //Set and get the content of the post
 | 
			
		||||
    public void setContent(String content) {
 | 
			
		||||
        this.content = content;
 | 
			
		||||
 
 | 
			
		||||
@@ -110,6 +110,15 @@ public class PostsHelper {
 | 
			
		||||
        post.setId(json.getInt("ID"));
 | 
			
		||||
        post.setUserID(json.getInt("userID"));
 | 
			
		||||
        post.setPost_time(json.getInt("post_time"));
 | 
			
		||||
 | 
			
		||||
        //Determine the type and the id of the page
 | 
			
		||||
        if(json.getInt("user_page_id") != 0){
 | 
			
		||||
            //Set information about the user
 | 
			
		||||
            post.setPage_type(PageType.USER_PAGE);
 | 
			
		||||
            post.setPage_id(json.getInt("user_page_id"));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        post.setContent(json.getString("content"));
 | 
			
		||||
        post.setComments_list(CommentsHelper.parse_json_array(json.getJSONArray("comments")));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,9 +6,15 @@ import android.support.annotation.Nullable;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
import android.widget.Button;
 | 
			
		||||
import android.widget.EditText;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
 | 
			
		||||
import org.communiquons.android.comunic.client.R;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.posts.CreatePost;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.posts.Post;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.posts.PostsHelper;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Posts creation form
 | 
			
		||||
@@ -39,12 +45,53 @@ public class PostsCreateFormFragment extends Fragment {
 | 
			
		||||
     */
 | 
			
		||||
    private OnPostCreated mOnPostCreated;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Post helper
 | 
			
		||||
     */
 | 
			
		||||
    private PostsHelper mPostHelper;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Submit form button
 | 
			
		||||
     */
 | 
			
		||||
    private Button mSendButton;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Post content
 | 
			
		||||
     */
 | 
			
		||||
    private EditText mPostContent;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onCreate(@Nullable Bundle savedInstanceState) {
 | 
			
		||||
        super.onCreate(savedInstanceState);
 | 
			
		||||
 | 
			
		||||
        //Initialize post helper
 | 
			
		||||
        mPostHelper = new PostsHelper(getActivity());
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Nullable
 | 
			
		||||
    @Override
 | 
			
		||||
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
 | 
			
		||||
        return inflater.inflate(R.layout.fragment_post_create_form, container, false);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
 | 
			
		||||
        super.onViewCreated(view, savedInstanceState);
 | 
			
		||||
 | 
			
		||||
        //Get post text area
 | 
			
		||||
        mPostContent = view.findViewById(R.id.new_post_content);
 | 
			
		||||
 | 
			
		||||
        //Get send button and makes it lives
 | 
			
		||||
        mSendButton = view.findViewById(R.id.submit_create_post_form);
 | 
			
		||||
        mSendButton.setOnClickListener(new View.OnClickListener() {
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onClick(View v) {
 | 
			
		||||
                submit_form();
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the on post created class to trigger when an event occur
 | 
			
		||||
     *
 | 
			
		||||
@@ -54,6 +101,23 @@ public class PostsCreateFormFragment extends Fragment {
 | 
			
		||||
        this.mOnPostCreated = onPostCreated;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Submit create post form
 | 
			
		||||
     */
 | 
			
		||||
    private void submit_form(){
 | 
			
		||||
 | 
			
		||||
        //Check if the content of the post is empty / too short
 | 
			
		||||
        if(mPostContent.getText().length() < 5){
 | 
			
		||||
            Toast.makeText(getActivity(), R.string.err_post_content_too_short,
 | 
			
		||||
                    Toast.LENGTH_SHORT).show();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Create a post object and fill it with the required information
 | 
			
		||||
        CreatePost post = new CreatePost();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This interface is called when a post is created
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
 | 
			
		||||
    <!-- Submit post -->
 | 
			
		||||
    <Button
 | 
			
		||||
        android:id="@+id/submit_create_post_form"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:text="@string/post_action_send"
 | 
			
		||||
 
 | 
			
		||||
@@ -122,4 +122,5 @@
 | 
			
		||||
    <string name="new_post_hint">New post…</string>
 | 
			
		||||
    <string name="post_action_send">Send</string>
 | 
			
		||||
    <string name="btn_show_create_form_description">Show / Hide create post form.</string>
 | 
			
		||||
    <string name="err_post_content_too_short">The content of the post is too short !</string>
 | 
			
		||||
</resources>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user