Browse Source

#145 Let user go back from upload activity

Andy Scherzinger 8 năm trước cách đây
mục cha
commit
16b1a95cc5

+ 4 - 9
src/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -204,14 +204,12 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                             case R.id.nav_all_files:
                                 menuItem.setChecked(true);
                                 mCheckedMenuItem = menuItem.getItemId();
-                                MainApp.showOnlyFilesOnDevice(false);
-                                refreshDirectory();
+                                showFiles(false);
                                 break;
                              case R.id.nav_on_device:
                                  menuItem.setChecked(true);
                                  mCheckedMenuItem = menuItem.getItemId();
-                                 MainApp.showOnlyFilesOnDevice(true);
-                                 refreshDirectory();
+                                 showFiles(true);
                                  break;
                             case R.id.nav_uploads:
                                 Intent uploadListIntent = new Intent(getApplicationContext(),
@@ -251,6 +249,8 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
         }
     }
 
+    public abstract void showFiles(boolean onDeviceOnly);
+
     /**
      * sets the new/current account and restarts. In case the given account equals the actual/current account the
      * call will be ignored.
@@ -405,11 +405,6 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
         showMenu();
     }
 
-    /**
-     * Method that gets called on drawer menu click for 'All Files' and 'Offline Files'.
-     */
-    public abstract void refreshDirectory();
-
     /**
      * Updates title bar and home buttons (state and icon).
      * <p/>

+ 3 - 3
src/com/owncloud/android/ui/activity/FileActivity.java

@@ -73,7 +73,7 @@ import com.owncloud.android.utils.ErrorMessageAdapter;
 /**
  * Activity with common behaviour for activities handling {@link OCFile}s in ownCloud {@link Account}s .
  */
-public class FileActivity extends DrawerActivity
+public abstract class FileActivity extends DrawerActivity
         implements OnRemoteOperationListener, ComponentsGetter, SslUntrustedCertDialog.OnSslUntrustedCertListener {
 
     public static final String EXTRA_FILE = "com.owncloud.android.ui.activity.FILE";
@@ -119,8 +119,8 @@ public class FileActivity extends DrawerActivity
     private ServiceConnection mDownloadServiceConnection, mUploadServiceConnection = null;
 
     @Override
-    public void refreshDirectory() {
-        // implementation to be done in FileDisplayActivity
+    public void showFiles(boolean onDeviceOnly) {
+        // must be implemented in Drawer using subclasses
     }
 
     /**

+ 8 - 2
src/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -169,7 +169,11 @@ public class FileDisplayActivity extends HookActivity
         setupToolbar();
 
         // setup drawer
-        setupDrawer(R.id.nav_all_files);
+        if(MainApp.getOnlyOnDevice()) {
+            setupDrawer(R.id.nav_on_device);
+        } else {
+            setupDrawer(R.id.nav_all_files);
+        }
 
         mDualPane = getResources().getBoolean(R.bool.large_land_layout);
         mLeftFragmentContainer = findViewById(R.id.left_fragment_container);
@@ -1795,7 +1799,9 @@ public class FileDisplayActivity extends HookActivity
         browseToRoot();
     }
 
-    public void refreshDirectory() {
+    @Override
+    public void showFiles(boolean onDeviceOnly) {
+        MainApp.showOnlyFilesOnDevice(onDeviceOnly);
         getListOfFilesFragment().refreshDirectory();
     }
 }

+ 9 - 1
src/com/owncloud/android/ui/activity/UploadListActivity.java

@@ -34,12 +34,12 @@ import android.net.Uri;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.support.v4.app.FragmentTransaction;
-import android.support.v4.view.GravityCompat;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.OCFile;
@@ -71,6 +71,14 @@ public class UploadListActivity extends FileActivity implements UploadListFragme
 
     private UploadMessagesReceiver mUploadMessagesReceiver;
 
+    @Override
+    public void showFiles(boolean onDeviceOnly) {
+        MainApp.showOnlyFilesOnDevice(onDeviceOnly);
+        Intent i = new Intent(getApplicationContext(), FileDisplayActivity.class);
+        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+        startActivity(i);
+    }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

+ 0 - 5
src/com/owncloud/android/ui/preview/PreviewImageActivity.java

@@ -582,9 +582,4 @@ public class PreviewImageActivity extends FileActivity implements
         }
         return false;
     }
-
-    @Override
-    public void refreshDirectory() {
-        backToDisplayActivity();
-    }
 }