@@ -14,18 +14,22 @@ import android.graphics.drawable.BitmapDrawable
1414import android.graphics.drawable.ColorDrawable
1515import android.graphics.drawable.Drawable
1616import android.net.Uri
17+ import android.os.Build
1718import android.os.Bundle
1819import android.os.Environment
1920import android.os.Handler
21+ import android.os.Looper
2022import android.provider.MediaStore
2123import android.util.DisplayMetrics
24+ import android.util.Log
2225import android.view.Gravity
2326import android.view.Menu
2427import android.view.MenuItem
2528import android.view.MotionEvent
2629import android.view.View
2730import android.widget.PopupMenu
2831import android.widget.ToggleButton
32+ import androidx.activity.OnBackPressedCallback
2933import androidx.appcompat.app.AlertDialog
3034import androidx.appcompat.app.AppCompatActivity
3135import androidx.appcompat.content.res.AppCompatResources
@@ -265,6 +269,7 @@ open class MainActivity : AppCompatActivity(),
265269 val options = BitmapFactory .Options ()
266270 options.inDensity = DisplayMetrics .DENSITY_DEFAULT
267271 val bitmap = BitmapFactory .decodeFile(mediaPath, options)
272+ Log .d(" MediaPath" , mediaPath)
268273 insertImageAndSimulateUpload(bitmap, mediaPath)
269274 }
270275 REQUEST_MEDIA_PHOTO -> {
@@ -377,11 +382,11 @@ open class MainActivity : AppCompatActivity(),
377382 }
378383 }
379384
380- Handler ().post(runnable)
381- Handler ().postDelayed(runnable, 2000 )
382- Handler ().postDelayed(runnable, 4000 )
383- Handler ().postDelayed(runnable, 6000 )
384- Handler ().postDelayed(runnable, 8000 )
385+ Handler (Looper .getMainLooper() ).post(runnable)
386+ Handler (Looper .getMainLooper() ).postDelayed(runnable, 2000 )
387+ Handler (Looper .getMainLooper() ).postDelayed(runnable, 4000 )
388+ Handler (Looper .getMainLooper() ).postDelayed(runnable, 6000 )
389+ Handler (Looper .getMainLooper() ).postDelayed(runnable, 8000 )
385390
386391 aztec.visualEditor.refreshText()
387392 }
@@ -390,6 +395,20 @@ open class MainActivity : AppCompatActivity(),
390395 super .onCreate(savedInstanceState)
391396 setContentView(R .layout.activity_main)
392397
398+ onBackPressedDispatcher.addCallback(this , object : OnBackPressedCallback (true ) {
399+ override fun handleOnBackPressed () {
400+ mIsKeyboardOpen = false
401+ showActionBarIfNeeded()
402+
403+ // Disable the callback temporarily to allow the system to handle the back pressed event. This usage
404+ // breaks predictive back gesture behavior and should be reviewed before enabling the predictive back
405+ // gesture feature.
406+ isEnabled = false
407+ onBackPressedDispatcher.onBackPressed()
408+ isEnabled = true
409+ }
410+ })
411+
393412 // Setup hiding the action bar when the soft keyboard is displayed for narrow viewports
394413 if (resources.configuration.orientation == Configuration .ORIENTATION_LANDSCAPE
395414 && ! resources.getBoolean(R .bool.is_large_tablet_landscape)) {
@@ -486,7 +505,7 @@ open class MainActivity : AppCompatActivity(),
486505 aztec.initSourceEditorHistory()
487506 }
488507
489- invalidateOptionsHandler = Handler ()
508+ invalidateOptionsHandler = Handler (Looper .getMainLooper() )
490509 invalidateOptionsRunnable = Runnable { invalidateOptionsMenu() }
491510 }
492511
@@ -520,15 +539,13 @@ open class MainActivity : AppCompatActivity(),
520539 }
521540 }
522541
523- override fun onRestoreInstanceState (savedInstanceState : Bundle ? ) {
542+ override fun onRestoreInstanceState (savedInstanceState : Bundle ) {
524543 super .onRestoreInstanceState(savedInstanceState)
525544
526545 aztec.initSourceEditorHistory()
527546
528- savedInstanceState?.let {
529- if (savedInstanceState.getBoolean(" isMediaUploadDialogVisible" )) {
530- showMediaUploadDialog()
531- }
547+ if (savedInstanceState.getBoolean(" isMediaUploadDialogVisible" )) {
548+ showMediaUploadDialog()
532549 }
533550 }
534551
@@ -586,13 +603,6 @@ open class MainActivity : AppCompatActivity(),
586603 return false
587604 }
588605
589- override fun onBackPressed () {
590- mIsKeyboardOpen = false
591- showActionBarIfNeeded()
592-
593- return super .onBackPressed()
594- }
595-
596606 /* *
597607 * Intercept back button press while soft keyboard is visible.
598608 */
@@ -651,9 +661,20 @@ open class MainActivity : AppCompatActivity(),
651661 if (PermissionUtils .checkAndRequestCameraAndStoragePermissions(this , MEDIA_CAMERA_PHOTO_PERMISSION_REQUEST_CODE )) {
652662 val intent = Intent (MediaStore .ACTION_IMAGE_CAPTURE )
653663
654- mediaFile = " wp-" + System .currentTimeMillis() + " .jpg"
655- mediaPath = Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_DCIM ).toString() +
656- File .separator + " Camera" + File .separator + mediaFile
664+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) {
665+ mediaFile = " wp-" + System .currentTimeMillis()
666+ mediaPath = File .createTempFile(
667+ mediaFile,
668+ " .jpg" ,
669+ getExternalFilesDir(Environment .DIRECTORY_PICTURES )
670+ ).absolutePath
671+
672+ } else {
673+ mediaFile = " wp-" + System .currentTimeMillis() + " .jpg"
674+ @Suppress(" DEPRECATION" )
675+ mediaPath = Environment .getExternalStoragePublicDirectory(Environment .DIRECTORY_DCIM ).toString() +
676+ File .separator + " Camera" + File .separator + mediaFile
677+ }
657678 intent.putExtra(MediaStore .EXTRA_OUTPUT , FileProvider .getUriForFile(this ,
658679 BuildConfig .APPLICATION_ID + " .provider" , File (mediaPath)))
659680
0 commit comments