Skip to content

Commit d42b0de

Browse files
committed
Replace getExternalStoragePublicDirectory
Replace deprecated getExternalStoragePublicDirectory on MainActivity
1 parent 30a3fe9 commit d42b0de

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

app/src/main/AndroidManifest.xml

+18-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@
77

88
<!-- Required for adding media and requested at runtime -->
99
<uses-permission android:name="android.permission.CAMERA" />
10-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
10+
<!-- Allows for storing and retrieving screenshots, photos, videos and audios -->
11+
<uses-permission
12+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
13+
android:maxSdkVersion="29" />
14+
<uses-permission
15+
android:name="android.permission.READ_EXTERNAL_STORAGE"
16+
android:maxSdkVersion="32" />
17+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
18+
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
19+
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
1120

1221
<application
1322
android:label="@string/app_name"
@@ -44,4 +53,12 @@
4453

4554
</application>
4655

56+
<queries>
57+
<intent>
58+
<action android:name="android.intent.action.MAIN" />
59+
</intent>
60+
<!-- required for Android 11 (API level 30) or higher -->
61+
<package android:name="com.wordpress.aztec" />
62+
</queries>
63+
4764
</manifest>

app/src/main/kotlin/org/wordpress/aztec/demo/MainActivity.kt

+17-4
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ import android.graphics.drawable.BitmapDrawable
1414
import android.graphics.drawable.ColorDrawable
1515
import android.graphics.drawable.Drawable
1616
import android.net.Uri
17+
import android.os.Build
1718
import android.os.Bundle
1819
import android.os.Environment
1920
import android.os.Handler
2021
import android.os.Looper
2122
import android.provider.MediaStore
2223
import android.util.DisplayMetrics
24+
import android.util.Log
2325
import android.view.Gravity
2426
import android.view.Menu
2527
import android.view.MenuItem
@@ -262,6 +264,7 @@ open class MainActivity : AppCompatActivity(),
262264
val options = BitmapFactory.Options()
263265
options.inDensity = DisplayMetrics.DENSITY_DEFAULT
264266
val bitmap = BitmapFactory.decodeFile(mediaPath, options)
267+
Log.d("MediaPath", mediaPath)
265268
insertImageAndSimulateUpload(bitmap, mediaPath)
266269
}
267270
REQUEST_MEDIA_PHOTO -> {
@@ -649,10 +652,20 @@ open class MainActivity : AppCompatActivity(),
649652
if (PermissionUtils.checkAndRequestCameraAndStoragePermissions(this, MEDIA_CAMERA_PHOTO_PERMISSION_REQUEST_CODE)) {
650653
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
651654

652-
mediaFile = "wp-" + System.currentTimeMillis() + ".jpg"
653-
@Suppress("DEPRECATION")
654-
mediaPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() +
655-
File.separator + "Camera" + File.separator + mediaFile
655+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
656+
mediaFile = "wp-" + System.currentTimeMillis()
657+
mediaPath = File.createTempFile(
658+
mediaFile,
659+
".jpg",
660+
getExternalFilesDir(Environment.DIRECTORY_PICTURES)
661+
).absolutePath
662+
663+
} else {
664+
mediaFile = "wp-" + System.currentTimeMillis() + ".jpg"
665+
@Suppress("DEPRECATION")
666+
mediaPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() +
667+
File.separator + "Camera" + File.separator + mediaFile
668+
}
656669
intent.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(this,
657670
BuildConfig.APPLICATION_ID + ".provider", File(mediaPath)))
658671

0 commit comments

Comments
 (0)