mirror of
https://github.com/TwidereProject/Twidere-Android
synced 2025-02-02 01:36:50 +01:00
added create list shortcut
This commit is contained in:
parent
c69488ad0b
commit
76f2affe7e
@ -31,6 +31,7 @@ import android.os.Bundle
|
||||
import android.support.v4.app.LoaderManager.LoaderCallbacks
|
||||
import android.support.v4.content.FixedAsyncTaskLoader
|
||||
import android.support.v4.content.Loader
|
||||
import android.support.v4.content.pm.ShortcutManagerCompat
|
||||
import android.support.v7.app.AlertDialog
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
@ -66,6 +67,7 @@ import org.mariotaku.twidere.model.UserKey
|
||||
import org.mariotaku.twidere.model.event.UserListSubscriptionEvent
|
||||
import org.mariotaku.twidere.model.event.UserListUpdatedEvent
|
||||
import org.mariotaku.twidere.util.*
|
||||
import org.mariotaku.twidere.util.shortcut.ShortcutCreator
|
||||
|
||||
class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
||||
LoaderCallbacks<SingleResponse<ParcelableUserList>>, SystemWindowInsetsCallback,
|
||||
@ -204,11 +206,13 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
||||
extensionsIntent.setExtrasClassLoader(TwidereApplication::class.java.classLoader)
|
||||
extensionsIntent.putExtra(EXTRA_USER_LIST, userList)
|
||||
MenuUtils.addIntentToMenu(activity, menu, extensionsIntent, MENU_GROUP_USER_LIST_EXTENSION)
|
||||
menu.setItemAvailability(R.id.add_to_home_screen_submenu, ShortcutManagerCompat.isRequestPinShortcutSupported(context))
|
||||
} else {
|
||||
menu.setItemAvailability(R.id.edit, false)
|
||||
menu.setItemAvailability(R.id.follow, false)
|
||||
menu.setItemAvailability(R.id.add, false)
|
||||
menu.setItemAvailability(R.id.delete, false)
|
||||
menu.setItemAvailability(R.id.add_to_home_screen_submenu, false)
|
||||
}
|
||||
}
|
||||
|
||||
@ -259,6 +263,11 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
||||
df.arguments.putParcelable(EXTRA_USER_LIST, userList)
|
||||
df.show(childFragmentManager, "user_list_details")
|
||||
}
|
||||
R.id.add_statuses_to_home_screen -> {
|
||||
ShortcutCreator.performCreation(this) {
|
||||
ShortcutCreator.userListTimeline(context, userList.account_key, userList)
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
if (item.intent != null) {
|
||||
try {
|
||||
|
@ -132,14 +132,11 @@ object ShortcutCreator {
|
||||
}
|
||||
|
||||
fun userListTimeline(context: Context, accountKey: UserKey?, list: ParcelableUserList): Promise<ShortcutInfoCompat, Exception> {
|
||||
val holder = DependencyHolder.get(context)
|
||||
val preferences = holder.preferences
|
||||
val userColorNameManager = holder.userColorNameManager
|
||||
val launchIntent = IntentUtils.userListTimeline(accountKey, list.id,
|
||||
list.user_key, list.user_screen_name, list.name)
|
||||
val builder = ShortcutInfoCompat.Builder(context, "$accountKey:user-list-timeline:${list.id}")
|
||||
builder.setIntent(launchIntent)
|
||||
builder.setShortLabel(userColorNameManager.getDisplayName(list, preferences[nameFirstKey]))
|
||||
builder.setShortLabel(list.name)
|
||||
builder.setIcon(IconCompat.createWithResource(context, R.mipmap.ic_shortcut_list))
|
||||
return Promise.of(builder.build())
|
||||
}
|
||||
|
@ -31,5 +31,16 @@
|
||||
android:id="@id/open_with_account"
|
||||
android:icon="@drawable/ic_action_accounts"
|
||||
android:title="@string/open_with_account"/>
|
||||
<item
|
||||
android:id="@+id/add_to_home_screen_submenu"
|
||||
android:icon="@drawable/ic_action_home"
|
||||
android:title="@string/action_add_to_home_screen_more">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/add_statuses_to_home_screen"
|
||||
android:icon="@drawable/ic_action_list"
|
||||
android:title="@string/list_timeline"/>
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
</menu>
|
Loading…
x
Reference in New Issue
Block a user