From d2d933ed8fa569bd2da8fd8e28053962e7e32823 Mon Sep 17 00:00:00 2001 From: norohind <60548839+norohind@users.noreply.github.com> Date: Wed, 17 Aug 2022 00:38:20 +0300 Subject: [PATCH] Make bypass .nomedia, bypass .nomedia under Android 11+ (android.permission.MANAGE_EXTERNAL_STORAGE) update gradle to some higher version --- app/build.gradle | 14 ++++++-------- app/src/main/AndroidManifest.xml | 1 + .../android/medialibrary/MediaScanner.java | 4 ++-- .../android/vanilla/LibraryActivity.java | 10 ++++++++++ build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 7 +++---- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0d558ba1..a83a1e6d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,9 @@ apply plugin: 'com.android.application' android { - lintOptions { - disable 'MissingTranslation' - disable 'ExtraTranslation' - } + compileSdkVersion 32 - compileSdkVersion rootProject.ext.compileSdkVersion + compileSdkVersion 32 // rootProject.ext.compileSdkVersion defaultConfig { applicationId "ch.blinkenlights.android.vanilla" @@ -21,10 +18,11 @@ android { zipAlignEnabled true } } + lint { + abortOnError false + disable 'MissingTranslation', 'ExtraTranslation' + } - lintOptions { - abortOnError false - } } dependencies { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index efaa4283..0eada1bc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,6 +30,7 @@ THE SOFTWARE. <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> + <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> <!-- This is needed for isWiredHeadsetOn() to work in some cases. (bug?) --> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- Playlist shortcuts --> diff --git a/app/src/main/java/ch/blinkenlights/android/medialibrary/MediaScanner.java b/app/src/main/java/ch/blinkenlights/android/medialibrary/MediaScanner.java index bf41d8ca..569522d7 100644 --- a/app/src/main/java/ch/blinkenlights/android/medialibrary/MediaScanner.java +++ b/app/src/main/java/ch/blinkenlights/android/medialibrary/MediaScanner.java @@ -445,8 +445,8 @@ public class MediaScanner implements Handler.Callback { if (!dir.isDirectory()) return; - if (new File(dir, ".nomedia").exists()) - return; +// if (new File(dir, ".nomedia").exists()) +// return; if (isDotfile(dir)) return; diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/LibraryActivity.java b/app/src/main/java/ch/blinkenlights/android/vanilla/LibraryActivity.java index 6ecdb811..aedf5396 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/LibraryActivity.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/LibraryActivity.java @@ -36,9 +36,12 @@ import android.content.res.Resources; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.Color; +import android.os.Build; import android.os.Bundle; +import android.os.Environment; import android.os.Handler; import android.os.Message; +import android.provider.Settings; import android.support.iosched.tabs.VanillaTabLayout; import android.text.TextUtils; import android.view.KeyEvent; @@ -54,6 +57,7 @@ import android.widget.TextView; import android.widget.SearchView; import android.widget.Toast; +import androidx.annotation.RequiresApi; import androidx.viewpager.widget.ViewPager; import java.io.File; @@ -155,6 +159,7 @@ public class LibraryActivity private LibraryAdapter mCurrentAdapter; + @RequiresApi(api = Build.VERSION_CODES.R) @Override public void onCreate(Bundle state) { @@ -188,6 +193,11 @@ public class LibraryActivity PermissionRequestActivity.showWarning(this, getIntent()); } + if (!Environment.isExternalStorageManager()) { + Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION); + startActivity(intent); + } + mVanillaTabLayout = (VanillaTabLayout)findViewById(R.id.sliding_tabs); mVanillaTabLayout.setOnPageChangeListener(pagerAdapter); diff --git a/build.gradle b/build.gradle index e1a76206..59803e7f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:7.2.2' } } allprojects { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5cb32e56..ec6d3f40 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,6 @@ -#Wed Jun 27 14:32:00 EDT 2018 +#Sun Aug 14 22:38:11 MSK 2022 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip -distributionSha256Sum=10065868c78f1207afb3a92176f99a37d753a513dff453abb6b5cceda4058cda +zipStoreBase=GRADLE_USER_HOME