diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b80c57f..8953120 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,9 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> + + + diff --git a/app/src/main/java/com/example/kpj/ComposePostActivity.java b/app/src/main/java/com/example/kpj/ComposePostActivity.java new file mode 100644 index 0000000..e85a0f9 --- /dev/null +++ b/app/src/main/java/com/example/kpj/ComposePostActivity.java @@ -0,0 +1,128 @@ +package com.example.kpj; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import com.example.kpj.model.Post; +import com.parse.ParseUser; + +import java.io.File; + +public class ComposePostActivity extends AppCompatActivity { + + + EditText etComposePostTitle; + EditText etComposeBody; + + TextView tvComposeTitleLabel; + TextView tvComposeUsername; + TextView tvComposeBodyLabel; + + ImageView ivComposeProfile; + ImageView ivComposeImage; + + ImageButton ibAddPdf; + ImageButton ibCamera; + ImageButton ibExitCompose; + ImageButton ibAddImage; + + Button bLaunch; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_compose_post); + + etComposePostTitle = findViewById(R.id.etComposePostTitle); + etComposeBody = findViewById(R.id.etComposeBody); + + tvComposeUsername = findViewById(R.id.tvComposeUsername); + ivComposeProfile = findViewById(R.id.ivComposeProfile); + setUserInfo(); + + ibExitCompose = findViewById(R.id.ibExitCompose); + setIBtnExitListener(); + ibAddImage = findViewById(R.id.ibAddImage); + setIBtnAddImageListener(); + ibCamera = findViewById(R.id.ibCamera); + setIBtnCameraListener(); + ibAddPdf = findViewById(R.id.ibAddPdf); + setIBtnPdfListener(); + + bLaunch = findViewById(R.id.bLaunch); + setBtnLaunchListener(); + } + + public void setIBtnExitListener() { + //send back to feed fragment + } + + private void setIBtnPdfListener() { + //grab pdf into image files + } + + private void setIBtnCameraListener() { + // do if there is time left + } + + private void setIBtnAddImageListener() { + //grab images from gallary? + } + + public void setBtnLaunchListener() { + bLaunch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + savePost(); + //TODO -- notify adapter + //TODO -- Send back to feed fragment + Toast.makeText(ComposePostActivity.this, "Save successful", Toast.LENGTH_LONG).show(); + } + }); + } + + private void setUserInfo() { + //get image and usernamme + } + + private void savePost() { + // Create new post instance + Post newPost = new Post(); + // Grab content from the compose activity + String newTitle = etComposePostTitle.getText().toString(); + String newBody = etComposeBody.getText().toString(); + // TODO - grab photo/pdf file + + // Set user of post + newPost.setUser(ParseUser.getCurrentUser()); + // Set content of post + if (newTitle.length() != 0) { newPost.setTitle(newTitle); } + if (newBody.length() != 0) { newPost.setDescription(newBody); } + // TODO - send photo/pdf files + + // Setup vote count + newPost.setUpVotes(0); + newPost.setDownVotes(0); + } + + + + + + + + + + + + + +} diff --git a/app/src/main/java/com/example/kpj/CourseFeedFragment.java b/app/src/main/java/com/example/kpj/CourseFeedFragment.java deleted file mode 100644 index 9009f01..0000000 --- a/app/src/main/java/com/example/kpj/CourseFeedFragment.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.example.kpj; - -import android.content.Context; -import android.net.Uri; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - - -public class CourseFeedFragment extends Fragment { - private static final String ARG_PAGE = "ARG_PAGE"; - private int mPage; - - public CourseFeedFragment() { - // Required empty public constructor - } - - public static CourseFeedFragment newInstance(int page) { - CourseFeedFragment fragment = new CourseFeedFragment(); - Bundle args = new Bundle(); - args.putInt(ARG_PAGE, page); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - mPage = getArguments().getInt(ARG_PAGE); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_course_list, container, false); - } - -} diff --git a/app/src/main/java/com/example/kpj/FragmentPageAdapter.java b/app/src/main/java/com/example/kpj/FragmentPageAdapter.java index 92f8da0..fc64b94 100644 --- a/app/src/main/java/com/example/kpj/FragmentPageAdapter.java +++ b/app/src/main/java/com/example/kpj/FragmentPageAdapter.java @@ -5,6 +5,11 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; +import com.example.kpj.fragments.CourseFeedFragment; +import com.example.kpj.fragments.CourseListFragment; +import com.example.kpj.fragments.MessageFragment; +import com.example.kpj.fragments.ProfileFragment; + public class FragmentPageAdapter extends FragmentStatePagerAdapter { diff --git a/app/src/main/java/com/example/kpj/LoginActivity.java b/app/src/main/java/com/example/kpj/LoginActivity.java new file mode 100644 index 0000000..be499fd --- /dev/null +++ b/app/src/main/java/com/example/kpj/LoginActivity.java @@ -0,0 +1,13 @@ +package com.example.kpj; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +public class LoginActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + } +} diff --git a/app/src/main/java/com/example/kpj/SignupActivity.java b/app/src/main/java/com/example/kpj/SignupActivity.java new file mode 100644 index 0000000..ba4e088 --- /dev/null +++ b/app/src/main/java/com/example/kpj/SignupActivity.java @@ -0,0 +1,13 @@ +package com.example.kpj; + +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; + +public class SignupActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_signup); + } +} diff --git a/app/src/main/java/com/example/kpj/fragments/CourseFeedFragment.java b/app/src/main/java/com/example/kpj/fragments/CourseFeedFragment.java new file mode 100644 index 0000000..5b2a0cb --- /dev/null +++ b/app/src/main/java/com/example/kpj/fragments/CourseFeedFragment.java @@ -0,0 +1,104 @@ +package com.example.kpj.fragments; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.SearchView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageButton; + +import com.example.kpj.ComposePostActivity; +import com.example.kpj.R; + + +public class CourseFeedFragment extends Fragment { + private static final String ARG_PAGE = "ARG_PAGE"; + private int mPage; + + RecyclerView rvCourseFeed; + SearchView svSearch; + ImageButton ibCompose; + + public CourseFeedFragment() { + // Required empty public constructor + } + + public static CourseFeedFragment newInstance(int page) { + CourseFeedFragment fragment = new CourseFeedFragment(); + Bundle args = new Bundle(); + args.putInt(ARG_PAGE, page); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mPage = getArguments().getInt(ARG_PAGE); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_course_feed, container, false); + + // Find views from xml + rvCourseFeed = view.findViewById(R.id.rvCourseFeed); + ibCompose = view.findViewById(R.id.ibCompose); + // TODO -- Figure out how to set up a search view + //svSearch = view.findViewById(R.id.svSearch); + + setComposeButtonListener(); + return view; + } + + public void setComposeButtonListener() { + ibCompose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(getActivity(), ComposePostActivity.class); + startActivity(intent); + } + }); + } + +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/example/kpj/CourseListFragment.java b/app/src/main/java/com/example/kpj/fragments/CourseListFragment.java similarity index 93% rename from app/src/main/java/com/example/kpj/CourseListFragment.java rename to app/src/main/java/com/example/kpj/fragments/CourseListFragment.java index 53df99d..d35103a 100644 --- a/app/src/main/java/com/example/kpj/CourseListFragment.java +++ b/app/src/main/java/com/example/kpj/fragments/CourseListFragment.java @@ -1,13 +1,13 @@ -package com.example.kpj; +package com.example.kpj.fragments; -import android.content.Context; -import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.example.kpj.R; + public class CourseListFragment extends Fragment { private static final String ARG_PAGE = "ARG_PAGE"; diff --git a/app/src/main/java/com/example/kpj/MessageFragment.java b/app/src/main/java/com/example/kpj/fragments/MessageFragment.java similarity index 87% rename from app/src/main/java/com/example/kpj/MessageFragment.java rename to app/src/main/java/com/example/kpj/fragments/MessageFragment.java index abcf6a7..7c03d80 100644 --- a/app/src/main/java/com/example/kpj/MessageFragment.java +++ b/app/src/main/java/com/example/kpj/fragments/MessageFragment.java @@ -1,4 +1,4 @@ -package com.example.kpj; +package com.example.kpj.fragments; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -6,6 +6,8 @@ import android.view.View; import android.view.ViewGroup; +import com.example.kpj.R; + public class MessageFragment extends Fragment { private static final String ARG_PAGE = "ARG_PAGE"; @@ -34,7 +36,7 @@ public void onCreate(Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_course_list, container, false); + return inflater.inflate(R.layout.fragment_message, container, false); } // comment diff --git a/app/src/main/java/com/example/kpj/ProfileFragment.java b/app/src/main/java/com/example/kpj/fragments/ProfileFragment.java similarity index 82% rename from app/src/main/java/com/example/kpj/ProfileFragment.java rename to app/src/main/java/com/example/kpj/fragments/ProfileFragment.java index 8c7a169..b4e0c2b 100644 --- a/app/src/main/java/com/example/kpj/ProfileFragment.java +++ b/app/src/main/java/com/example/kpj/fragments/ProfileFragment.java @@ -1,15 +1,20 @@ -package com.example.kpj; +package com.example.kpj.fragments; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.example.kpj.R; + public class ProfileFragment extends Fragment { + private static final String ARG_PAGE = "ARG_PAGE"; private int mPage; + public ProfileFragment() { } @@ -32,8 +37,13 @@ public void onCreate(Bundle savedInstanceState) { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_course_list, container, false); + View view = inflater.inflate(R.layout.fragment_profile, container, false); + + return view; + + } } diff --git a/app/src/main/java/com/example/kpj/model/Post.java b/app/src/main/java/com/example/kpj/model/Post.java index 09a7516..8c6a63f 100644 --- a/app/src/main/java/com/example/kpj/model/Post.java +++ b/app/src/main/java/com/example/kpj/model/Post.java @@ -25,9 +25,7 @@ public ParseFile getMedia() { return getParseFile(KEY_MEDIA); } - public String getTitle() { - return getString(KEY_TITLE); - } + public String getTitle() { return getString(KEY_TITLE); } public String getDescription() { return getString(KEY_DESCRIPTION); diff --git a/app/src/main/res/layout/activity_compose_post.xml b/app/src/main/res/layout/activity_compose_post.xml new file mode 100644 index 0000000..1612f88 --- /dev/null +++ b/app/src/main/res/layout/activity_compose_post.xml @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + +