|
@@ -30,8 +30,11 @@ import android.view.View
|
|
import androidx.appcompat.content.res.AppCompatResources
|
|
import androidx.appcompat.content.res.AppCompatResources
|
|
import androidx.core.content.ContextCompat
|
|
import androidx.core.content.ContextCompat
|
|
import androidx.core.graphics.drawable.DrawableCompat
|
|
import androidx.core.graphics.drawable.DrawableCompat
|
|
|
|
+import androidx.core.view.WindowCompat
|
|
|
|
+import androidx.core.view.WindowInsetsCompat
|
|
import com.canhub.cropper.CropImageView
|
|
import com.canhub.cropper.CropImageView
|
|
import com.nextcloud.client.di.Injectable
|
|
import com.nextcloud.client.di.Injectable
|
|
|
|
+import com.nextcloud.utils.extensions.getParcelableArgument
|
|
import com.owncloud.android.R
|
|
import com.owncloud.android.R
|
|
import com.owncloud.android.databinding.ActivityEditImageBinding
|
|
import com.owncloud.android.databinding.ActivityEditImageBinding
|
|
import com.owncloud.android.datamodel.OCFile
|
|
import com.owncloud.android.datamodel.OCFile
|
|
@@ -80,7 +83,8 @@ class EditImageActivity :
|
|
binding = ActivityEditImageBinding.inflate(layoutInflater)
|
|
binding = ActivityEditImageBinding.inflate(layoutInflater)
|
|
setContentView(binding.root)
|
|
setContentView(binding.root)
|
|
|
|
|
|
- file = intent.extras?.getParcelable(EXTRA_FILE) ?: throw IllegalArgumentException("Missing file argument")
|
|
|
|
|
|
+ file = intent.extras?.getParcelableArgument(EXTRA_FILE, OCFile::class.java)
|
|
|
|
+ ?: throw IllegalArgumentException("Missing file argument")
|
|
|
|
|
|
setSupportActionBar(binding.toolbar)
|
|
setSupportActionBar(binding.toolbar)
|
|
supportActionBar?.apply {
|
|
supportActionBar?.apply {
|
|
@@ -88,9 +92,11 @@ class EditImageActivity :
|
|
setDisplayHomeAsUpEnabled(true)
|
|
setDisplayHomeAsUpEnabled(true)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ val windowInsetsController = WindowCompat.getInsetsController(window, window.decorView)
|
|
|
|
+ windowInsetsController.hide(WindowInsetsCompat.Type.statusBars())
|
|
|
|
+
|
|
window.statusBarColor = ContextCompat.getColor(this, R.color.black)
|
|
window.statusBarColor = ContextCompat.getColor(this, R.color.black)
|
|
window.navigationBarColor = getColor(R.color.black)
|
|
window.navigationBarColor = getColor(R.color.black)
|
|
- window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
|
|
|
|
|
|
|
|
setupCropper()
|
|
setupCropper()
|
|
}
|
|
}
|
|
@@ -105,17 +111,19 @@ class EditImageActivity :
|
|
" " + getString(R.string.image_editor_file_edited_suffix) +
|
|
" " + getString(R.string.image_editor_file_edited_suffix) +
|
|
resultUri?.substring(resultUri.lastIndexOf('.'))
|
|
resultUri?.substring(resultUri.lastIndexOf('.'))
|
|
|
|
|
|
- FilesUploadHelper().uploadNewFiles(
|
|
|
|
- user = storageManager.user,
|
|
|
|
- localPaths = arrayOf(resultUri!!),
|
|
|
|
- remotePaths = arrayOf(file.parentRemotePath + File.separator + newFileName),
|
|
|
|
- createRemoteFolder = false,
|
|
|
|
- createdBy = UploadFileOperation.CREATED_BY_USER,
|
|
|
|
- requiresWifi = false,
|
|
|
|
- requiresCharging = false,
|
|
|
|
- nameCollisionPolicy = NameCollisionPolicy.RENAME,
|
|
|
|
- localBehavior = FileUploader.LOCAL_BEHAVIOUR_DELETE
|
|
|
|
- )
|
|
|
|
|
|
+ resultUri?.let {
|
|
|
|
+ FilesUploadHelper().uploadNewFiles(
|
|
|
|
+ user = storageManager.user,
|
|
|
|
+ localPaths = arrayOf(it),
|
|
|
|
+ remotePaths = arrayOf(file.parentRemotePath + File.separator + newFileName),
|
|
|
|
+ createRemoteFolder = false,
|
|
|
|
+ createdBy = UploadFileOperation.CREATED_BY_USER,
|
|
|
|
+ requiresWifi = false,
|
|
|
|
+ requiresCharging = false,
|
|
|
|
+ nameCollisionPolicy = NameCollisionPolicy.RENAME,
|
|
|
|
+ localBehavior = FileUploader.LOCAL_BEHAVIOUR_DELETE
|
|
|
|
+ )
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
override fun onSetImageUriComplete(view: CropImageView, uri: Uri, error: Exception?) {
|
|
override fun onSetImageUriComplete(view: CropImageView, uri: Uri, error: Exception?) {
|
|
@@ -147,6 +155,7 @@ class EditImageActivity :
|
|
finish()
|
|
finish()
|
|
true
|
|
true
|
|
}
|
|
}
|
|
|
|
+
|
|
else -> {
|
|
else -> {
|
|
finish()
|
|
finish()
|
|
true
|
|
true
|
|
@@ -184,7 +193,15 @@ class EditImageActivity :
|
|
// determine output file format
|
|
// determine output file format
|
|
format = when (file.mimeType) {
|
|
format = when (file.mimeType) {
|
|
MimeType.PNG -> Bitmap.CompressFormat.PNG
|
|
MimeType.PNG -> Bitmap.CompressFormat.PNG
|
|
- MimeType.WEBP -> Bitmap.CompressFormat.WEBP
|
|
|
|
|
|
+ MimeType.WEBP -> {
|
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
|
|
|
+ Bitmap.CompressFormat.WEBP_LOSSY
|
|
|
|
+ } else {
|
|
|
|
+ @Suppress("DEPRECATION")
|
|
|
|
+ Bitmap.CompressFormat.WEBP
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
else -> Bitmap.CompressFormat.JPEG
|
|
else -> Bitmap.CompressFormat.JPEG
|
|
}
|
|
}
|
|
}
|
|
}
|