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 @@ + +