Эх сурвалжийг харах

Remove unneeded checks for M build target

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 3 жил өмнө
parent
commit
bbcfdbe98d

+ 5 - 8
src/main/java/com/nextcloud/client/jobs/NotificationWork.kt

@@ -31,7 +31,6 @@ import android.content.Context
 import android.content.Intent
 import android.content.Intent
 import android.graphics.BitmapFactory
 import android.graphics.BitmapFactory
 import android.media.RingtoneManager
 import android.media.RingtoneManager
-import android.os.Build
 import android.text.TextUtils
 import android.text.TextUtils
 import android.util.Base64
 import android.util.Base64
 import android.util.Log
 import android.util.Log
@@ -283,15 +282,13 @@ class NotificationWork constructor(
                             Activity.NOTIFICATION_SERVICE
                             Activity.NOTIFICATION_SERVICE
                         ) as NotificationManager
                         ) as NotificationManager
                         var oldNotification: android.app.Notification? = null
                         var oldNotification: android.app.Notification? = null
-                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && notificationManager != null) {
-                            for (statusBarNotification in notificationManager.activeNotifications) {
-                                if (numericNotificationId == statusBarNotification.id) {
-                                    oldNotification = statusBarNotification.notification
-                                    break
-                                }
+                        for (statusBarNotification in notificationManager.activeNotifications) {
+                            if (numericNotificationId == statusBarNotification.id) {
+                                oldNotification = statusBarNotification.notification
+                                break
                             }
                             }
-                            cancel(context, numericNotificationId)
                         }
                         }
