Merge branch 'develop' into pull_down_refresh
authormasensio <masensio@solidgear.es>
Fri, 30 May 2014 06:35:19 +0000 (08:35 +0200)
committermasensio <masensio@solidgear.es>
Fri, 30 May 2014 06:35:19 +0000 (08:35 +0200)
res/layout/list_fragment.xml
res/values/setup.xml
src/com/owncloud/android/ui/activity/FileDisplayActivity.java
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java
src/com/owncloud/android/ui/fragment/LocalFileListFragment.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
third_party/android-support-library/android-support-v4.jar

index 00e6b41..c5dbef1 100644 (file)
        android:layout_weight="1"
        android:orientation="vertical" >
 
-       <com.owncloud.android.ui.ExtendedListView
-        android:id="@+id/list_root"
+    <android.support.v4.widget.SwipeRefreshLayout
+        android:id="@+id/swipe_refresh_files"
         android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="1" 
-       />
-    
+        android:layout_height="match_parent" >
+
+        <com.owncloud.android.ui.ExtendedListView
+            android:id="@+id/list_root"
+            android:layout_width="match_parent"
+            android:layout_height="0dip"
+            android:layout_weight="1" />
+        
+    </android.support.v4.widget.SwipeRefreshLayout>
+
     <TextView
        android:id="@+id/empty_list_view"
         android:layout_width="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 04d2813..537ed74 100644 (file)
@@ -927,6 +927,13 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
                         removeStickyBroadcast(intent);
                         Log_OC.d(TAG, "Setting progress visibility to " + mSyncInProgress);
                         setSupportProgressBarIndeterminateVisibility(mSyncInProgress /*|| mRefreshSharesInProgress*/);
+                        
+                        if (mSyncInProgress) {
+                            getListOfFilesFragment().showSwipeProgress();
+                            
+                        } else {
+                            getListOfFilesFragment().hideSwipeProgress();
+                        }
                 }
                 
                 if (synchResult != null) {
index 409c5e6..8b54555 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,40 @@ 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);
+    }
+    
+    /**
+     * It shows the SwipeRefreshLayout progress
+     */
+    public void showSwipeProgress() {
+        mRefreshLayout.setRefreshing(true);
+    }
+    /**
+     * It shows the SwipeRefreshLayout progress
+     */
+    public void hideSwipeProgress() {
+        mRefreshLayout.setRefreshing(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..23bfe6e 100644 (file)
@@ -106,6 +106,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) {
@@ -432,5 +433,19 @@ public class OCFileListFragment extends ExtendedListFragment {
             mFile = directory;
         }
     }
+
+
+    @Override
+    public void onRefresh() {
+        super.onRefresh();
+        
+        if (mFile != null) {
+            listDirectory(mFile);
+            
+            ((FileDisplayActivity)mContainerActivity).startSyncFolderOperation(mFile);
+        }
+    }
+    
+    
     
 }
index 96644ed..187bdf4 100644 (file)
Binary files a/third_party/android-support-library/android-support-v4.jar and b/third_party/android-support-library/android-support-v4.jar differ