Ver código fonte

Merge pull request #7527 from nextcloud/moveAutoUploadToSettings

Move auto upload to settings
Andy Scherzinger 4 anos atrás
pai
commit
72f980ed94
22 arquivos alterados com 62 adições e 66 exclusões
  1. BIN
      screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png
  2. BIN
      screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_blue.png
  3. BIN
      screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png
  4. BIN
      screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_blue.png
  5. BIN
      screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png
  6. BIN
      screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_blue.png
  7. BIN
      screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png
  8. BIN
      screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_blue.png
  9. BIN
      screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png
  10. BIN
      screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_blue.png
  11. BIN
      screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png
  12. BIN
      screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_blue.png
  13. BIN
      screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities.png
  14. 1 1
      scripts/analysis/lint-results.txt
  15. 5 2
      src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.java
  16. 0 1
      src/main/java/com/nextcloud/client/jobs/MediaFoldersDetectionWork.kt
  17. 0 5
      src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
  18. 17 3
      src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java
  19. 34 49
      src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java
  20. 0 5
      src/main/res/menu/partial_drawer_entries.xml
  21. 1 0
      src/main/res/values/strings.xml
  22. 4 0
      src/main/res/xml/preferences.xml

BIN
screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer_dark_blue.png


BIN
screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer_dark_blue.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open_dark_blue.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error_dark_blue.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open.png


BIN
screenshots/gplay/debug/com.nextcloud.client.SyncedFoldersActivityIT_open_dark_blue.png


BIN
screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png


BIN
screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer_dark_blue.png


BIN
screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showDetailsActivities.png


+ 1 - 1
scripts/analysis/lint-results.txt

@@ -1,2 +1,2 @@
 DO NOT TOUCH; GENERATED BY DRONE
-      <span class="mdl-layout-title">Lint Report: 273 warnings</span>
+      <span class="mdl-layout-title">Lint Report: 271 warnings</span>

+ 5 - 2
src/androidTest/java/com/nextcloud/client/SyncedFoldersActivityIT.java

@@ -23,6 +23,7 @@
 package com.nextcloud.client;
 
 import android.Manifest;
+import android.app.Activity;
 import android.content.Intent;
 
 import com.owncloud.android.AbstractIT;
@@ -54,8 +55,10 @@ public class SyncedFoldersActivityIT extends AbstractIT {
 
     @Test
     @ScreenshotTest
-    public void openDrawer() {
-        super.openDrawer(activityRule);
+    public void open() {
+        Activity sut = activityRule.launchActivity(null);
+
+        screenshot(sut);
     }
 
     @Test

+ 0 - 1
src/main/java/com/nextcloud/client/jobs/MediaFoldersDetectionWork.kt

@@ -193,7 +193,6 @@ class MediaFoldersDetectionWork constructor(
         intent.putExtra(NotificationWork.KEY_NOTIFICATION_ACCOUNT, user.accountName)
         intent.putExtra(KEY_MEDIA_FOLDER_PATH, path)
         intent.putExtra(KEY_MEDIA_FOLDER_TYPE, type)
-        intent.putExtra(SyncedFoldersActivity.EXTRA_SHOW_SIDEBAR, true)
         val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT)
         val notificationBuilder = NotificationCompat.Builder(
             context,

+ 0 - 5
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -314,8 +314,6 @@ public abstract class DrawerActivity extends ToolbarActivity
         DrawerMenuUtil.removeMenuItem(menu, R.id.nav_contacts, !getResources().getBoolean(R.bool.contacts_backup)
             || !getResources().getBoolean(R.bool.show_drawer_contacts_backup));
 
-        DrawerMenuUtil.removeMenuItem(menu, R.id.nav_synced_folders,
-                                      getResources().getBoolean(R.bool.syncedFolder_light));
         DrawerMenuUtil.removeMenuItem(menu, R.id.nav_logout, !getResources().getBoolean(R.bool.show_drawer_logout));
     }
 
@@ -367,9 +365,6 @@ public abstract class DrawerActivity extends ToolbarActivity
             case R.id.nav_notifications:
                 startActivity(NotificationsActivity.class);
                 break;
-            case R.id.nav_synced_folders:
-                startActivity(SyncedFoldersActivity.class);
-                break;
             case R.id.nav_contacts:
                 ContactsPreferenceActivity.startActivity(this);
                 break;

+ 17 - 3
src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java

@@ -317,6 +317,8 @@ public class SettingsActivity extends ThemedPreferenceActivity
         preferenceCategoryMore.setTitle(ThemeUtils.getColoredTitle(getString(R.string.prefs_category_more),
                 accentColor));
 
+        setupAutoUploadPreference(preferenceCategoryMore);
+
         setupCalendarPreference(preferenceCategoryMore);
 
         setupContactsBackupPreference(preferenceCategoryMore);
@@ -455,6 +457,19 @@ public class SettingsActivity extends ThemedPreferenceActivity
         }
     }
 
