├── .gitignore ├── .idea ├── .gitignore ├── compiler.xml ├── deploymentTargetDropDown.xml ├── gradle.xml ├── misc.xml ├── other.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── greeter │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── greeter │ │ │ ├── EditPeopleProfile.kt │ │ │ ├── EditUserProfile.kt │ │ │ ├── Fragment │ │ │ ├── FinishedFrag.kt │ │ │ ├── HomeFragment.kt │ │ │ ├── ListOfAll.kt │ │ │ ├── ProfileFrag.kt │ │ │ └── UpcomingFrag.kt │ │ │ ├── LoginUser.kt │ │ │ ├── MainActivity.kt │ │ │ ├── UserIndex.kt │ │ │ └── UserRegister.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ballons.png │ │ ├── baseline_account_circle_24.xml │ │ ├── baseline_arrow_back_ios_24.xml │ │ ├── baseline_done_outline_24.xml │ │ ├── baseline_edit_24.xml │ │ ├── baseline_water_drop_24.xml │ │ ├── cake.png │ │ ├── cap.png │ │ ├── gifts.png │ │ ├── ic_launcher_background.xml │ │ ├── input_field_login.xml │ │ ├── lgpage2.png │ │ ├── loginpage.png │ │ ├── nav_layout.xml │ │ ├── outline_groups_2_24.xml │ │ ├── outline_home_24.xml │ │ ├── outline_settings_24.xml │ │ ├── outline_upcoming_24.xml │ │ ├── propic.jpg │ │ ├── registerbg.png │ │ ├── rocket.png │ │ ├── splashscreen.jpg │ │ ├── vill_profile_handling.png │ │ └── wine.png │ │ ├── font │ │ ├── montserrat.xml │ │ ├── montserrat_medium.xml │ │ └── montserrat_semibold.xml │ │ ├── layout │ │ ├── activity_edit_people_profile.xml │ │ ├── activity_edit_user_profile.xml │ │ ├── activity_login_user.xml │ │ ├── activity_main.xml │ │ ├── activity_user_index.xml │ │ ├── activity_user_register.xml │ │ ├── allofpeople_list.xml │ │ ├── finished_list.xml │ │ ├── fragment_finished.xml │ │ ├── fragment_home.xml │ │ ├── fragment_list_of_all.xml │ │ ├── fragment_profile.xml │ │ ├── fragment_upcoming.xml │ │ └── upcomming_list.xml │ │ ├── menu │ │ └── bottomnav.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-anydpi-v33 │ │ └── ic_launcher.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values-night │ │ └── themes.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── font_certs.xml │ │ ├── preloaded_fonts.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── test │ └── java │ └── com │ └── example │ └── greeter │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.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 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/deploymentTargetDropDown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | -------------------------------------------------------------------------------- /.idea/other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Greeter 2 | 3 | 4 | 🎉✨ Introducing Greeter: The Ultimate Greeting App! ✨🎉 5 | 6 | Greeter is a user-friendly Android application developed using Android Studio, Kotlin, and Firebase. Its main purpose is to greet users on special occasions such as anniversaries, birthdays, and other memorable days. The app utilizes SMS services to send personalized greetings to the users added by the app's users. With a focus on a seamless user experience, Greeter ensures that every greeting is delivered in a timely and meaningful manner. 💌💫 7 | 8 | Let's spread smiles and celebrate together! 🎊🎈🥳✉️🌟 Embrace the joy of connecting with loved ones and make their special moments even more memorable with the Greeter app. 🎉📱✨💌🌟 9 | 10 | Download Greeter now and start creating beautiful memories! 🎁📲💖🌟 11 | ![Slide 16_9 - 1](https://user-images.githubusercontent.com/103739510/226573918-9b293f42-a993-47b1-8481-1b74493f674a.png) 12 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | id 'org.jetbrains.kotlin.android' 4 | } 5 | 6 | android { 7 | namespace 'com.example.greeter' 8 | compileSdk 33 9 | 10 | defaultConfig { 11 | applicationId "com.example.greeter" 12 | minSdk 24 13 | targetSdk 33 14 | versionCode 1 15 | versionName "1.0" 16 | 17 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 18 | } 19 | 20 | buildTypes { 21 | release { 22 | minifyEnabled false 23 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 24 | } 25 | } 26 | compileOptions { 27 | sourceCompatibility JavaVersion.VERSION_1_8 28 | targetCompatibility JavaVersion.VERSION_1_8 29 | } 30 | kotlinOptions { 31 | jvmTarget = '1.8' 32 | } 33 | } 34 | 35 | dependencies { 36 | 37 | implementation 'androidx.core:core-ktx:1.7.0' 38 | implementation 'androidx.appcompat:appcompat:1.6.1' 39 | implementation 'com.google.android.material:material:1.8.0' 40 | implementation 'androidx.constraintlayout:constraintlayout:2.1.4' 41 | testImplementation 'junit:junit:4.13.2' 42 | androidTestImplementation 'androidx.test.ext:junit:1.1.5' 43 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' 44 | implementation 'de.hdodenhof:circleimageview:3.1.0' 45 | } -------------------------------------------------------------------------------- /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/androidTest/java/com/example/greeter/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 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.example.greeter", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 14 | 17 | 18 | 19 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 36 | 37 | 38 | 41 | 42 | 43 | 46 | 47 | 48 | 49 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/EditPeopleProfile.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 2 | 3 | import android.os.Build 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.view.View 7 | import android.view.Window 8 | import android.view.WindowManager 9 | 10 | class EditPeopleProfile : AppCompatActivity() { 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContentView(R.layout.activity_edit_people_profile) 14 | // In Activity's onCreate() for instance this transparents the background 15 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 16 | val w: Window = window 17 | w.setFlags( 18 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 19 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 20 | ) 21 | 22 | 23 | val flags = window.decorView.systemUiVisibility 24 | window.decorView.systemUiVisibility = flags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/EditUserProfile.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 2 | 3 | import android.os.Build 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.view.View 7 | import android.view.Window 8 | import android.view.WindowManager 9 | 10 | class EditUserProfile : AppCompatActivity() { 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContentView(R.layout.activity_edit_user_profile) 14 | // In Activity's onCreate() for instance this transparents the background 15 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 16 | val w: Window = window 17 | w.setFlags( 18 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 19 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 20 | ) 21 | 22 | 23 | val flags = window.decorView.systemUiVisibility 24 | window.decorView.systemUiVisibility = flags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/Fragment/FinishedFrag.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter.Fragment 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 com.example.greeter.R 9 | 10 | // TODO: Rename parameter arguments, choose names that match 11 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 12 | private const val ARG_PARAM1 = "param1" 13 | private const val ARG_PARAM2 = "param2" 14 | 15 | /** 16 | * A simple [Fragment] subclass. 17 | * Use the [FinishedFrag.newInstance] factory method to 18 | * create an instance of this fragment. 19 | */ 20 | class FinishedFrag : Fragment() { 21 | // TODO: Rename and change types of parameters 22 | private var param1: String? = null 23 | private var param2: String? = null 24 | 25 | override fun onCreate(savedInstanceState: Bundle?) { 26 | super.onCreate(savedInstanceState) 27 | arguments?.let { 28 | param1 = it.getString(ARG_PARAM1) 29 | param2 = it.getString(ARG_PARAM2) 30 | } 31 | } 32 | 33 | override fun onCreateView( 34 | inflater: LayoutInflater, container: ViewGroup?, 35 | savedInstanceState: Bundle? 36 | ): View? { 37 | // Inflate the layout for this fragment 38 | return inflater.inflate(R.layout.fragment_finished, container, false) 39 | } 40 | 41 | companion object { 42 | /** 43 | * Use this factory method to create a new instance of 44 | * this fragment using the provided parameters. 45 | * 46 | * @param param1 Parameter 1. 47 | * @param param2 Parameter 2. 48 | * @return A new instance of fragment FinishedFrag. 49 | */ 50 | // TODO: Rename and change types and number of parameters 51 | @JvmStatic 52 | fun newInstance(param1: String, param2: String) = 53 | FinishedFrag().apply { 54 | arguments = Bundle().apply { 55 | putString(ARG_PARAM1, param1) 56 | putString(ARG_PARAM2, param2) 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/Fragment/HomeFragment.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter.Fragment 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 com.example.greeter.R 9 | 10 | // TODO: Rename parameter arguments, choose names that match 11 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 12 | private const val ARG_PARAM1 = "param1" 13 | private const val ARG_PARAM2 = "param2" 14 | 15 | /** 16 | * A simple [Fragment] subclass. 17 | * Use the [HomeFragment.newInstance] factory method to 18 | * create an instance of this fragment. 19 | */ 20 | class HomeFragment : Fragment() { 21 | // TODO: Rename and change types of parameters 22 | private var param1: String? = null 23 | private var param2: String? = null 24 | 25 | override fun onCreate(savedInstanceState: Bundle?) { 26 | super.onCreate(savedInstanceState) 27 | arguments?.let { 28 | param1 = it.getString(ARG_PARAM1) 29 | param2 = it.getString(ARG_PARAM2) 30 | } 31 | } 32 | 33 | override fun onCreateView( 34 | inflater: LayoutInflater, container: ViewGroup?, 35 | savedInstanceState: Bundle? 36 | ): View? { 37 | // Inflate the layout for this fragment 38 | return inflater.inflate(R.layout.fragment_home, container, false) 39 | } 40 | 41 | companion object { 42 | /** 43 | * Use this factory method to create a new instance of 44 | * this fragment using the provided parameters. 45 | * 46 | * @param param1 Parameter 1. 47 | * @param param2 Parameter 2. 48 | * @return A new instance of fragment HomeFragment. 49 | */ 50 | // TODO: Rename and change types and number of parameters 51 | @JvmStatic 52 | fun newInstance(param1: String, param2: String) = 53 | HomeFragment().apply { 54 | arguments = Bundle().apply { 55 | putString(ARG_PARAM1, param1) 56 | putString(ARG_PARAM2, param2) 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/Fragment/ListOfAll.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter.Fragment 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 com.example.greeter.R 9 | 10 | // TODO: Rename parameter arguments, choose names that match 11 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 12 | private const val ARG_PARAM1 = "param1" 13 | private const val ARG_PARAM2 = "param2" 14 | 15 | /** 16 | * A simple [Fragment] subclass. 17 | * Use the [ListOfAll.newInstance] factory method to 18 | * create an instance of this fragment. 19 | */ 20 | class ListOfAll : Fragment() { 21 | // TODO: Rename and change types of parameters 22 | private var param1: String? = null 23 | private var param2: String? = null 24 | 25 | override fun onCreate(savedInstanceState: Bundle?) { 26 | super.onCreate(savedInstanceState) 27 | arguments?.let { 28 | param1 = it.getString(ARG_PARAM1) 29 | param2 = it.getString(ARG_PARAM2) 30 | } 31 | } 32 | 33 | override fun onCreateView( 34 | inflater: LayoutInflater, container: ViewGroup?, 35 | savedInstanceState: Bundle? 36 | ): View? { 37 | // Inflate the layout for this fragment 38 | return inflater.inflate(R.layout.fragment_list_of_all, container, false) 39 | } 40 | 41 | companion object { 42 | /** 43 | * Use this factory method to create a new instance of 44 | * this fragment using the provided parameters. 45 | * 46 | * @param param1 Parameter 1. 47 | * @param param2 Parameter 2. 48 | * @return A new instance of fragment ListOfAll. 49 | */ 50 | // TODO: Rename and change types and number of parameters 51 | @JvmStatic 52 | fun newInstance(param1: String, param2: String) = 53 | ListOfAll().apply { 54 | arguments = Bundle().apply { 55 | putString(ARG_PARAM1, param1) 56 | putString(ARG_PARAM2, param2) 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/Fragment/ProfileFrag.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter.Fragment 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 com.example.greeter.R 9 | 10 | // TODO: Rename parameter arguments, choose names that match 11 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 12 | private const val ARG_PARAM1 = "param1" 13 | private const val ARG_PARAM2 = "param2" 14 | 15 | /** 16 | * A simple [Fragment] subclass. 17 | * Use the [ProfileFrag.newInstance] factory method to 18 | * create an instance of this fragment. 19 | */ 20 | class ProfileFrag : Fragment() { 21 | // TODO: Rename and change types of parameters 22 | private var param1: String? = null 23 | private var param2: String? = null 24 | 25 | override fun onCreate(savedInstanceState: Bundle?) { 26 | super.onCreate(savedInstanceState) 27 | arguments?.let { 28 | param1 = it.getString(ARG_PARAM1) 29 | param2 = it.getString(ARG_PARAM2) 30 | } 31 | } 32 | 33 | override fun onCreateView( 34 | inflater: LayoutInflater, container: ViewGroup?, 35 | savedInstanceState: Bundle? 36 | ): View? { 37 | // Inflate the layout for this fragment 38 | return inflater.inflate(R.layout.fragment_profile, container, false) 39 | } 40 | 41 | companion object { 42 | /** 43 | * Use this factory method to create a new instance of 44 | * this fragment using the provided parameters. 45 | * 46 | * @param param1 Parameter 1. 47 | * @param param2 Parameter 2. 48 | * @return A new instance of fragment ProfileFrag. 49 | */ 50 | // TODO: Rename and change types and number of parameters 51 | @JvmStatic 52 | fun newInstance(param1: String, param2: String) = 53 | ProfileFrag().apply { 54 | arguments = Bundle().apply { 55 | putString(ARG_PARAM1, param1) 56 | putString(ARG_PARAM2, param2) 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/Fragment/UpcomingFrag.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter.Fragment 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 com.example.greeter.R 9 | 10 | // TODO: Rename parameter arguments, choose names that match 11 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 12 | private const val ARG_PARAM1 = "param1" 13 | private const val ARG_PARAM2 = "param2" 14 | 15 | /** 16 | * A simple [Fragment] subclass. 17 | * Use the [UpcomingFrag.newInstance] factory method to 18 | * create an instance of this fragment. 19 | */ 20 | class UpcomingFrag : Fragment() { 21 | // TODO: Rename and change types of parameters 22 | private var param1: String? = null 23 | private var param2: String? = null 24 | 25 | override fun onCreate(savedInstanceState: Bundle?) { 26 | super.onCreate(savedInstanceState) 27 | arguments?.let { 28 | param1 = it.getString(ARG_PARAM1) 29 | param2 = it.getString(ARG_PARAM2) 30 | } 31 | } 32 | 33 | override fun onCreateView( 34 | inflater: LayoutInflater, container: ViewGroup?, 35 | savedInstanceState: Bundle? 36 | ): View? { 37 | // Inflate the layout for this fragment 38 | return inflater.inflate(R.layout.fragment_upcoming, container, false) 39 | } 40 | 41 | companion object { 42 | /** 43 | * Use this factory method to create a new instance of 44 | * this fragment using the provided parameters. 45 | * 46 | * @param param1 Parameter 1. 47 | * @param param2 Parameter 2. 48 | * @return A new instance of fragment UpcomingFrag. 49 | */ 50 | // TODO: Rename and change types and number of parameters 51 | @JvmStatic 52 | fun newInstance(param1: String, param2: String) = 53 | UpcomingFrag().apply { 54 | arguments = Bundle().apply { 55 | putString(ARG_PARAM1, param1) 56 | putString(ARG_PARAM2, param2) 57 | } 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/LoginUser.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 2 | 3 | import android.os.Build 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.view.View 7 | import android.view.Window 8 | import android.view.WindowManager 9 | 10 | class LoginUser : AppCompatActivity() { 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContentView(R.layout.activity_login_user) 14 | 15 | // In Activity's onCreate() for instance this transparents the background 16 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 17 | val w: Window = window 18 | w.setFlags( 19 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 20 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 21 | ) 22 | 23 | 24 | val flags = window.decorView.systemUiVisibility 25 | window.decorView.systemUiVisibility = flags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 2 | 3 | import android.os.Build 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.view.View 7 | import android.view.Window 8 | import android.view.WindowManager 9 | import androidx.core.content.ContextCompat 10 | 11 | class MainActivity : AppCompatActivity() { 12 | override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | setContentView(R.layout.activity_main) 15 | 16 | // In Activity's onCreate() for instance this transparents the background 17 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 18 | val w: Window = window 19 | w.setFlags( 20 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 21 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 22 | ) 23 | 24 | 25 | val flags = window.decorView.systemUiVisibility 26 | window.decorView.systemUiVisibility = flags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/UserIndex.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 2 | 3 | import android.os.Build 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.view.View 7 | import android.view.Window 8 | import android.view.WindowManager 9 | import androidx.fragment.app.Fragment 10 | import com.example.greeter.Fragment.* 11 | import com.google.android.material.bottomnavigation.BottomNavigationView 12 | 13 | class UserIndex : AppCompatActivity() { 14 | private lateinit var btnNav : BottomNavigationView 15 | override fun onCreate(savedInstanceState: Bundle?) { 16 | super.onCreate(savedInstanceState) 17 | setContentView(R.layout.activity_user_index) 18 | // In Activity's onCreate() for instance this transparents the background 19 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 20 | val w: Window = window 21 | w.setFlags( 22 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 23 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 24 | 25 | ) 26 | val flags = window.decorView.systemUiVisibility 27 | window.decorView.systemUiVisibility = flags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 28 | } 29 | replaceAdmBottomNavFragment(HomeFragment()) 30 | btnNav = findViewById(R.id.btmnV) 31 | btnNav.setOnItemSelectedListener{ 32 | when(it.itemId){ 33 | R.id.homeitem->{ 34 | replaceAdmBottomNavFragment(HomeFragment()) 35 | } 36 | R.id.finisheditem->{ 37 | replaceAdmBottomNavFragment(FinishedFrag()) 38 | } 39 | R.id.upcomingitem->{ 40 | replaceAdmBottomNavFragment(UpcomingFrag()) 41 | } 42 | R.id.settingitem->{ 43 | replaceAdmBottomNavFragment(ProfileFrag()) 44 | } 45 | R.id.allitem->{ 46 | replaceAdmBottomNavFragment(ListOfAll()) 47 | } 48 | } 49 | true 50 | } 51 | } 52 | 53 | //the below method replaces the fragments that are for the bottom navigation 54 | private fun replaceAdmBottomNavFragment(fragment: Fragment){ 55 | val fragmentManager = supportFragmentManager 56 | val fragmentTransaction = fragmentManager.beginTransaction() 57 | fragmentTransaction.replace(R.id.frameLayout,fragment) 58 | fragmentTransaction.commit() 59 | 60 | 61 | } 62 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/greeter/UserRegister.kt: -------------------------------------------------------------------------------- 1 | package com.example.greeter 2 | 3 | import android.os.Build 4 | import androidx.appcompat.app.AppCompatActivity 5 | import android.os.Bundle 6 | import android.view.View 7 | import android.view.Window 8 | import android.view.WindowManager 9 | 10 | class UserRegister : AppCompatActivity() { 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContentView(R.layout.activity_user_register) 14 | 15 | // In Activity's onCreate() for instance this transparents the background 16 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 17 | val w: Window = window 18 | w.setFlags( 19 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 20 | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 21 | ) 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ballons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/ballons.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_account_circle_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_arrow_back_ios_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_done_outline_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_edit_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/baseline_water_drop_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/cake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/cake.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/cap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/cap.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/gifts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/gifts.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/input_field_login.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/lgpage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/lgpage2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/loginpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/loginpage.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/nav_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/outline_groups_2_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/outline_home_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/outline_settings_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/outline_upcoming_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/propic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/propic.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/registerbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/registerbg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/rocket.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/splashscreen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/splashscreen.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/vill_profile_handling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/vill_profile_handling.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/wine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moshdev2213/Greeter/e142909f518296866a900fbf81122067b0a35122/app/src/main/res/drawable/wine.png -------------------------------------------------------------------------------- /app/src/main/res/font/montserrat.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/font/montserrat_medium.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/font/montserrat_semibold.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_edit_people_profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 18 | 19 | 22 | 23 | 38 | 39 | 42 | 43 | 56 | 57 | 67 | 68 | 82 | 83 | 97 | 98 | 112 | 113 | 127 | 128 | 140 | 141 | 153 | 154 | 166 | 167 | 185 | 186 | 201 | 202 | 217 | 218 | 235 | 236 | 253 | 254 | 272 | 273 | 293 | 294 | 295 | 296 | 297 | 310 | 311 | 314 | 315 | 329 | 330 | 343 | 344 |