cleanup
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / ExtendedListView.java
index ba1e360..c28ff1c 100644 (file)
@@ -1,10 +1,10 @@
 /* ownCloud Android client application
  *   Copyright (C) 2012 Bartek Przybylski
+ *   Copyright (C) 2012-2013 ownCloud Inc.
  *
  *   This program is free software: you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation, either version 3 of the License, or
- *   (at your option) any later version.
+ *   it under the terms of the GNU General Public License version 2,
+ *   as published by the Free Software Foundation.
  *
  *   This program is distributed in the hope that it will be useful,
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,18 +21,18 @@ package com.owncloud.android.ui;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.util.AttributeSet;
-import android.widget.ListView;
+import android.widget.GridView;
 
 /**
- * ListView allowing to specify the position of an item that should be centered in the visible area, if possible.
+ * GridView allowing to specify the position of an item that should be top left in the visible area, if possible.
  * 
  * The cleanest way I found to overcome the problem due to getHeight() returns 0 until the view is really drawn. 
  *  
  * @author David A. Velasco
  */
-public class ExtendedListView extends ListView {
+public class ExtendedListView extends GridView {
 
-    private int mPositionToSetAndCenter;
+    private int mPositionToSetTopLeft;
 
     public ExtendedListView(Context context) {
         super(context);
@@ -45,7 +45,7 @@ public class ExtendedListView extends ListView {
     public ExtendedListView(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
     }
-
+    
     /**
      * {@inheritDoc}
      * 
@@ -54,20 +54,20 @@ public class ExtendedListView extends ListView {
     @Override
     protected void onDraw (Canvas canvas) {
         super.onDraw(canvas);
-        if (mPositionToSetAndCenter > 0) {
-            this.setSelectionFromTop(mPositionToSetAndCenter, getHeight() / 2);
-            mPositionToSetAndCenter = 0;
+        if (mPositionToSetTopLeft > 0) {
+            this.smoothScrollToPosition(mPositionToSetTopLeft);
+            mPositionToSetTopLeft = 0;
         }
     }
     
     /**
-     * Public method to set the position of the item that should be centered in the visible area of the view.
+     * Public method to set the position of the item that should be top left in the visible area of the view.
      * 
      * The position is saved here and checked in onDraw().
      *  
-     * @param position         Position (in the list of items) of the item to center in the visible area.     
+     * @param position         Position (in the list of items) of the item to be top left in the visible area.     
      */
-    public void setAndCenterSelection(int position) {
-        mPositionToSetAndCenter = position;
+    public void setSelectionAsTopLeft(int position) {
+        mPositionToSetTopLeft = position;
     }
 }