+    private void setupAutoUploadPreference(PreferenceCategory preferenceCategoryMore) {
+        Preference autoUpload = findPreference("syncedFolders");
+        if (getResources().getBoolean(R.bool.syncedFolder_light)) {
+            preferenceCategoryMore.removePreference(autoUpload);
+        } else {
+            autoUpload.setOnPreferenceClickListener(preference -> {
+                Intent intent = new Intent(this, SyncedFoldersActivity.class);
+                startActivity(intent);
+                return true;
+            });
+        }
+    }
+
     private void setupContactsBackupPreference(PreferenceCategory preferenceCategoryMore) {
         boolean contactsBackupEnabled = !getResources().getBoolean(R.bool.show_drawer_contacts_backup)
                 && getResources().getBoolean(R.bool.contacts_backup);
@@ -618,9 +633,8 @@ public class SettingsActivity extends ThemedPreferenceActivity
                 if (getResources().getBoolean(R.bool.syncedFolder_light)
                         && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                     pSyncedFolder.setOnPreferenceClickListener(preference -> {
-                        Intent syncedFoldersIntent = new Intent(getApplicationContext(), SyncedFoldersActivity.class);
-                        syncedFoldersIntent.putExtra(SyncedFoldersActivity.EXTRA_SHOW_SIDEBAR, false);
-                        startActivity(syncedFoldersIntent);
+                        Intent intent = new Intent(this, SyncedFoldersActivity.class);
+                        startActivity(intent);
                         return true;
                     });
                 } else {

+ 34 - 49
src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java

@@ -28,6 +28,7 @@ import android.app.NotificationManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
@@ -82,6 +83,7 @@ import javax.inject.Inject;
 
 import androidx.annotation.NonNull;
 import androidx.appcompat.app.AlertDialog;
+import androidx.core.content.res.ResourcesCompat;
 import androidx.drawerlayout.widget.DrawerLayout;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
@@ -98,7 +100,6 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
         SyncedFolderPreferencesDialogFragment.OnSyncedFolderPreferenceListener, Injectable {
 
     private static final String[] PRIORITIZED_FOLDERS = new String[]{"Camera", "Screenshots"};
-    public static final String EXTRA_SHOW_SIDEBAR = "SHOW_SIDEBAR";
     private static final String SYNCED_FOLDER_PREFERENCES_DIALOG_TAG = "SYNCED_FOLDER_PREFERENCES_DIALOG";
     private static final String TAG = SyncedFoldersActivity.class.getSimpleName();
 
@@ -106,7 +107,6 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
     private SyncedFolderAdapter adapter;
     private SyncedFolderProvider syncedFolderProvider;
     private SyncedFolderPreferencesDialogFragment syncedFolderPreferencesDialogFragment;
-    private boolean showSidebar = true;
 
     private String path;
     private int type;
@@ -119,10 +119,6 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        if (getIntent().getExtras() != null) {
-            showSidebar = getIntent().getExtras().getBoolean(EXTRA_SHOW_SIDEBAR);
-        }
-
         binding = SyncedFoldersLayoutBinding.inflate(getLayoutInflater());
         setContentView(binding.getRoot());
 
@@ -151,11 +147,14 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
         setupToolbar();
         updateActionBarTitleAndHomeButtonByString(getString(R.string.drawer_synced_folders));
 
-        // setup drawer
-        setupDrawer(R.id.nav_synced_folders);
+        setupDrawer();
+        setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
+
+        if (getSupportActionBar() != null) {
+            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+        }
 
-        if (!showSidebar) {
-            setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
+        if (mDrawerToggle != null) {
             mDrawerToggle.setDrawerIndicatorEnabled(false);
         }
 
@@ -520,45 +519,32 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         boolean result = true;
-        switch (item.getItemId()) {
-            case android.R.id.home: {
-                if (showSidebar) {
-                    if (isDrawerOpen()) {
-                        closeDrawer();
-                    } else {
-                        openDrawer();
-                    }
-                } else {
-                    Intent settingsIntent = new Intent(getApplicationContext(), SettingsActivity.class);
-                    startActivity(settingsIntent);
-                }
-                break;
-            }
-
-            case R.id.action_create_custom_folder: {
-                Log.d(TAG, "Show custom folder dialog");
-                SyncedFolderDisplayItem emptyCustomFolder = new SyncedFolderDisplayItem(
-                    SyncedFolder.UNPERSISTED_ID,
-                    null,
-                    null,
-                    true,
-                    false,
-                    true,
-                    false,
-                    getAccount().name,
-                    FileUploader.LOCAL_BEHAVIOUR_FORGET,
-                    FileUploader.NameCollisionPolicy.ASK_USER.serialize(),
-                    false,
-                    clock.getCurrentTime(),
-                    null,
-                    MediaFolderType.CUSTOM,
-                    false);
-                onSyncFolderSettingsClick(0, emptyCustomFolder);
-            }
+        int itemId = item.getItemId();
+        if (itemId == android.R.id.home) {
+            finish();
+        } else if (itemId == R.id.action_create_custom_folder) {
+            Log.d(TAG, "Show custom folder dialog");
+            SyncedFolderDisplayItem emptyCustomFolder = new SyncedFolderDisplayItem(
+                UNPERSISTED_ID,
+                null,
+                null,
+                true,
+                false,
+                true,
+                false,
+                getAccount().name,
+                FileUploader.LOCAL_BEHAVIOUR_FORGET,
+                FileUploader.NameCollisionPolicy.ASK_USER.serialize(),
+                false,
+                clock.getCurrentTime(),
+                null,
+                MediaFolderType.CUSTOM,
+                false);
+            onSyncFolderSettingsClick(0, emptyCustomFolder);
 
-            default:
-                result = super.onOptionsItemSelected(item);
-                break;
+            result = super.onOptionsItemSelected(item);
+        } else {
+            result = super.onOptionsItemSelected(item);
         }
 
         return result;
@@ -800,7 +786,6 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
     @Override
     protected void onResume() {
         super.onResume();
-        setDrawerMenuItemChecked(R.id.nav_synced_folders);
     }
 
     private void showBatteryOptimizationInfo() {

+ 0 - 5
src/main/res/menu/partial_drawer_entries.xml

@@ -76,11 +76,6 @@
             android:id="@+id/nav_notifications"
             android:icon="@drawable/nav_notifications"
             android:title="@string/drawer_item_notifications"/>
-        <item
-            android:orderInCategory="0"
-            android:id="@+id/nav_synced_folders"
-            android:icon="@drawable/nav_synced_folders"
-            android:title="@string/drawer_synced_folders"/>
         <item
             android:id="@+id/nav_uploads"
             android:icon="@drawable/uploads"

+ 1 - 0
src/main/res/values/strings.xml

@@ -52,6 +52,7 @@
     <string name="prefs_calendar_contacts_no_store_error">Neither F-Droid nor Google Play is installed</string>
     <string name="prefs_calendar_contacts_sync_setup_successful">Calendar &amp; contacts sync set up</string>
     <string name="prefs_daily_contacts_sync_summary">Daily backup of your contacts</string>
+    <string name="prefs_sycned_folders_summary">Manage folders for auto upload</string>
     <string name="prefs_help">Help</string>
     <string name="prefs_recommend">Recommend to friend</string>
     <string name="prefs_imprint">Imprint</string>

+ 4 - 0
src/main/res/xml/preferences.xml

@@ -60,6 +60,10 @@
 	</PreferenceCategory>
 
 	<PreferenceCategory android:title="@string/prefs_category_more" android:key="more">
+        <Preference
+            android:title="@string/drawer_synced_folders"
+            android:key="syncedFolders"
+            android:summary="@string/prefs_sycned_folders_summary"/>
 		<Preference android:title="@string/prefs_calendar_contacts"
 					android:key="calendar_contacts"
 					android:summary="@string/prefs_calendar_contacts_summary" />