import android.util.AttributeSet;
import android.widget.ListView;
+import com.owncloud.android.lib.common.utils.Log_OC;
+
/**
* ListView allowing to specify the position of an item that should be centered in the visible area, if possible.
*
*/
public class ExtendedListView extends ListView {
+ private static final String TAG = ExtendedListView.class.getSimpleName();
+
private int mPositionToSetAndCenter = 0;
public ExtendedListView(Context context) {
protected void onDraw (Canvas canvas) {
super.onDraw(canvas);
if (mPositionToSetAndCenter > 0) {
+ Log_OC.v(TAG, "Centering around position " + mPositionToSetAndCenter);
this.setSelectionFromTop(mPositionToSetAndCenter, getHeight() / 2);
mPositionToSetAndCenter = 0;
}
if (savedInstanceState != null) {
int referencePosition = savedInstanceState.getInt(KEY_SAVED_LIST_POSITION);
- mListView.setAndCenterSelection(referencePosition);
- mGridView.setSelection(referencePosition);
+ if (mCurrentListView == mListView) {
+ Log_OC.v(TAG, "Setting and centering around list position " + referencePosition);
+ mListView.setAndCenterSelection(referencePosition);
+ } else {
+ Log_OC.v(TAG, "Setting grid position " + referencePosition);
+ mGridView.setSelection(referencePosition);
+ }
}
// Pull-down to refresh layout
final int firstPosition = mFirstPositions.remove(mFirstPositions.size() -1);
int top = mTops.remove(mTops.size() - 1);
- Log_OC.d(TAG, "Setting selection to position: " + firstPosition + "; top: " + top + "; index: " + index);
+ Log_OC.v(TAG, "Setting selection to position: " + firstPosition + "; top: " + top + "; index: " + index);
if (mCurrentListView == mListView) {
if (mHeightCell*index <= mListView.getHeight()) {