From 17b66e9cdb250b7d7cb7cb7162bca42bb949e243 Mon Sep 17 00:00:00 2001 From: Niki Date: Wed, 12 Jun 2024 15:40:37 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E3=82=BF=E3=82=B9=E3=82=AF=E4=B8=80?= =?UTF-8?q?=E8=A6=A7=E8=A1=A8=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/impl/RewardDataDummyImpl.java | 6 +- .../kidshift/data/impl/TaskDataDummyImpl.java | 8 +-- .../data/modules/RewardDataDummyModule.java | 3 +- .../data/modules/TaskDataDummyModule.java | 6 ++ feature/parent/build.gradle | 4 ++ .../feature/parent/ParentAdapter.java | 49 +++++++++++++++++ .../feature/parent/ParentMainFragment.java | 55 ++++++++++++++++++- .../main/res/layout/fragment_parent_main.xml | 20 +++---- .../list_item_parent_task_list_item.xml | 31 +++++++++++ 9 files changed, 161 insertions(+), 21 deletions(-) create mode 100644 feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java create mode 100644 feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml diff --git a/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java index 2592424..e60560d 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java @@ -17,15 +17,15 @@ public class RewardDataDummyImpl implements RewardData { @Inject public RewardDataDummyImpl() { faker = new Faker(); - logger.setTag("RewardDataDummyImpl"); + //logger.setTag("RewardDataDummyImpl"); } @Override public Integer getTotalReward() { - logger.info("getTotalReward called"); + //logger.info("getTotalReward called"); Integer reward = faker.number().numberBetween(0, 10000); - logger.info("Returning reward: " + reward); + //logger.info("Returning reward: " + reward); return reward; } } diff --git a/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java index ca0433c..d486143 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java @@ -24,15 +24,15 @@ public class TaskDataDummyImpl implements TaskData { @Inject public TaskDataDummyImpl() { faker = new Faker(); - logger.setTag("TaskDataDummyImpl"); + //logger.setTag("TaskDataDummyImpl"); } @Override public List getTasks() { - logger.info("getTotalReward called"); + //logger.info("getTotalReward called"); List tasks = new ArrayList<>(); int totalTasks = faker.number().numberBetween(1, 15); - logger.info("Returning total tasks: " + totalTasks); + //logger.info("Returning total tasks: " + totalTasks); for (int i = 0; i < totalTasks; i++) { tasks.add(new TaskItemModel( UUID.randomUUID().toString(), @@ -40,7 +40,7 @@ public class TaskDataDummyImpl implements TaskData { new TaskConditionNoneModel(), faker.number().numberBetween(1, 1000))); } - logger.info("Returning tasks: " + tasks); + //logger.info("Returning tasks: " + tasks); return tasks; } } diff --git a/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java b/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java index 2a14fb2..ebd794e 100644 --- a/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java +++ b/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java @@ -3,12 +3,13 @@ package one.nem.kidshift.data.modules; import dagger.Binds; import dagger.Module; import dagger.hilt.InstallIn; +import dagger.hilt.android.components.FragmentComponent; import dagger.hilt.android.components.ViewModelComponent; import one.nem.kidshift.data.RewardData; import one.nem.kidshift.data.impl.RewardDataDummyImpl; @Module -@InstallIn(ViewModelComponent.class) +@InstallIn(FragmentComponent.class) abstract public class RewardDataDummyModule { @Binds diff --git a/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java b/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java index 71e9149..5e72ba6 100644 --- a/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java +++ b/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java @@ -1,9 +1,15 @@ package one.nem.kidshift.data.modules; import dagger.Binds; +import dagger.Module; +import dagger.hilt.InstallIn; +import dagger.hilt.android.components.FragmentComponent; +import dagger.hilt.android.components.ViewModelComponent; import one.nem.kidshift.data.TaskData; import one.nem.kidshift.data.impl.TaskDataDummyImpl; +@Module +@InstallIn(FragmentComponent.class) abstract public class TaskDataDummyModule { @Binds diff --git a/feature/parent/build.gradle b/feature/parent/build.gradle index 6f8d286..56c97c1 100644 --- a/feature/parent/build.gradle +++ b/feature/parent/build.gradle @@ -39,4 +39,8 @@ dependencies { // Hilt (DI) implementation libs.com.google.dagger.hilt.android annotationProcessor libs.com.google.dagger.hilt.compiler + + implementation project(':utils') + implementation project(':model') + implementation project(':data') } \ No newline at end of file diff --git a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java new file mode 100644 index 0000000..3124fed --- /dev/null +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java @@ -0,0 +1,49 @@ +package one.nem.kidshift.feature.parent; + +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.List; + +import one.nem.kidshift.model.tasks.TaskItemModel; + +public class ParentAdapter extends RecyclerView.Adapter { + + private List taskDataList; + + ParentAdapter(List taskDataList) { this.taskDataList = taskDataList; } + + static class MainViewHolder extends RecyclerView.ViewHolder{ + TextView taskTitle; + TextView taskContents; + + MainViewHolder(@NonNull View itemView){ + super(itemView); + taskTitle = itemView.findViewById(R.id.task_title_text_view); + taskContents = itemView.findViewById(R.id.task_contents_text_view); + } + } + + @NonNull + @Override + public MainViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){ + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_parent_task_list_item, parent,false); + return new MainViewHolder(view); + } + + public void onBindViewHolder(@NonNull MainViewHolder holder,int position){ + TaskItemModel taskData = this.taskDataList.get(position); + holder.taskTitle.setText(taskData.getDisplayName()); + holder.taskContents.setText(Long.toString(taskData.getReward())); + } + + @Override + public int getItemCount(){ + return taskDataList.size(); + } +} diff --git a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java index 4f318aa..370fa88 100644 --- a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java @@ -1,20 +1,45 @@ package one.nem.kidshift.feature.parent; +import android.content.Context; import android.os.Bundle; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import java.util.List; + +import javax.inject.Inject; + +import dagger.hilt.android.AndroidEntryPoint; +import one.nem.kidshift.data.TaskData; +import one.nem.kidshift.model.tasks.TaskItemModel; +import one.nem.kidshift.utils.KSLogger; + + + /** * A simple {@link Fragment} subclass. * Use the {@link ParentMainFragment#newInstance} factory method to * create an instance of this fragment. */ + +@AndroidEntryPoint public class ParentMainFragment extends Fragment { + + + + @Inject + KSLogger ksLogger; + + @Inject + TaskData taskData; + // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; @@ -59,6 +84,34 @@ public class ParentMainFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_parent_main, container, false); + View view = inflater.inflate(R.layout.fragment_parent_main, container, false); + + RecyclerView recyclerView = view.findViewById(R.id.main_recycle_view); + + recyclerView.setHasFixedSize(true); + + RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext()); + recyclerView.setLayoutManager(layoutManager); + + List task = taskData.getTasks(); + + RecyclerView.Adapter mainAdapter = new ParentAdapter(task); + recyclerView.setAdapter(mainAdapter); + + + + return view; + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + ksLogger.addTag("ParentFragment"); + + List task = taskData.getTasks(); + + ksLogger.debug("取得したデータ: " + task); + } } \ No newline at end of file diff --git a/feature/parent/src/main/res/layout/fragment_parent_main.xml b/feature/parent/src/main/res/layout/fragment_parent_main.xml index e8f009b..8bd3b16 100644 --- a/feature/parent/src/main/res/layout/fragment_parent_main.xml +++ b/feature/parent/src/main/res/layout/fragment_parent_main.xml @@ -1,20 +1,16 @@ - - - - \ No newline at end of file + + + \ No newline at end of file diff --git a/feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml b/feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml new file mode 100644 index 0000000..b31f5e0 --- /dev/null +++ b/feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file -- 2.45.1 From 3de04f811454c3c896354b391a822fe5b617a859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Wed, 12 Jun 2024 15:54:28 +0900 Subject: [PATCH 2/3] fix conflict --- .../one/nem/kidshift/data/impl/RewardDataDummyImpl.java | 6 +++--- .../one/nem/kidshift/data/impl/TaskDataDummyImpl.java | 8 ++++---- .../nem/kidshift/data/modules/RewardDataDummyModule.java | 3 +-- .../nem/kidshift/data/modules/TaskDataDummyModule.java | 6 ------ 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java index e60560d..2592424 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/RewardDataDummyImpl.java @@ -17,15 +17,15 @@ public class RewardDataDummyImpl implements RewardData { @Inject public RewardDataDummyImpl() { faker = new Faker(); - //logger.setTag("RewardDataDummyImpl"); + logger.setTag("RewardDataDummyImpl"); } @Override public Integer getTotalReward() { - //logger.info("getTotalReward called"); + logger.info("getTotalReward called"); Integer reward = faker.number().numberBetween(0, 10000); - //logger.info("Returning reward: " + reward); + logger.info("Returning reward: " + reward); return reward; } } diff --git a/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java index d486143..ca0433c 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/TaskDataDummyImpl.java @@ -24,15 +24,15 @@ public class TaskDataDummyImpl implements TaskData { @Inject public TaskDataDummyImpl() { faker = new Faker(); - //logger.setTag("TaskDataDummyImpl"); + logger.setTag("TaskDataDummyImpl"); } @Override public List getTasks() { - //logger.info("getTotalReward called"); + logger.info("getTotalReward called"); List tasks = new ArrayList<>(); int totalTasks = faker.number().numberBetween(1, 15); - //logger.info("Returning total tasks: " + totalTasks); + logger.info("Returning total tasks: " + totalTasks); for (int i = 0; i < totalTasks; i++) { tasks.add(new TaskItemModel( UUID.randomUUID().toString(), @@ -40,7 +40,7 @@ public class TaskDataDummyImpl implements TaskData { new TaskConditionNoneModel(), faker.number().numberBetween(1, 1000))); } - //logger.info("Returning tasks: " + tasks); + logger.info("Returning tasks: " + tasks); return tasks; } } diff --git a/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java b/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java index ebd794e..2a14fb2 100644 --- a/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java +++ b/data/src/main/java/one/nem/kidshift/data/modules/RewardDataDummyModule.java @@ -3,13 +3,12 @@ package one.nem.kidshift.data.modules; import dagger.Binds; import dagger.Module; import dagger.hilt.InstallIn; -import dagger.hilt.android.components.FragmentComponent; import dagger.hilt.android.components.ViewModelComponent; import one.nem.kidshift.data.RewardData; import one.nem.kidshift.data.impl.RewardDataDummyImpl; @Module -@InstallIn(FragmentComponent.class) +@InstallIn(ViewModelComponent.class) abstract public class RewardDataDummyModule { @Binds diff --git a/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java b/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java index 5e72ba6..71e9149 100644 --- a/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java +++ b/data/src/main/java/one/nem/kidshift/data/modules/TaskDataDummyModule.java @@ -1,15 +1,9 @@ package one.nem.kidshift.data.modules; import dagger.Binds; -import dagger.Module; -import dagger.hilt.InstallIn; -import dagger.hilt.android.components.FragmentComponent; -import dagger.hilt.android.components.ViewModelComponent; import one.nem.kidshift.data.TaskData; import one.nem.kidshift.data.impl.TaskDataDummyImpl; -@Module -@InstallIn(FragmentComponent.class) abstract public class TaskDataDummyModule { @Binds -- 2.45.1 From c779e035f630b510c7b05b38a04b833df697ec4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Wed, 12 Jun 2024 15:54:53 +0900 Subject: [PATCH 3/3] fix conflict --- feature/parent/build.gradle | 4 ---- 1 file changed, 4 deletions(-) diff --git a/feature/parent/build.gradle b/feature/parent/build.gradle index 56c97c1..6f8d286 100644 --- a/feature/parent/build.gradle +++ b/feature/parent/build.gradle @@ -39,8 +39,4 @@ dependencies { // Hilt (DI) implementation libs.com.google.dagger.hilt.android annotationProcessor libs.com.google.dagger.hilt.compiler - - implementation project(':utils') - implementation project(':model') - implementation project(':data') } \ No newline at end of file -- 2.45.1