From 9126eca2e0409c41b7f507c6041969b5ec35866f Mon Sep 17 00:00:00 2001 From: dell Date: Wed, 5 Feb 2020 13:23:50 +0200 Subject: [PATCH] First Commit --- .gitignore | 14 ++ .idea/codeStyles/Project.xml | 116 ++++++++++++ .idea/encodings.xml | 6 + .idea/gradle.xml | 16 ++ .idea/inspectionProfiles/Project_Default.xml | 9 + .idea/misc.xml | 48 +++++ .idea/runConfigurations.xml | 12 ++ .idea/vcs.xml | 6 + Poster.zip | Bin 0 -> 140733 bytes app/.gitignore | 1 + app/build.gradle | 69 +++++++ app/proguard-rules.pro | 21 +++ .../com/poster/ExampleInstrumentedTest.java | 27 +++ app/src/main/AndroidManifest.xml | 25 +++ .../com/poster/data/retrofit/PostClient.java | 45 +++++ .../poster/data/retrofit/PostInterface.java | 23 +++ .../javatar/com/poster/data/room/PostDao.java | 31 ++++ .../com/poster/data/room/PostDatabase.java | 37 ++++ .../com/poster/data/room/PostRepository.java | 103 +++++++++++ .../java/javatar/com/poster/pojo/Comment.java | 31 ++++ .../java/javatar/com/poster/pojo/Post.java | 56 ++++++ .../java/javatar/com/poster/pojo/User.java | 40 ++++ .../javatar/com/poster/ui/CommentAdapter.java | 55 ++++++ .../javatar/com/poster/ui/HomeActivity.java | 120 ++++++++++++ .../javatar/com/poster/ui/PostAdapter.java | 123 +++++++++++++ .../javatar/com/poster/ui/PostViewModel.java | 88 +++++++++ .../drawable-v24/ic_launcher_foreground.xml | 34 ++++ .../drawable/ic_account_circle_black_24dp.xml | 9 + .../ic_keyboard_arrow_down_black_24dp.xml | 9 + .../res/drawable/ic_launcher_background.xml | 170 +++++++++++++++++ app/src/main/res/drawable/round_button.xml | 6 + app/src/main/res/layout/activity_home.xml | 71 ++++++++ app/src/main/res/layout/bottom_sheet.xml | 67 +++++++ app/src/main/res/layout/item_comment.xml | 21 +++ app/src/main/res/layout/item_post.xml | 124 +++++++++++++ app/src/main/res/layout/user_info_layout.xml | 97 ++++++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2963 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4905 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2060 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2783 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4490 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6895 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6387 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10413 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9128 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15132 bytes app/src/main/res/values/colors.xml | 6 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/styles.xml | 11 ++ .../javatar/com/poster/ExampleUnitTest.java | 17 ++ build.gradle | 27 +++ gradle.properties | 20 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 ++++++++++++++++++ gradlew.bat | 84 +++++++++ settings.gradle | 2 + 59 files changed, 2088 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml create mode 100644 Poster.zip create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/javatar/com/poster/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/javatar/com/poster/data/retrofit/PostClient.java create mode 100644 app/src/main/java/javatar/com/poster/data/retrofit/PostInterface.java create mode 100644 app/src/main/java/javatar/com/poster/data/room/PostDao.java create mode 100644 app/src/main/java/javatar/com/poster/data/room/PostDatabase.java create mode 100644 app/src/main/java/javatar/com/poster/data/room/PostRepository.java create mode 100644 app/src/main/java/javatar/com/poster/pojo/Comment.java create mode 100644 app/src/main/java/javatar/com/poster/pojo/Post.java create mode 100644 app/src/main/java/javatar/com/poster/pojo/User.java create mode 100644 app/src/main/java/javatar/com/poster/ui/CommentAdapter.java create mode 100644 app/src/main/java/javatar/com/poster/ui/HomeActivity.java create mode 100644 app/src/main/java/javatar/com/poster/ui/PostAdapter.java create mode 100644 app/src/main/java/javatar/com/poster/ui/PostViewModel.java create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_account_circle_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/round_button.xml create mode 100644 app/src/main/res/layout/activity_home.xml create mode 100644 app/src/main/res/layout/bottom_sheet.xml create mode 100644 app/src/main/res/layout/item_comment.xml create mode 100644 app/src/main/res/layout/item_post.xml create mode 100644 app/src/main/res/layout/user_info_layout.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/java/javatar/com/poster/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..603b140 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..d291b3d --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..d7a7dfa --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..687d49e --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Poster.zip b/Poster.zip new file mode 100644 index 0000000000000000000000000000000000000000..2a8ea5577cabe67b9e4e420e1f253646eab57a3c GIT binary patch literal 140733 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 T1VkG6CkF=vTesting documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("javatar.com.poster", appContext.getPackageName()); + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1692241 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/javatar/com/poster/data/retrofit/PostClient.java b/app/src/main/java/javatar/com/poster/data/retrofit/PostClient.java new file mode 100644 index 0000000..b213dca --- /dev/null +++ b/app/src/main/java/javatar/com/poster/data/retrofit/PostClient.java @@ -0,0 +1,45 @@ +package javatar.com.poster.data.retrofit; + +import java.util.List; + +import io.reactivex.Single; +import javatar.com.poster.pojo.Comment; +import javatar.com.poster.pojo.Post; +import javatar.com.poster.pojo.User; +import retrofit2.Retrofit; +import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; +import retrofit2.converter.gson.GsonConverterFactory; + +public class PostClient { + private static final String BUSE_URL = "https://jsonplaceholder.typicode.com/"; + private PostInterface postInterface; + private static PostClient postInstance; + + public PostClient(){ + Retrofit retrofit =new Retrofit.Builder() + .baseUrl(BUSE_URL) + .addConverterFactory(GsonConverterFactory.create()) + .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) + .build(); + + postInterface = retrofit.create(PostInterface.class); + } + + public static PostClient getPostInstance() { + if (postInstance == null) + postInstance = new PostClient(); + return postInstance; + } + + public Single> getPosts(){ + return postInterface.getPosts(); + } + + public Single getUser(String id){ + return postInterface.getUser(id); + } + + public Single> getComments(String id){ + return postInterface.getComments(id); + } +} diff --git a/app/src/main/java/javatar/com/poster/data/retrofit/PostInterface.java b/app/src/main/java/javatar/com/poster/data/retrofit/PostInterface.java new file mode 100644 index 0000000..2dc5af0 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/data/retrofit/PostInterface.java @@ -0,0 +1,23 @@ +package javatar.com.poster.data.retrofit; + +import java.util.List; + +import io.reactivex.Single; +import javatar.com.poster.pojo.Comment; +import javatar.com.poster.pojo.Post; +import javatar.com.poster.pojo.User; +import retrofit2.http.GET; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface PostInterface { + + @GET("posts") + Single> getPosts(); + + @GET("users/{id}") + Single getUser(@Path("id") String id); + + @GET("comments") + Single> getComments(@Query("postId") String id); +} diff --git a/app/src/main/java/javatar/com/poster/data/room/PostDao.java b/app/src/main/java/javatar/com/poster/data/room/PostDao.java new file mode 100644 index 0000000..6008326 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/data/room/PostDao.java @@ -0,0 +1,31 @@ +package javatar.com.poster.data.room; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Delete; +import androidx.room.Insert; +import androidx.room.Query; +import androidx.room.Update; + +import java.util.List; + +import javatar.com.poster.pojo.Post; + +@Dao +public interface PostDao { + + @Insert + void insert(Post post); + + @Update + void update(Post post); + + @Delete + void delete(Post post); + + @Query("DELETE FROM post_table") + void deleteAllPosts(); + + @Query("SELECT * FROM post_table") + LiveData> getAllPosts(); +} diff --git a/app/src/main/java/javatar/com/poster/data/room/PostDatabase.java b/app/src/main/java/javatar/com/poster/data/room/PostDatabase.java new file mode 100644 index 0000000..f5e4a4c --- /dev/null +++ b/app/src/main/java/javatar/com/poster/data/room/PostDatabase.java @@ -0,0 +1,37 @@ +package javatar.com.poster.data.room; + +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; +import androidx.sqlite.db.SupportSQLiteDatabase; + +import javatar.com.poster.pojo.Post; + +@Database(entities = {Post.class}, version = 2) +abstract class PostDatabase extends RoomDatabase { + + private static PostDatabase instance; + + abstract PostDao postDao(); + + static synchronized PostDatabase getInstance(Context context) { + if (instance == null) { + instance = Room.databaseBuilder(context.getApplicationContext(), + PostDatabase.class, "post_database") + .fallbackToDestructiveMigration() + .addCallback(roomCallback) + .build(); + } + return instance; + } + + private static RoomDatabase.Callback roomCallback = new RoomDatabase.Callback() { + @Override + public void onCreate(@NonNull SupportSQLiteDatabase db) { + super.onCreate(db); + } + }; +} diff --git a/app/src/main/java/javatar/com/poster/data/room/PostRepository.java b/app/src/main/java/javatar/com/poster/data/room/PostRepository.java new file mode 100644 index 0000000..21dfd83 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/data/room/PostRepository.java @@ -0,0 +1,103 @@ +package javatar.com.poster.data.room; + +import android.app.Application; +import android.database.sqlite.SQLiteConstraintException; +import android.os.AsyncTask; + +import androidx.lifecycle.LiveData; + +import java.util.List; + +import javatar.com.poster.pojo.Post; + +public class PostRepository { + + private PostDao postDao; + private LiveData> allPosts; + + public PostRepository(Application application) { + PostDatabase database = PostDatabase.getInstance(application); + postDao = database.postDao(); + allPosts = postDao.getAllPosts(); + } + + public void insert(Post post) { + new InsertPostAsyncTask(postDao).execute(post); + } + + public void update(Post post) { + new UpdatePostAsyncTask(postDao).execute(post); + } + + public void delete(Post post) { + new DeletePostAsyncTask(postDao).execute(post); + } + + public void deleteAllPosts() { + new DeleteAllPostsAsyncTask(postDao).execute(); + } + + public LiveData> getAllPosts() { + return allPosts; + } + + private static class InsertPostAsyncTask extends AsyncTask { + private PostDao postDao; + + private InsertPostAsyncTask(PostDao postDao) { + this.postDao = postDao; + } + + @Override + protected Void doInBackground(Post... posts) { + try { + postDao.insert(posts[0]); + }catch (SQLiteConstraintException e){ + System.out.println(e.getMessage()); + } + return null; + } + } + + private static class UpdatePostAsyncTask extends AsyncTask { + private PostDao postDao; + + private UpdatePostAsyncTask(PostDao postDao) { + this.postDao = postDao; + } + + @Override + protected Void doInBackground(Post... posts) { + postDao.update(posts[0]); + return null; + } + } + + private static class DeletePostAsyncTask extends AsyncTask { + private PostDao postDao; + + private DeletePostAsyncTask(PostDao postDao) { + this.postDao = postDao; + } + + @Override + protected Void doInBackground(Post... posts) { + postDao.delete(posts[0]); + return null; + } + } + + private static class DeleteAllPostsAsyncTask extends AsyncTask { + private PostDao postDao; + + private DeleteAllPostsAsyncTask(PostDao postDao) { + this.postDao = postDao; + } + + @Override + protected Void doInBackground(Void... voids) { + postDao.deleteAllPosts(); + return null; + } + } +} diff --git a/app/src/main/java/javatar/com/poster/pojo/Comment.java b/app/src/main/java/javatar/com/poster/pojo/Comment.java new file mode 100644 index 0000000..943a93a --- /dev/null +++ b/app/src/main/java/javatar/com/poster/pojo/Comment.java @@ -0,0 +1,31 @@ +package javatar.com.poster.pojo; + +public class Comment { + private int id; + private String email; + private String body; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } +} diff --git a/app/src/main/java/javatar/com/poster/pojo/Post.java b/app/src/main/java/javatar/com/poster/pojo/Post.java new file mode 100644 index 0000000..7a9f6e9 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/pojo/Post.java @@ -0,0 +1,56 @@ +package javatar.com.poster.pojo; + +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +@Entity(tableName = "post_table") +public class Post { + private int userId; + + @PrimaryKey + private int id; + private String title; + private String body; + + public Post() { + } + + public Post(int userId, int id, String title, String body) { + this.userId = userId; + this.id = id; + this.title = title; + this.body = body; + } + + public int getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } +} diff --git a/app/src/main/java/javatar/com/poster/pojo/User.java b/app/src/main/java/javatar/com/poster/pojo/User.java new file mode 100644 index 0000000..b0f04d0 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/pojo/User.java @@ -0,0 +1,40 @@ +package javatar.com.poster.pojo; + +public class User { + private String name; + private String email; + private String phone; + private String website; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getWebsite() { + return website; + } + + public void setWebsite(String website) { + this.website = website; + } +} diff --git a/app/src/main/java/javatar/com/poster/ui/CommentAdapter.java b/app/src/main/java/javatar/com/poster/ui/CommentAdapter.java new file mode 100644 index 0000000..a9c62ef --- /dev/null +++ b/app/src/main/java/javatar/com/poster/ui/CommentAdapter.java @@ -0,0 +1,55 @@ +package javatar.com.poster.ui; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.ArrayList; +import java.util.List; + +import javatar.com.poster.R; +import javatar.com.poster.pojo.Comment; + +public class CommentAdapter extends RecyclerView.Adapter { + private List listComment = new ArrayList<>(); + + @NonNull + @Override + public CommentViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new CommentViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_comment, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull CommentViewHolder holder, int position) { + Comment itemComment = listComment.get(position); + + holder.comment_text.setText(itemComment.getBody()); + } + + @Override + public int getItemCount() { + return listComment.size(); + } + + public void setList(List listComment) { + this.listComment = listComment; + notifyDataSetChanged(); + } + + public class CommentViewHolder extends RecyclerView.ViewHolder { + TextView comment_text; + public CommentViewHolder(@NonNull View itemView) { + super(itemView); + comment_text = itemView.findViewById(R.id.comment_text); + } + } + + public void clear(){ + listComment.clear(); + notifyDataSetChanged(); + } +} \ No newline at end of file diff --git a/app/src/main/java/javatar/com/poster/ui/HomeActivity.java b/app/src/main/java/javatar/com/poster/ui/HomeActivity.java new file mode 100644 index 0000000..b6c6a59 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/ui/HomeActivity.java @@ -0,0 +1,120 @@ +package javatar.com.poster.ui; + +import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.Switch; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.lifecycle.ViewModelProviders; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.ItemTouchHelper; +import androidx.recyclerview.widget.RecyclerView; + +import com.google.android.material.bottomsheet.BottomSheetBehavior; + +import java.util.List; + +import javatar.com.poster.R; +import javatar.com.poster.pojo.Post; + +public class HomeActivity extends AppCompatActivity { + + public static PostViewModel postViewModel; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_home); + + postViewModel = ViewModelProviders.of(this).get(PostViewModel.class); + + postViewModel.getPosts(); + + //Posts Online------------------------------------------------ + final PostAdapter adapter = new PostAdapter(this); + RecyclerView recyclerView = findViewById(R.id.recycler_post); + + recyclerView.setLayoutManager(new GridLayoutManager(this,1)); + recyclerView.setAdapter(adapter); + postViewModel.postsMutableLiveData.observe(this, adapter::setList); + + //Posts Offline------------------------------------------------ + final PostAdapter adapterOffline = new PostAdapter(this); + RecyclerView recyclerPostOffline = findViewById(R.id.recycler_post_offline); + + recyclerPostOffline.setLayoutManager(new GridLayoutManager(this,1)); + recyclerPostOffline.setAdapter(adapterOffline); + + postViewModel.getAllPostsOffline().observe(this, adapterOffline::setList); + + //Comments------------------------------------------------ + final CommentAdapter adapterComments = new CommentAdapter(); + RecyclerView recyclerViewComments = findViewById(R.id.recycler_comment); + + recyclerViewComments.setLayoutManager(new GridLayoutManager(this,1)); + recyclerViewComments.setAdapter(adapterComments); + + postViewModel.CommentsMutableLiveData.observe(this, adapterComments::setList); + + //BottomSheet------------------------------------------------ + LinearLayout llBottomSheet = findViewById(R.id.bottom_sheet); + final BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(llBottomSheet); + bottomSheetBehavior.setHideable(false); + + bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { + @Override + public void onStateChanged(@NonNull View view, int i) { + + + if (i==4) adapterComments.clear(); + } + + @Override + public void onSlide(@NonNull View view, float v) { + + } + }); + + postViewModel.sheetState.observe(this,ch->{ + if (ch) bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); + }); + + Switch aSwitch = findViewById(R.id.switch_offline); + TextView clear = findViewById(R.id.clear); + + clear.setOnClickListener(view -> { + postViewModel.deleteAllPosts(); + Toast.makeText(this, "All posts deleted", Toast.LENGTH_SHORT).show(); + }); + + aSwitch.setOnCheckedChangeListener((compoundButton, b) -> { + if (b) { + recyclerView.setVisibility(View.GONE); + recyclerPostOffline.setVisibility(View.VISIBLE); + clear.setVisibility(View.VISIBLE); + } else{ + recyclerView.setVisibility(View.VISIBLE); + recyclerPostOffline.setVisibility(View.GONE); + clear.setVisibility(View.GONE); + } + }); + + new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, + ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) { + @Override + public boolean onMove(@NonNull RecyclerView recyclerView,@NonNull RecyclerView.ViewHolder viewHolder,@NonNull RecyclerView.ViewHolder target) { + return false; + } + + @Override + public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) { + postViewModel.delete(adapterOffline.getPostAt(viewHolder.getAdapterPosition())); + Toast.makeText(HomeActivity.this, "Post deleted", Toast.LENGTH_SHORT).show(); + } + }).attachToRecyclerView(recyclerPostOffline); + } +} diff --git a/app/src/main/java/javatar/com/poster/ui/PostAdapter.java b/app/src/main/java/javatar/com/poster/ui/PostAdapter.java new file mode 100644 index 0000000..4835bd9 --- /dev/null +++ b/app/src/main/java/javatar/com/poster/ui/PostAdapter.java @@ -0,0 +1,123 @@ +package javatar.com.poster.ui; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.ArrayList; +import java.util.List; + +import io.reactivex.Single; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; +import javatar.com.poster.R; +import javatar.com.poster.data.retrofit.PostClient; +import javatar.com.poster.pojo.Post; +import javatar.com.poster.pojo.User; + +public class PostAdapter extends RecyclerView.Adapter { + + private static final String TAG = "PostAdapter"; + + private List listPost = new ArrayList<>(); + + private Activity activity; + + public PostAdapter(Activity activity) { + this.activity = activity; + } + + @NonNull + @Override + public PostViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return new PostViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post, parent, false)); + } + + @SuppressLint({"SetTextI18n", "CheckResult"}) + @Override + public void onBindViewHolder(@NonNull PostViewHolder holder, int position) { + Post itemPost = listPost.get(position); + holder.title.setText(itemPost.getTitle()); + holder.body.setText(itemPost.getBody()); + holder.user.setText(itemPost.getUserId()+""); + + holder.user.setOnClickListener(view -> { + @SuppressLint("InflateParams") + View layout = activity.getLayoutInflater().inflate(R.layout.user_info_layout, null); + AlertDialog dialog = new AlertDialog.Builder(activity).create(); + dialog.setView(layout); + + TextView user_name = layout.findViewById(R.id.user_name); + TextView user_email = layout.findViewById(R.id.user_email); + TextView user_phone = layout.findViewById(R.id.user_phone); + TextView user_website = layout.findViewById(R.id.user_website); + + Single single = PostClient.getPostInstance().getUser(itemPost.getUserId()+"") + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + + single.subscribe( + user-> { + user_name.setText(user.getName()); + user_phone.setText(user.getPhone()); + user_email.setText(user.getEmail()); + user_website.setText(user.getWebsite()); + }, + e-> Log.d(TAG, "onBindViewHolder: "+e) + ); + + Button cancel = layout.findViewById(R.id.cancel_dialog); + cancel.setOnClickListener(view1 -> dialog.dismiss()); + + dialog.show(); + }); + + holder.comments.setOnClickListener(view ->{ + HomeActivity.postViewModel.getComments(itemPost.getId()+""); + HomeActivity.postViewModel.setState(); + }); + + holder.save.setOnClickListener(view -> { + HomeActivity.postViewModel.insert(itemPost); + Toast.makeText(activity, "Post saved", Toast.LENGTH_SHORT).show(); + }); + } + + @Override + public int getItemCount() { + return listPost.size(); + } + + public void setList(List listPost) { + this.listPost = listPost; + notifyDataSetChanged(); + } + + public Post getPostAt(int position) { + return listPost.get(position); + } + + public class PostViewHolder extends RecyclerView.ViewHolder { + TextView title,body,user,save,comments; + + public PostViewHolder(@NonNull View itemView) { + super(itemView); + + title = itemView.findViewById(R.id.title_textView); + body = itemView.findViewById(R.id.body_textView); + user = itemView.findViewById(R.id.user_textView); + save = itemView.findViewById(R.id.save_textView); + comments = itemView.findViewById(R.id.comments_textView); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/javatar/com/poster/ui/PostViewModel.java b/app/src/main/java/javatar/com/poster/ui/PostViewModel.java new file mode 100644 index 0000000..7cc61ff --- /dev/null +++ b/app/src/main/java/javatar/com/poster/ui/PostViewModel.java @@ -0,0 +1,88 @@ +package javatar.com.poster.ui; + +import android.annotation.SuppressLint; +import android.app.Application; +import android.util.Log; + +import androidx.annotation.NonNull; +import androidx.lifecycle.AndroidViewModel; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; + +import java.util.List; + +import io.reactivex.Single; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; +import javatar.com.poster.data.retrofit.PostClient; +import javatar.com.poster.data.room.PostRepository; +import javatar.com.poster.pojo.Comment; +import javatar.com.poster.pojo.Post; + +public class PostViewModel extends AndroidViewModel { + + MutableLiveData> postsMutableLiveData = new MutableLiveData<>(); + + MutableLiveData> CommentsMutableLiveData = new MutableLiveData<>(); + + MutableLiveData sheetState = new MutableLiveData<>(); + + private static final String TAG = "PostViewModel"; + @SuppressLint("CheckResult") + void getPosts(){ + Single> single = PostClient.getPostInstance().getPosts() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + + single.subscribe( + o-> postsMutableLiveData.setValue(o), + e-> Log.d(TAG, "getPosts: "+e) + ); + + } + + @SuppressLint("CheckResult") + void getComments(String id){ + Single> single = PostClient.getPostInstance().getComments(id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + + single.subscribe( + o-> CommentsMutableLiveData.setValue(o), + e-> Log.d(TAG, "getPosts: "+e) + ); + } + + void setState(){ + sheetState.setValue(true); + } + + private PostRepository repository; + private LiveData> allPosts; + + public PostViewModel(@NonNull Application application) { + super(application); + repository = new PostRepository(application); + allPosts = repository.getAllPosts(); + } + + public void insert(Post Post) { + repository.insert(Post); + } + + public void update(Post Post) { + repository.update(Post); + } + + public void delete(Post Post) { + repository.delete(Post); + } + + public void deleteAllPosts() { + repository.deleteAllPosts(); + } + + public LiveData> getAllPostsOffline() { + return allPosts; + } +} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..1f6bb29 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_account_circle_black_24dp.xml b/app/src/main/res/drawable/ic_account_circle_black_24dp.xml new file mode 100644 index 0000000..38fd66a --- /dev/null +++ b/app/src/main/res/drawable/ic_account_circle_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml new file mode 100644 index 0000000..1e0c194 --- /dev/null +++ b/app/src/main/res/drawable/ic_keyboard_arrow_down_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..0d025f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/round_button.xml b/app/src/main/res/drawable/round_button.xml new file mode 100644 index 0000000..465d896 --- /dev/null +++ b/app/src/main/res/drawable/round_button.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml new file mode 100644 index 0000000..3c832e8 --- /dev/null +++ b/app/src/main/res/layout/activity_home.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/bottom_sheet.xml b/app/src/main/res/layout/bottom_sheet.xml new file mode 100644 index 0000000..d785d56 --- /dev/null +++ b/app/src/main/res/layout/bottom_sheet.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_comment.xml b/app/src/main/res/layout/item_comment.xml new file mode 100644 index 0000000..498a9a1 --- /dev/null +++ b/app/src/main/res/layout/item_comment.xml @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_post.xml b/app/src/main/res/layout/item_post.xml new file mode 100644 index 0000000..e67e208 --- /dev/null +++ b/app/src/main/res/layout/item_post.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/user_info_layout.xml b/app/src/main/res/layout/user_info_layout.xml new file mode 100644 index 0000000..ca719ba --- /dev/null +++ b/app/src/main/res/layout/user_info_layout.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + +