Browse Source

Merge pull request #1133 from nextcloud/settingsOn4x

Fix settings on android 4.x
Mario Đanić 7 years ago
parent
commit
c2a9fcff27

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

@@ -1,2 +1,2 @@
 DO NOT TOUCH; GENERATED BY DRONE
-      <span class="mdl-layout-title">Lint Report: 73 errors and 853 warnings</span>
+      <span class="mdl-layout-title">Lint Report: 73 errors and 852 warnings</span>

+ 7 - 5
src/main/java/com/owncloud/android/files/InstantUploadBroadcastReceiver.java

@@ -105,12 +105,14 @@ public class InstantUploadBroadcastReceiver extends BroadcastReceiver {
         String[] CONTENT_PROJECTION = {
                 Images.Media.DATA, Images.Media.DISPLAY_NAME, Images.Media.MIME_TYPE, Images.Media.SIZE};
 
-        int permissionCheck = ContextCompat.checkSelfPermission(context,
-                Manifest.permission.READ_EXTERNAL_STORAGE);
+        // if < Jelly Bean permission must be accepted during installation
+        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
+            int permissionCheck = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE);
 
-        if (android.content.pm.PackageManager.PERMISSION_GRANTED != permissionCheck) {
-            Log_OC.w(TAG, "Read external storage permission isn't granted, aborting");
-            return;
+            if (android.content.pm.PackageManager.PERMISSION_GRANTED != permissionCheck) {
+                Log_OC.w(TAG, "Read external storage permission isn't granted, aborting");
+                return;
+            }
         }
 
         c = context.getContentResolver().query(intent.getData(), CONTENT_PROJECTION, null, null, null);

+ 12 - 15
src/main/java/com/owncloud/android/ui/activity/Preferences.java

@@ -34,7 +34,6 @@ import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
-import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
 import android.preference.Preference.OnPreferenceChangeListener;
@@ -70,6 +69,7 @@ import com.owncloud.android.lib.common.ExternalLinkType;
 import com.owncloud.android.lib.common.OwnCloudAccount;
 import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
 import com.owncloud.android.lib.common.utils.Log_OC;
+import com.owncloud.android.ui.CheckBoxPreferenceWithLongTitle;
 import com.owncloud.android.utils.AnalyticsUtils;
 import com.owncloud.android.utils.DisplayUtils;
 
@@ -109,13 +109,13 @@ public class Preferences extends PreferenceActivity
 
     private String mUploadPath;
     private PreferenceCategory mPrefInstantUploadCategory;
-    private Preference mPrefInstantUpload;
+    private CheckBoxPreferenceWithLongTitle mPrefInstantUpload;
     private Preference mPrefInstantUploadBehaviour;
     private Preference mPrefInstantUploadPath;
     private Preference mPrefInstantUploadUseSubfolders;
     private Preference mPrefInstantPictureUploadOnlyOnCharging;
     private Preference mPrefInstantUploadPathWiFi;
-    private Preference mPrefInstantVideoUpload;
+    private CheckBoxPreferenceWithLongTitle mPrefInstantVideoUpload;
     private Preference mPrefInstantVideoUploadPath;
     private Preference mPrefInstantVideoUploadUseSubfolders;
     private Preference mPrefInstantVideoUploadPathWiFi;
@@ -533,24 +533,21 @@ public class Preferences extends PreferenceActivity
             mPrefInstantUploadUseSubfolders = findPreference("instant_upload_path_use_subfolders");
             mPrefInstantUploadPathWiFi = findPreference("instant_upload_on_wifi");
             mPrefInstantPictureUploadOnlyOnCharging = findPreference("instant_upload_on_charging");
-            mPrefInstantUpload = findPreference("instant_uploading");
+            mPrefInstantUpload = (CheckBoxPreferenceWithLongTitle) findPreference("instant_uploading");
 
-            toggleInstantPictureOptions(((SwitchPreference) mPrefInstantUpload).isChecked());
+            toggleInstantPictureOptions(mPrefInstantUpload.isChecked());
 
             mPrefInstantUpload.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
-
                 @Override
                 public boolean onPreferenceChange(Preference preference, Object newValue) {
                     toggleInstantPictureOptions((Boolean) newValue);
-                    toggleInstantUploadBehaviour(
-                            ((SwitchPreference) mPrefInstantVideoUpload).isChecked(),
-                            (Boolean) newValue);
+                    toggleInstantUploadBehaviour(mPrefInstantVideoUpload.isChecked(), (Boolean) newValue);
                     return true;
                 }
             });
 
         mPrefInstantVideoUploadPath = findPreference(PreferenceKeys.INSTANT_VIDEO_UPLOAD_PATH);
-        if (mPrefInstantVideoUploadPath != null){
+            if (mPrefInstantVideoUploadPath != null) {
 
                 mPrefInstantVideoUploadPath.setOnPreferenceClickListener(new OnPreferenceClickListener() {
                     @Override
@@ -569,24 +566,24 @@ public class Preferences extends PreferenceActivity
 
             mPrefInstantVideoUploadUseSubfolders = findPreference("instant_video_upload_path_use_subfolders");
             mPrefInstantVideoUploadPathWiFi = findPreference("instant_video_upload_on_wifi");
-            mPrefInstantVideoUpload = findPreference("instant_video_uploading");
+            mPrefInstantVideoUpload = (CheckBoxPreferenceWithLongTitle) findPreference("instant_video_uploading");
             mPrefInstantVideoUploadOnlyOnCharging = findPreference("instant_video_upload_on_charging");
-            toggleInstantVideoOptions(((CheckBoxPreference) mPrefInstantVideoUpload).isChecked());
+            toggleInstantVideoOptions(mPrefInstantVideoUpload.isChecked());
             mPrefInstantVideoUpload.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
                 @Override
                 public boolean onPreferenceChange(Preference preference, Object newValue) {
                     toggleInstantVideoOptions((Boolean) newValue);
                     toggleInstantUploadBehaviour(
                             (Boolean) newValue,
-                            ((CheckBoxPreference) mPrefInstantUpload).isChecked());
+                            mPrefInstantUpload.isChecked());
                     return true;
                 }
             });
 
             mPrefInstantUploadBehaviour = findPreference("prefs_instant_behaviour");
             toggleInstantUploadBehaviour(
-                    ((CheckBoxPreference) mPrefInstantVideoUpload).isChecked(),
-                    ((CheckBoxPreference) mPrefInstantUpload).isChecked());
+                    mPrefInstantVideoUpload.isChecked(),
+                    mPrefInstantUpload.isChecked());
 
             loadInstantUploadPath();
             loadInstantUploadVideoPath();