From 30791a00fd5a6465f0047e90d6965493cd9f3a47 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Sat, 10 Oct 2020 17:20:27 +0530 Subject: [PATCH 1/8] first commit --- .../openevent/general/MainActivity.kt | 3 +- .../openevent/general/event/EventsFragment.kt | 29 ++++++++++++------- .../general/event/EventsViewModel.kt | 10 +++++-- .../general/event/paging/EventsDataSource.kt | 4 ++- .../openevent/general/utils/AppLinkUtils.kt | 1 + app/src/main/res/layout/fragment_events.xml | 2 +- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +-- 8 files changed, 36 insertions(+), 19 deletions(-) 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 d30f90dee1..65218a888e 100644 --- a/app/src/main/java/org/fossasia/openevent/general/MainActivity.kt +++ b/app/src/main/java/org/fossasia/openevent/general/MainActivity.kt @@ -3,6 +3,7 @@ package org.fossasia.openevent.general import android.app.Activity import android.content.Intent import android.os.Bundle +import android.util.Log import androidx.appcompat.app.AppCompatActivity import androidx.navigation.NavController import androidx.navigation.fragment.NavHostFragment @@ -31,10 +32,10 @@ class MainActivity : AppCompatActivity() { setTheme(R.style.AppTheme) super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - val hostFragment = supportFragmentManager.findFragmentById(R.id.frameContainer) if (hostFragment is NavHostFragment) navController = hostFragment.navController + setupBottomNavigationMenu(navController) navController.addOnDestinationChangedListener { _, destination, _ -> diff --git a/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt b/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt index b5c55abf54..d0ad14c396 100644 --- a/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt @@ -4,6 +4,7 @@ import android.graphics.Color import android.os.Bundle import android.text.Editable import android.text.TextWatcher +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -53,6 +54,7 @@ import org.fossasia.openevent.general.utils.extensions.setStartPostponedEnterTra import org.fossasia.openevent.general.utils.extensions.showWithFading import org.jetbrains.anko.design.longSnackbar import org.koin.androidx.viewmodel.ext.android.viewModel +import timber.log.Timber const val BEEN_TO_WELCOME_SCREEN = "beenToWelcomeScreen" const val EVENTS_FRAGMENT = "eventsFragment" @@ -81,6 +83,7 @@ class EventsFragment : Fragment(), BottomIconDoubleClick { val progressDialog = progressDialog(context, getString(R.string.loading_message)) val token = arguments?.getString(RESET_PASSWORD_TOKEN) + if (token != null) showResetPasswordAlertDialog(token) @@ -116,10 +119,8 @@ class EventsFragment : Fragment(), BottomIconDoubleClick { eventsViewModel.pagedEvents .nonNull() - .observe(viewLifecycleOwner, Observer { list -> - eventsListAdapter.submitList(list) - if (!rootView.shimmerEvents.isVisible) - showEmptyMessage(eventsListAdapter.currentList?.isEmpty() ?: true) + .observe( viewLifecycleOwner, Observer { + eventsListAdapter.submitList(it) }) eventsViewModel.progress @@ -130,6 +131,12 @@ class EventsFragment : Fragment(), BottomIconDoubleClick { showEmptyMessage(false) showNoInternetScreen(false) } else { + if(eventsListAdapter.currentList?.isEmpty() != false ){ + showEmptyMessage(true) + } + else{ + showEmptyMessage(false) + } rootView.shimmerEvents.stopShimmer() rootView.swiperefresh.isRefreshing = false } @@ -146,6 +153,7 @@ class EventsFragment : Fragment(), BottomIconDoubleClick { rootView.notificationToolbar.isVisible = eventsViewModel.isLoggedIn() eventsViewModel.loadLocation() + if (rootView.locationTextView.text == getString(R.string.enter_location)) { rootView.emptyEventsText.text = getString(R.string.choose_preferred_location_message) } else { @@ -193,13 +201,14 @@ class EventsFragment : Fragment(), BottomIconDoubleClick { rootView.swiperefresh.setColorSchemeColors(Color.BLUE) rootView.swiperefresh.setOnRefreshListener { showNoInternetScreen(!eventsViewModel.isConnected()) - eventsViewModel.clearEvents() + eventsViewModel.clearEvents() eventsViewModel.clearLastSearch() - if (!eventsViewModel.isConnected()) { - rootView.swiperefresh.isRefreshing = false - } else { - eventsViewModel.loadLocationEvents() - } + if (eventsViewModel.isConnected()) { + eventsViewModel.loadLocationEvents() + } else { + showNoInternetScreen(true) + } + } startupViewModel.isRefresh diff --git a/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt b/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt index c1843bf6b9..052b0e5967 100644 --- a/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt +++ b/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt @@ -1,5 +1,6 @@ package org.fossasia.openevent.general.event +import android.util.Log import androidx.lifecycle.LiveData import androidx.lifecycle.MediatorLiveData import androidx.lifecycle.MutableLiveData @@ -21,6 +22,7 @@ import org.fossasia.openevent.general.favorite.FavoriteEvent import org.fossasia.openevent.general.search.location.SAVED_LOCATION import org.fossasia.openevent.general.utils.extensions.withDefaultSchedulers import timber.log.Timber +import java.lang.NullPointerException const val NEW_NOTIFICATIONS = "newNotifications" @@ -34,7 +36,6 @@ class EventsViewModel( ) : ViewModel() { private val compositeDisposable = CompositeDisposable() - val connection: LiveData = mutableConnectionLiveData private val mutableProgress = MediatorLiveData() val progress: MediatorLiveData = mutableProgress @@ -56,10 +57,11 @@ class EventsViewModel( val location = mutableSavedLocation.value if (location == null || location == resource.getString(R.string.enter_location) || location == resource.getString(R.string.no_location)) { + Timber.d("set progress to false") mutableProgress.value = false return } - + Timber.d(location+"this is the location") sourceFactory = EventsDataSourceFactory( compositeDisposable, eventService, @@ -81,7 +83,8 @@ class EventsViewModel( val currentPagedEvents = mutablePagedEvents.value if (currentPagedEvents == null) { mutablePagedEvents.value = it - } else { + } else { + Timber.d(it.toString()+"in else viewmodel") currentPagedEvents.addAll(it) mutablePagedEvents.value = currentPagedEvents } @@ -89,6 +92,7 @@ class EventsViewModel( Timber.e(it, "Error fetching events") mutableMessage.value = resource.getString(R.string.error_fetching_events_message) }) + } fun isConnected(): Boolean = mutableConnectionLiveData.value ?: false diff --git a/app/src/main/java/org/fossasia/openevent/general/event/paging/EventsDataSource.kt b/app/src/main/java/org/fossasia/openevent/general/event/paging/EventsDataSource.kt index 1763f27207..6609699df0 100644 --- a/app/src/main/java/org/fossasia/openevent/general/event/paging/EventsDataSource.kt +++ b/app/src/main/java/org/fossasia/openevent/general/event/paging/EventsDataSource.kt @@ -43,9 +43,11 @@ class EventsDataSource( eventService.getEventsByLocationPaged(query, requestedPage) .withDefaultSchedulers() .subscribe({ response -> - if (response.isEmpty()) mutableProgress.value = false initialCallback?.onResult(response, null, adjacentPage) callback?.onResult(response, adjacentPage) + if (response.isEmpty()) { + mutableProgress.value = false + } }, { error -> Timber.e(error, "Fail on fetching page of events") } diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/AppLinkUtils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/AppLinkUtils.kt index ef18c5b11d..0c4f1b12a7 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/AppLinkUtils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/AppLinkUtils.kt @@ -29,5 +29,6 @@ object AppLinkUtils { val bundle = Bundle() bundle.putString(data.argumentKey, data.argumentValue) navController.navigate(data.destinationId, bundle) + } } diff --git a/app/src/main/res/layout/fragment_events.xml b/app/src/main/res/layout/fragment_events.xml index 9be690fac6..813d445154 100644 --- a/app/src/main/res/layout/fragment_events.xml +++ b/app/src/main/res/layout/fragment_events.xml @@ -145,7 +145,7 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:visibility="gone" - tools:visibility="visible"> + tools:visibility="invisible"> Date: Sat, 10 Oct 2020 17:33:49 +0530 Subject: [PATCH 2/8] final --- .../org/fossasia/openevent/general/event/EventsViewModel.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt b/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt index 052b0e5967..a88f154137 100644 --- a/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt +++ b/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt @@ -57,11 +57,9 @@ class EventsViewModel( val location = mutableSavedLocation.value if (location == null || location == resource.getString(R.string.enter_location) || location == resource.getString(R.string.no_location)) { - Timber.d("set progress to false") mutableProgress.value = false return } - Timber.d(location+"this is the location") sourceFactory = EventsDataSourceFactory( compositeDisposable, eventService, @@ -84,7 +82,6 @@ class EventsViewModel( if (currentPagedEvents == null) { mutablePagedEvents.value = it } else { - Timber.d(it.toString()+"in else viewmodel") currentPagedEvents.addAll(it) mutablePagedEvents.value = currentPagedEvents } From 91ed405a8e23afa647af70f42ffe33a515df11b1 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Sat, 10 Oct 2020 20:49:03 +0530 Subject: [PATCH 3/8] final(accepted licenses) --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index bfbdb03d7c..e1e93a07ba 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,7 @@ def LOCAL_KEY_PRESENT = project.hasProperty('SIGNING_KEY_FILE') && rootProject.f android { dataBinding { enabled = true + } compileSdkVersion 28 defaultConfig { From 9eef72536a18b9b95a15cdc5aa152bccc7b271ef Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Sun, 11 Oct 2020 01:12:54 +0530 Subject: [PATCH 4/8] finaltest --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index e1e93a07ba..27b73e0336 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,6 +18,7 @@ android { dataBinding { enabled = true + } compileSdkVersion 28 defaultConfig { From 0b57caff0f55548b1aef3d227c680c0ae60bd835 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Mon, 12 Oct 2020 10:11:39 +0530 Subject: [PATCH 5/8] test --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 88e4656f07..ed0fa3b72b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,10 @@ cache: - "${TRAVIS_BUILD_DIR}/gradle/wrapper/dists/" - "$HOME/.gradle/caches/" - "$HOME/.gradle/wrapper/" + +licenses: + - '.+' + before_script: - bash scripts/prep-key.sh script: @@ -25,7 +29,9 @@ script: after_success: - bash scripts/update-apk.sh + branches: only: - master - development + From 9af4f1bef6b8a6c7cd543317bb90bad9e35e6492 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Mon, 12 Oct 2020 10:28:44 +0530 Subject: [PATCH 6/8] test2 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 27b73e0336..32218b3662 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,8 +25,8 @@ android { applicationId "com.eventyay.attendee" minSdkVersion 21 targetSdkVersion 28 - versionCode 17 - versionName "0.9.1" + versionCode 18 + versionName "0.9.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true multiDexEnabled true From a8dbe59375ca120289e72626c7e7f47b498faa0d Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Mon, 12 Oct 2020 12:51:14 +0530 Subject: [PATCH 7/8] test3 --- .../openevent/general/event/EventsFragment.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt b/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt index d0ad14c396..a7590fce7c 100644 --- a/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/event/EventsFragment.kt @@ -201,14 +201,13 @@ class EventsFragment : Fragment(), BottomIconDoubleClick { rootView.swiperefresh.setColorSchemeColors(Color.BLUE) rootView.swiperefresh.setOnRefreshListener { showNoInternetScreen(!eventsViewModel.isConnected()) - eventsViewModel.clearEvents() + eventsViewModel.clearEvents() eventsViewModel.clearLastSearch() - if (eventsViewModel.isConnected()) { - eventsViewModel.loadLocationEvents() - } else { - showNoInternetScreen(true) - } - + if (!eventsViewModel.isConnected()) { + rootView.swiperefresh.isRefreshing = false + } else { + eventsViewModel.loadLocationEvents() + } } startupViewModel.isRefresh From a81f800ffd7f9b61b37678f422ac954b268e36f9 Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Date: Mon, 12 Oct 2020 13:12:18 +0530 Subject: [PATCH 8/8] hry --- .../org/fossasia/openevent/general/event/EventsViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt b/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt index a88f154137..c8f86a13f0 100644 --- a/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt +++ b/app/src/main/java/org/fossasia/openevent/general/event/EventsViewModel.kt @@ -81,7 +81,7 @@ class EventsViewModel( val currentPagedEvents = mutablePagedEvents.value if (currentPagedEvents == null) { mutablePagedEvents.value = it - } else { + } else { currentPagedEvents.addAll(it) mutablePagedEvents.value = currentPagedEvents }