From ef79f987b9dd600595661704066bb1a4fc859dad Mon Sep 17 00:00:00 2001 From: pawan singh chauhan Date: Mon, 27 Feb 2017 16:02:23 +0530 Subject: [PATCH 01/10] endless list and recycler view added --- utility/build.gradle | 2 +- .../ListViewEndlessScrollListener.java | 71 +++++++++++ .../RecyclerViewEndlessScrollListener.java | 110 ++++++++++++++++++ 3 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 utility/src/main/java/com/android/utility/ListViewEndlessScrollListener.java create mode 100644 utility/src/main/java/com/android/utility/RecyclerViewEndlessScrollListener.java diff --git a/utility/build.gradle b/utility/build.gradle index 6f98401..a2e69c6 100644 --- a/utility/build.gradle +++ b/utility/build.gradle @@ -13,7 +13,7 @@ ext { siteUrl = 'https://github.com/pawanchauhan05/AndroidUtility' gitUrl = 'https://github.com/pawanchauhan05/AndroidUtility.git' - libraryVersion = '0.0.2' + libraryVersion = '0.0.3-beta1' developerId = 'pawanchauhan05' developerName = 'Pawan Singh Chauhan' diff --git a/utility/src/main/java/com/android/utility/ListViewEndlessScrollListener.java b/utility/src/main/java/com/android/utility/ListViewEndlessScrollListener.java new file mode 100644 index 0000000..b973903 --- /dev/null +++ b/utility/src/main/java/com/android/utility/ListViewEndlessScrollListener.java @@ -0,0 +1,71 @@ +package com.android.utility; + +import android.widget.AbsListView; + +/** + * Created by pawan on 22/2/17. + */ + +public abstract class ListViewEndlessScrollListener implements AbsListView.OnScrollListener { + // The minimum number of items to have below your current scroll position + // before loading more. + private int visibleThreshold = 5; + // The current offset index of data you have loaded + private int currentPage = 0; + // The total number of items in the dataset after the last load + private int previousTotalItemCount = 0; + // True if we are still waiting for the last set of data to load. + private boolean loading = true; + // Sets the starting page index + private int startingPageIndex = 0; + + public ListViewEndlessScrollListener() { + } + + public ListViewEndlessScrollListener(int visibleThreshold) { + this.visibleThreshold = visibleThreshold; + } + + public ListViewEndlessScrollListener(int visibleThreshold, int startPage) { + this.visibleThreshold = visibleThreshold; + this.startingPageIndex = startPage; + this.currentPage = startPage; + } + + + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) + { + // If the total item count is zero and the previous isn't, assume the + // list is invalidated and should be reset back to initial state + if (totalItemCount < previousTotalItemCount) { + this.currentPage = this.startingPageIndex; + this.previousTotalItemCount = totalItemCount; + if (totalItemCount == 0) { this.loading = true; } + } + // If it's still loading, we check to see if the dataset count has + // changed, if so we conclude it has finished loading and update the current page + // number and total item count. + if (loading && (totalItemCount > previousTotalItemCount)) { + loading = false; + previousTotalItemCount = totalItemCount; + currentPage++; + } + + // If it isn't currently loading, we check to see if we have breached + // the visibleThreshold and need to reload more data. + // If we do need to reload some more data, we execute onLoadMore to fetch the data. + if (!loading && (firstVisibleItem + visibleItemCount + visibleThreshold) >= totalItemCount ) { + loading = onLoadMore(currentPage + 1, totalItemCount); + } + } + + // Defines the process for actually loading more data based on page + // Returns true if more data is being loaded; returns false if there is no more data to load. + public abstract boolean onLoadMore(int page, int totalItemsCount); + + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) { + // Don't take any action on changed + } +} diff --git a/utility/src/main/java/com/android/utility/RecyclerViewEndlessScrollListener.java b/utility/src/main/java/com/android/utility/RecyclerViewEndlessScrollListener.java new file mode 100644 index 0000000..0953839 --- /dev/null +++ b/utility/src/main/java/com/android/utility/RecyclerViewEndlessScrollListener.java @@ -0,0 +1,110 @@ +package com.android.utility; + +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.StaggeredGridLayoutManager; + +/** + * Created by pawan on 22/2/17. + */ + +public abstract class RecyclerViewEndlessScrollListener extends RecyclerView.OnScrollListener { + // The minimum amount of items to have below your current scroll position + // before loading more. + private int visibleThreshold = 5; + // The current offset index of data you have loaded + private int currentPage = 0; + // The total number of items in the dataset after the last load + private int previousTotalItemCount = 0; + // True if we are still waiting for the last set of data to load. + private boolean loading = true; + // Sets the starting page index + private int startingPageIndex = 0; + + RecyclerView.LayoutManager mLayoutManager; + + public RecyclerViewEndlessScrollListener(LinearLayoutManager layoutManager) { + this.mLayoutManager = layoutManager; + } + + public RecyclerViewEndlessScrollListener(GridLayoutManager layoutManager) { + this.mLayoutManager = layoutManager; + visibleThreshold = visibleThreshold * layoutManager.getSpanCount(); + } + + public RecyclerViewEndlessScrollListener(StaggeredGridLayoutManager layoutManager) { + this.mLayoutManager = layoutManager; + visibleThreshold = visibleThreshold * layoutManager.getSpanCount(); + } + + public int getLastVisibleItem(int[] lastVisibleItemPositions) { + int maxSize = 0; + for (int i = 0; i < lastVisibleItemPositions.length; i++) { + if (i == 0) { + maxSize = lastVisibleItemPositions[i]; + } + else if (lastVisibleItemPositions[i] > maxSize) { + maxSize = lastVisibleItemPositions[i]; + } + } + return maxSize; + } + + // This happens many times a second during a scroll, so be wary of the code you place here. + // We are given a few useful parameters to help us work out if we need to load some more data, + // but first we check if we are waiting for the previous load to finish. + @Override + public void onScrolled(RecyclerView view, int dx, int dy) { + int lastVisibleItemPosition = 0; + int totalItemCount = mLayoutManager.getItemCount(); + + if (mLayoutManager instanceof StaggeredGridLayoutManager) { + int[] lastVisibleItemPositions = ((StaggeredGridLayoutManager) mLayoutManager).findLastVisibleItemPositions(null); + // get maximum element within the list + lastVisibleItemPosition = getLastVisibleItem(lastVisibleItemPositions); + } else if (mLayoutManager instanceof GridLayoutManager) { + lastVisibleItemPosition = ((GridLayoutManager) mLayoutManager).findLastVisibleItemPosition(); + } else if (mLayoutManager instanceof LinearLayoutManager) { + lastVisibleItemPosition = ((LinearLayoutManager) mLayoutManager).findLastVisibleItemPosition(); + } + + // If the total item count is zero and the previous isn't, assume the + // list is invalidated and should be reset back to initial state + if (totalItemCount < previousTotalItemCount) { + this.currentPage = this.startingPageIndex; + this.previousTotalItemCount = totalItemCount; + if (totalItemCount == 0) { + this.loading = true; + } + } + // If it’s still loading, we check to see if the dataset count has + // changed, if so we conclude it has finished loading and update the current page + // number and total item count. + if (loading && (totalItemCount > previousTotalItemCount)) { + loading = false; + previousTotalItemCount = totalItemCount; + } + + // If it isn’t currently loading, we check to see if we have breached + // the visibleThreshold and need to reload more data. + // If we do need to reload some more data, we execute onLoadMore to fetch the data. + // threshold should reflect how many total columns there are too + if (!loading && (lastVisibleItemPosition + visibleThreshold) > totalItemCount) { + currentPage++; + onLoadMore(currentPage, totalItemCount, view); + loading = true; + } + } + + // Call this method whenever performing new searches + public void resetState() { + this.currentPage = this.startingPageIndex; + this.previousTotalItemCount = 0; + this.loading = true; + } + + // Defines the process for actually loading more data based on page + public abstract void onLoadMore(int page, int totalItemsCount, RecyclerView view); + +} From 1ed39c90f51b4ca7e8437d31c779f2a94653d1fb Mon Sep 17 00:00:00 2001 From: pawan singh chauhan Date: Tue, 28 Feb 2017 17:28:55 +0530 Subject: [PATCH 02/10] circular image view added --- .../androidutility/activity/MainActivity.java | 8 ++ app/src/main/res/drawable/pp.jpg | Bin 0 -> 51197 bytes app/src/main/res/layout/activity_main.xml | 9 +++ .../android/utility/CircularImageView.java | 76 ++++++++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 app/src/main/res/drawable/pp.jpg create mode 100644 utility/src/main/java/com/android/utility/CircularImageView.java diff --git a/app/src/main/java/com/androidutility/activity/MainActivity.java b/app/src/main/java/com/androidutility/activity/MainActivity.java index c77e4a9..d416bc6 100644 --- a/app/src/main/java/com/androidutility/activity/MainActivity.java +++ b/app/src/main/java/com/androidutility/activity/MainActivity.java @@ -1,10 +1,14 @@ package com.androidutility.activity; import android.Manifest; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; + +import com.android.utility.CircularImageView; import com.android.utility.RunTimePermission; import com.android.utility.RuntimePermissionInterface; import com.android.utility.Utils; @@ -16,11 +20,15 @@ public class MainActivity extends AppCompatActivity { public RunTimePermission permission; private String url = "http://www.maninblack.org/demos/WhereDoAllTheJunkiesComeFrom.mp3"; private String musicFileName = "music"; + private CircularImageView circularImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + circularImageView = (CircularImageView) findViewById(R.id.circularImageView); + Bitmap icon = BitmapFactory.decodeResource(getResources(),R.drawable.pp); + circularImageView.setImageBitmap(icon); getSupportFragmentManager() .beginTransaction() .replace(R.id.frameLayout, new TestFragment()) diff --git a/app/src/main/res/drawable/pp.jpg b/app/src/main/res/drawable/pp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58a2faf68379a711320558f59db8192abd5e696d GIT binary patch literal 51197 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 + +