From a5f91b63faf75b6dd37385c0817ef5447eeff484 Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Sat, 8 Jan 2022 19:32:45 +0530 Subject: [PATCH 1/7] fixed and formatted the codebase. --- .idea/compiler.xml | 8 +- .idea/misc.xml | 6 +- app/build.gradle | 2 + .../android/festify/ClickFragment.kt | 77 -------- .../festify/ViewModels/Login_view_model.kt | 34 ---- .../festify/ViewModels/Signup_view_model.kt | 35 ---- .../login}/LoginFragment.kt | 13 +- .../authentication/login/LoginViewModel.kt | 34 ++++ .../signup}/SignUpFragment.kt | 15 +- .../authentication/signup/SignUpViewModel.kt | 35 ++++ .../festify/data_classes/default_response.kt | 6 - .../festify/data_classes/login_data.kt | 6 - .../festify/data_classes/recyclerItem.kt | 6 - .../festify/data_classes/recyclerItemClick.kt | 7 - .../EventFragment.kt} | 30 +-- .../EventImageSliderAdapter.kt} | 6 +- .../EventRecyclerViewAdapter.kt} | 11 +- .../EventRegisterDialogFragment.kt} | 6 +- .../EventSubcategoryAdapter.kt} | 13 +- .../festify/event/EventSubcategoryFragment.kt | 177 ++++++++++++++++++ .../homeAdapter.kt => home/HomeAdapter.kt} | 12 +- .../android/festify/home/HomeFragment.kt | 3 +- .../android/festify/home/HomeViewModel.kt | 6 +- .../main/res/layout-land/fragment_login.xml | 2 +- .../main/res/layout-land/fragment_sign_up.xml | 2 +- app/src/main/res/layout/fragment_click.xml | 2 +- app/src/main/res/layout/fragment_login.xml | 2 +- app/src/main/res/layout/fragment_mydialog.xml | 2 +- app/src/main/res/layout/fragment_sign_up.xml | 2 +- .../res/navigation/entrance_nav_graph.xml | 4 +- app/src/main/res/navigation/my_nav_graph.xml | 4 +- data/build.gradle | 24 +++ .../android/data/backends/RetrofitInstance.kt | 7 +- .../android/data/backends/api/AuthService.kt | 5 + .../data/backends/api/EventsService.kt | 4 + .../android/data/backends/api/UserService.kt | 16 +- .../data/backends/model/DefaultResponse.kt | 6 + .../android/data/backends/model/LoginData.kt | 6 + .../data/backends/model/SignUpRequestBody.kt | 4 +- .../android/data/persistance/Dao.kt | 4 +- .../android/data/persistance}/Repo.kt | 8 +- .../android/data/persistance}/database.kt | 4 +- .../android/data/persistance}/my_events.kt | 2 +- .../android/model/EventRecyclerItem.kt | 6 + .../android/model/EventRecyclerItemClick.kt | 7 + .../com/iiitlucknow/android/model/MyClass.kt | 4 - 46 files changed, 406 insertions(+), 269 deletions(-) delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/ClickFragment.kt delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Login_view_model.kt delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Signup_view_model.kt rename app/src/main/java/com/iiitlucknow/android/festify/{ => authentication/login}/LoginFragment.kt (92%) create mode 100644 app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt rename app/src/main/java/com/iiitlucknow/android/festify/{ => authentication/signup}/SignUpFragment.kt (95%) create mode 100644 app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/data_classes/default_response.kt delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/data_classes/login_data.kt delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItem.kt delete mode 100644 app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItemClick.kt rename app/src/main/java/com/iiitlucknow/android/festify/{EventsFragment.kt => event/EventFragment.kt} (62%) rename app/src/main/java/com/iiitlucknow/android/festify/{Adapters/sliderAdapter.kt => event/EventImageSliderAdapter.kt} (81%) rename app/src/main/java/com/iiitlucknow/android/festify/{Adapters/recyclerAdapter.kt => event/EventRecyclerViewAdapter.kt} (77%) rename app/src/main/java/com/iiitlucknow/android/festify/{MyDialogFragment.kt => event/EventRegisterDialogFragment.kt} (90%) rename app/src/main/java/com/iiitlucknow/android/festify/{Adapters/clickAdapter.kt => event/EventSubcategoryAdapter.kt} (81%) create mode 100644 app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryFragment.kt rename app/src/main/java/com/iiitlucknow/android/festify/{Adapters/homeAdapter.kt => home/HomeAdapter.kt} (85%) rename app/src/main/java/com/iiitlucknow/android/festify/API/retrofitInstance.kt => data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt (74%) create mode 100644 data/src/main/java/com/iiitlucknow/android/data/backends/api/AuthService.kt create mode 100644 data/src/main/java/com/iiitlucknow/android/data/backends/api/EventsService.kt rename app/src/main/java/com/iiitlucknow/android/festify/API/my_api.kt => data/src/main/java/com/iiitlucknow/android/data/backends/api/UserService.kt (67%) create mode 100644 data/src/main/java/com/iiitlucknow/android/data/backends/model/DefaultResponse.kt create mode 100644 data/src/main/java/com/iiitlucknow/android/data/backends/model/LoginData.kt rename app/src/main/java/com/iiitlucknow/android/festify/data_classes/my_post.kt => data/src/main/java/com/iiitlucknow/android/data/backends/model/SignUpRequestBody.kt (57%) rename app/src/main/java/com/iiitlucknow/android/festify/data/dao.kt => data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt (85%) rename {app/src/main/java/com/iiitlucknow/android/festify/Repositories => data/src/main/java/com/iiitlucknow/android/data/persistance}/Repo.kt (59%) rename {app/src/main/java/com/iiitlucknow/android/festify/data => data/src/main/java/com/iiitlucknow/android/data/persistance}/database.kt (91%) rename {app/src/main/java/com/iiitlucknow/android/festify/data => data/src/main/java/com/iiitlucknow/android/data/persistance}/my_events.kt (82%) create mode 100644 model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItem.kt create mode 100644 model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItemClick.kt delete mode 100644 model/src/main/java/com/iiitlucknow/android/model/MyClass.kt diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 1c5ab05..9a25428 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,12 @@ - + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 32dc5eb..3dbd984 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -9,16 +9,14 @@ - - + - - + diff --git a/app/build.gradle b/app/build.gradle index 408f6a4..fbbfc0d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,6 +41,8 @@ android { def lifecycle_version = "2.2.0" def room_version ="2.3.0" dependencies { + implementation project(path: ':data') + implementation project(path: ':model') implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.3.1' diff --git a/app/src/main/java/com/iiitlucknow/android/festify/ClickFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/ClickFragment.kt deleted file mode 100644 index 3b2461d..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/ClickFragment.kt +++ /dev/null @@ -1,77 +0,0 @@ -package com.iiitlucknow.android.festify - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import androidx.navigation.fragment.navArgs -import com.iiitlucknow.android.festify.Adapters.clickAdapter -import com.iiitlucknow.android.festify.data_classes.recyclerItemClick -import com.iiitlucknow.android.festify.databinding.FragmentClickBinding - -class ClickFragment : Fragment() { - private var _binding: FragmentClickBinding? = null - private val binding get() = _binding!! - val args: ClickFragmentArgs by navArgs() - lateinit var adapter: clickAdapter - private var m_android: MutableList = mutableListOf( - recyclerItemClick(R.drawable.android_img, R.string.android, R.string.date), - recyclerItemClick(R.drawable.android_img, R.string.android, R.string.date), - recyclerItemClick(R.drawable.android_img, R.string.android, R.string.date), - recyclerItemClick(R.drawable.android_img, R.string.android, R.string.date), - recyclerItemClick(R.drawable.android_img, R.string.android, R.string.date) - ) - private var m_web: MutableList = mutableListOf( - recyclerItemClick(R.drawable.web_development_img, R.string.web, R.string.date), - recyclerItemClick(R.drawable.web_development_img, R.string.web, R.string.date), - recyclerItemClick(R.drawable.web_development_img, R.string.web, R.string.date), - recyclerItemClick(R.drawable.web_development_img, R.string.web, R.string.date), - recyclerItemClick(R.drawable.web_development_img, R.string.web, R.string.date) - ) - private var m_cyber: MutableList = mutableListOf( - recyclerItemClick(R.drawable.cybersecurity_img, R.string.cyber_sec, R.string.date), - recyclerItemClick(R.drawable.cybersecurity_img, R.string.cyber_sec, R.string.date), - recyclerItemClick(R.drawable.cybersecurity_img, R.string.cyber_sec, R.string.date), - recyclerItemClick(R.drawable.cybersecurity_img, R.string.cyber_sec, R.string.date), - recyclerItemClick(R.drawable.cybersecurity_img, R.string.cyber_sec, R.string.date) - ) - private var m_ai: MutableList = mutableListOf( - recyclerItemClick(R.drawable.ai_img, R.string.ai, R.string.date), - recyclerItemClick(R.drawable.ai_img, R.string.ai, R.string.date), - recyclerItemClick(R.drawable.ai_img, R.string.ai, R.string.date), - recyclerItemClick(R.drawable.ai_img, R.string.ai, R.string.date), - recyclerItemClick(R.drawable.ai_img, R.string.ai, R.string.date) - ) - private var m_design: MutableList = mutableListOf( - recyclerItemClick(R.drawable.designing_img, R.string.design, R.string.date), - recyclerItemClick(R.drawable.designing_img, R.string.design, R.string.date), - recyclerItemClick(R.drawable.designing_img, R.string.design, R.string.date), - recyclerItemClick(R.drawable.designing_img, R.string.design, R.string.date), - recyclerItemClick(R.drawable.designing_img, R.string.design, R.string.date) - ) - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - _binding = FragmentClickBinding.inflate( - inflater, container, false - ) - if (args.event == resources.getString(R.string.android)) { - adapter = clickAdapter(m_android) - } else if (args.event == resources.getString(R.string.web)) { - adapter = clickAdapter(m_web) - } else if (args.event == resources.getString(R.string.design)) { - adapter = clickAdapter(m_design) - } else if (args.event == resources.getString(R.string.ai)) { - adapter = clickAdapter(m_ai) - } else if (args.event == resources.getString(R.string.cyber_sec)) { - adapter = clickAdapter(m_cyber) - } - binding.clickRecycler.adapter = adapter - binding.clickRecycler.setHasFixedSize(true) - return binding.root - } -} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Login_view_model.kt b/app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Login_view_model.kt deleted file mode 100644 index 6634d2a..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Login_view_model.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.iiitlucknow.android.festify.ViewModels - -import android.app.Application -import android.widget.Toast -import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.MutableLiveData -import com.iiitlucknow.android.festify.API.retrofitInstance -import com.iiitlucknow.android.festify.data_classes.default_response -import com.iiitlucknow.android.festify.data_classes.login_data -import retrofit2.Call -import retrofit2.Callback -import retrofit2.Response - -class Login_view_model(application: Application) : AndroidViewModel(application) { - - var log_Response: MutableLiveData> = MutableLiveData() - fun checkLogin(loginData: login_data) { - retrofitInstance.api.loginuser( - loginData.usernameOrEmail, - loginData.password - ).enqueue(object : Callback { - override fun onResponse( - call: Call, - response: Response - ) { - log_Response.value = response - } - - override fun onFailure(call: Call, t: Throwable) { - Toast.makeText(getApplication(), t.message, Toast.LENGTH_LONG).show() - } - }) - } -} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Signup_view_model.kt b/app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Signup_view_model.kt deleted file mode 100644 index d058ba4..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/ViewModels/Signup_view_model.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.iiitlucknow.android.festify.ViewModels - -import android.app.Application -import android.widget.Toast -import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.MutableLiveData -import com.iiitlucknow.android.festify.API.retrofitInstance -import com.iiitlucknow.android.festify.data_classes.default_response -import com.iiitlucknow.android.festify.data_classes.my_post -import retrofit2.Call -import retrofit2.Callback -import retrofit2.Response - -class Signup_view_model(application: Application) : AndroidViewModel(application) { - var sign_Response: MutableLiveData> = MutableLiveData() - fun pushPost(post: my_post) { - retrofitInstance.api.createuser( - post.userName, - post.userPassword, - post.userEmail, - post.userPhoto - ).enqueue(object : Callback { - override fun onResponse( - call: Call, - response: Response - ) { - sign_Response.value = response - } - - override fun onFailure(call: Call, t: Throwable) { - Toast.makeText(getApplication(), t.message, Toast.LENGTH_LONG).show() - } - }) - } -} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/LoginFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginFragment.kt similarity index 92% rename from app/src/main/java/com/iiitlucknow/android/festify/LoginFragment.kt rename to app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginFragment.kt index 8487ad6..a3f39bb 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/LoginFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginFragment.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify +package com.iiitlucknow.android.festify.authentication.login import android.content.Intent import android.os.Bundle @@ -11,8 +11,9 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController import com.google.gson.Gson -import com.iiitlucknow.android.festify.ViewModels.Login_view_model -import com.iiitlucknow.android.festify.data_classes.login_data +import com.iiitlucknow.android.data.backends.model.LoginData +import com.iiitlucknow.android.festify.MainActivity +import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.festify.databinding.FragmentLoginBinding import org.json.JSONException import org.json.JSONObject @@ -20,7 +21,7 @@ import org.json.JSONObject class LoginFragment : Fragment() { private var _binding: FragmentLoginBinding? = null private val binding get() = _binding!! - lateinit var vm: Login_view_model + lateinit var vm: LoginViewModel lateinit var log_msg: String lateinit var log_er_msg: String override fun onCreateView( @@ -31,7 +32,7 @@ class LoginFragment : Fragment() { // Inflate the layout for this fragment _binding = FragmentLoginBinding.inflate(inflater, container, false) vm = ViewModelProvider.AndroidViewModelFactory(requireActivity().application) - .create(Login_view_model::class.java) + .create(LoginViewModel::class.java) vm.log_Response.observe( viewLifecycleOwner, { @@ -88,7 +89,7 @@ class LoginFragment : Fragment() { .isNotEmpty() && binding.logPassword!!.text.toString().trim().isNotEmpty() ) { vm.checkLogin( - login_data( + LoginData( binding.logUser!!.text.toString().trim(), binding.logPassword!!.text.toString().trim() ) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt new file mode 100644 index 0000000..bba4c1a --- /dev/null +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt @@ -0,0 +1,34 @@ +package com.iiitlucknow.android.festify.authentication.login + +import android.app.Application +import android.widget.Toast +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.MutableLiveData +import com.iiitlucknow.android.data.backends.retrofitInstance +import com.iiitlucknow.android.data.backends.model.DefaultResponse +import com.iiitlucknow.android.data.backends.model.LoginData +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +class LoginViewModel(application: Application) : AndroidViewModel(application) { + + var log_Response: MutableLiveData> = MutableLiveData() + fun checkLogin(loginData: LoginData) { + retrofitInstance.api.loginUser( + loginData.usernameOrEmail, + loginData.password + ).enqueue(object : Callback { + override fun onResponse( + call: Call, + response: Response + ) { + log_Response.value = response + } + + override fun onFailure(call: Call, t: Throwable) { + Toast.makeText(getApplication(), t.message, Toast.LENGTH_LONG).show() + } + }) + } +} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/SignUpFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpFragment.kt similarity index 95% rename from app/src/main/java/com/iiitlucknow/android/festify/SignUpFragment.kt rename to app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpFragment.kt index 35d0706..8ce54f2 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/SignUpFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpFragment.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify +package com.iiitlucknow.android.festify.authentication.signup import android.app.Activity import android.content.Intent @@ -17,8 +17,9 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController import com.google.gson.Gson -import com.iiitlucknow.android.festify.ViewModels.Signup_view_model -import com.iiitlucknow.android.festify.data_classes.my_post +import com.iiitlucknow.android.data.backends.model.SignUpRequestBody +import com.iiitlucknow.android.festify.MainActivity +import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.festify.databinding.FragmentSignUpBinding import com.theartofdev.edmodo.cropper.CropImage import com.theartofdev.edmodo.cropper.CropImageView @@ -31,7 +32,7 @@ class SignUpFragment : Fragment() { private val IMAGE_PICK_CODE = 1000 private var _binding: FragmentSignUpBinding? = null private val binding get() = _binding!! - private lateinit var viewModel: Signup_view_model + private lateinit var viewModel: SignUpViewModel lateinit var bitmap: Bitmap lateinit var encodedImage: String lateinit var s_msg: String @@ -43,7 +44,7 @@ class SignUpFragment : Fragment() { ): View? { _binding = FragmentSignUpBinding.inflate(inflater, container, false) viewModel = ViewModelProvider.AndroidViewModelFactory(requireActivity().application) - .create(Signup_view_model::class.java) + .create(SignUpViewModel::class.java) viewModel.sign_Response.observe( viewLifecycleOwner, { @@ -135,13 +136,13 @@ class SignUpFragment : Fragment() { if (checks()) { uploadImage() - val my_post = my_post( + val SignUpRequestBody = SignUpRequestBody( binding.setUsername.text.toString().trim(), binding.setPassword.text.toString().trim(), binding.setEmail.text.toString().trim(), encodedImage ) - viewModel.pushPost(my_post) + viewModel.pushPost(SignUpRequestBody) } else { Toast.makeText( diff --git a/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt new file mode 100644 index 0000000..718821f --- /dev/null +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt @@ -0,0 +1,35 @@ +package com.iiitlucknow.android.festify.authentication.signup + +import android.app.Application +import android.widget.Toast +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.MutableLiveData +import com.iiitlucknow.android.data.backends.retrofitInstance +import com.iiitlucknow.android.data.backends.model.DefaultResponse +import com.iiitlucknow.android.data.backends.model.SignUpRequestBody +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +class SignUpViewModel(application: Application) : AndroidViewModel(application) { + var sign_Response: MutableLiveData> = MutableLiveData() + fun pushPost(post: SignUpRequestBody) { + retrofitInstance.api.createUser( + post.userName, + post.userPassword, + post.userEmail, + post.userPhoto + ).enqueue(object : Callback { + override fun onResponse( + call: Call, + response: Response + ) { + sign_Response.value = response + } + + override fun onFailure(call: Call, t: Throwable) { + Toast.makeText(getApplication(), t.message, Toast.LENGTH_LONG).show() + } + }) + } +} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/default_response.kt b/app/src/main/java/com/iiitlucknow/android/festify/data_classes/default_response.kt deleted file mode 100644 index 14cb8c7..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/default_response.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.iiitlucknow.android.festify.data_classes - -data class default_response( - val status: Int, - val message: String, -) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/login_data.kt b/app/src/main/java/com/iiitlucknow/android/festify/data_classes/login_data.kt deleted file mode 100644 index 29995a5..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/login_data.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.iiitlucknow.android.festify.data_classes - -data class login_data( - val usernameOrEmail: String, - val password: String -) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItem.kt b/app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItem.kt deleted file mode 100644 index f3d5972..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItem.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.iiitlucknow.android.festify.data_classes - -data class recyclerItem( - val icon: Int, - val title: Int -) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItemClick.kt b/app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItemClick.kt deleted file mode 100644 index 0228c44..0000000 --- a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/recyclerItemClick.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.iiitlucknow.android.festify.data_classes - -data class recyclerItemClick( - val my_img: Int, - val my_title: Int, - val date: Int -) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/EventsFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventFragment.kt similarity index 62% rename from app/src/main/java/com/iiitlucknow/android/festify/EventsFragment.kt rename to app/src/main/java/com/iiitlucknow/android/festify/event/EventFragment.kt index 3cbfbe0..ee03e28 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/EventsFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventFragment.kt @@ -1,21 +1,20 @@ -package com.iiitlucknow.android.festify +package com.iiitlucknow.android.festify.event import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import com.iiitlucknow.android.festify.Adapters.recyclerAdapter -import com.iiitlucknow.android.festify.Adapters.sliderAdapter -import com.iiitlucknow.android.festify.data_classes.recyclerItem +import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.festify.databinding.FragmentEventsBinding +import com.iiitlucknow.android.model.EventRecyclerItem import com.smarteist.autoimageslider.IndicatorView.animation.type.IndicatorAnimationType import com.smarteist.autoimageslider.SliderAnimations -class EventsFragment : Fragment() { +class EventFragment : Fragment() { private var _binding: FragmentEventsBinding? = null private val binding get() = _binding!! - private lateinit var sliderAdapter: sliderAdapter + private lateinit var sliderAdapter: EventImageSliderAdapter private var images: MutableList = mutableListOf( R.drawable.android_img, R.drawable.web_development_img, @@ -23,12 +22,15 @@ class EventsFragment : Fragment() { R.drawable.ai_img, R.drawable.designing_img ) - private var fields: MutableList = mutableListOf( - recyclerItem(R.drawable.android, R.string.android), - recyclerItem(R.drawable.web_development, R.string.web), - recyclerItem(R.drawable.cyber_security, R.string.cyber_sec), - recyclerItem(R.drawable.ai, R.string.ai), - recyclerItem(R.drawable.design, R.string.design) + private var fields: MutableList = mutableListOf( + EventRecyclerItem(R.drawable.android, R.string.android), + EventRecyclerItem(R.drawable.web_development, R.string.web), + EventRecyclerItem( + R.drawable.cyber_security, + R.string.cyber_sec + ), + EventRecyclerItem(R.drawable.ai, R.string.ai), + EventRecyclerItem(R.drawable.design, R.string.design) ) override fun onCreateView( @@ -39,13 +41,13 @@ class EventsFragment : Fragment() { _binding = FragmentEventsBinding.inflate( inflater, container, false ) - sliderAdapter = sliderAdapter(images) + sliderAdapter = EventImageSliderAdapter(images) binding.apply { slide.setSliderAdapter(sliderAdapter) slide.setIndicatorAnimation(IndicatorAnimationType.WORM) slide.setSliderTransformAnimation(SliderAnimations.DEPTHTRANSFORMATION) slide.startAutoCycle() - recycler.adapter = recyclerAdapter(fields) + recycler.adapter = EventRecyclerViewAdapter(fields) recycler.setHasFixedSize(true) } return (binding.root) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/sliderAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventImageSliderAdapter.kt similarity index 81% rename from app/src/main/java/com/iiitlucknow/android/festify/Adapters/sliderAdapter.kt rename to app/src/main/java/com/iiitlucknow/android/festify/event/EventImageSliderAdapter.kt index 4ff4e07..392bcaf 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/sliderAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventImageSliderAdapter.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.Adapters +package com.iiitlucknow.android.festify.event import android.view.LayoutInflater import android.view.View @@ -7,8 +7,8 @@ import android.widget.ImageView import com.iiitlucknow.android.festify.R import com.smarteist.autoimageslider.SliderViewAdapter -class sliderAdapter(private var images: MutableList) : - SliderViewAdapter() { +class EventImageSliderAdapter(private var images: MutableList) : + SliderViewAdapter() { class Holder(itemView: View) : ViewHolder(itemView) { var slider_img: ImageView = itemView.findViewById(R.id.slider_img) } diff --git a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/recyclerAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRecyclerViewAdapter.kt similarity index 77% rename from app/src/main/java/com/iiitlucknow/android/festify/Adapters/recyclerAdapter.kt rename to app/src/main/java/com/iiitlucknow/android/festify/event/EventRecyclerViewAdapter.kt index dc19e23..7ae9018 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/recyclerAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRecyclerViewAdapter.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.Adapters +package com.iiitlucknow.android.festify.event import android.view.LayoutInflater import android.view.View @@ -7,12 +7,11 @@ import android.widget.ImageView import android.widget.TextView import androidx.navigation.Navigation import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.festify.EventsFragmentDirections import com.iiitlucknow.android.festify.R -import com.iiitlucknow.android.festify.data_classes.recyclerItem +import com.iiitlucknow.android.model.EventRecyclerItem -class recyclerAdapter(private var list: MutableList) : - RecyclerView.Adapter() { +class EventRecyclerViewAdapter(private var list: MutableList) : + RecyclerView.Adapter() { class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val recycler_text: TextView = view.findViewById(R.id.recycler_text) val recycler_icon: ImageView = view.findViewById(R.id.recycler_icon) @@ -30,7 +29,7 @@ class recyclerAdapter(private var list: MutableList) : holder.recycler_text.text = holder.context.resources.getString(list[position].title) holder.itemView.setOnClickListener { val action = - EventsFragmentDirections.actionEventsFragmentToClickFragment( + EventFragmentDirections.actionEventsFragmentToClickFragment( holder.recycler_text.text.toString() ) Navigation.findNavController(holder.itemView).navigate(action) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/MyDialogFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt similarity index 90% rename from app/src/main/java/com/iiitlucknow/android/festify/MyDialogFragment.kt rename to app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt index 088e7db..42f7d27 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/MyDialogFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify +package com.iiitlucknow.android.festify.event import android.graphics.Color import android.graphics.drawable.ColorDrawable @@ -9,11 +9,11 @@ import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.DialogFragment import androidx.lifecycle.ViewModelProvider -import com.iiitlucknow.android.festify.data.my_events +import com.iiitlucknow.android.data.persistance.my_events import com.iiitlucknow.android.festify.databinding.FragmentMydialogBinding import com.iiitlucknow.android.festify.home.HomeViewModel -class MyDialogFragment(myEvents: my_events, flag: Int) : DialogFragment() { +class EventRegisterDialogFragment(myEvents: my_events, flag: Int) : DialogFragment() { val myflag = flag val new_event: my_events = myEvents private var _binding: FragmentMydialogBinding? = null diff --git a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/clickAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt similarity index 81% rename from app/src/main/java/com/iiitlucknow/android/festify/Adapters/clickAdapter.kt rename to app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt index 7bc13d9..bf6b7ce 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/clickAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.Adapters +package com.iiitlucknow.android.festify.event import android.view.LayoutInflater import android.view.View @@ -9,13 +9,12 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatButton import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.festify.MyDialogFragment +import com.iiitlucknow.android.data.persistance.my_events import com.iiitlucknow.android.festify.R -import com.iiitlucknow.android.festify.data.my_events -import com.iiitlucknow.android.festify.data_classes.recyclerItemClick +import com.iiitlucknow.android.model.EventRecyclerItemClick -class clickAdapter(private var list: MutableList) : - RecyclerView.Adapter() { +class EventSubcategoryAdapter(private var list: MutableList) : + RecyclerView.Adapter() { class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val recycler_clicker_text: TextView = view.findViewById(R.id.recycler_clicker_text) val recycler_clicker_img: ImageView = view.findViewById(R.id.my_img) @@ -38,7 +37,7 @@ class clickAdapter(private var list: MutableList) : holder.recycler_clicker_img.setImageResource(item.my_img) holder.date.text = holder.context.resources.getString(item.date) holder.recycler_clicker_button.setOnClickListener { - val mydialog = MyDialogFragment(my_events(0, item.my_img, item.my_title, item.date), 0) + val mydialog = EventRegisterDialogFragment(my_events(0, item.my_img, item.my_title, item.date), 0) mydialog.show(fm, "view") // Toast.makeText( // holder.context, diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryFragment.kt new file mode 100644 index 0000000..7a38a89 --- /dev/null +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryFragment.kt @@ -0,0 +1,177 @@ +package com.iiitlucknow.android.festify.event + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.navigation.fragment.navArgs +import com.iiitlucknow.android.festify.R +import com.iiitlucknow.android.festify.databinding.FragmentClickBinding +import com.iiitlucknow.android.model.EventRecyclerItemClick + +class EventSubcategoryFragment : Fragment() { + private var _binding: FragmentClickBinding? = null + private val binding get() = _binding!! + val args: EventSubcategoryFragmentArgs by navArgs() + lateinit var adapter: EventSubcategoryAdapter + private var m_android: MutableList = mutableListOf( + EventRecyclerItemClick( + R.drawable.android_img, + R.string.android, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.android_img, + R.string.android, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.android_img, + R.string.android, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.android_img, + R.string.android, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.android_img, + R.string.android, + R.string.date + ) + ) + private var m_web: MutableList = mutableListOf( + EventRecyclerItemClick( + R.drawable.web_development_img, + R.string.web, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.web_development_img, + R.string.web, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.web_development_img, + R.string.web, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.web_development_img, + R.string.web, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.web_development_img, + R.string.web, + R.string.date + ) + ) + private var m_cyber: MutableList = mutableListOf( + EventRecyclerItemClick( + R.drawable.cybersecurity_img, + R.string.cyber_sec, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.cybersecurity_img, + R.string.cyber_sec, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.cybersecurity_img, + R.string.cyber_sec, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.cybersecurity_img, + R.string.cyber_sec, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.cybersecurity_img, + R.string.cyber_sec, + R.string.date + ) + ) + private var m_ai: MutableList = mutableListOf( + EventRecyclerItemClick( + R.drawable.ai_img, + R.string.ai, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.ai_img, + R.string.ai, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.ai_img, + R.string.ai, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.ai_img, + R.string.ai, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.ai_img, + R.string.ai, + R.string.date + ) + ) + private var m_design: MutableList = mutableListOf( + EventRecyclerItemClick( + R.drawable.designing_img, + R.string.design, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.designing_img, + R.string.design, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.designing_img, + R.string.design, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.designing_img, + R.string.design, + R.string.date + ), + EventRecyclerItemClick( + R.drawable.designing_img, + R.string.design, + R.string.date + ) + ) + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + _binding = FragmentClickBinding.inflate( + inflater, container, false + ) + if (args.event == resources.getString(R.string.android)) { + adapter = EventSubcategoryAdapter(m_android) + } else if (args.event == resources.getString(R.string.web)) { + adapter = EventSubcategoryAdapter(m_web) + } else if (args.event == resources.getString(R.string.design)) { + adapter = EventSubcategoryAdapter(m_design) + } else if (args.event == resources.getString(R.string.ai)) { + adapter = EventSubcategoryAdapter(m_ai) + } else if (args.event == resources.getString(R.string.cyber_sec)) { + adapter = EventSubcategoryAdapter(m_cyber) + } + binding.clickRecycler.adapter = adapter + binding.clickRecycler.setHasFixedSize(true) + return binding.root + } +} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/homeAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt similarity index 85% rename from app/src/main/java/com/iiitlucknow/android/festify/Adapters/homeAdapter.kt rename to app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt index 19b0007..87d2b5c 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/Adapters/homeAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.Adapters +package com.iiitlucknow.android.festify.home import android.view.LayoutInflater import android.view.View @@ -10,13 +10,13 @@ import androidx.appcompat.widget.AppCompatButton import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.festify.MyDialogFragment +import com.iiitlucknow.android.festify.event.EventRegisterDialogFragment import com.iiitlucknow.android.festify.R -import com.iiitlucknow.android.festify.data.my_events +import com.iiitlucknow.android.data.persistance.my_events -class homeAdapter( +class HomeAdapter( private val list: MutableList -) : RecyclerView.Adapter() { +) : RecyclerView.Adapter() { class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val recycler_clicker_text: TextView = view.findViewById(R.id.recycler_clicker_text) val recycler_clicker_img: ImageView = view.findViewById(R.id.my_img) @@ -43,7 +43,7 @@ class homeAdapter( ContextCompat.getDrawable(holder.context, R.drawable.unregister_background) holder.recycler_clicker_button.setOnClickListener { val mydialog = - MyDialogFragment(my_events(item.id, item.my_img, item.my_title, item.date), 1) + EventRegisterDialogFragment(my_events(item.id, item.my_img, item.my_title, item.date), 1) mydialog.show(fm, "my_view") } } diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt index e057ccf..a3e89ad 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt @@ -6,7 +6,6 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels -import com.iiitlucknow.android.festify.Adapters.homeAdapter import com.iiitlucknow.android.festify.databinding.FragmentHomeBinding import dagger.hilt.android.scopes.FragmentScoped @@ -24,7 +23,7 @@ class HomeFragment : Fragment() { homeViewModel.allwords.observe( viewLifecycleOwner ) { - binding.homeRecycler.adapter = homeAdapter(it) + binding.homeRecycler.adapter = HomeAdapter(it) } binding.homeRecycler.setHasFixedSize(true) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt index 9637969..edee9de 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt @@ -4,9 +4,9 @@ import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.viewModelScope -import com.iiitlucknow.android.festify.Repositories.Repo -import com.iiitlucknow.android.festify.data.database -import com.iiitlucknow.android.festify.data.my_events +import com.iiitlucknow.android.data.persistance.Repo +import com.iiitlucknow.android.data.persistance.database +import com.iiitlucknow.android.data.persistance.my_events import dagger.hilt.android.scopes.ViewModelScoped import javax.inject.Inject import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/res/layout-land/fragment_login.xml b/app/src/main/res/layout-land/fragment_login.xml index c95aa2b..dc5bcb8 100644 --- a/app/src/main/res/layout-land/fragment_login.xml +++ b/app/src/main/res/layout-land/fragment_login.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".LoginFragment"> + tools:context=".authentication.login.LoginFragment"> + tools:context=".authentication.signup.SignUpFragment"> + tools:context=".event.EventSubcategoryFragment"> + tools:context=".authentication.login.LoginFragment"> + tools:context=".event.EventRegisterDialogFragment"> + tools:context=".authentication.signup.SignUpFragment"> + ): Call @FormUrlEncoded @POST("user/login") - fun loginuser( + fun loginUser( @Field("usernameOrEmail") userName: String, @Field("password") userPassword: String, - ): Call -} + ): Call +} \ No newline at end of file diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/model/DefaultResponse.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/model/DefaultResponse.kt new file mode 100644 index 0000000..142087f --- /dev/null +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/model/DefaultResponse.kt @@ -0,0 +1,6 @@ +package com.iiitlucknow.android.data.backends.model + +data class DefaultResponse( + val status: Int, + val message: String, +) diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/model/LoginData.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/model/LoginData.kt new file mode 100644 index 0000000..8201ecd --- /dev/null +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/model/LoginData.kt @@ -0,0 +1,6 @@ +package com.iiitlucknow.android.data.backends.model + +data class LoginData( + val usernameOrEmail: String, + val password: String +) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/my_post.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/model/SignUpRequestBody.kt similarity index 57% rename from app/src/main/java/com/iiitlucknow/android/festify/data_classes/my_post.kt rename to data/src/main/java/com/iiitlucknow/android/data/backends/model/SignUpRequestBody.kt index 1cdb949..631b597 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/data_classes/my_post.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/model/SignUpRequestBody.kt @@ -1,6 +1,6 @@ -package com.iiitlucknow.android.festify.data_classes +package com.iiitlucknow.android.data.backends.model -data class my_post( +data class SignUpRequestBody( val userName: String, val userPassword: String, diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data/dao.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt similarity index 85% rename from app/src/main/java/com/iiitlucknow/android/festify/data/dao.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt index b85af42..eca00f3 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/data/dao.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.data +package com.iiitlucknow.android.data.persistance import androidx.lifecycle.LiveData import androidx.room.Dao @@ -7,7 +7,7 @@ import androidx.room.Insert import androidx.room.Query @Dao -interface dao { +interface Dao { @Insert suspend fun addevent(myEvents: my_events) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/Repositories/Repo.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt similarity index 59% rename from app/src/main/java/com/iiitlucknow/android/festify/Repositories/Repo.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt index ead8db5..f490bd4 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/Repositories/Repo.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt @@ -1,10 +1,10 @@ -package com.iiitlucknow.android.festify.Repositories +package com.iiitlucknow.android.data.persistance import androidx.lifecycle.LiveData -import com.iiitlucknow.android.festify.data.dao -import com.iiitlucknow.android.festify.data.my_events +import com.iiitlucknow.android.data.persistance.Dao +import com.iiitlucknow.android.data.persistance.my_events -class Repo(private val dao: dao) { +class Repo(private val dao: Dao) { suspend fun insertitem(myEvents: my_events) { dao.addevent(myEvents) } diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data/database.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt similarity index 91% rename from app/src/main/java/com/iiitlucknow/android/festify/data/database.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt index 457fcce..62ad6bf 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/data/database.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.data +package com.iiitlucknow.android.data.persistance import android.content.Context import androidx.room.Database @@ -7,7 +7,7 @@ import androidx.room.RoomDatabase @Database(entities = [my_events::class], version = 1, exportSchema = false) abstract class database : RoomDatabase() { - abstract fun myDao(): dao + abstract fun myDao(): Dao companion object { @Volatile private var INSTANCE: database? = null diff --git a/app/src/main/java/com/iiitlucknow/android/festify/data/my_events.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/my_events.kt similarity index 82% rename from app/src/main/java/com/iiitlucknow/android/festify/data/my_events.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/my_events.kt index c381398..8e154cc 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/data/my_events.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/my_events.kt @@ -1,4 +1,4 @@ -package com.iiitlucknow.android.festify.data +package com.iiitlucknow.android.data.persistance import androidx.room.Entity import androidx.room.PrimaryKey diff --git a/model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItem.kt b/model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItem.kt new file mode 100644 index 0000000..42fc194 --- /dev/null +++ b/model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItem.kt @@ -0,0 +1,6 @@ +package com.iiitlucknow.android.model + +data class EventRecyclerItem( + val icon: Int, + val title: Int +) diff --git a/model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItemClick.kt b/model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItemClick.kt new file mode 100644 index 0000000..e660595 --- /dev/null +++ b/model/src/main/java/com/iiitlucknow/android/model/EventRecyclerItemClick.kt @@ -0,0 +1,7 @@ +package com.iiitlucknow.android.model + +data class EventRecyclerItemClick( + val my_img: Int, + val my_title: Int, + val date: Int +) diff --git a/model/src/main/java/com/iiitlucknow/android/model/MyClass.kt b/model/src/main/java/com/iiitlucknow/android/model/MyClass.kt deleted file mode 100644 index 0ba5896..0000000 --- a/model/src/main/java/com/iiitlucknow/android/model/MyClass.kt +++ /dev/null @@ -1,4 +0,0 @@ -package com.iiitlucknow.android.model - -class MyClass { -} \ No newline at end of file From 26e146096e8797b8ed4a6870bc9e4de95f249e68 Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Sat, 8 Jan 2022 19:35:24 +0530 Subject: [PATCH 2/7] nit fixes. --- .../festify/authentication/login/LoginViewModel.kt | 4 ++-- .../festify/authentication/signup/SignUpViewModel.kt | 4 ++-- .../android/festify/event/EventSubcategoryAdapter.kt | 5 ++++- .../com/iiitlucknow/android/festify/home/HomeAdapter.kt | 9 ++++++--- .../android/data/backends/RetrofitInstance.kt | 2 +- .../iiitlucknow/android/data/backends/api/AuthService.kt | 4 +--- .../android/data/backends/api/EventsService.kt | 3 +-- .../iiitlucknow/android/data/backends/api/UserService.kt | 2 +- .../com/iiitlucknow/android/data/persistance/Repo.kt | 2 -- 9 files changed, 18 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt index bba4c1a..652ffa3 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt @@ -4,7 +4,7 @@ import android.app.Application import android.widget.Toast import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData -import com.iiitlucknow.android.data.backends.retrofitInstance +import com.iiitlucknow.android.data.backends.RetrofitInstance import com.iiitlucknow.android.data.backends.model.DefaultResponse import com.iiitlucknow.android.data.backends.model.LoginData import retrofit2.Call @@ -15,7 +15,7 @@ class LoginViewModel(application: Application) : AndroidViewModel(application) { var log_Response: MutableLiveData> = MutableLiveData() fun checkLogin(loginData: LoginData) { - retrofitInstance.api.loginUser( + RetrofitInstance.api.loginUser( loginData.usernameOrEmail, loginData.password ).enqueue(object : Callback { diff --git a/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt index 718821f..cdb2560 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt @@ -4,7 +4,7 @@ import android.app.Application import android.widget.Toast import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData -import com.iiitlucknow.android.data.backends.retrofitInstance +import com.iiitlucknow.android.data.backends.RetrofitInstance import com.iiitlucknow.android.data.backends.model.DefaultResponse import com.iiitlucknow.android.data.backends.model.SignUpRequestBody import retrofit2.Call @@ -14,7 +14,7 @@ import retrofit2.Response class SignUpViewModel(application: Application) : AndroidViewModel(application) { var sign_Response: MutableLiveData> = MutableLiveData() fun pushPost(post: SignUpRequestBody) { - retrofitInstance.api.createUser( + RetrofitInstance.api.createUser( post.userName, post.userPassword, post.userEmail, diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt index bf6b7ce..bbb98d6 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt @@ -37,7 +37,10 @@ class EventSubcategoryAdapter(private var list: MutableList @@ -43,7 +43,10 @@ class HomeAdapter( ContextCompat.getDrawable(holder.context, R.drawable.unregister_background) holder.recycler_clicker_button.setOnClickListener { val mydialog = - EventRegisterDialogFragment(my_events(item.id, item.my_img, item.my_title, item.date), 1) + EventRegisterDialogFragment( + my_events(item.id, item.my_img, item.my_title, item.date), + 1 + ) mydialog.show(fm, "my_view") } } diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt index a739b4e..5af443d 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt @@ -6,7 +6,7 @@ import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory -object retrofitInstance { +object RetrofitInstance { private const val BASE_URL = "https://festify-iiitl.herokuapp.com/" private val moshi = Moshi.Builder() diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/api/AuthService.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/api/AuthService.kt index 3db8539..cd83df0 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/backends/api/AuthService.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/api/AuthService.kt @@ -1,5 +1,3 @@ package com.iiitlucknow.android.data.backends.api - -interface AuthService { -} \ No newline at end of file +interface AuthService diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/api/EventsService.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/api/EventsService.kt index 4168404..108a679 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/backends/api/EventsService.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/api/EventsService.kt @@ -1,4 +1,3 @@ package com.iiitlucknow.android.data.backends.api -class EventsService { -} \ No newline at end of file +class EventsService diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/api/UserService.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/api/UserService.kt index 7ffbcd7..d02d79e 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/backends/api/UserService.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/api/UserService.kt @@ -22,4 +22,4 @@ interface UserService { @Field("usernameOrEmail") userName: String, @Field("password") userPassword: String, ): Call -} \ No newline at end of file +} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt index f490bd4..c20a913 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt @@ -1,8 +1,6 @@ package com.iiitlucknow.android.data.persistance import androidx.lifecycle.LiveData -import com.iiitlucknow.android.data.persistance.Dao -import com.iiitlucknow.android.data.persistance.my_events class Repo(private val dao: Dao) { suspend fun insertitem(myEvents: my_events) { From 354187c3b099876b684b72f72b149a4ed5c49efe Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Sun, 9 Jan 2022 13:26:25 +0530 Subject: [PATCH 3/7] migrated and separated classes into specific modules. --- .idea/misc.xml | 6 ++-- app/build.gradle | 25 ++++++++++------- .../event/EventRegisterDialogFragment.kt | 19 +++++++------ .../festify/event/EventSubcategoryAdapter.kt | 4 +-- .../android/festify/home/HomeAdapter.kt | 6 ++-- .../android/festify/home/HomeFragment.kt | 9 +++--- .../android/festify/home/HomeViewModel.kt | 22 ++++++++------- data/build.gradle | 14 +++++++++- .../android/data/persistance/Dao.kt | 6 ++-- .../{my_events.kt => EventsTable.kt} | 2 +- .../data/persistance/PersistanceDatabase.kt | 9 ++++++ .../persistance/PersistanceDatabaseModule.kt | 25 +++++++++++++++++ .../android/data/persistance/Repo.kt | 10 +++---- .../android/data/persistance/database.kt | 28 ------------------- 14 files changed, 107 insertions(+), 78 deletions(-) rename data/src/main/java/com/iiitlucknow/android/data/persistance/{my_events.kt => EventsTable.kt} (91%) create mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt create mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt diff --git a/.idea/misc.xml b/.idea/misc.xml index 497352d..3fa7095 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,16 +5,16 @@ - + - - + + diff --git a/app/build.gradle b/app/build.gradle index fbbfc0d..ad1c531 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,26 +39,24 @@ android { } } def lifecycle_version = "2.2.0" -def room_version ="2.3.0" +def room_version = "2.3.0" dependencies { - implementation project(path: ':data') - implementation project(path: ':model') implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' - //added deps for hilt. - implementation "com.google.dagger:hilt-android:2.38.1" + implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5' implementation 'androidx.navigation:navigation-ui-ktx:2.3.5' - kapt "com.google.dagger:hilt-compiler:2.38.1" - testImplementation 'junit:junit:4.+' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + //added deps for hilt. + implementation "com.google.dagger:hilt-android:2.38.1" + implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03" + kapt "com.google.dagger:hilt-compiler:2.38.1" + kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha' //Slider View implementation 'com.github.smarteist:autoimageslider:1.4.0' @@ -108,4 +106,11 @@ dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6' implementation 'com.android.support:multidex:1.0.3' -} \ No newline at end of file + + implementation project(path: ':data') + implementation project(path: ':model') + + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt index 42f7d27..08c0dec 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt @@ -8,17 +8,21 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.DialogFragment -import androidx.lifecycle.ViewModelProvider -import com.iiitlucknow.android.data.persistance.my_events +import com.iiitlucknow.android.data.persistance.EventsTable import com.iiitlucknow.android.festify.databinding.FragmentMydialogBinding import com.iiitlucknow.android.festify.home.HomeViewModel +import dagger.hilt.android.AndroidEntryPoint +import javax.inject.Inject -class EventRegisterDialogFragment(myEvents: my_events, flag: Int) : DialogFragment() { +@AndroidEntryPoint +class EventRegisterDialogFragment(eventsTable: EventsTable, flag: Int) : DialogFragment() { val myflag = flag - val new_event: my_events = myEvents + val new_event: EventsTable = eventsTable private var _binding: FragmentMydialogBinding? = null private val binding get() = _binding!! - lateinit var vm: HomeViewModel + + @Inject + lateinit var homeViewModel: HomeViewModel override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -27,7 +31,6 @@ class EventRegisterDialogFragment(myEvents: my_events, flag: Int) : DialogFragme _binding = FragmentMydialogBinding.inflate( inflater, container, false ) - vm = ViewModelProvider(this).get(HomeViewModel::class.java) if (myflag == 1) { binding.headText.text = "CONFIRM YOUR UNREGISTRATION" } @@ -37,14 +40,14 @@ class EventRegisterDialogFragment(myEvents: my_events, flag: Int) : DialogFragme } binding.confirm.setOnClickListener { if (myflag == 0) { - vm.addevent(new_event) + homeViewModel.addevent(new_event) Toast.makeText( activity, "You have successfully registered for the event", Toast.LENGTH_SHORT ).show() } else { - vm.deleteevent(new_event) + homeViewModel.deleteevent(new_event) Toast.makeText( activity, "You have successfully unregistered for the event", diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt index bbb98d6..0383eb8 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt @@ -9,7 +9,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatButton import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.data.persistance.my_events +import com.iiitlucknow.android.data.persistance.EventsTable import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.model.EventRecyclerItemClick @@ -38,7 +38,7 @@ class EventSubcategoryAdapter(private var list: MutableList + private val list: MutableList ) : RecyclerView.Adapter() { class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val recycler_clicker_text: TextView = view.findViewById(R.id.recycler_clicker_text) @@ -44,7 +44,7 @@ class HomeAdapter( holder.recycler_clicker_button.setOnClickListener { val mydialog = EventRegisterDialogFragment( - my_events(item.id, item.my_img, item.my_title, item.date), + EventsTable(item.id, item.my_img, item.my_title, item.date), 1 ) mydialog.show(fm, "my_view") diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt index a3e89ad..757e979 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeFragment.kt @@ -5,13 +5,14 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels import com.iiitlucknow.android.festify.databinding.FragmentHomeBinding -import dagger.hilt.android.scopes.FragmentScoped +import dagger.hilt.android.AndroidEntryPoint +import javax.inject.Inject -@FragmentScoped +@AndroidEntryPoint class HomeFragment : Fragment() { - private val homeViewModel: HomeViewModel by viewModels() + @Inject + lateinit var homeViewModel: HomeViewModel lateinit var binding: FragmentHomeBinding override fun onCreateView( diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt index edee9de..951ad78 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt @@ -4,34 +4,36 @@ import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.viewModelScope +import com.iiitlucknow.android.data.persistance.EventsTable +import com.iiitlucknow.android.data.persistance.PersistanceDatabase import com.iiitlucknow.android.data.persistance.Repo -import com.iiitlucknow.android.data.persistance.database -import com.iiitlucknow.android.data.persistance.my_events import dagger.hilt.android.scopes.ViewModelScoped -import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import javax.inject.Inject @ViewModelScoped -class HomeViewModel @Inject constructor(application: Application) : AndroidViewModel(application) { +class HomeViewModel @Inject constructor( + application: Application, + dao: PersistanceDatabase +) : AndroidViewModel(application) { private val myrepo: Repo - val allwords: LiveData> + val allwords: LiveData> init { - val dao = database.getDatabase(application).myDao() myrepo = Repo(dao) allwords = myrepo.getwords } - fun addevent(myEvents: my_events) { + fun addevent(eventsTable: EventsTable) { viewModelScope.launch(Dispatchers.IO) { - myrepo.insertitem(myEvents) + myrepo.insertitem(eventsTable) } } - fun deleteevent(myEvents: my_events) { + fun deleteevent(eventsTable: EventsTable) { viewModelScope.launch(Dispatchers.IO) { - myrepo.deleteword(myEvents) + myrepo.deleteword(eventsTable) } } } diff --git a/data/build.gradle b/data/build.gradle index 2ba2b8c..c7df853 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -2,6 +2,7 @@ plugins { id 'com.android.library' id 'kotlin-android' id 'kotlin-kapt' + id 'dagger.hilt.android.plugin' } android { @@ -33,6 +34,7 @@ android { } def room_version = "2.3.0" +def lifecycle_version = "2.2.0" dependencies { @@ -56,10 +58,20 @@ dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.6' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6' + // Room implementation "androidx.room:room-runtime:$room_version" - kapt "androidx.room:room-compiler:$room_version" + annotationProcessor "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" + // Dagger Hilt + implementation "com.google.dagger:hilt-android:2.38.1" + implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03" + kapt "com.google.dagger:hilt-compiler:2.38.1" + kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha' + + + implementation project(path: ':model') + testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt index eca00f3..a185cab 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt @@ -9,11 +9,11 @@ import androidx.room.Query @Dao interface Dao { @Insert - suspend fun addevent(myEvents: my_events) + suspend fun addevent(eventsTable: EventsTable) @Delete - suspend fun deleteevent(myEvents: my_events) + suspend fun deleteevent(eventsTable: EventsTable) @Query("SELECT * FROM words_table ORDER BY id ASC") - fun getevents(): LiveData> + fun getevents(): LiveData> } diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/my_events.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsTable.kt similarity index 91% rename from data/src/main/java/com/iiitlucknow/android/data/persistance/my_events.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/EventsTable.kt index 8e154cc..0b58f20 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/my_events.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsTable.kt @@ -4,7 +4,7 @@ import androidx.room.Entity import androidx.room.PrimaryKey @Entity(tableName = "words_table") -data class my_events( +data class EventsTable( @PrimaryKey(autoGenerate = true) val id: Int, val my_img: Int, diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt new file mode 100644 index 0000000..0305680 --- /dev/null +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt @@ -0,0 +1,9 @@ +package com.iiitlucknow.android.data.persistance + +import androidx.room.Database +import androidx.room.RoomDatabase + +@Database(entities = [EventsTable::class], version = 1, exportSchema = false) +abstract class PersistanceDatabase : RoomDatabase() { + abstract fun myDao(): Dao +} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt new file mode 100644 index 0000000..c58b0d3 --- /dev/null +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt @@ -0,0 +1,25 @@ +package com.iiitlucknow.android.data.persistance + +import android.content.Context +import androidx.room.Room +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.components.ActivityComponent +import dagger.hilt.android.qualifiers.ApplicationContext + +@Module +@InstallIn(ActivityComponent::class) +object PersistanceDatabaseModule { + + @Provides + fun providePersistanceDatabase(@ApplicationContext applicationContext: Context): PersistanceDatabase { + return Room.databaseBuilder( + applicationContext, + PersistanceDatabase::class.java, + "item_database" + ) + .fallbackToDestructiveMigration() + .build() + } +} \ No newline at end of file diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt index c20a913..8a90af7 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt @@ -3,12 +3,12 @@ package com.iiitlucknow.android.data.persistance import androidx.lifecycle.LiveData class Repo(private val dao: Dao) { - suspend fun insertitem(myEvents: my_events) { - dao.addevent(myEvents) + suspend fun insertitem(eventsTable: EventsTable) { + dao.addevent(eventsTable) } - suspend fun deleteword(myEvents: my_events) { - dao.deleteevent(myEvents) + suspend fun deleteword(eventsTable: EventsTable) { + dao.deleteevent(eventsTable) } - val getwords: LiveData> = dao.getevents() + val getwords: LiveData> = dao.getevents() } diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt deleted file mode 100644 index 62ad6bf..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/database.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import android.content.Context -import androidx.room.Database -import androidx.room.Room -import androidx.room.RoomDatabase - -@Database(entities = [my_events::class], version = 1, exportSchema = false) -abstract class database : RoomDatabase() { - abstract fun myDao(): Dao - companion object { - @Volatile - private var INSTANCE: database? = null - fun getDatabase(context: Context): database { - return INSTANCE ?: synchronized(this) { - val instance = Room.databaseBuilder( - context.applicationContext, - database::class.java, - "item_database" - ) - .fallbackToDestructiveMigration() - .build() - INSTANCE = instance - instance - } - } - } -} From 271af3d6c912e2e25a5cc6f47a0b1d5e29e6856e Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Sun, 9 Jan 2022 17:41:11 +0530 Subject: [PATCH 4/7] nit fixes. --- .../event/EventRegisterDialogFragment.kt | 6 ++--- .../festify/event/EventSubcategoryAdapter.kt | 4 ++-- .../android/festify/home/HomeAdapter.kt | 6 ++--- .../android/festify/home/HomeViewModel.kt | 24 +++++++++---------- data/build.gradle | 2 ++ .../data/persistance/{Dao.kt => EventsDao.kt} | 8 +++---- .../data/persistance/EventsDatabase.kt | 9 +++++++ .../{EventsTable.kt => EventsEntity.kt} | 2 +- ...tanceDatabaseModule.kt => EventsModule.kt} | 15 ++++++++---- .../data/persistance/EventsRepository.kt | 21 ++++++++++++++++ .../data/persistance/PersistanceDatabase.kt | 9 ------- .../android/data/persistance/Repo.kt | 14 ----------- 12 files changed, 67 insertions(+), 53 deletions(-) rename data/src/main/java/com/iiitlucknow/android/data/persistance/{Dao.kt => EventsDao.kt} (60%) create mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt rename data/src/main/java/com/iiitlucknow/android/data/persistance/{EventsTable.kt => EventsEntity.kt} (91%) rename data/src/main/java/com/iiitlucknow/android/data/persistance/{PersistanceDatabaseModule.kt => EventsModule.kt} (62%) create mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt index 08c0dec..70aadde 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt @@ -8,16 +8,16 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.DialogFragment -import com.iiitlucknow.android.data.persistance.EventsTable +import com.iiitlucknow.android.data.persistance.EventsEntity import com.iiitlucknow.android.festify.databinding.FragmentMydialogBinding import com.iiitlucknow.android.festify.home.HomeViewModel import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject @AndroidEntryPoint -class EventRegisterDialogFragment(eventsTable: EventsTable, flag: Int) : DialogFragment() { +class EventRegisterDialogFragment(eventsEntity: EventsEntity, flag: Int) : DialogFragment() { val myflag = flag - val new_event: EventsTable = eventsTable + val new_event: EventsEntity = eventsEntity private var _binding: FragmentMydialogBinding? = null private val binding get() = _binding!! diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt index 0383eb8..ad0c867 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt @@ -9,7 +9,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatButton import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.data.persistance.EventsTable +import com.iiitlucknow.android.data.persistance.EventsEntity import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.model.EventRecyclerItemClick @@ -38,7 +38,7 @@ class EventSubcategoryAdapter(private var list: MutableList + private val list: MutableList ) : RecyclerView.Adapter() { class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { val recycler_clicker_text: TextView = view.findViewById(R.id.recycler_clicker_text) @@ -44,7 +44,7 @@ class HomeAdapter( holder.recycler_clicker_button.setOnClickListener { val mydialog = EventRegisterDialogFragment( - EventsTable(item.id, item.my_img, item.my_title, item.date), + EventsEntity(item.id, item.my_img, item.my_title, item.date), 1 ) mydialog.show(fm, "my_view") diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt index 951ad78..aa2ea8c 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt @@ -4,9 +4,9 @@ import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.viewModelScope -import com.iiitlucknow.android.data.persistance.EventsTable -import com.iiitlucknow.android.data.persistance.PersistanceDatabase -import com.iiitlucknow.android.data.persistance.Repo +import com.iiitlucknow.android.data.persistance.EventsDao +import com.iiitlucknow.android.data.persistance.EventsEntity +import com.iiitlucknow.android.data.persistance.EventsRepository import dagger.hilt.android.scopes.ViewModelScoped import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -15,25 +15,25 @@ import javax.inject.Inject @ViewModelScoped class HomeViewModel @Inject constructor( application: Application, - dao: PersistanceDatabase + dao: EventsDao ) : AndroidViewModel(application) { - private val myrepo: Repo - val allwords: LiveData> + private val myrepo: EventsRepository + val allwords: LiveData> init { - myrepo = Repo(dao) - allwords = myrepo.getwords + myrepo = EventsRepository(dao) + allwords = myrepo.getEventItems } - fun addevent(eventsTable: EventsTable) { + fun addevent(eventsEntity: EventsEntity) { viewModelScope.launch(Dispatchers.IO) { - myrepo.insertitem(eventsTable) + myrepo.insertEventItem(eventsEntity) } } - fun deleteevent(eventsTable: EventsTable) { + fun deleteevent(eventsEntity: EventsEntity) { viewModelScope.launch(Dispatchers.IO) { - myrepo.deleteword(eventsTable) + myrepo.deleteEventItem(eventsEntity) } } } diff --git a/data/build.gradle b/data/build.gradle index c7df853..2717774 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -68,6 +68,8 @@ dependencies { implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03" kapt "com.google.dagger:hilt-compiler:2.38.1" kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha' +// annotationProcessor "com.google.dagger:hilt-compiler:2.38.1" +// annotationProcessor 'com.google.dagger:hilt-android-compiler:2.28-alpha' implementation project(path: ':model') diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt similarity index 60% rename from data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt index a185cab..7fbbed1 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/Dao.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt @@ -7,13 +7,13 @@ import androidx.room.Insert import androidx.room.Query @Dao -interface Dao { +interface EventsDao { @Insert - suspend fun addevent(eventsTable: EventsTable) + suspend fun addEvent(eventsEntity: EventsEntity) @Delete - suspend fun deleteevent(eventsTable: EventsTable) + suspend fun deleteEvent(eventsEntity: EventsEntity) @Query("SELECT * FROM words_table ORDER BY id ASC") - fun getevents(): LiveData> + fun getEvents(): LiveData> } diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt new file mode 100644 index 0000000..fbfd4b0 --- /dev/null +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt @@ -0,0 +1,9 @@ +package com.iiitlucknow.android.data.persistance + +import androidx.room.Database +import androidx.room.RoomDatabase + +@Database(entities = [EventsEntity::class], version = 1, exportSchema = false) +abstract class EventsDatabase : RoomDatabase() { + abstract fun eventsPersistanceDao(): EventsDao +} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsTable.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt similarity index 91% rename from data/src/main/java/com/iiitlucknow/android/data/persistance/EventsTable.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt index 0b58f20..e5a79fd 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsTable.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt @@ -4,7 +4,7 @@ import androidx.room.Entity import androidx.room.PrimaryKey @Entity(tableName = "words_table") -data class EventsTable( +data class EventsEntity( @PrimaryKey(autoGenerate = true) val id: Int, val my_img: Int, diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt similarity index 62% rename from data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt rename to data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt index c58b0d3..251ec24 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabaseModule.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt @@ -10,16 +10,21 @@ import dagger.hilt.android.qualifiers.ApplicationContext @Module @InstallIn(ActivityComponent::class) -object PersistanceDatabaseModule { +object EventsModule { @Provides - fun providePersistanceDatabase(@ApplicationContext applicationContext: Context): PersistanceDatabase { + fun provideEventsRepository(dao: EventsDao): EventsRepository { + return EventsRepository(dao) + } + + @Provides + fun provideEventsDatabase(@ApplicationContext context: Context): EventsDatabase { return Room.databaseBuilder( - applicationContext, - PersistanceDatabase::class.java, + context, + EventsDatabase::class.java, "item_database" ) .fallbackToDestructiveMigration() .build() } -} \ No newline at end of file +} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt new file mode 100644 index 0000000..469f5ac --- /dev/null +++ b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt @@ -0,0 +1,21 @@ +package com.iiitlucknow.android.data.persistance + +import androidx.lifecycle.LiveData +import dagger.hilt.android.AndroidEntryPoint +import javax.inject.Inject + +@AndroidEntryPoint +class EventsRepository +@Inject constructor( + private val eventsDao: EventsDao, +) { + suspend fun insertEventItem(eventsEntity: EventsEntity) { + eventsDao.addEvent(eventsEntity) + } + + suspend fun deleteEventItem(eventsEntity: EventsEntity) { + eventsDao.deleteEvent(eventsEntity) + } + + val getEventItems: LiveData> = eventsDao.getEvents() +} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt deleted file mode 100644 index 0305680..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/PersistanceDatabase.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import androidx.room.Database -import androidx.room.RoomDatabase - -@Database(entities = [EventsTable::class], version = 1, exportSchema = false) -abstract class PersistanceDatabase : RoomDatabase() { - abstract fun myDao(): Dao -} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt deleted file mode 100644 index 8a90af7..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/Repo.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import androidx.lifecycle.LiveData - -class Repo(private val dao: Dao) { - suspend fun insertitem(eventsTable: EventsTable) { - dao.addevent(eventsTable) - } - - suspend fun deleteword(eventsTable: EventsTable) { - dao.deleteevent(eventsTable) - } - val getwords: LiveData> = dao.getevents() -} From f97478da58e1621acf9c3be6a3c6d84dd72e20f1 Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Sun, 9 Jan 2022 18:50:01 +0530 Subject: [PATCH 5/7] added hilt version. --- app/build.gradle | 6 +++--- build.gradle | 3 ++- data/build.gradle | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ad1c531..98afdf8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -53,10 +53,10 @@ dependencies { implementation 'androidx.navigation:navigation-ui-ktx:2.3.5' //added deps for hilt. - implementation "com.google.dagger:hilt-android:2.38.1" + implementation "com.google.dagger:hilt-android:$hilt_version" implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03" - kapt "com.google.dagger:hilt-compiler:2.38.1" - kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha' + kapt "com.google.dagger:hilt-compiler:$hilt_version" + kapt "com.google.dagger:hilt-android-compiler:$hilt_version" //Slider View implementation 'com.github.smarteist:autoimageslider:1.4.0' diff --git a/build.gradle b/build.gradle index 3417324..c58a9c3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + ext.hilt_version = "2.40.5" repositories { google() mavenCentral() @@ -8,7 +9,7 @@ buildscript { classpath "com.android.tools.build:gradle:7.0.4" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" //added classpath for hilt. - classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1' + classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.2" diff --git a/data/build.gradle b/data/build.gradle index 2717774..b9678b0 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -64,10 +64,10 @@ dependencies { implementation "androidx.room:room-ktx:$room_version" // Dagger Hilt - implementation "com.google.dagger:hilt-android:2.38.1" + implementation "com.google.dagger:hilt-android:$hilt_version" implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03" - kapt "com.google.dagger:hilt-compiler:2.38.1" - kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha' + kapt "com.google.dagger:hilt-compiler:$hilt_version" + kapt "com.google.dagger:hilt-android-compiler:$hilt_version" // annotationProcessor "com.google.dagger:hilt-compiler:2.38.1" // annotationProcessor 'com.google.dagger:hilt-android-compiler:2.28-alpha' From bcc0c9b48eb7ece2fa84d613c73ea7604c192bd2 Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Mon, 2 Jan 2023 21:45:51 +0530 Subject: [PATCH 6/7] * new changes. --- .../festify/application/FestifyApplication.kt | 6 ++-- .../authentication/login/LoginViewModel.kt | 4 +-- .../authentication/signup/SignUpViewModel.kt | 4 +-- .../event/EventRegisterDialogFragment.kt | 1 - .../festify/event/EventSubcategoryAdapter.kt | 1 - .../android/festify/home/HomeAdapter.kt | 1 - .../android/festify/home/HomeViewModel.kt | 3 -- ...{RetrofitInstance.kt => RetrofitModule.kt} | 8 ++++- .../android/data/persistance/EventsDao.kt | 19 ------------ .../data/persistance/EventsDatabase.kt | 9 ------ .../android/data/persistance/EventsEntity.kt | 13 -------- .../android/data/persistance/EventsModule.kt | 30 ------------------- .../data/persistance/EventsRepository.kt | 21 ------------- 13 files changed, 14 insertions(+), 106 deletions(-) rename data/src/main/java/com/iiitlucknow/android/data/backends/{RetrofitInstance.kt => RetrofitModule.kt} (80%) delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt delete mode 100644 data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt diff --git a/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt b/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt index 4a3a6ff..e61d608 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt @@ -2,8 +2,8 @@ package com.iiitlucknow.android.festify.application import android.app.Application import dagger.hilt.android.HiltAndroidApp -import javax.inject.Inject @HiltAndroidApp -class FestifyApplication -@Inject constructor() : Application() +class FestifyApplication : Application() { + +} diff --git a/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt index 652ffa3..1d87adc 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/login/LoginViewModel.kt @@ -4,7 +4,7 @@ import android.app.Application import android.widget.Toast import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData -import com.iiitlucknow.android.data.backends.RetrofitInstance +import com.iiitlucknow.android.data.backends.RetrofitModule import com.iiitlucknow.android.data.backends.model.DefaultResponse import com.iiitlucknow.android.data.backends.model.LoginData import retrofit2.Call @@ -15,7 +15,7 @@ class LoginViewModel(application: Application) : AndroidViewModel(application) { var log_Response: MutableLiveData> = MutableLiveData() fun checkLogin(loginData: LoginData) { - RetrofitInstance.api.loginUser( + RetrofitModule.api.loginUser( loginData.usernameOrEmail, loginData.password ).enqueue(object : Callback { diff --git a/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt index cdb2560..5635152 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/authentication/signup/SignUpViewModel.kt @@ -4,7 +4,7 @@ import android.app.Application import android.widget.Toast import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData -import com.iiitlucknow.android.data.backends.RetrofitInstance +import com.iiitlucknow.android.data.backends.RetrofitModule import com.iiitlucknow.android.data.backends.model.DefaultResponse import com.iiitlucknow.android.data.backends.model.SignUpRequestBody import retrofit2.Call @@ -14,7 +14,7 @@ import retrofit2.Response class SignUpViewModel(application: Application) : AndroidViewModel(application) { var sign_Response: MutableLiveData> = MutableLiveData() fun pushPost(post: SignUpRequestBody) { - RetrofitInstance.api.createUser( + RetrofitModule.api.createUser( post.userName, post.userPassword, post.userEmail, diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt index 70aadde..025a68c 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventRegisterDialogFragment.kt @@ -8,7 +8,6 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.DialogFragment -import com.iiitlucknow.android.data.persistance.EventsEntity import com.iiitlucknow.android.festify.databinding.FragmentMydialogBinding import com.iiitlucknow.android.festify.home.HomeViewModel import dagger.hilt.android.AndroidEntryPoint diff --git a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt index ad0c867..2ab6afd 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/event/EventSubcategoryAdapter.kt @@ -9,7 +9,6 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatButton import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.data.persistance.EventsEntity import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.model.EventRecyclerItemClick diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt index ce86d8e..8c2486a 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeAdapter.kt @@ -10,7 +10,6 @@ import androidx.appcompat.widget.AppCompatButton import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.RecyclerView -import com.iiitlucknow.android.data.persistance.EventsEntity import com.iiitlucknow.android.festify.R import com.iiitlucknow.android.festify.event.EventRegisterDialogFragment diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt index aa2ea8c..ffbcdb8 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt @@ -4,9 +4,6 @@ import android.app.Application import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.viewModelScope -import com.iiitlucknow.android.data.persistance.EventsDao -import com.iiitlucknow.android.data.persistance.EventsEntity -import com.iiitlucknow.android.data.persistance.EventsRepository import dagger.hilt.android.scopes.ViewModelScoped import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt similarity index 80% rename from data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt rename to data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt index 5af443d..e04d3e9 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitInstance.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt @@ -3,10 +3,16 @@ package com.iiitlucknow.android.data.backends import com.iiitlucknow.android.data.backends.api.UserService import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory +import dagger.Module +import dagger.hilt.InstallIn import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory +import javax.inject.Singleton +import kotlin.text.Typography.dagger -object RetrofitInstance { +@Module +@InstallIn(Singleton::class) +object RetrofitModule { private const val BASE_URL = "https://festify-iiitl.herokuapp.com/" private val moshi = Moshi.Builder() diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt deleted file mode 100644 index 7fbbed1..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDao.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import androidx.lifecycle.LiveData -import androidx.room.Dao -import androidx.room.Delete -import androidx.room.Insert -import androidx.room.Query - -@Dao -interface EventsDao { - @Insert - suspend fun addEvent(eventsEntity: EventsEntity) - - @Delete - suspend fun deleteEvent(eventsEntity: EventsEntity) - - @Query("SELECT * FROM words_table ORDER BY id ASC") - fun getEvents(): LiveData> -} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt deleted file mode 100644 index fbfd4b0..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsDatabase.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import androidx.room.Database -import androidx.room.RoomDatabase - -@Database(entities = [EventsEntity::class], version = 1, exportSchema = false) -abstract class EventsDatabase : RoomDatabase() { - abstract fun eventsPersistanceDao(): EventsDao -} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt deleted file mode 100644 index e5a79fd..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsEntity.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import androidx.room.Entity -import androidx.room.PrimaryKey - -@Entity(tableName = "words_table") -data class EventsEntity( - @PrimaryKey(autoGenerate = true) - val id: Int, - val my_img: Int, - val my_title: Int, - val date: Int -) diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt deleted file mode 100644 index 251ec24..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsModule.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import android.content.Context -import androidx.room.Room -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ActivityComponent -import dagger.hilt.android.qualifiers.ApplicationContext - -@Module -@InstallIn(ActivityComponent::class) -object EventsModule { - - @Provides - fun provideEventsRepository(dao: EventsDao): EventsRepository { - return EventsRepository(dao) - } - - @Provides - fun provideEventsDatabase(@ApplicationContext context: Context): EventsDatabase { - return Room.databaseBuilder( - context, - EventsDatabase::class.java, - "item_database" - ) - .fallbackToDestructiveMigration() - .build() - } -} diff --git a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt b/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt deleted file mode 100644 index 469f5ac..0000000 --- a/data/src/main/java/com/iiitlucknow/android/data/persistance/EventsRepository.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.iiitlucknow.android.data.persistance - -import androidx.lifecycle.LiveData -import dagger.hilt.android.AndroidEntryPoint -import javax.inject.Inject - -@AndroidEntryPoint -class EventsRepository -@Inject constructor( - private val eventsDao: EventsDao, -) { - suspend fun insertEventItem(eventsEntity: EventsEntity) { - eventsDao.addEvent(eventsEntity) - } - - suspend fun deleteEventItem(eventsEntity: EventsEntity) { - eventsDao.deleteEvent(eventsEntity) - } - - val getEventItems: LiveData> = eventsDao.getEvents() -} From b474c092facbaaf36ab54f1753d27b1f2fdb33d8 Mon Sep 17 00:00:00 2001 From: yash10019coder Date: Mon, 2 Jan 2023 21:47:27 +0530 Subject: [PATCH 7/7] * nit fixes. --- .../android/festify/application/FestifyApplication.kt | 4 +--- .../iiitlucknow/android/festify/home/HomeViewModel.kt | 9 +++++---- .../iiitlucknow/android/data/backends/RetrofitModule.kt | 3 +-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt b/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt index e61d608..47b63bc 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/application/FestifyApplication.kt @@ -4,6 +4,4 @@ import android.app.Application import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp -class FestifyApplication : Application() { - -} +class FestifyApplication : Application() diff --git a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt index ffbcdb8..0fdbd3d 100644 --- a/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt +++ b/app/src/main/java/com/iiitlucknow/android/festify/home/HomeViewModel.kt @@ -1,13 +1,14 @@ package com.iiitlucknow.android.festify.home import android.app.Application +import android.provider.CalendarContract import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LiveData import androidx.lifecycle.viewModelScope import dagger.hilt.android.scopes.ViewModelScoped +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject @ViewModelScoped class HomeViewModel @Inject constructor( @@ -15,20 +16,20 @@ class HomeViewModel @Inject constructor( dao: EventsDao ) : AndroidViewModel(application) { private val myrepo: EventsRepository - val allwords: LiveData> + val allwords: LiveData> init { myrepo = EventsRepository(dao) allwords = myrepo.getEventItems } - fun addevent(eventsEntity: EventsEntity) { + fun addevent(eventsEntity: CalendarContract.EventsEntity) { viewModelScope.launch(Dispatchers.IO) { myrepo.insertEventItem(eventsEntity) } } - fun deleteevent(eventsEntity: EventsEntity) { + fun deleteevent(eventsEntity: CalendarContract.EventsEntity) { viewModelScope.launch(Dispatchers.IO) { myrepo.deleteEventItem(eventsEntity) } diff --git a/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt b/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt index e04d3e9..5c69793 100644 --- a/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt +++ b/data/src/main/java/com/iiitlucknow/android/data/backends/RetrofitModule.kt @@ -5,10 +5,9 @@ import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import dagger.Module import dagger.hilt.InstallIn +import javax.inject.Singleton import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory -import javax.inject.Singleton -import kotlin.text.Typography.dagger @Module @InstallIn(Singleton::class)