diff --git a/app/src/main/java/org/fossasia/openevent/general/MainActivity.kt b/app/src/main/java/org/fossasia/openevent/general/MainActivity.kt
index cc342efc85..707252d18a 100644
--- a/app/src/main/java/org/fossasia/openevent/general/MainActivity.kt
+++ b/app/src/main/java/org/fossasia/openevent/general/MainActivity.kt
@@ -9,6 +9,7 @@ import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.activity_main.navigation
import kotlinx.android.synthetic.main.activity_main.navigationAuth
import kotlinx.android.synthetic.main.activity_main.mainFragmentCoordinatorLayout
+import org.fossasia.openevent.general.data.Preference
import org.fossasia.openevent.general.order.LAUNCH_TICKETS
import org.fossasia.openevent.general.order.TICKETS
import org.fossasia.openevent.general.search.TO_SEARCH
@@ -18,6 +19,7 @@ import org.fossasia.openevent.general.utils.Utils.navAnimVisible
class MainActivity : AppCompatActivity() {
private lateinit var navController: NavController
private var currentFragmentId: Int = 0
+ private val preference = Preference()
override fun onCreate(savedInstanceState: Bundle?) {
setTheme(R.style.AppTheme)
@@ -29,6 +31,9 @@ class MainActivity : AppCompatActivity() {
navController = hostFragment.navController
setupBottomNavigationMenu(navController)
+ if (!preference.getBoolean(LOCATION_SAVED, false))
+ navController.navigate(R.id.welcomeFragment)
+
val bundle = if (savedInstanceState == null) intent.extras else null
if (bundle != null) {
if (bundle.getBoolean(TO_SEARCH))
@@ -72,6 +77,7 @@ class MainActivity : AppCompatActivity() {
navController.popBackStack(R.id.eventsFragment, false)
Snackbar.make(mainFragmentCoordinatorLayout, "Sign in canceled!", Snackbar.LENGTH_SHORT).show()
}
+ R.id.welcomeFragment -> finish()
else -> super.onBackPressed()
}
}
diff --git a/app/src/main/java/org/fossasia/openevent/general/WelcomeFragment.kt b/app/src/main/java/org/fossasia/openevent/general/WelcomeFragment.kt
new file mode 100644
index 0000000000..9e6af32b10
--- /dev/null
+++ b/app/src/main/java/org/fossasia/openevent/general/WelcomeFragment.kt
@@ -0,0 +1,28 @@
+package org.fossasia.openevent.general
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.Fragment
+import androidx.navigation.Navigation
+import kotlinx.android.synthetic.main.fragment_welcome.view.pickCityButton
+import org.fossasia.openevent.general.utils.Utils
+
+const val LOCATION_SAVED = "LOCATION_SAVED"
+
+class WelcomeFragment : Fragment() {
+ private lateinit var rootView: View
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+ rootView = inflater.inflate(R.layout.fragment_welcome, container, false)
+ val thisActivity = activity
+ if (thisActivity is AppCompatActivity)
+ thisActivity.supportActionBar?.hide()
+ rootView.pickCityButton.setOnClickListener {
+ Navigation.findNavController(rootView).navigate(R.id.searchLocationFragment, null, Utils.getAnimSlide())
+ }
+ return rootView
+ }
+}
diff --git a/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationFragment.kt b/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationFragment.kt
index 8e2422fa5c..c043cae918 100644
--- a/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationFragment.kt
+++ b/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationFragment.kt
@@ -36,6 +36,7 @@ class SearchLocationFragment : Fragment() {
val thisActivity = activity
if (thisActivity is AppCompatActivity) {
+ thisActivity.supportActionBar?.show()
thisActivity.supportActionBar?.title = ""
thisActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
diff --git a/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationViewModel.kt b/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationViewModel.kt
index 4bf2478269..30795cce9c 100644
--- a/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationViewModel.kt
+++ b/app/src/main/java/org/fossasia/openevent/general/search/SearchLocationViewModel.kt
@@ -1,6 +1,7 @@
package org.fossasia.openevent.general.search
import androidx.lifecycle.ViewModel
+import org.fossasia.openevent.general.LOCATION_SAVED
import org.fossasia.openevent.general.data.Preference
class SearchLocationViewModel(private val preference: Preference) : ViewModel() {
@@ -8,5 +9,6 @@ class SearchLocationViewModel(private val preference: Preference) : ViewModel()
fun saveSearch(query: String) {
preference.putString(tokenKey, query)
+ preference.putBoolean(LOCATION_SAVED, true)
}
}
diff --git a/app/src/main/res/drawable/ic_location_world.xml b/app/src/main/res/drawable/ic_location_world.xml
new file mode 100644
index 0000000000..c653b40f89
--- /dev/null
+++ b/app/src/main/res/drawable/ic_location_world.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_welcome.xml b/app/src/main/res/layout/fragment_welcome.xml
new file mode 100644
index 0000000000..88f7e66ed3
--- /dev/null
+++ b/app/src/main/res/layout/fragment_welcome.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/navigation/navigation_graph.xml b/app/src/main/res/navigation/navigation_graph.xml
index 4922b7e40f..e0b5577817 100644
--- a/app/src/main/res/navigation/navigation_graph.xml
+++ b/app/src/main/res/navigation/navigation_graph.xml
@@ -3,6 +3,10 @@
xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/mobile_navigation"
app:startDestination="@id/eventsFragment">
+
Stripe
PayPal
+
+ Where
+ do you
+ go out?
+ We\'ll show you what\'s good near you
+ Pick a city
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 2faaffb03e..bdff5fe371 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -25,4 +25,12 @@
+
+