+                        cancel(context, numericNotificationId)
                         try {
                         try {
                             val optionalUser = accountManager.getUser(accountName)
                             val optionalUser = accountManager.getUser(accountName)
                             if (optionalUser.isPresent) {
                             if (optionalUser.isPresent) {

+ 4 - 11
src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java

@@ -20,7 +20,6 @@
 
 
 package com.nextcloud.client.network;
 package com.nextcloud.client.network;
 
 
-import android.annotation.SuppressLint;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager;
 import android.net.Network;
 import android.net.Network;
 import android.net.NetworkCapabilities;
 import android.net.NetworkCapabilities;
@@ -34,7 +33,6 @@ import com.nextcloud.operations.GetMethod;
 import org.apache.commons.httpclient.HttpStatus;
 import org.apache.commons.httpclient.HttpStatus;
 
 
 import androidx.core.net.ConnectivityManagerCompat;
 import androidx.core.net.ConnectivityManagerCompat;
-import kotlin.jvm.functions.Function0;
 import kotlin.jvm.functions.Function1;
 import kotlin.jvm.functions.Function1;
 
 
 class ConnectivityServiceImpl implements ConnectivityService {
 class ConnectivityServiceImpl implements ConnectivityService {
@@ -111,16 +109,11 @@ class ConnectivityServiceImpl implements ConnectivityService {
         }
         }
     }
     }
 
 
-    @SuppressLint("NewApi") // false positive due to mocking
     private boolean isNetworkMetered() {
     private boolean isNetworkMetered() {
-        if (sdkVersion >= android.os.Build.VERSION_CODES.M) {
-            final Network network = platformConnectivityManager.getActiveNetwork();
-            NetworkCapabilities networkCapabilities = platformConnectivityManager.getNetworkCapabilities(network);
-            if (networkCapabilities != null) {
-                return !networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED);
-            } else {
-                return ConnectivityManagerCompat.isActiveNetworkMetered(platformConnectivityManager);
-            }
+        final Network network = platformConnectivityManager.getActiveNetwork();
+        NetworkCapabilities networkCapabilities = platformConnectivityManager.getNetworkCapabilities(network);
+        if (networkCapabilities != null) {
+            return !networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED);
         } else {
         } else {
             return ConnectivityManagerCompat.isActiveNetworkMetered(platformConnectivityManager);
             return ConnectivityManagerCompat.isActiveNetworkMetered(platformConnectivityManager);
         }
         }

+ 3 - 5
src/main/java/com/owncloud/android/authentication/PassCodeManager.java

@@ -22,7 +22,6 @@ package com.owncloud.android.authentication;
 import android.app.Activity;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
-import android.os.Build;
 import android.os.PowerManager;
 import android.os.PowerManager;
 import android.os.SystemClock;
 import android.os.SystemClock;
 import android.view.Window;
 import android.view.Window;
@@ -95,7 +94,7 @@ public final class PassCodeManager {
         }
         }
 
 
         if (!exemptOfPasscodeActivities.contains(activity.getClass()) &&
         if (!exemptOfPasscodeActivities.contains(activity.getClass()) &&
-            Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && deviceCredentialsShouldBeRequested(timestamp, activity)) {
+            deviceCredentialsShouldBeRequested(timestamp, activity)) {
             askedForPin = true;
             askedForPin = true;
 
 
             preferences.setLockTimestamp(0);
             preferences.setLockTimestamp(0);
@@ -142,8 +141,7 @@ public final class PassCodeManager {
 
 
     private boolean deviceCredentialsAreEnabled(Activity activity) {
     private boolean deviceCredentialsAreEnabled(Activity activity) {
         return SettingsActivity.LOCK_DEVICE_CREDENTIALS.equals(preferences.getLockPreference())
         return SettingsActivity.LOCK_DEVICE_CREDENTIALS.equals(preferences.getLockPreference())
-                || Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
-                        (preferences.isFingerprintUnlockEnabled()
-                                && DeviceCredentialUtils.areCredentialsAvailable(activity));
+            || (preferences.isFingerprintUnlockEnabled()
+            && DeviceCredentialUtils.areCredentialsAvailable(activity));
     }
     }
 }
 }

+ 1 - 3
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -41,7 +41,6 @@ import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.LayerDrawable;
 import android.net.Uri;
 import android.net.Uri;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Handler;
 import android.os.SystemClock;
 import android.os.SystemClock;
@@ -1001,8 +1000,7 @@ public abstract class DrawerActivity extends ToolbarActivity
                 setAccount(accountManager.getCurrentAccount(), false);
                 setAccount(accountManager.getCurrentAccount(), false);
                 restart();
                 restart();
             }
             }
-        } else if (requestCode == PassCodeManager.PASSCODE_ACTIVITY &&
-            Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && data != null) {
+        } else if (requestCode == PassCodeManager.PASSCODE_ACTIVITY && data != null) {
             int result = data.getIntExtra(RequestCredentialsActivity.KEY_CHECK_RESULT,
             int result = data.getIntExtra(RequestCredentialsActivity.KEY_CHECK_RESULT,
                                           RequestCredentialsActivity.KEY_CHECK_RESULT_FALSE);
                                           RequestCredentialsActivity.KEY_CHECK_RESULT_FALSE);
 
 

+ 0 - 4
src/main/java/com/owncloud/android/ui/activity/RequestCredentialsActivity.java

@@ -24,7 +24,6 @@ import android.app.Activity;
 import android.app.KeyguardManager;
 import android.app.KeyguardManager;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
-import android.os.Build;
 import android.os.SystemClock;
 import android.os.SystemClock;
 import android.widget.Toast;
 import android.widget.Toast;
 
 
@@ -34,12 +33,9 @@ import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.utils.DeviceCredentialUtils;
 import com.owncloud.android.utils.DeviceCredentialUtils;
 import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.DisplayUtils;
 
 
-import androidx.annotation.RequiresApi;
-
 /**
 /**
  * Dummy activity that is used to handle the device's default authentication workflow.
  * Dummy activity that is used to handle the device's default authentication workflow.
  */
  */
-@RequiresApi(Build.VERSION_CODES.M)
 public class RequestCredentialsActivity extends Activity {
 public class RequestCredentialsActivity extends Activity {
 
 
     private static final String TAG = RequestCredentialsActivity.class.getSimpleName();
     private static final String TAG = RequestCredentialsActivity.class.getSimpleName();

+ 9 - 15
src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java

@@ -33,7 +33,6 @@ import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Configuration;
 import android.content.res.Configuration;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.ColorDrawable;
 import android.net.Uri;
 import android.net.Uri;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.preference.ListPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
 import android.preference.Preference;
@@ -89,7 +88,6 @@ import javax.inject.Inject;
 
 
 import androidx.annotation.LayoutRes;
 import androidx.annotation.LayoutRes;
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
-import androidx.annotation.RequiresApi;
 import androidx.annotation.VisibleForTesting;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AlertDialog;
@@ -421,7 +419,7 @@ public class SettingsActivity extends ThemedPreferenceActivity
 
 
         Preference pMnemonic = findPreference("mnemonic");
         Preference pMnemonic = findPreference("mnemonic");
         if (pMnemonic != null) {
         if (pMnemonic != null) {
-            if (!mnemonic.isEmpty() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+            if (!mnemonic.isEmpty()) {
                 if (DeviceCredentialUtils.areCredentialsAvailable(this)) {
                 if (DeviceCredentialUtils.areCredentialsAvailable(this)) {
                     pMnemonic.setOnPreferenceClickListener(preference -> {
                     pMnemonic.setOnPreferenceClickListener(preference -> {
 
 
@@ -571,8 +569,8 @@ public class SettingsActivity extends ThemedPreferenceActivity
             if (!passCodeEnabled) {
             if (!passCodeEnabled) {
                 lockEntries.remove(1);
                 lockEntries.remove(1);
                 lockValues.remove(1);
                 lockValues.remove(1);
-            } else if (!deviceCredentialsEnabled || Build.VERSION.SDK_INT < Build.VERSION_CODES.M ||
-                    !DeviceCredentialUtils.areCredentialsAvailable(getApplicationContext())) {
+            } else if (!deviceCredentialsEnabled ||
+                !DeviceCredentialUtils.areCredentialsAvailable(getApplicationContext())) {
                 lockEntries.remove(2);
                 lockEntries.remove(2);
                 lockValues.remove(2);
                 lockValues.remove(2);
             }
             }
@@ -628,8 +626,7 @@ public class SettingsActivity extends ThemedPreferenceActivity
 
 
             Preference pSyncedFolder = findPreference("synced_folders_configure_folders");
             Preference pSyncedFolder = findPreference("synced_folders_configure_folders");
             if (pSyncedFolder != null) {
             if (pSyncedFolder != null) {
-                if (getResources().getBoolean(R.bool.syncedFolder_light)
-                        && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+                if (getResources().getBoolean(R.bool.syncedFolder_light)) {
                     pSyncedFolder.setOnPreferenceClickListener(preference -> {
                     pSyncedFolder.setOnPreferenceClickListener(preference -> {
                         Intent intent = new Intent(this, SyncedFoldersActivity.class);
                         Intent intent = new Intent(this, SyncedFoldersActivity.class);
                         startActivity(intent);
                         startActivity(intent);
@@ -649,8 +646,7 @@ public class SettingsActivity extends ThemedPreferenceActivity
             i.setAction(PassCodeActivity.ACTION_REQUEST_WITH_RESULT);
             i.setAction(PassCodeActivity.ACTION_REQUEST_WITH_RESULT);
             startActivityForResult(i, ACTION_REQUEST_PASSCODE);
             startActivityForResult(i, ACTION_REQUEST_PASSCODE);
         } else if (LOCK_DEVICE_CREDENTIALS.equals(lock)){
         } else if (LOCK_DEVICE_CREDENTIALS.equals(lock)){
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
-                    !DeviceCredentialUtils.areCredentialsAvailable(getApplicationContext())) {
+            if (!DeviceCredentialUtils.areCredentialsAvailable(getApplicationContext())) {
                 DisplayUtils.showSnackMessage(this, R.string.prefs_lock_device_credentials_not_setup);
                 DisplayUtils.showSnackMessage(this, R.string.prefs_lock_device_credentials_not_setup);
             } else {
             } else {
                 DisplayUtils.showSnackMessage(this, R.string.prefs_lock_device_credentials_enabled);
                 DisplayUtils.showSnackMessage(this, R.string.prefs_lock_device_credentials_enabled);
@@ -852,21 +848,19 @@ public class SettingsActivity extends ThemedPreferenceActivity
         } else if (requestCode == ACTION_REQUEST_CODE_DAVDROID_SETUP && resultCode == RESULT_OK) {
         } else if (requestCode == ACTION_REQUEST_CODE_DAVDROID_SETUP && resultCode == RESULT_OK) {
             DisplayUtils.showSnackMessage(this, R.string.prefs_calendar_contacts_sync_setup_successful);
             DisplayUtils.showSnackMessage(this, R.string.prefs_calendar_contacts_sync_setup_successful);
         } else if (requestCode == ACTION_CONFIRM_DEVICE_CREDENTIALS && resultCode == RESULT_OK &&
         } else if (requestCode == ACTION_CONFIRM_DEVICE_CREDENTIALS && resultCode == RESULT_OK &&
-            Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
-                data.getIntExtra(RequestCredentialsActivity.KEY_CHECK_RESULT,
-                        RequestCredentialsActivity.KEY_CHECK_RESULT_FALSE) ==
-                        RequestCredentialsActivity.KEY_CHECK_RESULT_TRUE) {
+            data.getIntExtra(RequestCredentialsActivity.KEY_CHECK_RESULT,
+                             RequestCredentialsActivity.KEY_CHECK_RESULT_FALSE) ==
+                RequestCredentialsActivity.KEY_CHECK_RESULT_TRUE) {
             changeLockSetting(LOCK_NONE);
             changeLockSetting(LOCK_NONE);
             DisplayUtils.showSnackMessage(this, R.string.credentials_disabled);
             DisplayUtils.showSnackMessage(this, R.string.credentials_disabled);
             if (!LOCK_NONE.equals(pendingLock)) {
             if (!LOCK_NONE.equals(pendingLock)) {
                 enableLock(pendingLock);
                 enableLock(pendingLock);
             }
             }
-        } else if (requestCode == PassCodeManager.PASSCODE_ACTIVITY && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+        } else if (requestCode == PassCodeManager.PASSCODE_ACTIVITY) {
             handleMnemonicRequest(data);
             handleMnemonicRequest(data);
         }
         }
     }
     }
 
 
-    @RequiresApi(api = Build.VERSION_CODES.M)
     @VisibleForTesting
     @VisibleForTesting
     public void handleMnemonicRequest(Intent data) {
     public void handleMnemonicRequest(Intent data) {
         if (data == null) {
         if (data == null) {

+ 10 - 26
src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java

@@ -29,7 +29,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.net.Uri;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.PowerManager;
 import android.os.PowerManager;
 import android.text.TextUtils;
 import android.text.TextUtils;
@@ -66,7 +65,6 @@ import com.owncloud.android.ui.adapter.SyncedFolderAdapter;
 import com.owncloud.android.ui.decoration.MediaGridItemDecoration;
 import com.owncloud.android.ui.decoration.MediaGridItemDecoration;
 import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
 import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
 import com.owncloud.android.ui.dialog.parcel.SyncedFolderParcelable;
 import com.owncloud.android.ui.dialog.parcel.SyncedFolderParcelable;
-import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.PermissionUtil;
 import com.owncloud.android.utils.PermissionUtil;
 import com.owncloud.android.utils.SyncedFolderUtils;
 import com.owncloud.android.utils.SyncedFolderUtils;
 import com.owncloud.android.utils.theme.ThemeButtonUtils;
 import com.owncloud.android.utils.theme.ThemeButtonUtils;
@@ -795,22 +793,12 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
                 .setMessage(getString(R.string.battery_optimization_message))
                 .setMessage(getString(R.string.battery_optimization_message))
                 .setPositiveButton(getString(R.string.battery_optimization_disable), (dialog, which) -> {
                 .setPositiveButton(getString(R.string.battery_optimization_disable), (dialog, which) -> {
                     // show instant upload
                     // show instant upload
-                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-                        @SuppressLint("BatteryLife")
-                        Intent intent = new Intent(ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
-                                                   Uri.parse("package:" + BuildConfig.APPLICATION_ID));
-
-                        if (intent.resolveActivity(getPackageManager()) != null) {
-                            startActivity(intent);
-                        }
-                    } else {
-                        Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);
-                        if (getPackageManager().resolveActivity(powerUsageIntent, 0) != null) {
-                            startActivity(powerUsageIntent);
-                        } else {
-                            dialog.dismiss();
-                            DisplayUtils.showSnackMessage(this, getString(R.string.battery_optimization_no_setting));
-                        }
+                    @SuppressLint("BatteryLife")
+                    Intent intent = new Intent(ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
+                                               Uri.parse("package:" + BuildConfig.APPLICATION_ID));
+
+                    if (intent.resolveActivity(getPackageManager()) != null) {
+                        startActivity(intent);
                     }
                     }
                 })
                 })
                 .setNeutralButton(getString(R.string.battery_optimization_close), (dialog, which) -> dialog.dismiss())
                 .setNeutralButton(getString(R.string.battery_optimization_close), (dialog, which) -> dialog.dismiss())
@@ -830,16 +818,12 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA
      * @return true if battery optimization is enabled
      * @return true if battery optimization is enabled
      */
      */
     private boolean checkIfBatteryOptimizationEnabled() {
     private boolean checkIfBatteryOptimizationEnabled() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-            PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
-
-            if (powerManager == null) {
-                return true;
-            }
+        PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
 
 
-            return !powerManager.isIgnoringBatteryOptimizations(BuildConfig.APPLICATION_ID);
-        } else {
+        if (powerManager == null) {
             return true;
             return true;
         }
         }
+
+        return !powerManager.isIgnoringBatteryOptimizations(BuildConfig.APPLICATION_ID);
     }
     }
 }
 }

+ 15 - 19
src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java

@@ -33,7 +33,6 @@ import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.PictureDrawable;
 import android.graphics.drawable.PictureDrawable;
 import android.os.AsyncTask;
 import android.os.AsyncTask;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.Process;
 import android.os.Process;
 import android.text.SpannableString;
 import android.text.SpannableString;
@@ -666,22 +665,20 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
         layers[1] = bitmapDrawable;
         layers[1] = bitmapDrawable;
         LayerDrawable layerDrawable = new LayerDrawable(layers);
         LayerDrawable layerDrawable = new LayerDrawable(layers);
 
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-            Activity activity = getActivity();
-            if (activity != null) {
-                int bitmapWidth;
-                int bitmapHeight;
+        Activity activity = getActivity();
+        if (activity != null) {
+            int bitmapWidth;
+            int bitmapHeight;
 
 
-                if (MIME_TYPE_PNG.equalsIgnoreCase(result.ocFile.getMimeType())) {
-                    bitmapWidth = convertDpToPixel(bitmap.getWidth(), getActivity());
-                    bitmapHeight = convertDpToPixel(bitmap.getHeight(), getActivity());
-                } else {
-                    bitmapWidth = convertDpToPixel(bitmapDrawable.getIntrinsicWidth(), getActivity());
-                    bitmapHeight = convertDpToPixel(bitmapDrawable.getIntrinsicHeight(), getActivity());
-                }
-                layerDrawable.setLayerSize(0, bitmapWidth, bitmapHeight);
-                layerDrawable.setLayerSize(1, bitmapWidth, bitmapHeight);
+            if (MIME_TYPE_PNG.equalsIgnoreCase(result.ocFile.getMimeType())) {
+                bitmapWidth = convertDpToPixel(bitmap.getWidth(), getActivity());
+                bitmapHeight = convertDpToPixel(bitmap.getHeight(), getActivity());
+            } else {
+                bitmapWidth = convertDpToPixel(bitmapDrawable.getIntrinsicWidth(), getActivity());
+                bitmapHeight = convertDpToPixel(bitmapDrawable.getIntrinsicHeight(), getActivity());
             }
             }
+            layerDrawable.setLayerSize(0, bitmapWidth, bitmapHeight);
+            layerDrawable.setLayerSize(1, bitmapWidth, bitmapHeight);
         }
         }
 
 
         return layerDrawable;
         return layerDrawable;
@@ -773,10 +770,9 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
     }
     }
 
 
     private void toggleImageBackground() {
     private void toggleImageBackground() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && getFile() != null
-                && (MIME_TYPE_PNG.equalsIgnoreCase(getFile().getMimeType()) ||
-                MIME_TYPE_SVG.equalsIgnoreCase(getFile().getMimeType())) && getActivity() != null
-            && getActivity() instanceof PreviewImageActivity) {
+        if (getFile() != null && (MIME_TYPE_PNG.equalsIgnoreCase(getFile().getMimeType()) ||
+            MIME_TYPE_SVG.equalsIgnoreCase(getFile().getMimeType())) && getActivity() != null &&
+            getActivity() instanceof PreviewImageActivity) {
             PreviewImageActivity previewImageActivity = (PreviewImageActivity) getActivity();
             PreviewImageActivity previewImageActivity = (PreviewImageActivity) getActivity();
 
 
             if (binding.image.getDrawable() instanceof LayerDrawable) {
             if (binding.image.getDrawable() instanceof LayerDrawable) {

+ 0 - 4
src/main/java/com/owncloud/android/utils/DeviceCredentialUtils.java

@@ -22,16 +22,12 @@ package com.owncloud.android.utils;
 
 
 import android.app.KeyguardManager;
 import android.app.KeyguardManager;
 import android.content.Context;
 import android.content.Context;
-import android.os.Build;
 
 
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.lib.common.utils.Log_OC;
 
 
-import androidx.annotation.RequiresApi;
-
 /**
 /**
  * Utility class with methods for handling device credentials.
  * Utility class with methods for handling device credentials.
  */
  */
-@RequiresApi(Build.VERSION_CODES.M)
 public final class DeviceCredentialUtils {
 public final class DeviceCredentialUtils {
 
 
     private static final String TAG = DeviceCredentialUtils.class.getSimpleName();
     private static final String TAG = DeviceCredentialUtils.class.getSimpleName();

+ 1 - 6
src/main/java/com/owncloud/android/utils/FileStorageUtils.java

@@ -20,18 +20,15 @@
 package com.owncloud.android.utils;
 package com.owncloud.android.utils;
 
 
 import android.Manifest;
 import android.Manifest;
-import android.accounts.Account;
 import android.content.Context;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.content.res.Resources;
 import android.net.Uri;
 import android.net.Uri;
-import android.os.Build;
 import android.os.Environment;
 import android.os.Environment;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.Log;
 import android.webkit.MimeTypeMap;
 import android.webkit.MimeTypeMap;
 
 
-import com.nextcloud.client.account.User;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.FileDataStorageManager;
@@ -62,8 +59,6 @@ import javax.annotation.Nullable;
 import androidx.core.app.ActivityCompat;
 import androidx.core.app.ActivityCompat;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 
-import static android.os.Build.VERSION.SDK_INT;
-
 /**
 /**
  * Static methods to help in access to local file system.
  * Static methods to help in access to local file system.
  */
  */
@@ -526,7 +521,7 @@ public final class FileStorageUtils {
             final String[] rawSecondaryStorages = rawSecondaryStoragesStr.split(File.pathSeparator);
             final String[] rawSecondaryStorages = rawSecondaryStoragesStr.split(File.pathSeparator);
             Collections.addAll(rv, rawSecondaryStorages);
             Collections.addAll(rv, rawSecondaryStorages);
         }
         }
-        if (SDK_INT >= Build.VERSION_CODES.M && checkStoragePermission(context)) {
+        if (checkStoragePermission(context)) {
             rv.clear();
             rv.clear();
         }
         }
 
 

+ 9 - 14
src/main/java/com/owncloud/android/utils/theme/ThemeToolbarUtils.java

@@ -24,7 +24,6 @@ package com.owncloud.android.utils.theme;
 
 
 import android.app.Activity;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Context;
-import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.os.Build;
 import android.text.Spannable;
 import android.text.Spannable;
@@ -134,21 +133,17 @@ public final class ThemeToolbarUtils {
         boolean isLightTheme = ThemeColorUtils.lightTheme(color);
         boolean isLightTheme = ThemeColorUtils.lightTheme(color);
         if (window != null) {
         if (window != null) {
             window.setStatusBarColor(color);
             window.setStatusBarColor(color);
-            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
-                View decor = window.getDecorView();
-                if (isLightTheme) {
-                    int systemUiFlagLightStatusBar;
-                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-                        systemUiFlagLightStatusBar = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
-                    } else {
-                        systemUiFlagLightStatusBar = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
-                    }
-                    decor.setSystemUiVisibility(systemUiFlagLightStatusBar);
+            View decor = window.getDecorView();
+            if (isLightTheme) {
+                int systemUiFlagLightStatusBar;
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+                    systemUiFlagLightStatusBar = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
                 } else {
                 } else {
-                    decor.setSystemUiVisibility(0);
+                    systemUiFlagLightStatusBar = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
                 }
                 }
-            } else if (isLightTheme) {
-                window.setStatusBarColor(Color.BLACK);
+                decor.setSystemUiVisibility(systemUiFlagLightStatusBar);
+            } else {
+                decor.setSystemUiVisibility(0);
             }
             }
         }
         }
     }
     }

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

@@ -805,7 +805,6 @@
     <string name="battery_optimization_message">Your device may have battery optimization enabled. AutoUpload works only properly if you exclude this app from it.</string>
     <string name="battery_optimization_message">Your device may have battery optimization enabled. AutoUpload works only properly if you exclude this app from it.</string>
     <string name="battery_optimization_disable">Disable</string>
     <string name="battery_optimization_disable">Disable</string>
     <string name="battery_optimization_close">Close</string>
     <string name="battery_optimization_close">Close</string>
-    <string name="battery_optimization_no_setting">Unable to start battery settings directly. Please adjust manually in settings.</string>
     <string name="file_details_no_content">Failed to load details</string>
     <string name="file_details_no_content">Failed to load details</string>
     <string name="error_starting_direct_camera_upload">Error starting camera</string>
     <string name="error_starting_direct_camera_upload">Error starting camera</string>
     <string name="uploader_upload_files_behaviour_not_writable">source folder is read-only; file will only be uploaded</string>
     <string name="uploader_upload_files_behaviour_not_writable">source folder is read-only; file will only be uploaded</string>

+ 1 - 1
src/test/java/com/nextcloud/client/network/ConnectivityServiceTest.kt

@@ -120,7 +120,7 @@ class ConnectivityServiceTest {
                 accountManager,
                 accountManager,
                 clientFactory,
                 clientFactory,
                 requestBuilder,
                 requestBuilder,
-                Build.VERSION_CODES.M
+                Build.VERSION_CODES.Q
             )
             )
 
 
             whenever(networkCapabilities.hasCapability(eq(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)))
             whenever(networkCapabilities.hasCapability(eq(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)))