Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
9241246d
Commit
9241246d
authored
Nov 13, 2020
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Only use MediaStore APIs on Android 11+
Fix #3428
parent
58a5d52b
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
7 additions
and
7 deletions
+7
-7
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+1
-1
BaseActivity.kt
.../main/java/com/topjohnwu/magisk/core/base/BaseActivity.kt
+4
-4
MediaStoreUtils.kt
...n/java/com/topjohnwu/magisk/core/utils/MediaStoreUtils.kt
+2
-2
No files found.
app/src/main/AndroidManifest.xml
View file @
9241246d
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<uses-permission
android:name=
"android.permission.FOREGROUND_SERVICE"
/>
<uses-permission
android:name=
"android.permission.FOREGROUND_SERVICE"
/>
<uses-permission
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion=
"2
8
"
/>
android:maxSdkVersion=
"2
9
"
/>
<application
<application
android:icon=
"@drawable/ic_launcher"
android:icon=
"@drawable/ic_launcher"
...
...
app/src/main/java/com/topjohnwu/magisk/core/base/BaseActivity.kt
View file @
9241246d
package
com.topjohnwu.magisk.core.base
package
com.topjohnwu.magisk.core.base
import
android.Manifest
import
android.Manifest
.permission.WRITE_EXTERNAL_STORAGE
import
android.content.ActivityNotFoundException
import
android.content.ActivityNotFoundException
import
android.content.Context
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
...
@@ -40,8 +40,8 @@ abstract class BaseActivity : AppCompatActivity() {
...
@@ -40,8 +40,8 @@ abstract class BaseActivity : AppCompatActivity() {
fun
withPermission
(
permission
:
String
,
builder
:
PermissionRequestBuilder
.()
->
Unit
)
{
fun
withPermission
(
permission
:
String
,
builder
:
PermissionRequestBuilder
.()
->
Unit
)
{
val
request
=
PermissionRequestBuilder
().
apply
(
builder
).
build
()
val
request
=
PermissionRequestBuilder
().
apply
(
builder
).
build
()
if
(
permission
==
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
&&
Build
.
VERSION
.
SDK_INT
>=
29
)
{
if
(
permission
==
WRITE_EXTERNAL_STORAGE
&&
Build
.
VERSION
.
SDK_INT
>=
30
)
{
// We do not need external rw on
29
+
// We do not need external rw on
30
+
request
.
onSuccess
()
request
.
onSuccess
()
return
return
}
}
...
@@ -64,7 +64,7 @@ abstract class BaseActivity : AppCompatActivity() {
...
@@ -64,7 +64,7 @@ abstract class BaseActivity : AppCompatActivity() {
}
}
fun
withExternalRW
(
builder
:
PermissionRequestBuilder
.()
->
Unit
)
{
fun
withExternalRW
(
builder
:
PermissionRequestBuilder
.()
->
Unit
)
{
withPermission
(
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
builder
=
builder
)
withPermission
(
WRITE_EXTERNAL_STORAGE
,
builder
=
builder
)
}
}
override
fun
onRequestPermissionsResult
(
override
fun
onRequestPermissionsResult
(
...
...
app/src/main/java/com/topjohnwu/magisk/core/utils/MediaStoreUtils.kt
View file @
9241246d
...
@@ -66,8 +66,8 @@ object MediaStoreUtils {
...
@@ -66,8 +66,8 @@ object MediaStoreUtils {
}
}
private
fun
queryFile
(
displayName
:
String
):
UriFile
?
{
private
fun
queryFile
(
displayName
:
String
):
UriFile
?
{
if
(
Build
.
VERSION
.
SDK_INT
<
29
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
30
)
{
//
Before official general purpose MediaStore API exists, fallback to file based I/O
//
Fallback to file based I/O pre Android 11
val
parent
=
File
(
Environment
.
getExternalStorageDirectory
(),
relativePath
)
val
parent
=
File
(
Environment
.
getExternalStorageDirectory
(),
relativePath
)
parent
.
mkdirs
()
parent
.
mkdirs
()
return
LegacyUriFile
(
File
(
parent
,
displayName
))
return
LegacyUriFile
(
File
(
parent
,
displayName
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment