Select the animation for the SwipeRefreshLayout
authormasensio <masensio@solidgear.es>
Thu, 29 May 2014 15:07:16 +0000 (17:07 +0200)
committermasensio <masensio@solidgear.es>
Thu, 29 May 2014 15:07:16 +0000 (17:07 +0200)
res/layout/list_fragment.xml
res/values/setup.xml
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java
src/com/owncloud/android/ui/fragment/LocalFileListFragment.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

index 8c578b7..c5dbef1 100644 (file)
@@ -24,7 +24,7 @@
        android:orientation="vertical" >
 
     <android.support.v4.widget.SwipeRefreshLayout
-        android:id="@+id/srl_main"
+        android:id="@+id/swipe_refresh_files"
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
 
index 932612e..097ff48 100644 (file)
     <color name="actionbar_start_color">#1D2D44</color>
     <color name="actionbar_end_color">#1D2D44</color>
     
+    <color name="refresh_color_start">#00ddff</color>
+    <color name="refresh_color_middle_1">#1D2D44</color>
+    <color name="refresh_color_middle_2">#FFFFFF</color>
+    <color name="refresh_color_end">#00ddff</color>
+    
     <!-- Button -->
     <color name="button_text_color">#000000</color>
     
index 409c5e6..915e455 100644 (file)
@@ -25,6 +25,7 @@ import com.owncloud.android.utils.Log_OC;
 
 
 import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -36,7 +37,7 @@ import android.widget.ListView;
 /**
  *  TODO extending SherlockListFragment instead of SherlockFragment 
  */
-public class ExtendedListFragment extends SherlockFragment implements OnItemClickListener {
+public class ExtendedListFragment extends SherlockFragment implements OnItemClickListener, SwipeRefreshLayout.OnRefreshListener{
     
     private static final String TAG = ExtendedListFragment.class.getSimpleName();
 
@@ -44,6 +45,8 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
 
     protected ExtendedListView mList;
     
+    private SwipeRefreshLayout mRefreshLayout;
+    
     public void setListAdapter(ListAdapter listAdapter) {
         mList.setAdapter(listAdapter);
         mList.invalidate();
@@ -58,6 +61,7 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         Log_OC.e(TAG, "onCreateView");
         //mList = new ExtendedListView(getActivity());
+        
         View v = inflater.inflate(R.layout.list_fragment, null);
         mList = (ExtendedListView)(v.findViewById(R.id.list_root));
         mList.setOnItemClickListener(this);
@@ -70,6 +74,14 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
             setReferencePosition(referencePosition);
         }
         
+        // Pull down refresh
+        mRefreshLayout = (SwipeRefreshLayout) v.findViewById(R.id.swipe_refresh_files);
+        mRefreshLayout.setColorScheme(R.color.refresh_color_start,
+                R.color.refresh_color_middle_1, 
+                R.color.refresh_color_middle_2, 
+                R.color.refresh_color_end);
+        mRefreshLayout.setOnRefreshListener(this);
+        
         return v;
     }
 
@@ -115,5 +127,26 @@ public class ExtendedListFragment extends SherlockFragment implements OnItemClic
         // to be @overriden  
     }
 
+    @Override
+    public void onRefresh() {
+        // to be @overriden  
+        
+    }
+
+    /**
+     * Enables swipe gesture
+     */
+    public void enableSwipe() {
+        mRefreshLayout.setEnabled(true);
+    }
+    /**
+     * Disables swipe gesture. It prevents manual gestures but keeps the option you show
+     * refreshing programmatically.
+     */
+    public void disableSwipe() {
+        mRefreshLayout.setEnabled(false);
+    }
     
 }
index 270a8d5..bc46601 100644 (file)
@@ -77,6 +77,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
         Log_OC.i(TAG, "onCreateView() start");
         View v = super.onCreateView(inflater, container, savedInstanceState);
         getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
+        disableSwipe(); // Disable pull refresh
         Log_OC.i(TAG, "onCreateView() end");
         return v;
     }    
index a3bd3c2..6b7d30a 100644 (file)
@@ -35,6 +35,7 @@ import com.owncloud.android.utils.Log_OC;
 
 import android.app.Activity;
 import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
 import android.view.ContextMenu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -106,6 +107,7 @@ public class OCFileListFragment extends ExtendedListFragment {
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         Log_OC.e(TAG, "onActivityCreated() start");
+        
         mAdapter = new FileListListAdapter(getSherlockActivity(), mContainerActivity); 
                 
         if (savedInstanceState != null) {