投稿画面からの画像選択の方式を変更した
This commit is contained in:
parent
854d1507ec
commit
bbf4432310
|
@ -297,16 +297,22 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
|
||||||
override fun onActivityResult(requestCode : Int, resultCode : Int, data : Intent?) {
|
override fun onActivityResult(requestCode : Int, resultCode : Int, data : Intent?) {
|
||||||
if(requestCode == REQUEST_CODE_ATTACHMENT_OLD && resultCode == Activity.RESULT_OK) {
|
if(requestCode == REQUEST_CODE_ATTACHMENT_OLD && resultCode == Activity.RESULT_OK) {
|
||||||
if( data != null) {
|
if( data != null) {
|
||||||
|
val urlList = ArrayList<Pair<Uri,String?>>()
|
||||||
// 単一選択
|
// 単一選択
|
||||||
data.data?.let { addAttachment(it, data.type) }
|
data.data?.let {urlList.add(Pair(it, data.type)) }
|
||||||
// 複数選択
|
// 複数選択
|
||||||
val cd = data.clipData
|
val cd = data.clipData
|
||||||
if(cd != null) {
|
if(cd != null) {
|
||||||
for(i in 0 until cd.itemCount) {
|
for(i in 0 until cd.itemCount) {
|
||||||
cd.getItemAt(i)?.uri?.let { addAttachment(it) }
|
cd.getItemAt(i)?.uri?.let { uri->
|
||||||
|
if(null == urlList.find { it.first == uri }){
|
||||||
|
urlList.add(Pair(uri,null as String?))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
urlList.forEach{addAttachment(it.first,it.second)}
|
||||||
|
}
|
||||||
}else if(requestCode == REQUEST_CODE_ATTACHMENT && resultCode == Activity.RESULT_OK) {
|
}else if(requestCode == REQUEST_CODE_ATTACHMENT && resultCode == Activity.RESULT_OK) {
|
||||||
if(data != null) {
|
if(data != null) {
|
||||||
// 単一選択
|
// 単一選択
|
||||||
|
@ -1371,8 +1377,8 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
|
||||||
// }
|
// }
|
||||||
|
|
||||||
val a = ActionsDialog()
|
val a = ActionsDialog()
|
||||||
a.addAction(getString(R.string.pick_images_saf)) { performAttachmentSaf() }
|
// a.addAction(getString(R.string.pick_images_saf)) { performAttachmentSaf() }
|
||||||
a.addAction(getString(R.string.pick_images_old)) { performAttachmentOld() }
|
a.addAction(getString(R.string.pick_images)) { performAttachmentOld() }
|
||||||
a.addAction(getString(R.string.image_capture)) { performCamera() }
|
a.addAction(getString(R.string.image_capture)) { performCamera() }
|
||||||
|
|
||||||
// a.addAction( getString( R.string.video_capture ), new Runnable() {
|
// a.addAction( getString( R.string.video_capture ), new Runnable() {
|
||||||
|
@ -1404,17 +1410,16 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
|
||||||
intent.type = "image/* video/*"
|
intent.type = "image/* video/*"
|
||||||
}
|
}
|
||||||
|
|
||||||
startActivityForResult(Intent.createChooser( intent, getString(R.string.pick_images_old) ), REQUEST_CODE_ATTACHMENT_OLD)
|
startActivityForResult(Intent.createChooser( intent, getString(R.string.pick_images) ), REQUEST_CODE_ATTACHMENT_OLD)
|
||||||
} catch(ex : Throwable) {
|
} catch(ex : Throwable) {
|
||||||
log.trace(ex)
|
log.trace(ex)
|
||||||
showToast(this, ex, "ACTION_GET_CONTENT failed.")
|
showToast(this, ex, "ACTION_GET_CONTENT failed.")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun performAttachmentSaf() {
|
private fun performAttachmentSaf() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// SAFのIntentで開く
|
// SAFのIntentで開く
|
||||||
try {
|
try {
|
||||||
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT)
|
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT)
|
||||||
|
@ -1422,13 +1427,13 @@ class ActPost : AppCompatActivity(), View.OnClickListener, PostAttachment.Callba
|
||||||
intent.type = "*/*"
|
intent.type = "*/*"
|
||||||
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
|
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
|
||||||
intent.putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/*", "video/*"))
|
intent.putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/*", "video/*"))
|
||||||
startActivityForResult(intent, REQUEST_CODE_ATTACHMENT)
|
startActivityForResult(Intent.createChooser( intent, getString(R.string.pick_images) ), REQUEST_CODE_ATTACHMENT)
|
||||||
} catch(ex : Throwable) {
|
} catch(ex : Throwable) {
|
||||||
log.trace(ex)
|
log.trace(ex)
|
||||||
showToast(this, ex, "ACTION_OPEN_DOCUMENT failed.")
|
showToast(this, ex, "ACTION_OPEN_DOCUMENT failed.")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal interface InputStreamOpener {
|
internal interface InputStreamOpener {
|
||||||
|
|
||||||
val mimeType : String
|
val mimeType : String
|
||||||
|
|
|
@ -170,6 +170,7 @@
|
||||||
<string name="image_capture">Utiliser l\'appareil photo</string>
|
<string name="image_capture">Utiliser l\'appareil photo</string>
|
||||||
<string name="pick_image">Choisir une image</string>
|
<string name="pick_image">Choisir une image</string>
|
||||||
<string name="pick_images">Choisir une image</string>
|
<string name="pick_images">Choisir une image</string>
|
||||||
|
|
||||||
<string name="instance">Instance</string>
|
<string name="instance">Instance</string>
|
||||||
<string name="instance_hint">Ex) mastodon.social</string>
|
<string name="instance_hint">Ex) mastodon.social</string>
|
||||||
<string name="instance_not_need_slash">Veuillez entrer seulement le nom de l\'hôte de l\'instance, sans « / » ni « \@ ».</string>
|
<string name="instance_not_need_slash">Veuillez entrer seulement le nom de l\'hôte de l\'instance, sans « / » ni « \@ ».</string>
|
||||||
|
@ -231,7 +232,6 @@
|
||||||
<string name="open_web_page">Ouvrir la page Web</string>
|
<string name="open_web_page">Ouvrir la page Web</string>
|
||||||
<string name="oss_license">Licence OSS</string>
|
<string name="oss_license">Licence OSS</string>
|
||||||
<string name="password_not_specified">Mot de passe non spécifié</string>
|
<string name="password_not_specified">Mot de passe non spécifié</string>
|
||||||
<string name="pick_image">Choisir une image</string>
|
|
||||||
<string name="please_add_account">Compte manquant. Veuillez ajouter un compte avant de poster.</string>
|
<string name="please_add_account">Compte manquant. Veuillez ajouter un compte avant de poster.</string>
|
||||||
<string name="please_donate">Merci de soutenir cette application !</string>
|
<string name="please_donate">Merci de soutenir cette application !</string>
|
||||||
<string name="please_rate">Merci de prendre un peu de temps pour\nnoter cette application et donner votre avis !</string>
|
<string name="please_rate">Merci de prendre un peu de temps pour\nnoter cette application et donner votre avis !</string>
|
||||||
|
|
|
@ -510,8 +510,6 @@
|
||||||
|
|
||||||
<string name="pick_image">画像を選択</string>
|
<string name="pick_image">画像を選択</string>
|
||||||
<string name="pick_images">画像を選択</string>
|
<string name="pick_images">画像を選択</string>
|
||||||
<string name="pick_images_saf">画像を選択(SAF)</string>
|
|
||||||
<string name="pick_images_old">画像を選択(旧式)</string>
|
|
||||||
|
|
||||||
<string name="please_add_account">アカウントがありません。事前にアカウントの追加を行ってください</string>
|
<string name="please_add_account">アカウントがありません。事前にアカウントの追加を行ってください</string>
|
||||||
<string name="please_donate">開発継続のために寄付をお願いします!</string>
|
<string name="please_donate">開発継続のために寄付をお願いします!</string>
|
||||||
|
|
|
@ -294,9 +294,7 @@
|
||||||
<string name="color_and_background">Color and Background…</string>
|
<string name="color_and_background">Color and Background…</string>
|
||||||
<string name="column_background">Column\'s background</string>
|
<string name="column_background">Column\'s background</string>
|
||||||
<string name="pick_image">Pick an image</string>
|
<string name="pick_image">Pick an image</string>
|
||||||
<string name="pick_images">Pick image(s)</string>
|
<string name="pick_images">Pick image(s)…</string>
|
||||||
<string name="pick_images_saf">Pick image… (SAF)</string>
|
|
||||||
<string name="pick_images_old">Pick image… (old apps)</string>
|
|
||||||
|
|
||||||
<string name="image_alpha">Image alpha</string>
|
<string name="image_alpha">Image alpha</string>
|
||||||
<string name="image">Image</string>
|
<string name="image">Image</string>
|
||||||
|
|
Loading…
Reference in New Issue