fixed extension library

This commit is contained in:
Mariotaku Lee 2017-04-11 22:22:50 +08:00
parent bad968e5b4
commit dd1e71f775
No known key found for this signature in database
GPG Key ID: 15C10F89D7C33535
5 changed files with 33 additions and 23 deletions

View File

@ -56,7 +56,7 @@ subprojects {
TwitterText : '1.14.3',
MediaViewerLibrary: '0.9.23',
MultiValueSwitch : '0.9.8',
PickNCrop : '0.9.24',
PickNCrop : '0.9.25',
AndroidGIFDrawable: '1.2.6',
KPreferences : '0.9.6',
Kovenant : '3.3.0',

View File

@ -66,7 +66,8 @@ public final class Twidere implements TwidereConstants {
public static void setComposeExtensionResult(@NonNull final Activity activity,
@Nullable final String text, final boolean isReplacementMode, @Nullable Uri[] media) {
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_TEXT, isReplacementMode);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(EXTRA_IS_REPLACE_MODE, isReplacementMode);
if (media != null && media.length > 0) {
intent.setData(media[0]);

View File

@ -22,6 +22,7 @@ package org.mariotaku.ktextension
import android.graphics.drawable.Drawable
import android.support.v4.view.MenuItemCompat
import android.view.Menu
import android.view.SubMenu
fun Menu.setItemAvailability(id: Int, available: Boolean) {
val item = findItem(id) ?: return
@ -59,3 +60,7 @@ fun Menu.setMenuItemShowAsActionFlags(id: Int, flags: Int) {
item.setShowAsActionFlags(flags)
MenuItemCompat.setShowAsAction(item, flags)
}
fun Menu.findSubmenu(id: Int): SubMenu? {
return findItem(id)?.subMenu
}

View File

@ -274,11 +274,13 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
val composeExtensionsIntent = Intent(INTENT_ACTION_EXTENSION_COMPOSE)
MenuUtils.addIntentToMenu(this, menu, composeExtensionsIntent, MENU_GROUP_COMPOSE_EXTENSION)
val imageExtensionsIntent = Intent(INTENT_ACTION_EXTENSION_EDIT_IMAGE)
val mediaMenuItem = menu.findItem(R.id.status_attachment)
if (mediaMenuItem != null && mediaMenuItem.hasSubMenu()) {
MenuUtils.addIntentToMenu(this, mediaMenuItem.subMenu, imageExtensionsIntent,
val subMenu = mediaMenuItem.subMenu
MenuUtils.addIntentToMenu(this, subMenu, composeExtensionsIntent,
MENU_GROUP_COMPOSE_EXTENSION)
MenuUtils.addIntentToMenu(this, subMenu, imageExtensionsIntent,
MENU_GROUP_IMAGE_EXTENSION)
}
updateViewStyle()
@ -329,7 +331,9 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
}
val src = MediaPickerActivity.getMediaUris(data)
TaskStarter.execute(AddMediaTask(this, src, false, false))
if (src.isNotNullOrEmpty()) {
TaskStarter.execute(AddMediaTask(this, src, false, false))
}
}
}
REQUEST_PURCHASE_EXTRA_FEATURES -> {
@ -703,23 +707,24 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
val intent = item.intent ?: return
try {
val action = intent.action
if (INTENT_ACTION_EXTENSION_COMPOSE == action) {
val accountKeys = accountsAdapter.selectedAccountKeys
intent.putExtra(EXTRA_TEXT, ParseUtils.parseString(editText.text))
intent.putExtra(EXTRA_ACCOUNT_KEYS, accountKeys)
if (accountKeys.isNotEmpty()) {
val accountKey = accountKeys.first()
intent.putExtra(EXTRA_NAME, DataStoreUtils.getAccountName(this, accountKey))
intent.putExtra(EXTRA_SCREEN_NAME, DataStoreUtils.getAccountScreenName(this, accountKey))
when (action) {
INTENT_ACTION_EXTENSION_COMPOSE -> {
val accountKeys = accountsAdapter.selectedAccountKeys
intent.putExtra(EXTRA_TEXT, ParseUtils.parseString(editText.text))
intent.putExtra(EXTRA_ACCOUNT_KEYS, accountKeys)
if (accountKeys.isNotEmpty()) {
val accountKey = accountKeys.first()
intent.putExtra(EXTRA_NAME, DataStoreUtils.getAccountName(this, accountKey))
intent.putExtra(EXTRA_SCREEN_NAME, DataStoreUtils.getAccountScreenName(this, accountKey))
}
inReplyToStatus?.let {
intent.putExtra(EXTRA_IN_REPLY_TO_ID, it.id)
intent.putExtra(EXTRA_IN_REPLY_TO_NAME, it.user_name)
intent.putExtra(EXTRA_IN_REPLY_TO_SCREEN_NAME, it.user_screen_name)
}
startActivityForResult(intent, REQUEST_EXTENSION_COMPOSE)
}
inReplyToStatus?.let {
intent.putExtra(EXTRA_IN_REPLY_TO_ID, it.id)
intent.putExtra(EXTRA_IN_REPLY_TO_NAME, it.user_name)
intent.putExtra(EXTRA_IN_REPLY_TO_SCREEN_NAME, it.user_screen_name)
}
startActivityForResult(intent, REQUEST_EXTENSION_COMPOSE)
} else {
startActivity(intent)
else -> startActivity(intent)
}
} catch (e: ActivityNotFoundException) {
Analyzer.logException(e)

View File

@ -95,9 +95,8 @@ object MenuUtils {
item.setTitle(icon)
}
fun addIntentToMenu(context: Context?, menu: Menu?, queryIntent: Intent?,
fun addIntentToMenu(context: Context, menu: Menu, queryIntent: Intent,
groupId: Int = Menu.NONE) {
if (context == null || menu == null || queryIntent == null) return
val pm = context.packageManager
val res = context.resources
val density = res.displayMetrics.density