├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── ic_launcher-playstore.png
│ │ ├── res
│ │ │ ├── drawable-v24
│ │ │ │ ├── booking.png
│ │ │ │ ├── lotus.png
│ │ │ │ ├── nochats.png
│ │ │ │ ├── splash.gif
│ │ │ │ ├── location.png
│ │ │ │ ├── nobooking.png
│ │ │ │ ├── building_pic.png
│ │ │ │ ├── forgotpass.png
│ │ │ │ ├── login_logo.png
│ │ │ │ ├── package_img.png
│ │ │ │ ├── signup_cmp.png
│ │ │ │ ├── signup_user.png
│ │ │ │ ├── verify_otp.png
│ │ │ │ ├── confirmbooking.png
│ │ │ │ ├── white_circle.xml
│ │ │ │ ├── custom_button.xml
│ │ │ │ ├── custom_button_reg.xml
│ │ │ │ ├── custom_search_icon.xml
│ │ │ │ ├── ic_warning_orange_24dp.xml
│ │ │ │ ├── ic_search_focused.xml
│ │ │ │ ├── ic_search_bar.xml
│ │ │ │ ├── custom_search.xml
│ │ │ │ ├── custom_progress_load.xml
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── values
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ ├── custom_styles.xml
│ │ │ │ ├── strings.xml
│ │ │ │ ├── preloaded_fonts.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── themes.xml
│ │ │ │ └── font_certs.xml
│ │ │ ├── drawable
│ │ │ │ ├── custom_send_background.xml
│ │ │ │ ├── custom_border.xml
│ │ │ │ ├── custom_yellow_stroke.xml
│ │ │ │ ├── ic_baseline_add_24.xml
│ │ │ │ ├── ic_check.xml
│ │ │ │ ├── custom_focus.xml
│ │ │ │ ├── ic_baseline_filter_list_24.xml
│ │ │ │ ├── bottom_nav_icon_color.xml
│ │ │ │ ├── ic_delete.xml
│ │ │ │ ├── ic_back.xml
│ │ │ │ ├── ic_baseline_send_24.xml
│ │ │ │ ├── ic_close.xml
│ │ │ │ ├── ic_person.xml
│ │ │ │ ├── chat_background.xml
│ │ │ │ ├── ic_baseline_email_24.xml
│ │ │ │ ├── ic_chat.xml
│ │ │ │ ├── background_left.xml
│ │ │ │ ├── background_right.xml
│ │ │ │ ├── ic_location.xml
│ │ │ │ ├── ic_baseline_edit_24.xml
│ │ │ │ ├── ic_baseline_favorite_24.xml
│ │ │ │ ├── ic_book_online.xml
│ │ │ │ ├── ic_doe.xml
│ │ │ │ ├── ic_delete_forever.xml
│ │ │ │ ├── ic_lock.xml
│ │ │ │ ├── ic_pass.xml
│ │ │ │ ├── ic_phone.xml
│ │ │ │ ├── ic_account.xml
│ │ │ │ ├── ic_call.xml
│ │ │ │ ├── ic_home.xml
│ │ │ │ ├── ic_chat_bubble.xml
│ │ │ │ ├── ic_settings.xml
│ │ │ │ ├── ic_arrow.xml
│ │ │ │ ├── ic_information_button.xml
│ │ │ │ ├── ic_building.xml
│ │ │ │ └── ic_filter.xml
│ │ │ ├── font
│ │ │ │ ├── baloo_paaji.xml
│ │ │ │ ├── roboto_bold.xml
│ │ │ │ ├── roboto_light.xml
│ │ │ │ ├── roboto_medium.xml
│ │ │ │ ├── roboto_thin.xml
│ │ │ │ └── open_sans_condensed_bold.xml
│ │ │ ├── xml
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ ├── menu
│ │ │ │ ├── guest_bottom_nav.xml
│ │ │ │ ├── usr_bottom_nav.xml
│ │ │ │ └── cmp_bottom_nav.xml
│ │ │ ├── values-night
│ │ │ │ └── themes.xml
│ │ │ ├── values-v31
│ │ │ │ └── themes.xml
│ │ │ └── layout
│ │ │ │ ├── activity_splash.xml
│ │ │ │ ├── chat_item_left.xml
│ │ │ │ ├── activity_cmp_home.xml
│ │ │ │ ├── activity_user_home.xml
│ │ │ │ ├── activity_guest_home.xml
│ │ │ │ ├── layout_dialog_profile.xml
│ │ │ │ ├── chat_item_right.xml
│ │ │ │ ├── fragment_guest_book.xml
│ │ │ │ ├── fragment_guest_chat.xml
│ │ │ │ ├── chat_list_item.xml
│ │ │ │ ├── dialog_delete.xml
│ │ │ │ ├── usr_home_item.xml
│ │ │ │ ├── fragment_chat_cmp.xml
│ │ │ │ ├── package_usr_item.xml
│ │ │ │ ├── package_item_layout.xml
│ │ │ │ ├── fragment_user_home.xml
│ │ │ │ ├── fragment_guest_home.xml
│ │ │ │ ├── fragment_cmp_book.xml
│ │ │ │ ├── fragment_user_book.xml
│ │ │ │ ├── activity_about_us.xml
│ │ │ │ ├── fragment_user_chat.xml
│ │ │ │ └── activity_messaging.xml
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── harvin
│ │ │ │ └── evento
│ │ │ │ ├── Model
│ │ │ │ ├── ChatListModel.kt
│ │ │ │ ├── UserModel.kt
│ │ │ │ ├── ChatModel.kt
│ │ │ │ ├── PackageItemModel.kt
│ │ │ │ ├── CompanyModel.kt
│ │ │ │ └── BookingModel.kt
│ │ │ │ ├── AboutUsActivity.kt
│ │ │ │ ├── GuestFragment
│ │ │ │ ├── GuestBookFragment.kt
│ │ │ │ ├── GuestChatFragment.kt
│ │ │ │ └── GuestAccountFragment.kt
│ │ │ │ ├── CmpFragment
│ │ │ │ ├── AccountCmpFragment.kt
│ │ │ │ ├── BookCmpFragment.kt
│ │ │ │ └── ChatCmpFragment.kt
│ │ │ │ ├── ForgotPasswordActivity.kt
│ │ │ │ ├── Adapters
│ │ │ │ ├── RecyclerCmpChatListAdapter.kt
│ │ │ │ ├── RecyclerUserChatListAdapter.kt
│ │ │ │ ├── RecyclerCmpHomeAdapter.kt
│ │ │ │ ├── RecyclerUserHomeAdapter.kt
│ │ │ │ ├── RecyclerMessageAdapter.kt
│ │ │ │ ├── RecyclerUsrCmpPkgAdapter.kt
│ │ │ │ └── RecyclerCmpBookAdapter.kt
│ │ │ │ ├── Users
│ │ │ │ ├── UserHomeActivity.kt
│ │ │ │ ├── UserBookConfirmActivity.kt
│ │ │ │ ├── UserRegistrationActivity.kt
│ │ │ │ └── UserCmpDetailsActivity.kt
│ │ │ │ ├── Guest
│ │ │ │ └── GuestHomeActivity.kt
│ │ │ │ ├── Company
│ │ │ │ ├── CmpHomeActivity.kt
│ │ │ │ ├── CmpAddPackageActivity.kt
│ │ │ │ ├── CmpRegDetailsActivity.kt
│ │ │ │ ├── CmpRegistrationActivity.kt
│ │ │ │ └── CmpEditPackageActivity.kt
│ │ │ │ ├── UserFragment
│ │ │ │ ├── UserBookFragment.kt
│ │ │ │ └── UserChatFragment.kt
│ │ │ │ └── SplashActivity.kt
│ │ └── AndroidManifest.xml
│ ├── test
│ │ └── java
│ │ │ └── com
│ │ │ └── harvin
│ │ │ └── evento
│ │ │ └── ExampleUnitTest.kt
│ └── androidTest
│ │ └── java
│ │ └── com
│ │ └── harvin
│ │ └── evento
│ │ └── ExampleInstrumentedTest.kt
├── proguard-rules.pro
├── google-services.json
└── build.gradle
├── .idea
├── .gitignore
├── codeStyles
│ ├── codeStyleConfig.xml
│ └── Project.xml
├── compiler.xml
├── vcs.xml
└── gradle.xml
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .gitignore
├── settings.gradle
├── gradle.properties
└── gradlew.bat
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/booking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/booking.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/lotus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/lotus.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/nochats.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/nochats.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/splash.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/splash.gif
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/location.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/nobooking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/nobooking.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/building_pic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/building_pic.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/forgotpass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/forgotpass.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/login_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/login_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/package_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/package_img.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/signup_cmp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/signup_cmp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/signup_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/signup_user.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/verify_otp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/verify_otp.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/confirmbooking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/drawable-v24/confirmbooking.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harvinshibu/Evento-Android-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Model/ChatListModel.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Model
2 |
3 | data class ChatListModel(val id :String?){
4 | constructor() : this(null)
5 | }
6 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/white_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/custom_styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Evento
3 | Hello blank fragment
4 |
5 | "YOUR API KEY"
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/custom_send_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/custom_border.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/custom_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed May 18 11:22:59 IST 2022
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/custom_button_reg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Model/UserModel.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Model
2 | //User Model Class
3 | data class UserModel( val userID: String?,
4 | val cname: String?,
5 | val email: String?){
6 | constructor() : this(null, null, null)
7 | }
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches
5 | /.idea/libraries
6 | /.idea/modules.xml
7 | /.idea/workspace.xml
8 | /.idea/navEditor.xml
9 | /.idea/assetWizardSettings.xml
10 | .DS_Store
11 | /build
12 | /captures
13 | .externalNativeBuild
14 | .cxx
15 | local.properties
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/custom_yellow_stroke.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Model/ChatModel.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Model
2 |
3 | data class ChatModel(val sender: String?,
4 | val receiver: String?,
5 | val msg: String?,
6 | val isseen: Boolean?){
7 | constructor() : this(null, null, null,null)
8 | }
9 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Model/PackageItemModel.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Model
2 |
3 | data class PackageItemModel(
4 | val cmpID: String?, val packID: String?,
5 | val title:String?,
6 | val desc:String?,
7 | val price:String?,
8 | val pcount:String?){
9 |
10 | constructor() : this(null, null, null,null,null,null)
11 | }
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_add_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/custom_search_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_check.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/custom_focus.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/AboutUsActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 |
6 | class AboutUsActivity : AppCompatActivity() {
7 | override fun onCreate(savedInstanceState: Bundle?) {
8 | super.onCreate(savedInstanceState)
9 | setContentView(R.layout.activity_about_us)
10 | }
11 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_filter_list_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bottom_nav_icon_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_delete.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | gradlePluginPortal()
4 | google()
5 | mavenCentral()
6 | }
7 | }
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | }
15 | rootProject.name = "Evento"
16 | include ':app'
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_back.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_send_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/font/baloo_paaji.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_close.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/font/roboto_bold.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/font/roboto_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/font/roboto_medium.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/font/roboto_thin.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_warning_orange_24dp.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_person.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/font/open_sans_condensed_bold.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Model/CompanyModel.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Model
2 |
3 | data class CompanyModel(
4 | val cmpID: String?,
5 | val phone: String?,
6 | val cname: String?,
7 | val email: String?,
8 | val yoe: String?,
9 | val cin: String?,
10 | val desc: String?,
11 | val service: String?,
12 | val location: String?
13 | ){
14 | constructor() : this(null, null, null,null,null,null,null,null,null)
15 | }
--------------------------------------------------------------------------------
/app/src/test/java/com/harvin/evento/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/values/preloaded_fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - @font/baloo_paaji
5 | - @font/open_sans_condensed_bold
6 | - @font/roboto_bold
7 | - @font/roboto_light
8 | - @font/roboto_medium
9 | - @font/roboto_thin
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/chat_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_email_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_chat.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/background_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/background_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_location.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_edit_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_favorite_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_book_online.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_doe.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/backup_rules.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_delete_forever.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Model/BookingModel.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Model
2 |
3 | data class BookingModel(val bookID: String?,
4 | val packID: String?,
5 | val cmpID: String?,
6 | val userID: String?,
7 | val pkgName: String?,
8 | val pkgPrice: String?,
9 | val pkgDesc: String?,
10 | val status: String?){
11 | constructor() : this(null, null, null,null,null, null,null,null)
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_lock.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pass.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_search_focused.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_phone.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_search_bar.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_account.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/data_extraction_rules.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_call.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/guest_bottom_nav.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/usr_bottom_nav.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/cmp_bottom_nav.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 | #F9AA33
11 | #fef5e6
12 | #344955
13 | #232F34
14 | #FF0000
15 | #00FF00
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_home.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/harvin/evento/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.harvin.evento", appContext.packageName)
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/custom_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/custom_progress_load.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
14 |
17 |
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_chat_bubble.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-night/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v31/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/GuestFragment/GuestBookFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.GuestFragment
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.fragment.app.Fragment
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import com.harvin.evento.MainActivity
10 | import com.harvin.evento.R
11 | import com.harvin.evento.databinding.FragmentGuestBookBinding
12 | import com.harvin.evento.databinding.FragmentGuestChatBinding
13 |
14 |
15 | class GuestBookFragment : Fragment() {
16 |
17 | private lateinit var binding: FragmentGuestBookBinding
18 | override fun onCreateView(
19 | inflater: LayoutInflater, container: ViewGroup?,
20 | savedInstanceState: Bundle?
21 | ): View? {
22 |
23 | binding=FragmentGuestBookBinding.inflate(inflater,container,false)
24 |
25 | binding.usrLoginBook.setOnClickListener {
26 | startActivity(Intent(activity, MainActivity::class.java))
27 | }
28 |
29 | return binding.root
30 | }
31 |
32 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/GuestFragment/GuestChatFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.GuestFragment
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.fragment.app.Fragment
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import com.harvin.evento.MainActivity
10 | import com.harvin.evento.R
11 | import com.harvin.evento.databinding.FragmentGuestChatBinding
12 | import com.harvin.evento.databinding.FragmentGuestHomeBinding
13 |
14 | class GuestChatFragment : Fragment() {
15 | private lateinit var binding:FragmentGuestChatBinding
16 | override fun onCreateView(
17 | inflater: LayoutInflater, container: ViewGroup?,
18 | savedInstanceState: Bundle?
19 | ): View? {
20 | // Inflate the layout for this fragment
21 | binding=FragmentGuestChatBinding.inflate(inflater,container,false)
22 |
23 | binding.usrLoginChat.setOnClickListener {
24 | startActivity(Intent(activity,MainActivity::class.java))
25 | }
26 |
27 | return binding.root
28 | }
29 |
30 |
31 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_settings.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/chat_item_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
24 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_cmp_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_user_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_guest_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/layout_dialog_profile.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/GuestFragment/GuestAccountFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.GuestFragment
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.fragment.app.Fragment
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import com.harvin.evento.AboutUsActivity
10 | import com.harvin.evento.MainActivity
11 | import com.harvin.evento.R
12 | import com.harvin.evento.databinding.FragmentGuestAccountBinding
13 | import com.harvin.evento.databinding.FragmentGuestBookBinding
14 | import com.harvin.evento.databinding.FragmentGuestChatBinding
15 |
16 |
17 | class GuestAccountFragment : Fragment() {
18 |
19 | private lateinit var binding: FragmentGuestAccountBinding
20 |
21 | override fun onCreateView(
22 | inflater: LayoutInflater, container: ViewGroup?,
23 | savedInstanceState: Bundle?
24 | ): View? {
25 | binding= FragmentGuestAccountBinding.inflate(inflater,container,false)
26 |
27 | binding.guestLogAcc.setOnClickListener {
28 | startActivity(Intent(activity, MainActivity::class.java))
29 | }
30 |
31 | binding.textView23.setOnClickListener {
32 | startActivity(Intent(activity, AboutUsActivity::class.java))
33 | }
34 |
35 | return binding.root
36 | }
37 |
38 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app"s APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Kotlin code style for this project: "official" or "obsolete":
19 | kotlin.code.style=official
20 | # Enables namespacing of each library's R class so that its R class includes only the
21 | # resources declared in the library itself and none from the library's dependencies,
22 | # thereby reducing the size of the R class for that library
23 | android.nonTransitiveRClass=true
--------------------------------------------------------------------------------
/app/google-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "project_info": {
3 | "project_number": "907599962030",
4 | "firebase_url": "https://evento-db076-default-rtdb.firebaseio.com",
5 | "project_id": "evento-db076",
6 | "storage_bucket": "evento-db076.appspot.com"
7 | },
8 | "client": [
9 | {
10 | "client_info": {
11 | "mobilesdk_app_id": "1:907599962030:android:4b38f4c32a2746fc43f23f",
12 | "android_client_info": {
13 | "package_name": "com.harvin.evento"
14 | }
15 | },
16 | "oauth_client": [
17 | {
18 | "client_id": "907599962030-2eh4rspa8j6cdg0dbvmfjouaan1h3l88.apps.googleusercontent.com",
19 | "client_type": 1,
20 | "android_info": {
21 | "package_name": "com.harvin.evento",
22 | "certificate_hash": "6cf164f2cf341d526ca5570dbc3919b582aac6a0"
23 | }
24 | },
25 | {
26 | "client_id": "907599962030-ollb9ukh36nk6fgafralacinaiqcv9i9.apps.googleusercontent.com",
27 | "client_type": 3
28 | }
29 | ],
30 | "api_key": [
31 | {
32 | "current_key": "AIzaSyAH34y6URHXoRmMlNz47ix3BfWOUpaqnXA"
33 | }
34 | ],
35 | "services": {
36 | "appinvite_service": {
37 | "other_platform_oauth_client": [
38 | {
39 | "client_id": "907599962030-ollb9ukh36nk6fgafralacinaiqcv9i9.apps.googleusercontent.com",
40 | "client_type": 3
41 | }
42 | ]
43 | }
44 | }
45 | }
46 | ],
47 | "configuration_version": "1"
48 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_arrow.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/chat_item_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
31 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/CmpFragment/AccountCmpFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.CmpFragment
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import androidx.fragment.app.Fragment
9 | import com.google.firebase.auth.FirebaseAuth
10 | import com.google.firebase.database.DatabaseReference
11 | import com.harvin.evento.AboutUsActivity
12 | import com.harvin.evento.Company.CmpEditProfileActivity
13 | import com.harvin.evento.Company.CmpHomeActivity
14 | import com.harvin.evento.MainActivity
15 | import com.harvin.evento.databinding.FragmentAccountCmpBinding
16 |
17 | class AccountCmpFragment : Fragment() {
18 | private lateinit var binding:FragmentAccountCmpBinding
19 | override fun onCreateView(
20 | inflater: LayoutInflater, container: ViewGroup?,
21 | savedInstanceState: Bundle?
22 | ): View {
23 | binding= FragmentAccountCmpBinding.inflate(inflater,container,false)
24 |
25 | binding.logoutCmp.setOnClickListener {
26 | FirebaseAuth.getInstance().signOut()
27 | val i = Intent(activity, MainActivity::class.java)
28 | i.flags=Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
29 | startActivity(i)
30 | }
31 | binding.viewCmpProfile.setOnClickListener {
32 | startActivity(Intent(activity, CmpEditProfileActivity::class.java))
33 | }
34 |
35 | binding.textView23.setOnClickListener {
36 | startActivity(Intent(activity, AboutUsActivity::class.java))
37 | }
38 |
39 | return binding.root
40 | }
41 |
42 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/ForgotPasswordActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import android.view.View
6 | import android.widget.Toast
7 | import androidx.appcompat.app.AppCompatActivity
8 | import com.google.firebase.auth.FirebaseAuth
9 | import com.harvin.evento.databinding.ActivityForgotPasswordBinding
10 |
11 | class ForgotPasswordActivity : AppCompatActivity() {
12 | private lateinit var binding:ActivityForgotPasswordBinding
13 | var fAuth: FirebaseAuth? = null
14 | override fun onCreate(savedInstanceState: Bundle?) {
15 | super.onCreate(savedInstanceState)
16 | binding=ActivityForgotPasswordBinding.inflate(layoutInflater)
17 | setContentView(binding.root)
18 |
19 | fAuth = FirebaseAuth.getInstance()
20 | binding.forgotPass.setOnClickListener {
21 | binding.rProgLayout.visibility= View.VISIBLE
22 | fAuth!!.sendPasswordResetEmail(binding.forgotMail.text.toString().trim()).addOnCompleteListener {
23 | if (it.isSuccessful){
24 | binding.rProgLayout.visibility= View.GONE
25 | Toast.makeText(this@ForgotPasswordActivity, "Reset Link Sent To Email.", Toast.LENGTH_SHORT).show()
26 | startActivity(Intent(applicationContext,MainActivity::class.java))
27 | }
28 | else{
29 | binding.rProgLayout.visibility= View.GONE
30 | Toast.makeText(this@ForgotPasswordActivity, "Error ! Reset Link Not Sent", Toast.LENGTH_SHORT).show()
31 | }
32 | }
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_information_button.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerCmpChatListAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.content.Intent
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import android.widget.TextView
9 | import androidx.recyclerview.widget.RecyclerView
10 | import com.harvin.evento.Company.CmpEditPackageActivity
11 | import com.harvin.evento.MessagingActivity
12 | import com.harvin.evento.Model.CompanyModel
13 | import com.harvin.evento.Model.PackageItemModel
14 | import com.harvin.evento.R
15 |
16 | class RecyclerCmpChatListAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() {
17 | override fun onCreateViewHolder(
18 | parent: ViewGroup,
19 | viewType: Int
20 | ): ViewHolder {
21 | val view = LayoutInflater.from(parent.context)
22 | .inflate(R.layout.chat_list_item, parent, false)
23 |
24 | return ViewHolder(view)
25 | }
26 |
27 | override fun onBindViewHolder(holder: ViewHolder, position: Int) {
28 | val PackageItem = mList[position]
29 | holder.titleTV.text=PackageItem.cname
30 | holder.itemView.setOnClickListener {
31 | val intent = Intent(it.context, MessagingActivity::class.java)
32 | intent.putExtra("cmpID", PackageItem.cmpID.toString())
33 | it.context.startActivity(intent)
34 | }
35 |
36 | }
37 |
38 | override fun getItemCount(): Int {
39 | return mList.size
40 | }
41 |
42 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
43 | val titleTV: TextView = itemView.findViewById(R.id.username1)
44 |
45 | }
46 |
47 |
48 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerUserChatListAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.content.Intent
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import android.widget.TextView
9 | import androidx.recyclerview.widget.RecyclerView
10 | import com.harvin.evento.Company.CmpEditPackageActivity
11 | import com.harvin.evento.MessagingActivity
12 | import com.harvin.evento.Model.CompanyModel
13 | import com.harvin.evento.Model.PackageItemModel
14 | import com.harvin.evento.Model.UserModel
15 | import com.harvin.evento.R
16 |
17 | class RecyclerUserChatListAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() {
18 | override fun onCreateViewHolder(
19 | parent: ViewGroup,
20 | viewType: Int
21 | ): ViewHolder {
22 | val view = LayoutInflater.from(parent.context)
23 | .inflate(R.layout.chat_list_item, parent, false)
24 |
25 | return ViewHolder(view)
26 | }
27 |
28 | override fun onBindViewHolder(holder: ViewHolder, position: Int) {
29 | val PackageItem = mList[position]
30 | holder.titleTV.text=PackageItem.cname
31 | holder.itemView.setOnClickListener {
32 | val intent = Intent(it.context, MessagingActivity::class.java)
33 | intent.putExtra("cmpID", PackageItem.userID.toString())
34 | it.context.startActivity(intent)
35 | }
36 |
37 | }
38 |
39 | override fun getItemCount(): Int {
40 | return mList.size
41 | }
42 |
43 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
44 | val titleTV: TextView = itemView.findViewById(R.id.username1)
45 |
46 | }
47 |
48 |
49 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Users/UserHomeActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Users
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import android.view.MenuItem
6 | import androidx.fragment.app.Fragment
7 | import com.google.android.material.navigation.NavigationBarView
8 | import com.harvin.evento.R
9 | import com.harvin.evento.UserFragment.UserAccountFragment
10 | import com.harvin.evento.UserFragment.UserBookFragment
11 | import com.harvin.evento.UserFragment.UserChatFragment
12 | import com.harvin.evento.UserFragment.UserHomeFragment
13 | import com.harvin.evento.databinding.ActivityUserHomeBinding
14 |
15 | class UserHomeActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListener {
16 | private lateinit var binding: ActivityUserHomeBinding
17 | override fun onCreate(savedInstanceState: Bundle?) {
18 | super.onCreate(savedInstanceState)
19 | binding=ActivityUserHomeBinding.inflate(layoutInflater)
20 | setContentView(binding.root)
21 | loadFragment(UserHomeFragment())
22 |
23 | binding.bottomNavigationUsr.setOnItemSelectedListener(this)
24 | }
25 |
26 | private fun loadFragment(fragment: Fragment){
27 | val transaction = supportFragmentManager.beginTransaction()
28 | transaction.replace(R.id.usr_fragment_container,fragment)
29 | transaction.commit()
30 | }
31 |
32 | override fun onNavigationItemSelected(item: MenuItem): Boolean {
33 | when (item.itemId) {
34 | R.id.nav_home -> loadFragment(UserHomeFragment())
35 | R.id.nav_chats -> loadFragment(UserChatFragment())
36 | R.id.nav_book -> loadFragment(UserBookFragment())
37 | R.id.nav_account -> loadFragment(UserAccountFragment())
38 | }
39 | return true
40 | }
41 |
42 |
43 |
44 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
18 |
21 |
22 |
23 |
24 |
30 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Guest/GuestHomeActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Guest
2 |
3 | import androidx.appcompat.app.AppCompatActivity
4 | import android.os.Bundle
5 | import android.view.MenuItem
6 | import androidx.fragment.app.Fragment
7 | import com.google.android.material.navigation.NavigationBarView
8 | import com.harvin.evento.GuestFragment.GuestAccountFragment
9 | import com.harvin.evento.GuestFragment.GuestBookFragment
10 | import com.harvin.evento.GuestFragment.GuestChatFragment
11 | import com.harvin.evento.GuestFragment.GuestHomeFragment
12 | import com.harvin.evento.R
13 | import com.harvin.evento.databinding.ActivityGuestHomeBinding
14 |
15 | class GuestHomeActivity : AppCompatActivity(), NavigationBarView.OnItemSelectedListener {
16 | private lateinit var binding: ActivityGuestHomeBinding
17 | override fun onCreate(savedInstanceState: Bundle?) {
18 | super.onCreate(savedInstanceState)
19 | binding=ActivityGuestHomeBinding.inflate(layoutInflater)
20 | setContentView(binding.root)
21 | loadFragment(GuestHomeFragment())
22 |
23 | binding.bottomNavigationGuest.setOnItemSelectedListener(this)
24 | }
25 |
26 | private fun loadFragment(fragment: Fragment){
27 | val transaction = supportFragmentManager.beginTransaction()
28 | transaction.replace(R.id.guest_fragment_container,fragment)
29 | transaction.commit()
30 | }
31 |
32 |
33 | override fun onNavigationItemSelected(item: MenuItem): Boolean {
34 | when (item.itemId) {
35 | R.id.nav_home -> loadFragment(GuestHomeFragment())
36 | R.id.nav_chats -> loadFragment(GuestChatFragment())
37 | R.id.nav_book -> loadFragment(GuestBookFragment())
38 | R.id.nav_account -> loadFragment(GuestAccountFragment())
39 | }
40 | return true
41 | }
42 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Company/CmpHomeActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Company
2 |
3 | import android.os.Bundle
4 | import android.view.MenuItem
5 | import androidx.appcompat.app.AppCompatActivity
6 | import androidx.fragment.app.Fragment
7 | import com.google.android.material.bottomnavigation.BottomNavigationView
8 | import com.harvin.evento.CmpFragment.AccountCmpFragment
9 | import com.harvin.evento.CmpFragment.BookCmpFragment
10 | import com.harvin.evento.CmpFragment.ChatCmpFragment
11 | import com.harvin.evento.CmpFragment.HomeCmpFragment
12 | import com.harvin.evento.R
13 | import com.harvin.evento.databinding.ActivityCmpHomeBinding
14 |
15 |
16 | class CmpHomeActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemSelectedListener {
17 |
18 | private lateinit var binding: ActivityCmpHomeBinding
19 |
20 | override fun onCreate(savedInstanceState: Bundle?) {
21 | super.onCreate(savedInstanceState)
22 | binding=ActivityCmpHomeBinding.inflate(layoutInflater)
23 | setContentView(binding.root)
24 | loadFragment(HomeCmpFragment())
25 |
26 | binding.bottomNavigation.setOnNavigationItemSelectedListener(this)
27 |
28 | }
29 |
30 | private fun loadFragment(fragment: Fragment){
31 | val transaction = supportFragmentManager.beginTransaction()
32 | transaction.replace(R.id.cmp_fragment_container,fragment)
33 | transaction.commit()
34 | }
35 |
36 | override fun onNavigationItemSelected(item: MenuItem): Boolean {
37 | when (item.itemId) {
38 | R.id.nav_home -> loadFragment(HomeCmpFragment())
39 | R.id.nav_chats -> loadFragment(ChatCmpFragment())
40 | R.id.nav_book -> loadFragment(BookCmpFragment())
41 | R.id.nav_setting -> loadFragment(AccountCmpFragment())
42 | }
43 | return true
44 | }
45 | }
46 |
47 |
48 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_building.xml:
--------------------------------------------------------------------------------
1 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.application'
3 | id 'org.jetbrains.kotlin.android'
4 | id 'com.google.gms.google-services'
5 | id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
6 | }
7 |
8 | android {
9 | compileSdk 32
10 |
11 | defaultConfig {
12 | applicationId "com.harvin.evento"
13 | minSdk 21
14 | targetSdk 32
15 | versionCode 1
16 | versionName "1.0"
17 |
18 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
19 | }
20 | buildFeatures {
21 | viewBinding true
22 | }
23 | buildTypes {
24 | release {
25 | minifyEnabled false
26 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
27 | }
28 | }
29 | compileOptions {
30 | sourceCompatibility JavaVersion.VERSION_1_8
31 | targetCompatibility JavaVersion.VERSION_1_8
32 | }
33 | kotlinOptions {
34 | jvmTarget = '1.8'
35 | }
36 | namespace 'com.harvin.evento'
37 | }
38 |
39 | dependencies {
40 |
41 | implementation 'androidx.core:core-ktx:1.7.0'
42 | implementation 'androidx.appcompat:appcompat:1.4.1'
43 | implementation 'com.google.android.material:material:1.6.0'
44 | implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
45 | implementation 'com.google.firebase:firebase-auth-ktx:21.0.4'
46 | implementation 'com.google.android.gms:play-services-location:19.0.1'
47 | implementation 'com.google.android.gms:play-services-maps:18.0.2'
48 | implementation 'androidx.cardview:cardview:1.0.0'
49 | implementation 'com.google.firebase:firebase-auth:21.0.5'
50 | implementation 'com.google.firebase:firebase-database-ktx:20.0.5'
51 | testImplementation 'junit:junit:4.13.2'
52 | implementation "com.airbnb.android:lottie:5.0.3"
53 | androidTestImplementation 'androidx.test.ext:junit:1.1.3'
54 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
55 | implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.24'
56 | implementation 'com.google.android.libraries.places:places:2.6.0'
57 | implementation 'de.hdodenhof:circleimageview:3.1.0'
58 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_guest_book.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
20 |
21 |
29 |
30 |
41 |
42 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Users/UserBookConfirmActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Users
2 |
3 | import android.content.Intent
4 | import androidx.appcompat.app.AppCompatActivity
5 | import android.os.Bundle
6 | import android.widget.Toast
7 | import com.google.firebase.auth.FirebaseAuth
8 | import com.google.firebase.database.DatabaseReference
9 | import com.google.firebase.database.FirebaseDatabase
10 | import com.harvin.evento.Model.BookingModel
11 | import com.harvin.evento.R
12 | import com.harvin.evento.databinding.ActivityUserBookConfirmBinding
13 |
14 | class UserBookConfirmActivity : AppCompatActivity() {
15 | private lateinit var binding:ActivityUserBookConfirmBinding
16 | var databaseBook: DatabaseReference? = null
17 | var userID:String?=null
18 | val bookID:String?=null
19 | override fun onCreate(savedInstanceState: Bundle?) {
20 | super.onCreate(savedInstanceState)
21 | binding=ActivityUserBookConfirmBinding.inflate(layoutInflater)
22 | setContentView(binding.root)
23 |
24 | binding.pkgNameConfirmTV.text=intent.getStringExtra("pkgName")
25 | binding.pkgPriceConfirmTV.text="\u20B9"+intent.getStringExtra("pkgPrice")
26 | binding.pkgDescConfirmTV.text=intent.getStringExtra("pkgDesc")
27 | binding.nPplConfirmTV.text=intent.getStringExtra("pkgPpl")
28 | var title=intent.getStringExtra("pkgName")+" - "+intent.getStringExtra("pkgPpl")+" ppl"
29 |
30 | databaseBook= FirebaseDatabase.getInstance().getReference("book")
31 |
32 | binding.usrConfirmBook.setOnClickListener {
33 | userID= FirebaseAuth.getInstance().currentUser!!.uid
34 | val bookID= databaseBook!!.push().key.toString()
35 | val bookingModel= BookingModel(bookID,intent.getStringExtra("packID"),intent.getStringExtra("cmpID"),userID,title,intent.getStringExtra("pkgPrice"),intent.getStringExtra("pkgDesc"),"wait")
36 | databaseBook!!.child(bookID).setValue(bookingModel)
37 | Toast.makeText(applicationContext,"Request Sent! Waiting for Approval.", Toast.LENGTH_LONG).show()
38 | val i=Intent(applicationContext,UserHomeActivity::class.java)
39 | i.flags=Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
40 | startActivity(i)
41 | }
42 |
43 | }
44 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_filter.xml:
--------------------------------------------------------------------------------
1 |
3 |
5 |
7 |
9 |
11 |
13 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerCmpHomeAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.content.Intent
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import android.widget.TextView
9 | import androidx.recyclerview.widget.RecyclerView
10 | import com.harvin.evento.Company.CmpEditPackageActivity
11 | import com.harvin.evento.Model.PackageItemModel
12 | import com.harvin.evento.R
13 |
14 | class RecyclerCmpHomeAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() {
15 | override fun onCreateViewHolder(
16 | parent: ViewGroup,
17 | viewType: Int
18 | ): RecyclerCmpHomeAdapter.ViewHolder {
19 | val view = LayoutInflater.from(parent.context)
20 | .inflate(R.layout.package_item_layout, parent, false)
21 |
22 | return ViewHolder(view)
23 | }
24 |
25 | override fun onBindViewHolder(holder: RecyclerCmpHomeAdapter.ViewHolder, position: Int) {
26 | val PackageItem = mList[position]
27 | holder.titleTV.text = PackageItem.title+" - "+PackageItem.pcount+" ppl"
28 | holder.priceItemTV.text = "\u20B9"+PackageItem.price
29 | holder.descItemTV.text = PackageItem.desc
30 | holder.editItemButton.setOnClickListener {
31 | val i=Intent(mContext,CmpEditPackageActivity::class.java)
32 | i.putExtra("title",PackageItem.title)
33 | i.putExtra("desc",PackageItem.desc)
34 | i.putExtra("price",PackageItem.price)
35 | i.putExtra("pcount",PackageItem.pcount)
36 | i.putExtra("cmpID",PackageItem.cmpID)
37 | i.putExtra("packID",PackageItem.packID)
38 | mContext.startActivity(i)
39 | }
40 |
41 |
42 | }
43 |
44 | override fun getItemCount(): Int {
45 | return mList.size
46 | }
47 |
48 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
49 | val titleTV: TextView = itemView.findViewById(R.id.titleTV)
50 | val priceItemTV: TextView = itemView.findViewById(R.id.priceItemTV)
51 | val descItemTV: TextView = itemView.findViewById(R.id.descItemTV)
52 | val editItemButton: TextView = itemView.findViewById(R.id.editItemButton)
53 |
54 | }
55 |
56 |
57 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_guest_chat.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
22 |
23 |
31 |
32 |
43 |
44 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Company/CmpAddPackageActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Company
2 |
3 | import android.content.Intent
4 | import androidx.appcompat.app.AppCompatActivity
5 | import android.os.Bundle
6 | import com.google.firebase.auth.ktx.auth
7 | import com.google.firebase.database.DatabaseReference
8 | import com.google.firebase.database.FirebaseDatabase
9 | import com.google.firebase.ktx.Firebase
10 | import com.harvin.evento.Model.PackageItemModel
11 | import com.harvin.evento.databinding.ActivityCmpAddPackageBinding
12 |
13 | class CmpAddPackageActivity : AppCompatActivity() {
14 | private lateinit var binding: ActivityCmpAddPackageBinding
15 |
16 | var databaseCmpPack: DatabaseReference? = null
17 | override fun onCreate(savedInstanceState: Bundle?) {
18 | super.onCreate(savedInstanceState)
19 | binding= ActivityCmpAddPackageBinding.inflate(layoutInflater)
20 | setContentView(binding.root)
21 |
22 | databaseCmpPack = FirebaseDatabase.getInstance().getReference("package")
23 |
24 | binding.cmpAddPackage.setOnClickListener {
25 | if (checkEditText()){
26 | val packID= databaseCmpPack!!.push().key.toString()
27 | val userID= Firebase.auth.currentUser?.uid.toString()
28 | val packageItemModel=PackageItemModel(userID,packID,binding.cmpPackName.text.toString(),binding.cmpPackDes.text.toString(),binding.cmpPrice.text.toString(),binding.cmpPCount.text.toString())
29 | databaseCmpPack!!.child(packID).setValue(packageItemModel)
30 | val i = Intent(applicationContext, CmpHomeActivity::class.java)
31 | startActivity(i)
32 | }
33 | }
34 |
35 |
36 | }
37 |
38 | fun checkEditText():Boolean{
39 | var status=true
40 | if(binding.cmpPackName.text.toString().isEmpty()){
41 | binding.cmpNameLayout.error= "Check Fields & Try Again"
42 | status=false
43 | }
44 | if(binding.cmpPCount.text.toString().isEmpty()){
45 | binding.cmpDoeLayout.error= "Check Fields & Try Again"
46 | status=false
47 | }
48 | if(binding.cmpPrice.text.toString().isEmpty()){
49 | binding.cmpCinLayout.error= "Check Fields & Try Again"
50 | status=false
51 | }
52 | if(binding.cmpPackDes.text.toString().isEmpty()){
53 | binding.cmpDesLayout.error= "Check Fields & Try Again"
54 | status=false
55 | }
56 | return status
57 | }
58 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerUserHomeAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.content.Intent
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import android.widget.LinearLayout
9 | import android.widget.TextView
10 | import androidx.recyclerview.widget.RecyclerView
11 | import com.harvin.evento.Company.CmpEditPackageActivity
12 | import com.harvin.evento.Model.CompanyModel
13 | import com.harvin.evento.Model.PackageItemModel
14 | import com.harvin.evento.R
15 | import com.harvin.evento.Users.UserCmpDetailsActivity
16 |
17 | class RecyclerUserHomeAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() {
18 | override fun onCreateViewHolder(
19 | parent: ViewGroup,
20 | viewType: Int
21 | ): RecyclerUserHomeAdapter.ViewHolder {
22 | val view = LayoutInflater.from(parent.context)
23 | .inflate(R.layout.usr_home_item, parent, false)
24 | return ViewHolder(view)
25 | }
26 |
27 | override fun getItemCount(): Int {
28 | return mList.size
29 | }
30 | override fun onBindViewHolder(holder: ViewHolder, position: Int) {
31 | val PackageItem = mList[position]
32 | holder.titleTV.text = PackageItem.cname
33 | holder.emailTV.text = PackageItem.email
34 | holder.locTV.text = PackageItem.location
35 | holder.itemLayout.setOnClickListener {
36 | val i=Intent(mContext,UserCmpDetailsActivity::class.java)
37 | i.putExtra("cname",PackageItem.cname)
38 | i.putExtra("cmpID",PackageItem.cmpID)
39 | i.putExtra("phone",PackageItem.phone)
40 | i.putExtra("email",PackageItem.email)
41 | i.putExtra("yoe",PackageItem.yoe)
42 | i.putExtra("cin",PackageItem.cin)
43 | i.putExtra("desc",PackageItem.desc)
44 | i.putExtra("service",PackageItem.service)
45 | i.putExtra("location",PackageItem.location)
46 | mContext.startActivity(i)
47 | }
48 | }
49 |
50 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
51 | val titleTV: TextView = itemView.findViewById(R.id.titleTV)
52 | val emailTV: TextView = itemView.findViewById(R.id.emailTV)
53 | val locTV: TextView = itemView.findViewById(R.id.locTV)
54 | val itemLayout:LinearLayout=itemView.findViewById(R.id.itemLayout)
55 |
56 | }
57 |
58 |
59 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerMessageAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.view.LayoutInflater
5 | import android.view.View
6 | import android.view.ViewGroup
7 | import android.widget.ImageView
8 | import android.widget.TextView
9 | import androidx.recyclerview.widget.RecyclerView
10 | import com.google.firebase.auth.FirebaseAuth
11 | import com.google.firebase.auth.FirebaseUser
12 | import com.harvin.evento.Model.ChatModel
13 | import com.harvin.evento.R
14 |
15 | class RecyclerMessageAdapter (var mContext: Context, private val chatList: List) : RecyclerView.Adapter() {
16 | val MSG_TYPE_LEFT = 0
17 | val MSG_TYPE_RIGHT = 1
18 |
19 | override fun onCreateViewHolder(
20 | parent: ViewGroup,
21 | viewType: Int
22 | ): ViewHolder {
23 | if(viewType==MSG_TYPE_RIGHT){
24 | val view = LayoutInflater.from(mContext).inflate(R.layout.chat_item_right, parent, false)
25 | return ViewHolder(view)
26 | }
27 | else{
28 | val view = LayoutInflater.from(parent.context).inflate(R.layout.chat_item_left, parent, false)
29 | return ViewHolder(view)
30 | }
31 | }
32 |
33 | override fun getItemCount(): Int {
34 | return chatList.size
35 | }
36 | override fun onBindViewHolder(holder: ViewHolder, position: Int) {
37 | val chatItem = chatList[position]
38 | holder.show_message.text=chatItem.msg.toString()
39 | holder.profile_image.setImageResource(R.mipmap.ic_launcher)
40 | if (position == chatList.size - 1) {
41 | if (chatItem.isseen == true) {
42 | holder.txt_seen.text = "Seen"
43 | } else {
44 | holder.txt_seen.text = "Delivered"
45 | }
46 | } else {
47 | holder.txt_seen.visibility = View.GONE
48 | }
49 | }
50 |
51 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
52 | val txt_seen: TextView = itemView.findViewById(R.id.txt_seen)
53 | val show_message: TextView = itemView.findViewById(R.id.show_message)
54 | val profile_image: ImageView = itemView.findViewById(R.id.profile_image)
55 |
56 | }
57 |
58 | override fun getItemViewType(position: Int): Int {
59 | if(chatList[position].sender!!.equals(FirebaseAuth.getInstance().currentUser!!.uid)) {
60 | return MSG_TYPE_RIGHT
61 | } else {
62 | return MSG_TYPE_LEFT
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/CmpFragment/BookCmpFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.CmpFragment
2 |
3 | import android.os.Bundle
4 | import androidx.fragment.app.Fragment
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import androidx.recyclerview.widget.LinearLayoutManager
9 | import com.google.firebase.auth.ktx.auth
10 | import com.google.firebase.database.*
11 | import com.google.firebase.database.ktx.getValue
12 | import com.google.firebase.ktx.Firebase
13 | import com.harvin.evento.Adapters.RecyclerCmpBookAdapter
14 | import com.harvin.evento.Adapters.RecyclerUsrBookAdapter
15 | import com.harvin.evento.Model.BookingModel
16 | import com.harvin.evento.R
17 | import com.harvin.evento.databinding.FragmentCmpBookBinding
18 | import com.harvin.evento.databinding.FragmentUserBookBinding
19 | import java.lang.NullPointerException
20 |
21 | class BookCmpFragment : Fragment() {
22 | private lateinit var binding: FragmentCmpBookBinding
23 | private var databaseBook: DatabaseReference? = null
24 | var userID:String?=null
25 | var bookArrayList: ArrayList? = null
26 | var bookAdapter: RecyclerCmpBookAdapter?=null
27 | override fun onCreateView(
28 | inflater: LayoutInflater, container: ViewGroup?,
29 | savedInstanceState: Bundle?
30 | ): View {
31 | binding=FragmentCmpBookBinding.inflate(inflater,container,false)
32 |
33 | binding.cmpBookRecycler.setHasFixedSize(true)
34 | binding.cmpBookRecycler.layoutManager= LinearLayoutManager(context)
35 | bookArrayList= arrayListOf()
36 | userID= Firebase.auth.currentUser?.uid.toString()
37 |
38 | databaseBook = FirebaseDatabase.getInstance().getReference("book")
39 | val query = databaseBook!!.orderByChild("cmpID").equalTo(userID)
40 |
41 | val pkgValueEventListener = object : ValueEventListener {
42 | override fun onDataChange(dataSnapshot: DataSnapshot) {
43 | try{
44 | if (dataSnapshot.exists()) {
45 | bookArrayList!!.clear()
46 | for (snapshot in dataSnapshot.children) {
47 | var bookItemModel = snapshot.getValue()
48 | bookArrayList!!.add(bookItemModel!!)
49 | }
50 | bookAdapter = RecyclerCmpBookAdapter(context!!, bookArrayList!!)
51 | binding.cmpBookRecycler.adapter = bookAdapter
52 | }
53 | }catch (e:NullPointerException){}
54 | }
55 |
56 | override fun onCancelled(databaseError: DatabaseError) {
57 |
58 | }
59 | }
60 | query.addValueEventListener(pkgValueEventListener)
61 |
62 |
63 |
64 | return binding.root
65 | }
66 |
67 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerUsrCmpPkgAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.content.Intent
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import android.widget.TextView
9 | import android.widget.Toast
10 | import androidx.recyclerview.widget.RecyclerView
11 | import com.google.firebase.auth.FirebaseAuth
12 | import com.google.firebase.database.DatabaseReference
13 | import com.google.firebase.database.FirebaseDatabase
14 | import com.harvin.evento.Model.BookingModel
15 | import com.harvin.evento.Model.PackageItemModel
16 | import com.harvin.evento.R
17 | import com.harvin.evento.Users.UserBookConfirmActivity
18 | import com.harvin.evento.Users.UserCmpDetailsActivity
19 |
20 | class RecyclerUsrCmpPkgAdapter (var mContext: Context,private val mList: List) : RecyclerView.Adapter() {
21 | override fun onCreateViewHolder(
22 | parent: ViewGroup,
23 | viewType: Int
24 | ): RecyclerUsrCmpPkgAdapter.ViewHolder {
25 | val view = LayoutInflater.from(parent.context)
26 | .inflate(R.layout.package_usr_item, parent, false)
27 | return ViewHolder(view)
28 | }
29 |
30 | override fun getItemCount(): Int {
31 | return mList.size
32 | }
33 |
34 | override fun onBindViewHolder(holder: ViewHolder, position: Int) {
35 | val PackageItem = mList[position]
36 | holder.titleTV.text = PackageItem.title+" - "+PackageItem.pcount+" ppl"
37 | holder.priceItemTV.text = "\u20B9"+PackageItem.price
38 | holder.descItemTV.text = PackageItem.desc
39 | if(FirebaseAuth.getInstance().currentUser != null){
40 | holder.editItemButton.visibility= View.VISIBLE
41 | }
42 | else{
43 |
44 | holder.editItemButton.visibility= View.GONE
45 | }
46 | holder.editItemButton.setOnClickListener {
47 | val i= Intent(it.context, UserBookConfirmActivity::class.java)
48 | i.putExtra("packID",PackageItem.packID)
49 | i.putExtra("cmpID",PackageItem.cmpID)
50 | i.putExtra("pkgName",PackageItem.title)
51 | i.putExtra("pkgPrice",PackageItem.price)
52 | i.putExtra("pkgPpl",PackageItem.pcount)
53 | i.putExtra("pkgDesc",PackageItem.desc)
54 | it.context.startActivity(i)
55 | }
56 | }
57 |
58 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
59 | val titleTV: TextView = itemView.findViewById(R.id.titleTV)
60 | val priceItemTV: TextView = itemView.findViewById(R.id.priceItemTV)
61 | val descItemTV: TextView = itemView.findViewById(R.id.descItemTV)
62 | val editItemButton: TextView = itemView.findViewById(R.id.editItemButton)
63 | }
64 |
65 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/UserFragment/UserBookFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.UserFragment
2 |
3 | import android.os.Bundle
4 | import androidx.fragment.app.Fragment
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import androidx.recyclerview.widget.LinearLayoutManager
9 | import com.google.firebase.auth.ktx.auth
10 | import com.google.firebase.database.*
11 | import com.google.firebase.database.ktx.getValue
12 | import com.google.firebase.ktx.Firebase
13 | import com.harvin.evento.Adapters.RecyclerCmpHomeAdapter
14 | import com.harvin.evento.Adapters.RecyclerUsrBookAdapter
15 | import com.harvin.evento.Model.BookingModel
16 | import com.harvin.evento.Model.PackageItemModel
17 | import com.harvin.evento.R
18 | import com.harvin.evento.databinding.FragmentUserBookBinding
19 | import java.lang.NullPointerException
20 |
21 | class UserBookFragment : Fragment() {
22 | private lateinit var binding:FragmentUserBookBinding
23 | private var databaseBook: DatabaseReference? = null
24 | var userID:String?=null
25 | var bookArrayList: ArrayList? = null
26 | var bookAdapter: RecyclerUsrBookAdapter?=null
27 | override fun onCreateView(
28 | inflater: LayoutInflater, container: ViewGroup?,
29 | savedInstanceState: Bundle?
30 | ): View? {
31 | binding=FragmentUserBookBinding.inflate(inflater,container,false)
32 |
33 | binding.usrBookRecycler.setHasFixedSize(true)
34 | binding.usrBookRecycler.layoutManager= LinearLayoutManager(context)
35 | bookArrayList= arrayListOf()
36 | userID= Firebase.auth.currentUser?.uid.toString()
37 |
38 | databaseBook = FirebaseDatabase.getInstance().getReference("book")
39 | val query = databaseBook!!.orderByChild("userID").equalTo(userID)
40 |
41 | val pkgValueEventListener = object : ValueEventListener {
42 | override fun onDataChange(dataSnapshot: DataSnapshot) {
43 | try {
44 | if (dataSnapshot.exists()) {
45 | bookArrayList!!.clear()
46 | for (snapshot in dataSnapshot.children) {
47 | var bookItemModel = snapshot.getValue()
48 | bookArrayList!!.add(bookItemModel!!)
49 |
50 | }
51 | bookAdapter = RecyclerUsrBookAdapter(context!!, bookArrayList!!)
52 | binding.usrBookRecycler.adapter = bookAdapter
53 |
54 | }
55 | }catch (e: NullPointerException){
56 |
57 | }
58 |
59 | }
60 |
61 | override fun onCancelled(databaseError: DatabaseError) {
62 |
63 | }
64 | }
65 | query.addValueEventListener(pkgValueEventListener)
66 |
67 | return binding.root
68 | }
69 |
70 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Company/CmpRegDetailsActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Company
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.appcompat.app.AppCompatActivity
6 | import com.harvin.evento.databinding.ActivityCmpRegDetailsBinding
7 |
8 | class CmpRegDetailsActivity : AppCompatActivity() {
9 |
10 | private lateinit var binding: ActivityCmpRegDetailsBinding
11 |
12 | override fun onCreate(savedInstanceState: Bundle?) {
13 | super.onCreate(savedInstanceState)
14 | binding=ActivityCmpRegDetailsBinding.inflate(layoutInflater)
15 | setContentView(binding.root)
16 |
17 | binding.cmpDetailsReg.setOnClickListener {
18 | val sb = StringBuilder()
19 | if(binding.flo.isChecked){
20 | sb.append("f")
21 | }
22 | if (binding.cate.isChecked){
23 | sb.append("c")
24 | }
25 | if (binding.dec.isChecked){
26 | sb.append("d")
27 | }
28 | if(binding.all.isChecked){
29 | binding.flo.isChecked=true
30 | binding.cate.isChecked=true
31 | binding.dec.isChecked=true
32 | sb.append("a")
33 | }
34 |
35 | val services=sb.toString()
36 |
37 | if(checkEditText()){
38 | val i = Intent(applicationContext, LocationRegSelectActivity::class.java)
39 | i.putExtra("phone", intent.getStringExtra("phone").toString())
40 | i.putExtra("cname", binding.cmpRegName.text.toString())
41 | i.putExtra("email", binding.cmpRegMail.text.toString())
42 | i.putExtra("yoe", binding.cmpRegDoe.text.toString())
43 | i.putExtra("cin", binding.cmpRegCin.text.toString())
44 | i.putExtra("desc", binding.cmpRegDes.text.toString())
45 | i.putExtra("service", services)
46 | startActivity(i)
47 | }
48 |
49 | }
50 | }
51 |
52 | fun checkEditText():Boolean{
53 | var status=true
54 | if(binding.cmpRegName.text.toString().isEmpty()){
55 | binding.cmpNameLayout.error= "Check Fields & Try Again"
56 | status=false
57 | }
58 | if(binding.cmpRegMail.text.toString().isEmpty()){
59 | binding.cmpMailLayout.error= "Check Fields & Try Again"
60 | status=false
61 | }
62 | if(binding.cmpRegDoe.text.toString().isEmpty()){
63 | binding.cmpDoeLayout.error= "Check Fields & Try Again"
64 | status=false
65 | }
66 | if(binding.cmpRegCin.text.toString().isEmpty()){
67 | binding.cmpCinLayout.error= "Check Fields & Try Again"
68 | status=false
69 | }
70 | if(binding.cmpRegDes.text.toString().isEmpty()){
71 | binding.cmpDesLayout.error= "Check Fields & Try Again"
72 | status=false
73 | }
74 | return status
75 | }
76 |
77 | }
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/chat_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
18 |
19 |
33 |
34 |
63 |
64 |
65 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_delete.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 |
24 |
25 |
32 |
33 |
43 |
44 |
57 |
58 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/usr_home_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
19 |
20 |
21 |
25 |
34 |
35 |
39 |
40 |
51 |
52 |
62 |
63 |
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_chat_cmp.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
20 |
29 |
30 |
41 |
42 |
47 |
51 |
57 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/package_usr_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
20 |
21 |
32 |
33 |
34 |
35 |
48 |
49 |
60 |
66 |
67 |
76 |
77 |
78 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Users/UserRegistrationActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Users
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import android.view.View
6 | import android.widget.Toast
7 | import androidx.appcompat.app.AppCompatActivity
8 | import com.google.firebase.auth.FirebaseAuth
9 | import com.google.firebase.database.DatabaseReference
10 | import com.google.firebase.database.FirebaseDatabase
11 | import com.harvin.evento.Company.CmpRegistrationActivity
12 | import com.harvin.evento.MainActivity
13 | import com.harvin.evento.Model.UserModel
14 | import com.harvin.evento.databinding.ActivityUserRegistrationBinding
15 |
16 | class UserRegistrationActivity : AppCompatActivity() {
17 | private lateinit var binding: ActivityUserRegistrationBinding
18 | private val mAuth: FirebaseAuth=FirebaseAuth.getInstance()
19 | var databaseUsr: DatabaseReference=FirebaseDatabase.getInstance().getReference("users")
20 | var userID: String? = null
21 | override fun onCreate(savedInstanceState: Bundle?) {
22 | super.onCreate(savedInstanceState)
23 | binding= ActivityUserRegistrationBinding.inflate(layoutInflater)
24 | setContentView(binding.root)
25 |
26 | binding.usrSignup.setOnClickListener {
27 | var name=binding.usrSignName.text.toString()
28 | var email=binding.usrSignMail.text.toString()
29 | var pass=binding.usrSignPass.text.toString()
30 | if(checkEditText()){
31 | binding.rProgLayout.visibility=View.VISIBLE
32 | mAuth.createUserWithEmailAndPassword(email, pass)
33 | .addOnCompleteListener(this) { task ->
34 | if (task.isSuccessful) {
35 | binding.rProgLayout.visibility=View.GONE
36 | userID = mAuth.currentUser!!.uid
37 | val userModel=UserModel(userID,name,email)
38 | databaseUsr.child(userID!!).setValue(userModel)
39 | val i=Intent(this@UserRegistrationActivity,UserHomeActivity::class.java)
40 | i.flags=Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
41 | startActivity(i)
42 | } else {
43 | binding.rProgLayout.visibility=View.GONE
44 | Toast.makeText(this@UserRegistrationActivity, "Error !" + task.exception!!.message, Toast.LENGTH_SHORT).show()
45 | }
46 | }
47 | }
48 | }
49 | }
50 |
51 | fun onCmpSignUp(view: View) {
52 | startActivity(Intent(this@UserRegistrationActivity, CmpRegistrationActivity::class.java))
53 | }
54 | fun onUsrLoginRegClick(view: View) {
55 | startActivity(Intent(this@UserRegistrationActivity, MainActivity::class.java))
56 | }
57 |
58 | fun checkEditText():Boolean{
59 | var status=true
60 | if(binding.usrSignName.text.toString().isEmpty()){
61 | binding.nameLayout.error= "Check Fields & Try Again"
62 | status=false
63 | }
64 | if(binding.usrSignMail.text.toString().isEmpty()){
65 | binding.usrMailLayout.error= "Check Fields & Try Again"
66 | status=false
67 | }
68 | if(binding.usrSignPass.text.toString().isEmpty()){
69 | binding.usrPassLayout.error= "Check Fields & Try Again"
70 | status=false
71 | }
72 | return status
73 | }
74 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/UserFragment/UserChatFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.UserFragment
2 |
3 | import android.os.Bundle
4 | import android.util.Log
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import androidx.fragment.app.Fragment
9 | import androidx.recyclerview.widget.LinearLayoutManager
10 | import com.google.firebase.auth.FirebaseAuth
11 | import com.google.firebase.database.*
12 | import com.google.firebase.database.ktx.getValue
13 | import com.harvin.evento.Adapters.RecyclerCmpChatListAdapter
14 | import com.harvin.evento.Model.ChatListModel
15 | import com.harvin.evento.Model.CompanyModel
16 | import com.harvin.evento.databinding.FragmentUserChatBinding
17 |
18 |
19 | class UserChatFragment : Fragment() {
20 | private var userAdapter: RecyclerCmpChatListAdapter? = null
21 | private var mUsers: ArrayList? = null
22 | private lateinit var binding:FragmentUserChatBinding
23 | var userId: String? = null
24 | var reference: DatabaseReference? = null
25 |
26 | private var userList: ArrayList? = null
27 | override fun onCreateView(
28 | inflater: LayoutInflater, container: ViewGroup?,
29 | savedInstanceState: Bundle?
30 | ): View? {
31 | // Inflate the layout for this fragment
32 | binding=FragmentUserChatBinding.inflate(inflater,container,false)
33 |
34 | binding.usrChatRecycler.setHasFixedSize(true)
35 | binding.usrChatRecycler.layoutManager = LinearLayoutManager(context)
36 |
37 | userId = FirebaseAuth.getInstance().currentUser!!.uid
38 | userList = arrayListOf()
39 |
40 |
41 | reference = FirebaseDatabase.getInstance().getReference("Chatlist").child(userId!!)
42 | reference!!.addValueEventListener(object : ValueEventListener {
43 | override fun onDataChange(snapshot: DataSnapshot) {
44 | userList!!.clear()
45 | for (snapshot1 in snapshot.children) {
46 | val chatlist = snapshot1.getValue()
47 | userList!!.add(chatlist!!)
48 | }
49 |
50 | Log.d("ErrorList---",userList.toString())
51 | chatList()
52 | }
53 |
54 | override fun onCancelled(error: DatabaseError) {}
55 | })
56 |
57 | return binding.root
58 | }
59 |
60 | private fun chatList() {
61 | mUsers = arrayListOf()
62 | reference = FirebaseDatabase.getInstance().getReference("company")
63 | reference!!.addValueEventListener(object : ValueEventListener {
64 | override fun onDataChange(snapshot: DataSnapshot) {
65 | try{
66 | mUsers!!.clear()
67 | for (snapshot1 in snapshot.children) {
68 | val cmpItemModel = snapshot1.getValue()
69 | for (chatList in userList!!) {
70 | if (cmpItemModel!!.cmpID.equals(chatList.id)) {
71 | mUsers!!.add(cmpItemModel)
72 | }
73 | }
74 | }
75 | Log.d("Error---",mUsers.toString())
76 | userAdapter = RecyclerCmpChatListAdapter(context!!, mUsers!!)
77 | binding.usrChatRecycler.setAdapter(userAdapter)
78 | }catch (e:NullPointerException){ }
79 |
80 | }
81 |
82 | override fun onCancelled(error: DatabaseError) {}
83 | })
84 | }
85 | }
--------------------------------------------------------------------------------
/app/src/main/res/values/font_certs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - @array/com_google_android_gms_fonts_certs_dev
5 | - @array/com_google_android_gms_fonts_certs_prod
6 |
7 |
8 | -
9 | MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs=
10 |
11 |
12 |
13 | -
14 | MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/package_item_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
16 |
21 |
22 |
33 |
34 |
35 |
36 |
49 |
50 |
61 |
67 |
68 |
78 |
79 |
80 |
85 |
86 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/CmpFragment/ChatCmpFragment.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.CmpFragment
2 |
3 | import android.os.Bundle
4 | import android.util.Log
5 | import androidx.fragment.app.Fragment
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import androidx.recyclerview.widget.LinearLayoutManager
10 | import com.google.firebase.auth.FirebaseAuth
11 | import com.google.firebase.database.*
12 | import com.google.firebase.database.ktx.getValue
13 | import com.harvin.evento.Adapters.RecyclerCmpChatListAdapter
14 | import com.harvin.evento.Adapters.RecyclerUserChatListAdapter
15 | import com.harvin.evento.Model.ChatListModel
16 | import com.harvin.evento.Model.CompanyModel
17 | import com.harvin.evento.Model.UserModel
18 | import com.harvin.evento.R
19 | import com.harvin.evento.databinding.FragmentChatCmpBinding
20 | import com.harvin.evento.databinding.FragmentUserChatBinding
21 |
22 |
23 | class ChatCmpFragment : Fragment() {
24 | private var userAdapter: RecyclerUserChatListAdapter? = null
25 | private var mUsers: ArrayList? = null
26 | private lateinit var binding: FragmentChatCmpBinding
27 | var userId: String? = null
28 | var reference: DatabaseReference? = null
29 |
30 | private var userList: ArrayList? = null
31 | override fun onCreateView(
32 | inflater: LayoutInflater, container: ViewGroup?,
33 | savedInstanceState: Bundle?
34 | ): View? {
35 |
36 | binding=FragmentChatCmpBinding.inflate(inflater,container,false)
37 |
38 | binding.cmpChatRecycler.setHasFixedSize(true)
39 | binding.cmpChatRecycler.layoutManager = LinearLayoutManager(context)
40 |
41 | userId = FirebaseAuth.getInstance().currentUser!!.uid
42 | userList = arrayListOf()
43 |
44 |
45 | reference = FirebaseDatabase.getInstance().getReference("Chatlist").child(userId!!)
46 | reference!!.addValueEventListener(object : ValueEventListener {
47 | override fun onDataChange(snapshot: DataSnapshot) {
48 | userList!!.clear()
49 | for (snapshot1 in snapshot.children) {
50 | val chatlist = snapshot1.getValue()
51 | userList!!.add(chatlist!!)
52 | }
53 |
54 | Log.d("ErrorList---",userList.toString())
55 | chatList()
56 | }
57 |
58 | override fun onCancelled(error: DatabaseError) {}
59 | })
60 |
61 | return binding.root
62 | }
63 |
64 | private fun chatList() {
65 | mUsers = arrayListOf()
66 | reference = FirebaseDatabase.getInstance().getReference("users")
67 | reference!!.addValueEventListener(object : ValueEventListener {
68 | override fun onDataChange(snapshot: DataSnapshot) {
69 | try{
70 | mUsers!!.clear()
71 | for (snapshot1 in snapshot.children) {
72 | val cmpItemModel = snapshot1.getValue()
73 | for (chatList in userList!!) {
74 | if (cmpItemModel!!.userID.equals(chatList.id)) {
75 | mUsers!!.add(cmpItemModel)
76 | }
77 | }
78 | }
79 | Log.d("Error---",mUsers.toString())
80 | userAdapter = RecyclerUserChatListAdapter(context!!, mUsers!!)
81 | binding.cmpChatRecycler.setAdapter(userAdapter)
82 | }catch (e:NullPointerException){ }
83 |
84 | }
85 |
86 | override fun onCancelled(error: DatabaseError) {}
87 | })
88 | }
89 |
90 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Company/CmpRegistrationActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Company
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import android.util.Log
6 | import android.view.View
7 | import android.widget.Toast
8 | import androidx.appcompat.app.AppCompatActivity
9 | import com.google.firebase.FirebaseException
10 | import com.google.firebase.auth.FirebaseAuth
11 | import com.google.firebase.auth.PhoneAuthCredential
12 | import com.google.firebase.auth.PhoneAuthOptions
13 | import com.google.firebase.auth.PhoneAuthProvider
14 | import com.google.firebase.auth.PhoneAuthProvider.ForceResendingToken
15 | import com.google.firebase.auth.PhoneAuthProvider.OnVerificationStateChangedCallbacks
16 | import com.harvin.evento.MainActivity
17 | import com.harvin.evento.databinding.ActivityCmpResgistrationBinding
18 | import java.util.concurrent.TimeUnit
19 |
20 | class CmpRegistrationActivity : AppCompatActivity() {
21 | private lateinit var binding:ActivityCmpResgistrationBinding
22 | private val firebaseAuth: FirebaseAuth = FirebaseAuth.getInstance()
23 | private var callbacks: OnVerificationStateChangedCallbacks? = null
24 | override fun onCreate(savedInstanceState: Bundle?) {
25 | super.onCreate(savedInstanceState)
26 | binding=ActivityCmpResgistrationBinding.inflate(layoutInflater)
27 | setContentView(binding.root)
28 |
29 | binding.cmpSignup.setOnClickListener {
30 |
31 | /*val intent = Intent(applicationContext, CmpVerifyRegActivity::class.java)
32 | startActivity(intent)*/
33 | binding.rProgLayout.visibility=View.VISIBLE
34 | if(binding.cmpSignPhone.text.toString().isEmpty() || binding.cmpSignPhone.text.toString().length<10){
35 | binding.phoneLayout.error= "Check Fields & Try Again"
36 | binding.rProgLayout.visibility=View.GONE
37 | }
38 | else{
39 | otpSend(binding.cmpSignPhone.text.toString().trim())
40 | }
41 | }
42 | }
43 |
44 |
45 |
46 | fun onCmpLoginClick(view: View) {
47 | startActivity(Intent(this@CmpRegistrationActivity, MainActivity::class.java))
48 | }
49 |
50 | private fun otpSend(phone:String) {
51 |
52 | callbacks = object : PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
53 | override fun onVerificationFailed(e: FirebaseException) {
54 | Toast.makeText(this@CmpRegistrationActivity, e.localizedMessage, Toast.LENGTH_SHORT).show()
55 | Log.d("Error", e.localizedMessage)
56 | binding.rProgLayout.visibility=View.GONE
57 | }
58 |
59 | override fun onCodeSent(
60 | verificationId: String,
61 | token: PhoneAuthProvider.ForceResendingToken
62 | ) {
63 | binding.rProgLayout.visibility=View.GONE
64 | val intent = Intent(applicationContext, CmpVerifyRegActivity::class.java)
65 | intent.putExtra("phone", phone)
66 | intent.putExtra("vId", verificationId)
67 | startActivity(intent)
68 | }
69 |
70 | override fun onVerificationCompleted(credential: PhoneAuthCredential) {
71 | }
72 | }
73 | val options = PhoneAuthOptions.newBuilder(firebaseAuth)
74 | .setPhoneNumber("+91$phone") // Phone number to verify
75 | .setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
76 | .setActivity(this) // Activity (for callback binding)
77 | .setCallbacks(callbacks as OnVerificationStateChangedCallbacks) // OnVerificationStateChangedCallbacks
78 | .build()
79 | PhoneAuthProvider.verifyPhoneNumber(options)
80 |
81 | }
82 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/SplashActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento
2 |
3 | import android.animation.ObjectAnimator
4 | import android.content.Intent
5 | import android.os.Build
6 | import androidx.appcompat.app.AppCompatActivity
7 | import android.os.Bundle
8 | import android.os.Handler
9 | import android.view.View
10 | import android.view.WindowManager
11 | import android.view.animation.AnticipateInterpolator
12 | import androidx.core.animation.doOnEnd
13 | import com.google.firebase.auth.FirebaseAuth
14 | import com.google.firebase.auth.ktx.auth
15 | import com.google.firebase.database.*
16 | import com.google.firebase.database.ktx.getValue
17 | import com.google.firebase.ktx.Firebase
18 | import com.harvin.evento.Company.CmpHomeActivity
19 | import com.harvin.evento.Model.CompanyModel
20 | import com.harvin.evento.Model.UserModel
21 | import com.harvin.evento.Users.UserHomeActivity
22 |
23 | class SplashActivity : AppCompatActivity() {
24 | private var databaseCmp: DatabaseReference? = null
25 | private var databaseUsr: DatabaseReference? = null
26 | var userID:String?=null
27 | override fun onCreate(savedInstanceState: Bundle?) {
28 | super.onCreate(savedInstanceState)
29 | setContentView(R.layout.activity_splash)
30 |
31 | userID= Firebase.auth.currentUser?.uid.toString()
32 | databaseCmp = FirebaseDatabase.getInstance().getReference("company").child(userID!!)
33 | databaseUsr = FirebaseDatabase.getInstance().getReference("users").child(userID!!)
34 |
35 | window.setFlags(
36 | WindowManager.LayoutParams.FLAG_FULLSCREEN,
37 | WindowManager.LayoutParams.FLAG_FULLSCREEN
38 | )
39 |
40 | Handler().postDelayed({
41 | if(FirebaseAuth.getInstance().currentUser != null){
42 | checkCmp(databaseCmp!!, userID!!)
43 | checkUsr(databaseUsr!!, userID!!)
44 | }
45 | else{
46 | val intent = Intent(this, MainActivity::class.java)
47 | intent.flags= Intent.FLAG_ACTIVITY_CLEAR_TASK and Intent.FLAG_ACTIVITY_NEW_TASK
48 | startActivity(intent)
49 | finish()
50 | }
51 |
52 | }, 1800)
53 | }
54 |
55 | private fun checkCmp(databaseCmp: DatabaseReference, userID:String){
56 | val i = Intent(this, CmpHomeActivity::class.java)
57 | val valueEventListener = object : ValueEventListener {
58 | override fun onDataChange(dataSnapshot: DataSnapshot) {
59 | if (dataSnapshot.getValue() != null) {
60 | val key = dataSnapshot.key
61 | if (key == userID) {
62 | startActivity(i)
63 | finish()
64 | }
65 | }
66 | }
67 |
68 | override fun onCancelled(databaseError: DatabaseError) {
69 |
70 | }
71 | }
72 | databaseCmp.addValueEventListener(valueEventListener)
73 |
74 | }
75 |
76 | private fun checkUsr(databaseUsr: DatabaseReference, userID:String){
77 | val i = Intent(this, UserHomeActivity::class.java)
78 | val valueEventListener = object : ValueEventListener {
79 | override fun onDataChange(dataSnapshot: DataSnapshot) {
80 | if (dataSnapshot.getValue() != null) {
81 | val key = dataSnapshot.key
82 | if (key == userID) {
83 | startActivity(i)
84 | finish()
85 | }
86 | }
87 | }
88 |
89 | override fun onCancelled(databaseError: DatabaseError) {
90 |
91 | }
92 | }
93 | databaseUsr.addValueEventListener(valueEventListener)
94 | }
95 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_user_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
16 |
25 |
26 |
29 |
44 |
45 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
63 |
67 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_guest_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
14 |
18 |
27 |
28 |
32 |
33 |
48 |
49 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
67 |
71 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_cmp_book.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
20 |
21 |
29 |
30 |
41 |
42 |
43 |
53 |
54 |
62 |
63 |
74 |
75 |
79 |
83 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Users/UserCmpDetailsActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Users
2 |
3 | import android.content.Intent
4 | import android.net.Uri
5 | import android.os.Bundle
6 | import android.view.View
7 | import androidx.appcompat.app.AppCompatActivity
8 | import androidx.recyclerview.widget.LinearLayoutManager
9 | import com.google.firebase.auth.FirebaseAuth
10 | import com.google.firebase.database.*
11 | import com.google.firebase.database.ktx.getValue
12 | import com.harvin.evento.Adapters.RecyclerUsrCmpPkgAdapter
13 | import com.harvin.evento.MessagingActivity
14 | import com.harvin.evento.Model.PackageItemModel
15 | import com.harvin.evento.databinding.ActivityUserCmpDetailsBinding
16 |
17 | class UserCmpDetailsActivity : AppCompatActivity() {
18 | private lateinit var binding:ActivityUserCmpDetailsBinding
19 | var cmpID:String?=null
20 | var phone:String?=null
21 | private var databasePkg: DatabaseReference? = null
22 | var packageArrayList: ArrayList? = null
23 | var homeAdapter: RecyclerUsrCmpPkgAdapter?=null
24 | override fun onCreate(savedInstanceState: Bundle?) {
25 | super.onCreate(savedInstanceState)
26 | binding=ActivityUserCmpDetailsBinding.inflate(layoutInflater)
27 | setContentView(binding.root)
28 |
29 | if(FirebaseAuth.getInstance().currentUser != null){
30 | binding.phoneChat.visibility= View.VISIBLE
31 | }
32 | else{
33 |
34 | binding.phoneChat.visibility= View.GONE
35 | }
36 |
37 | cmpID=intent.getStringExtra("cmpID")
38 | phone=intent.getStringExtra("phone")
39 | binding.cmpNameHomeTV.text=intent.getStringExtra("cname")
40 | binding.locHomeTV.text=intent.getStringExtra("location")
41 | binding.cmpMailHomeTV.text=intent.getStringExtra("email")
42 | binding.yoeHomeTV.text=intent.getStringExtra("yoe")
43 | var service=intent.getStringExtra("service")
44 |
45 | val sb = StringBuilder()
46 | if(service!!.contains("f")){
47 | sb.append("Florist\t")
48 | }
49 | if(service!!.contains("d")){
50 | sb.append("Decorator\t")
51 | }
52 | if(service!!.contains("c")){
53 | sb.append("Caterers\t")
54 | }
55 | if(service!!.contains("a")){
56 | sb.append("All.")
57 | }
58 | binding.serviceHomeTV.text=sb.toString()
59 |
60 | binding.descHomeTV.text=intent.getStringExtra("desc")
61 | binding.usrCall.setOnClickListener{
62 | val i = Intent(Intent.ACTION_VIEW, Uri.parse("tel:$phone"))
63 | startActivity(i)
64 | }
65 |
66 | binding.usrChat.setOnClickListener {
67 | val intent = Intent(this@UserCmpDetailsActivity, MessagingActivity::class.java)
68 | intent.putExtra("cmpID", cmpID)
69 | startActivity(intent)
70 | }
71 | binding.cmpHomeRecycler.setHasFixedSize(true)
72 | binding.cmpHomeRecycler.layoutManager= LinearLayoutManager(this)
73 | packageArrayList= arrayListOf()
74 | databasePkg = FirebaseDatabase.getInstance().getReference("package")
75 | val query = databasePkg!!.orderByChild("cmpID").equalTo(cmpID)
76 |
77 | val pkgValueEventListener = object : ValueEventListener {
78 | override fun onDataChange(dataSnapshot: DataSnapshot) {
79 | if (dataSnapshot.exists()) {
80 | packageArrayList!!.clear()
81 | for (snapshot in dataSnapshot.children) {
82 | val packageItemModel = snapshot.getValue()
83 | if (packageItemModel != null) {
84 | packageArrayList!!.add(packageItemModel)
85 | }
86 | }
87 | homeAdapter = RecyclerUsrCmpPkgAdapter(applicationContext, packageArrayList!!)
88 | binding.cmpHomeRecycler.adapter = homeAdapter
89 | }
90 | }
91 |
92 | override fun onCancelled(databaseError: DatabaseError) {
93 |
94 | }
95 | }
96 | query.addValueEventListener(pkgValueEventListener)
97 | }
98 | }
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | xmlns:android
18 |
19 | ^$
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | xmlns:.*
29 |
30 | ^$
31 |
32 |
33 | BY_NAME
34 |
35 |
36 |
37 |
38 |
39 |
40 | .*:id
41 |
42 | http://schemas.android.com/apk/res/android
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | .*:name
52 |
53 | http://schemas.android.com/apk/res/android
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | name
63 |
64 | ^$
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | style
74 |
75 | ^$
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | .*
85 |
86 | ^$
87 |
88 |
89 | BY_NAME
90 |
91 |
92 |
93 |
94 |
95 |
96 | .*
97 |
98 | http://schemas.android.com/apk/res/android
99 |
100 |
101 | ANDROID_ATTRIBUTE_ORDER
102 |
103 |
104 |
105 |
106 |
107 |
108 | .*
109 |
110 | .*
111 |
112 |
113 | BY_NAME
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_user_book.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
21 |
22 |
30 |
31 |
42 |
43 |
44 |
54 |
55 |
63 |
64 |
75 |
76 |
80 |
84 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Company/CmpEditPackageActivity.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Company
2 |
3 | import android.content.Intent
4 | import android.graphics.Color
5 | import android.graphics.drawable.ColorDrawable
6 | import android.os.Bundle
7 | import android.view.Gravity
8 | import android.view.LayoutInflater
9 | import android.view.View
10 | import android.widget.Button
11 | import android.widget.Toast
12 | import androidx.appcompat.app.AlertDialog
13 | import androidx.appcompat.app.AppCompatActivity
14 | import com.google.firebase.database.DatabaseReference
15 | import com.google.firebase.database.FirebaseDatabase
16 | import com.harvin.evento.Model.PackageItemModel
17 | import com.harvin.evento.R
18 | import com.harvin.evento.databinding.ActivityCmpEditPackageBinding
19 |
20 | class CmpEditPackageActivity : AppCompatActivity() {
21 | private lateinit var binding:ActivityCmpEditPackageBinding
22 | private var cmpID: String? = null
23 | private var packID: String? = null
24 | var databaseCmpPack: DatabaseReference? = null
25 | override fun onCreate(savedInstanceState: Bundle?) {
26 | super.onCreate(savedInstanceState)
27 | binding=ActivityCmpEditPackageBinding.inflate(layoutInflater)
28 | setContentView(binding.root)
29 | binding.cmpPackName.setText(intent.getStringExtra("title").toString())
30 | binding.cmpPackDes.setText(intent.getStringExtra("desc").toString())
31 | binding.cmpPrice.setText(intent.getStringExtra("price").toString())
32 | binding.cmpPCount.setText(intent.getStringExtra("pcount").toString())
33 | cmpID=intent.getStringExtra("cmpID").toString()
34 | packID=intent.getStringExtra("packID").toString()
35 | databaseCmpPack = FirebaseDatabase.getInstance().getReference("package").child(packID!!)
36 |
37 | binding.delPack.setOnClickListener {
38 | val builder = AlertDialog.Builder(it.context)
39 | val alertView: View = LayoutInflater.from(it.context).inflate(R.layout.dialog_delete, null)
40 | val deButton: Button =alertView.findViewById(R.id.btn_action_delete)
41 | builder.setView(alertView)
42 | val alertDialog=builder.create()
43 | alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
44 | alertDialog.window?.setGravity(Gravity.CENTER)
45 | alertDialog.show()
46 | alertDialog.window?.setLayout(900,800)
47 | deButton.setOnClickListener {
48 | databaseCmpPack!!.removeValue()
49 | Toast.makeText(it.context, "Package Removed", Toast.LENGTH_SHORT).show()
50 | val i = Intent(applicationContext, CmpHomeActivity::class.java)
51 | startActivity(i)
52 | alertDialog.dismiss()
53 |
54 | }
55 | }
56 |
57 | binding.cmpEditPackage.setOnClickListener {
58 | if(checkEditText()){
59 | val packageItemModel= PackageItemModel(cmpID,packID,binding.cmpPackName.text.toString(),binding.cmpPackDes.text.toString(),binding.cmpPrice.text.toString(),binding.cmpPCount.text.toString())
60 | databaseCmpPack!!.setValue(packageItemModel)
61 | Toast.makeText(applicationContext, "Package Updated", Toast.LENGTH_LONG).show()
62 | val i = Intent(applicationContext, CmpHomeActivity::class.java)
63 | startActivity(i)
64 | }
65 | }
66 | }
67 |
68 | fun checkEditText():Boolean{
69 | var status=true
70 | if(binding.cmpPackName.text.toString().isEmpty()){
71 | binding.cmpNameLayout.error= "Check Fields & Try Again"
72 | status=false
73 | }
74 | if(binding.cmpPCount.text.toString().isEmpty()){
75 | binding.cmpDoeLayout.error= "Check Fields & Try Again"
76 | status=false
77 | }
78 | if(binding.cmpPrice.text.toString().isEmpty()){
79 | binding.cmpCinLayout.error= "Check Fields & Try Again"
80 | status=false
81 | }
82 | if(binding.cmpPackDes.text.toString().isEmpty()){
83 | binding.cmpDesLayout.error= "Check Fields & Try Again"
84 | status=false
85 | }
86 | return status
87 | }
88 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/harvin/evento/Adapters/RecyclerCmpBookAdapter.kt:
--------------------------------------------------------------------------------
1 | package com.harvin.evento.Adapters
2 |
3 | import android.content.Context
4 | import android.content.Intent
5 | import android.graphics.Color
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import android.widget.ImageButton
10 | import android.widget.TextView
11 | import androidx.core.content.ContextCompat
12 | import androidx.recyclerview.widget.RecyclerView
13 | import com.google.firebase.database.DatabaseReference
14 | import com.google.firebase.database.FirebaseDatabase
15 | import com.harvin.evento.Company.CmpEditPackageActivity
16 | import com.harvin.evento.MessagingActivity
17 | import com.harvin.evento.Model.BookingModel
18 | import com.harvin.evento.Model.PackageItemModel
19 | import com.harvin.evento.R
20 |
21 | class RecyclerCmpBookAdapter (var mContext: Context, private val mList: List) : RecyclerView.Adapter() {
22 | override fun onCreateViewHolder(
23 | parent: ViewGroup,
24 | viewType: Int
25 | ): RecyclerCmpBookAdapter.ViewHolder {
26 | val view = LayoutInflater.from(parent.context)
27 | .inflate(R.layout.book_cmp_item, parent, false)
28 |
29 | return ViewHolder(view)
30 | }
31 |
32 | override fun onBindViewHolder(holder: RecyclerCmpBookAdapter.ViewHolder, position: Int) {
33 | val PackageItem = mList[position]
34 | holder.titleTV.text = PackageItem.pkgName
35 | holder.priceTV.text = "\u20B9"+PackageItem.pkgPrice
36 | holder.packDes.text = PackageItem.pkgDesc
37 | if (PackageItem.status.equals("wait")){
38 | holder.cmpApprove.text ="Pending! Waiting for approval."
39 | holder.cmpApprove.setTextColor(ContextCompat.getColor(mContext, R.color.red))
40 | }
41 | else if(PackageItem.status.equals("approve")){
42 | holder.cmpApprove.text ="Approved."
43 | holder.approve.visibility=View.GONE
44 | holder.cmpApprove.setTextColor(ContextCompat.getColor(mContext, R.color.green))
45 | }
46 | else{
47 | holder.cmpApprove.text ="Declined."
48 | holder.cmpApprove.setTextColor(ContextCompat.getColor(mContext, R.color.red))
49 | holder.approve.visibility=View.GONE
50 | holder.decline.visibility=View.GONE
51 | }
52 | holder.approve.setOnClickListener {
53 | var bookID: String? = PackageItem.bookID.toString()
54 | var databaseCmpBook: DatabaseReference? = FirebaseDatabase.getInstance().getReference("book").child(bookID!!)
55 | val bookingModel= BookingModel(bookID,PackageItem.packID,PackageItem.cmpID,PackageItem.userID,PackageItem.pkgName,PackageItem.pkgPrice,PackageItem.pkgDesc,"approve")
56 | databaseCmpBook!!.setValue(bookingModel)
57 | }
58 | holder.decline.setOnClickListener {
59 | var bookID: String? = PackageItem.bookID.toString()
60 | var databaseCmpBook: DatabaseReference? = FirebaseDatabase.getInstance().getReference("book").child(bookID!!)
61 | val bookingModel= BookingModel(bookID,PackageItem.packID,PackageItem.cmpID,PackageItem.userID,PackageItem.pkgName,PackageItem.pkgPrice,PackageItem.pkgDesc,"decline")
62 | databaseCmpBook!!.setValue(bookingModel)
63 | }
64 | holder.chatCmp.setOnClickListener {
65 | val intent = Intent(it.context, MessagingActivity::class.java)
66 | intent.putExtra("cmpID", PackageItem.userID.toString())
67 | it.context.startActivity(intent)
68 | }
69 |
70 |
71 | }
72 |
73 | override fun getItemCount(): Int {
74 | return mList.size
75 | }
76 |
77 | class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView) {
78 | val titleTV: TextView = itemView.findViewById(R.id.titleTV)
79 | val priceTV: TextView = itemView.findViewById(R.id.priceTV)
80 | val packDes: TextView = itemView.findViewById(R.id.packDes)
81 | val cmpApprove: TextView = itemView.findViewById(R.id.cmp_approve)
82 | val approve: ImageButton = itemView.findViewById(R.id.approve)
83 | val decline: ImageButton = itemView.findViewById(R.id.decline)
84 | val chatCmp: ImageButton = itemView.findViewById(R.id.chat_cmp)
85 |
86 | }
87 |
88 |
89 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_about_us.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
23 |
24 |
40 |
41 |
57 |
58 |
71 |
72 |
85 |
86 |
99 |
100 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
19 |
22 |
25 |
28 |
31 |
34 |
37 |
40 |
43 |
46 |
49 |
52 |
55 |
58 |
59 |
62 |
63 |
66 |
69 |
72 |
75 |
78 |
81 |
84 |
87 |
90 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_user_chat.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
20 |
21 |
29 |
30 |
41 |
42 |
43 |
53 |
54 |
63 |
64 |
75 |
76 |
81 |
85 |
91 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_messaging.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
26 |
27 |
28 |
32 |
33 |
47 |
48 |
49 |
50 |
60 |
61 |
62 |
63 |
70 |
71 |
79 |
80 |
90 |
91 |
92 |
93 |
94 |
103 |
104 |
105 |
106 |
114 |
115 |
116 |
--------------------------------------------------------------------------------