diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba6217d --- /dev/null +++ b/.gitignore @@ -0,0 +1,118 @@ +# Created by .ignore support plugin (hsz.mobi) +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties +### macOS template +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk +### Gradle template +.gradle +/build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties +### Java template +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +.idea/misc.xml +app/app.iml +app/build/ +gradle/wrapper/gradle-wrapper.properties +gradlew +gradlew.bat +local.properties diff --git a/app/src/main/java/com/volokh/danylo/videolist/video_list_demo/fragments/VideoRecyclerViewFragment.java b/app/src/main/java/com/volokh/danylo/videolist/video_list_demo/fragments/VideoRecyclerViewFragment.java index 06bd8b7..5770269 100644 --- a/app/src/main/java/com/volokh/danylo/videolist/video_list_demo/fragments/VideoRecyclerViewFragment.java +++ b/app/src/main/java/com/volokh/danylo/videolist/video_list_demo/fragments/VideoRecyclerViewFragment.java @@ -38,6 +38,8 @@ public class VideoRecyclerViewFragment extends Fragment { private final ArrayList mList = new ArrayList<>(); + private VideoRecyclerViewAdapter videoRecyclerViewAdapter; + /** * Only the one (most visible) view should be active (and playing). * To calculate visibility of views we use {@link SingleListViewItemActiveCalculator} @@ -100,7 +102,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); - VideoRecyclerViewAdapter videoRecyclerViewAdapter = new VideoRecyclerViewAdapter(mVideoPlayerManager, getActivity(), mList); + videoRecyclerViewAdapter = new VideoRecyclerViewAdapter(mVideoPlayerManager, getActivity(), mList); mRecyclerView.setAdapter(videoRecyclerViewAdapter); mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @@ -136,6 +138,7 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) { @Override public void onResume() { super.onResume(); + videoRecyclerViewAdapter.notifyDataSetChanged(); if(!mList.isEmpty()){ // need to call this method from list view handler in order to have filled list diff --git a/list-visibility-utils/src/main/java/com/volokh/danylo/visibility_utils/calculator/SingleListViewItemActiveCalculator.java b/list-visibility-utils/src/main/java/com/volokh/danylo/visibility_utils/calculator/SingleListViewItemActiveCalculator.java index 7b57ac9..3a67fd6 100644 --- a/list-visibility-utils/src/main/java/com/volokh/danylo/visibility_utils/calculator/SingleListViewItemActiveCalculator.java +++ b/list-visibility-utils/src/main/java/com/volokh/danylo/visibility_utils/calculator/SingleListViewItemActiveCalculator.java @@ -185,12 +185,10 @@ private void calculateMostVisibleItem(ItemsPositionGetter itemsPositionGetter, i if(mostVisibleItem.isMostVisibleItemChanged()){ if(SHOW_LOGS) Logger.v(TAG, "topToBottomMostVisibleItem, item changed"); - - setCurrentItem(mostVisibleItem); } else { if(SHOW_LOGS) Logger.v(TAG, "topToBottomMostVisibleItem, item not changed"); - } + setCurrentItem(mostVisibleItem); } private void topToBottomMostVisibleItem(ItemsPositionGetter itemsPositionGetter, int maxVisibilityPercents, ListItemData outMostVisibleItem) {