merge ModalTimelineActivity & ViewTagActivity into StatusListActivity (#2332)
* Rename .java to .kt * merge ModalTimelineActivity & ViewTagActivity into StatusListActivity * fix crash when opening hashtag
This commit is contained in:
parent
eea81d7106
commit
f7dfffa762
|
@ -40,7 +40,6 @@ import at.connyduck.sparkbutton.helpers.Utils
|
||||||
import autodispose2.androidx.lifecycle.AndroidLifecycleScopeProvider.from
|
import autodispose2.androidx.lifecycle.AndroidLifecycleScopeProvider.from
|
||||||
import autodispose2.autoDispose
|
import autodispose2.autoDispose
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.keylesspalace.tusky.components.timeline.viewmodel.TimelineViewModel
|
|
||||||
import com.keylesspalace.tusky.databinding.ActivityListsBinding
|
import com.keylesspalace.tusky.databinding.ActivityListsBinding
|
||||||
import com.keylesspalace.tusky.di.Injectable
|
import com.keylesspalace.tusky.di.Injectable
|
||||||
import com.keylesspalace.tusky.di.ViewModelFactory
|
import com.keylesspalace.tusky.di.ViewModelFactory
|
||||||
|
@ -201,7 +200,7 @@ class ListsActivity : BaseActivity(), Injectable, HasAndroidInjector {
|
||||||
|
|
||||||
private fun onListSelected(listId: String) {
|
private fun onListSelected(listId: String) {
|
||||||
startActivityWithSlideInAnimation(
|
startActivityWithSlideInAnimation(
|
||||||
ModalTimelineActivity.newIntent(this, TimelineViewModel.Kind.LIST, listId)
|
StatusListActivity.newListIntent(this, listId)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,62 +0,0 @@
|
||||||
package com.keylesspalace.tusky
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
|
||||||
import com.keylesspalace.tusky.components.timeline.TimelineFragment
|
|
||||||
import com.keylesspalace.tusky.components.timeline.viewmodel.TimelineViewModel
|
|
||||||
import com.keylesspalace.tusky.databinding.ActivityModalTimelineBinding
|
|
||||||
import com.keylesspalace.tusky.interfaces.ActionButtonActivity
|
|
||||||
import dagger.android.DispatchingAndroidInjector
|
|
||||||
import dagger.android.HasAndroidInjector
|
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class ModalTimelineActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInjector {
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Any>
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
val binding = ActivityModalTimelineBinding.inflate(layoutInflater)
|
|
||||||
setContentView(binding.root)
|
|
||||||
|
|
||||||
setSupportActionBar(binding.includedToolbar.toolbar)
|
|
||||||
supportActionBar?.apply {
|
|
||||||
title = getString(R.string.title_list_timeline)
|
|
||||||
setDisplayHomeAsUpEnabled(true)
|
|
||||||
setDisplayShowHomeEnabled(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (supportFragmentManager.findFragmentById(R.id.contentFrame) == null) {
|
|
||||||
val kind = intent?.getSerializableExtra(ARG_KIND) as? TimelineViewModel.Kind
|
|
||||||
?: TimelineViewModel.Kind.HOME
|
|
||||||
val argument = intent?.getStringExtra(ARG_ARG)
|
|
||||||
supportFragmentManager.beginTransaction()
|
|
||||||
.replace(R.id.contentFrame, TimelineFragment.newInstance(kind, argument))
|
|
||||||
.commit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getActionButton(): FloatingActionButton? = null
|
|
||||||
|
|
||||||
override fun androidInjector() = dispatchingAndroidInjector
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
private const val ARG_KIND = "kind"
|
|
||||||
private const val ARG_ARG = "arg"
|
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun newIntent(
|
|
||||||
context: Context,
|
|
||||||
kind: TimelineViewModel.Kind,
|
|
||||||
argument: String?
|
|
||||||
): Intent {
|
|
||||||
val intent = Intent(context, ModalTimelineActivity::class.java)
|
|
||||||
intent.putExtra(ARG_KIND, kind)
|
|
||||||
intent.putExtra(ARG_ARG, argument)
|
|
||||||
return intent
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -31,9 +31,6 @@ class StatusListActivity : BottomSheetActivity(), HasAndroidInjector {
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Any>
|
lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Any>
|
||||||
|
|
||||||
private val kind: Kind
|
|
||||||
get() = Kind.valueOf(intent.getStringExtra(EXTRA_KIND)!!)
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
val binding = ActivityStatuslistBinding.inflate(layoutInflater)
|
val binding = ActivityStatuslistBinding.inflate(layoutInflater)
|
||||||
|
@ -41,10 +38,15 @@ class StatusListActivity : BottomSheetActivity(), HasAndroidInjector {
|
||||||
|
|
||||||
setSupportActionBar(binding.includedToolbar.toolbar)
|
setSupportActionBar(binding.includedToolbar.toolbar)
|
||||||
|
|
||||||
val title = if (kind == Kind.FAVOURITES) {
|
val kind = Kind.valueOf(intent.getStringExtra(EXTRA_KIND)!!)
|
||||||
R.string.title_favourites
|
val listId = intent.getStringExtra(EXTRA_LIST_ID)
|
||||||
} else {
|
val hashtag = intent.getStringExtra(EXTRA_HASHTAG)
|
||||||
R.string.title_bookmarks
|
|
||||||
|
val title = when (kind) {
|
||||||
|
Kind.FAVOURITES -> getString(R.string.title_favourites)
|
||||||
|
Kind.BOOKMARKS -> getString(R.string.title_bookmarks)
|
||||||
|
Kind.TAG -> getString(R.string.title_tag).format(hashtag)
|
||||||
|
else -> getString(R.string.title_list_timeline)
|
||||||
}
|
}
|
||||||
|
|
||||||
supportActionBar?.run {
|
supportActionBar?.run {
|
||||||
|
@ -53,9 +55,15 @@ class StatusListActivity : BottomSheetActivity(), HasAndroidInjector {
|
||||||
setDisplayShowHomeEnabled(true)
|
setDisplayShowHomeEnabled(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
supportFragmentManager.commit {
|
if (supportFragmentManager.findFragmentById(R.id.fragmentContainer) == null) {
|
||||||
val fragment = TimelineFragment.newInstance(kind)
|
supportFragmentManager.commit {
|
||||||
replace(R.id.fragment_container, fragment)
|
val fragment = if (kind == Kind.TAG) {
|
||||||
|
TimelineFragment.newHashtagInstance(listOf(hashtag!!))
|
||||||
|
} else {
|
||||||
|
TimelineFragment.newInstance(kind, listId)
|
||||||
|
}
|
||||||
|
replace(R.id.fragmentContainer, fragment)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,17 +72,30 @@ class StatusListActivity : BottomSheetActivity(), HasAndroidInjector {
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private const val EXTRA_KIND = "kind"
|
private const val EXTRA_KIND = "kind"
|
||||||
|
private const val EXTRA_LIST_ID = "id"
|
||||||
|
private const val EXTRA_HASHTAG = "tag"
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun newFavouritesIntent(context: Context) =
|
fun newFavouritesIntent(context: Context) =
|
||||||
Intent(context, StatusListActivity::class.java).apply {
|
Intent(context, StatusListActivity::class.java).apply {
|
||||||
putExtra(EXTRA_KIND, Kind.FAVOURITES.name)
|
putExtra(EXTRA_KIND, Kind.FAVOURITES.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun newBookmarksIntent(context: Context) =
|
fun newBookmarksIntent(context: Context) =
|
||||||
Intent(context, StatusListActivity::class.java).apply {
|
Intent(context, StatusListActivity::class.java).apply {
|
||||||
putExtra(EXTRA_KIND, Kind.BOOKMARKS.name)
|
putExtra(EXTRA_KIND, Kind.BOOKMARKS.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun newListIntent(context: Context, listId: String) =
|
||||||
|
Intent(context, StatusListActivity::class.java).apply {
|
||||||
|
putExtra(EXTRA_KIND, Kind.LIST.name)
|
||||||
|
putExtra(EXTRA_LIST_ID, listId)
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun newHashtagIntent(context: Context, hashtag: String) =
|
||||||
|
Intent(context, StatusListActivity::class.java).apply {
|
||||||
|
putExtra(EXTRA_KIND, Kind.TAG.name)
|
||||||
|
putExtra(EXTRA_HASHTAG, hashtag)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
/* Copyright 2017 Andrew Dawson
|
|
||||||
*
|
|
||||||
* This file is a part of Tusky.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
|
||||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
|
||||||
* License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
|
||||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
||||||
* Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along with Tusky; if not,
|
|
||||||
* see <http://www.gnu.org/licenses>. */
|
|
||||||
|
|
||||||
package com.keylesspalace.tusky;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.app.ActionBar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
|
||||||
|
|
||||||
import com.keylesspalace.tusky.components.timeline.TimelineFragment;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
|
|
||||||
import dagger.android.AndroidInjector;
|
|
||||||
import dagger.android.DispatchingAndroidInjector;
|
|
||||||
import dagger.android.HasAndroidInjector;
|
|
||||||
|
|
||||||
public class ViewTagActivity extends BottomSheetActivity implements HasAndroidInjector {
|
|
||||||
|
|
||||||
private static final String HASHTAG = "hashtag";
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public DispatchingAndroidInjector<Object> dispatchingAndroidInjector;
|
|
||||||
|
|
||||||
public static Intent getIntent(Context context, String tag){
|
|
||||||
Intent intent = new Intent(context,ViewTagActivity.class);
|
|
||||||
intent.putExtra(HASHTAG,tag);
|
|
||||||
return intent;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_view_tag);
|
|
||||||
|
|
||||||
String hashtag = getIntent().getStringExtra(HASHTAG);
|
|
||||||
|
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
|
||||||
setSupportActionBar(toolbar);
|
|
||||||
ActionBar bar = getSupportActionBar();
|
|
||||||
|
|
||||||
if (bar != null) {
|
|
||||||
bar.setTitle(String.format(getString(R.string.title_tag), hashtag));
|
|
||||||
bar.setDisplayHomeAsUpEnabled(true);
|
|
||||||
bar.setDisplayShowHomeEnabled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
|
|
||||||
Fragment fragment = TimelineFragment.newHashtagInstance(Collections.singletonList(hashtag));
|
|
||||||
fragmentTransaction.replace(R.id.fragment_container, fragment);
|
|
||||||
fragmentTransaction.commit();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public AndroidInjector<Object> androidInjector() {
|
|
||||||
return dispatchingAndroidInjector;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -55,8 +55,8 @@ import com.keylesspalace.tusky.AccountListActivity
|
||||||
import com.keylesspalace.tusky.BottomSheetActivity
|
import com.keylesspalace.tusky.BottomSheetActivity
|
||||||
import com.keylesspalace.tusky.EditProfileActivity
|
import com.keylesspalace.tusky.EditProfileActivity
|
||||||
import com.keylesspalace.tusky.R
|
import com.keylesspalace.tusky.R
|
||||||
|
import com.keylesspalace.tusky.StatusListActivity
|
||||||
import com.keylesspalace.tusky.ViewMediaActivity
|
import com.keylesspalace.tusky.ViewMediaActivity
|
||||||
import com.keylesspalace.tusky.ViewTagActivity
|
|
||||||
import com.keylesspalace.tusky.components.compose.ComposeActivity
|
import com.keylesspalace.tusky.components.compose.ComposeActivity
|
||||||
import com.keylesspalace.tusky.components.report.ReportActivity
|
import com.keylesspalace.tusky.components.report.ReportActivity
|
||||||
import com.keylesspalace.tusky.databinding.ActivityAccountBinding
|
import com.keylesspalace.tusky.databinding.ActivityAccountBinding
|
||||||
|
@ -817,8 +817,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewTag(tag: String) {
|
override fun onViewTag(tag: String) {
|
||||||
val intent = Intent(this, ViewTagActivity::class.java)
|
val intent = StatusListActivity.newHashtagIntent(this, tag)
|
||||||
intent.putExtra("hashtag", tag)
|
|
||||||
startActivityWithSlideInAnimation(intent)
|
startActivityWithSlideInAnimation(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.keylesspalace.tusky.BottomSheetActivity
|
import com.keylesspalace.tusky.BottomSheetActivity
|
||||||
import com.keylesspalace.tusky.R
|
import com.keylesspalace.tusky.R
|
||||||
import com.keylesspalace.tusky.ViewTagActivity
|
import com.keylesspalace.tusky.StatusListActivity
|
||||||
import com.keylesspalace.tusky.adapter.EmojiAdapter
|
import com.keylesspalace.tusky.adapter.EmojiAdapter
|
||||||
import com.keylesspalace.tusky.adapter.OnEmojiSelectedListener
|
import com.keylesspalace.tusky.adapter.OnEmojiSelectedListener
|
||||||
import com.keylesspalace.tusky.databinding.ActivityAnnouncementsBinding
|
import com.keylesspalace.tusky.databinding.ActivityAnnouncementsBinding
|
||||||
|
@ -152,22 +152,17 @@ class AnnouncementsActivity : BottomSheetActivity(), AnnouncementActionListener,
|
||||||
viewModel.removeReaction(announcementId, name)
|
viewModel.removeReaction(announcementId, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewTag(tag: String?) {
|
override fun onViewTag(tag: String) {
|
||||||
val intent = Intent(this, ViewTagActivity::class.java)
|
val intent = StatusListActivity.newHashtagIntent(this, tag)
|
||||||
intent.putExtra("hashtag", tag)
|
|
||||||
startActivityWithSlideInAnimation(intent)
|
startActivityWithSlideInAnimation(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewAccount(id: String?) {
|
override fun onViewAccount(id: String) {
|
||||||
if (id != null) {
|
viewAccount(id)
|
||||||
viewAccount(id)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewUrl(url: String?) {
|
override fun onViewUrl(url: String) {
|
||||||
if (url != null) {
|
viewUrl(url)
|
||||||
viewUrl(url)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
package com.keylesspalace.tusky.components.conversation
|
package com.keylesspalace.tusky.components.conversation
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -31,7 +30,7 @@ import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.SimpleItemAnimator
|
import androidx.recyclerview.widget.SimpleItemAnimator
|
||||||
import com.keylesspalace.tusky.R
|
import com.keylesspalace.tusky.R
|
||||||
import com.keylesspalace.tusky.ViewTagActivity
|
import com.keylesspalace.tusky.StatusListActivity
|
||||||
import com.keylesspalace.tusky.components.account.AccountActivity
|
import com.keylesspalace.tusky.components.account.AccountActivity
|
||||||
import com.keylesspalace.tusky.databinding.FragmentTimelineBinding
|
import com.keylesspalace.tusky.databinding.FragmentTimelineBinding
|
||||||
import com.keylesspalace.tusky.di.Injectable
|
import com.keylesspalace.tusky.di.Injectable
|
||||||
|
@ -233,8 +232,7 @@ class ConversationsFragment : SFragment(), StatusActionListener, Injectable, Res
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewTag(tag: String) {
|
override fun onViewTag(tag: String) {
|
||||||
val intent = Intent(context, ViewTagActivity::class.java)
|
val intent = StatusListActivity.newHashtagIntent(requireContext(), tag)
|
||||||
intent.putExtra("hashtag", tag)
|
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.SimpleItemAnimator
|
import androidx.recyclerview.widget.SimpleItemAnimator
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.keylesspalace.tusky.R
|
import com.keylesspalace.tusky.R
|
||||||
|
import com.keylesspalace.tusky.StatusListActivity
|
||||||
import com.keylesspalace.tusky.ViewMediaActivity
|
import com.keylesspalace.tusky.ViewMediaActivity
|
||||||
import com.keylesspalace.tusky.ViewTagActivity
|
|
||||||
import com.keylesspalace.tusky.components.account.AccountActivity
|
import com.keylesspalace.tusky.components.account.AccountActivity
|
||||||
import com.keylesspalace.tusky.components.report.ReportViewModel
|
import com.keylesspalace.tusky.components.report.ReportViewModel
|
||||||
import com.keylesspalace.tusky.components.report.Screen
|
import com.keylesspalace.tusky.components.report.Screen
|
||||||
|
@ -180,9 +180,9 @@ class ReportStatusesFragment : Fragment(R.layout.fragment_report_statuses), Inje
|
||||||
|
|
||||||
override fun onViewAccount(id: String) = startActivity(AccountActivity.getIntent(requireContext(), id))
|
override fun onViewAccount(id: String) = startActivity(AccountActivity.getIntent(requireContext(), id))
|
||||||
|
|
||||||
override fun onViewTag(tag: String) = startActivity(ViewTagActivity.getIntent(requireContext(), tag))
|
override fun onViewTag(tag: String) = startActivity(StatusListActivity.newHashtagIntent(requireContext(), tag))
|
||||||
|
|
||||||
override fun onViewUrl(url: String?) = viewModel.checkClickedUrl(url)
|
override fun onViewUrl(url: String) = viewModel.checkClickedUrl(url)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance() = ReportStatusesFragment()
|
fun newInstance() = ReportStatusesFragment()
|
||||||
|
|
|
@ -15,7 +15,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.keylesspalace.tusky.BottomSheetActivity
|
import com.keylesspalace.tusky.BottomSheetActivity
|
||||||
import com.keylesspalace.tusky.R
|
import com.keylesspalace.tusky.R
|
||||||
import com.keylesspalace.tusky.ViewTagActivity
|
import com.keylesspalace.tusky.StatusListActivity
|
||||||
import com.keylesspalace.tusky.components.account.AccountActivity
|
import com.keylesspalace.tusky.components.account.AccountActivity
|
||||||
import com.keylesspalace.tusky.components.search.SearchViewModel
|
import com.keylesspalace.tusky.components.search.SearchViewModel
|
||||||
import com.keylesspalace.tusky.databinding.FragmentSearchBinding
|
import com.keylesspalace.tusky.databinding.FragmentSearchBinding
|
||||||
|
@ -113,7 +113,7 @@ abstract class SearchFragment<T : Any> :
|
||||||
|
|
||||||
override fun onViewAccount(id: String) = startActivity(AccountActivity.getIntent(requireContext(), id))
|
override fun onViewAccount(id: String) = startActivity(AccountActivity.getIntent(requireContext(), id))
|
||||||
|
|
||||||
override fun onViewTag(tag: String) = startActivity(ViewTagActivity.getIntent(requireContext(), tag))
|
override fun onViewTag(tag: String) = startActivity(StatusListActivity.newHashtagIntent(requireContext(), tag))
|
||||||
|
|
||||||
override fun onViewUrl(url: String) {
|
override fun onViewUrl(url: String) {
|
||||||
bottomSheetActivity?.viewUrl(url)
|
bottomSheetActivity?.viewUrl(url)
|
||||||
|
|
|
@ -24,12 +24,10 @@ import com.keylesspalace.tusky.LicenseActivity
|
||||||
import com.keylesspalace.tusky.ListsActivity
|
import com.keylesspalace.tusky.ListsActivity
|
||||||
import com.keylesspalace.tusky.LoginActivity
|
import com.keylesspalace.tusky.LoginActivity
|
||||||
import com.keylesspalace.tusky.MainActivity
|
import com.keylesspalace.tusky.MainActivity
|
||||||
import com.keylesspalace.tusky.ModalTimelineActivity
|
|
||||||
import com.keylesspalace.tusky.SplashActivity
|
import com.keylesspalace.tusky.SplashActivity
|
||||||
import com.keylesspalace.tusky.StatusListActivity
|
import com.keylesspalace.tusky.StatusListActivity
|
||||||
import com.keylesspalace.tusky.TabPreferenceActivity
|
import com.keylesspalace.tusky.TabPreferenceActivity
|
||||||
import com.keylesspalace.tusky.ViewMediaActivity
|
import com.keylesspalace.tusky.ViewMediaActivity
|
||||||
import com.keylesspalace.tusky.ViewTagActivity
|
|
||||||
import com.keylesspalace.tusky.ViewThreadActivity
|
import com.keylesspalace.tusky.ViewThreadActivity
|
||||||
import com.keylesspalace.tusky.components.account.AccountActivity
|
import com.keylesspalace.tusky.components.account.AccountActivity
|
||||||
import com.keylesspalace.tusky.components.announcements.AnnouncementsActivity
|
import com.keylesspalace.tusky.components.announcements.AnnouncementsActivity
|
||||||
|
@ -71,12 +69,6 @@ abstract class ActivitiesModule {
|
||||||
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
|
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
|
||||||
abstract fun contributesAccountListActivity(): AccountListActivity
|
abstract fun contributesAccountListActivity(): AccountListActivity
|
||||||
|
|
||||||
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
|
|
||||||
abstract fun contributesModalTimelineActivity(): ModalTimelineActivity
|
|
||||||
|
|
||||||
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
|
|
||||||
abstract fun contributesViewTagActivity(): ViewTagActivity
|
|
||||||
|
|
||||||
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
|
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
|
||||||
abstract fun contributesViewThreadActivity(): ViewThreadActivity
|
abstract fun contributesViewThreadActivity(): ViewThreadActivity
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,8 @@ import com.keylesspalace.tusky.BaseActivity;
|
||||||
import com.keylesspalace.tusky.BottomSheetActivity;
|
import com.keylesspalace.tusky.BottomSheetActivity;
|
||||||
import com.keylesspalace.tusky.PostLookupFallbackBehavior;
|
import com.keylesspalace.tusky.PostLookupFallbackBehavior;
|
||||||
import com.keylesspalace.tusky.R;
|
import com.keylesspalace.tusky.R;
|
||||||
|
import com.keylesspalace.tusky.StatusListActivity;
|
||||||
import com.keylesspalace.tusky.ViewMediaActivity;
|
import com.keylesspalace.tusky.ViewMediaActivity;
|
||||||
import com.keylesspalace.tusky.ViewTagActivity;
|
|
||||||
import com.keylesspalace.tusky.components.compose.ComposeActivity;
|
import com.keylesspalace.tusky.components.compose.ComposeActivity;
|
||||||
import com.keylesspalace.tusky.components.compose.ComposeActivity.ComposeOptions;
|
import com.keylesspalace.tusky.components.compose.ComposeActivity.ComposeOptions;
|
||||||
import com.keylesspalace.tusky.components.report.ReportActivity;
|
import com.keylesspalace.tusky.components.report.ReportActivity;
|
||||||
|
@ -370,8 +370,7 @@ public abstract class SFragment extends Fragment implements Injectable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void viewTag(String tag) {
|
protected void viewTag(String tag) {
|
||||||
Intent intent = new Intent(getContext(), ViewTagActivity.class);
|
Intent intent = StatusListActivity.newHashtagIntent(requireContext(), tag);
|
||||||
intent.putExtra("hashtag", tag);
|
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
* You should have received a copy of the GNU General Public License along with Tusky; if not,
|
* You should have received a copy of the GNU General Public License along with Tusky; if not,
|
||||||
* see <http://www.gnu.org/licenses>. */
|
* see <http://www.gnu.org/licenses>. */
|
||||||
|
|
||||||
package com.keylesspalace.tusky.interfaces;
|
package com.keylesspalace.tusky.interfaces
|
||||||
|
|
||||||
public interface LinkListener {
|
interface LinkListener {
|
||||||
void onViewTag(String tag);
|
fun onViewTag(tag: String)
|
||||||
void onViewAccount(String id);
|
fun onViewAccount(id: String)
|
||||||
void onViewUrl(String url);
|
fun onViewUrl(url: String)
|
||||||
}
|
}
|
|
@ -1,21 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context="com.keylesspalace.tusky.ModalTimelineActivity">
|
|
||||||
|
|
||||||
<include
|
|
||||||
android:id="@+id/includedToolbar"
|
|
||||||
layout="@layout/toolbar_basic" />
|
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
|
||||||
android:id="@+id/contentFrame"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
|
||||||
|
|
||||||
<include layout="@layout/item_status_bottom_sheet"/>
|
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
|
@ -11,11 +11,11 @@
|
||||||
layout="@layout/toolbar_basic" />
|
layout="@layout/toolbar_basic" />
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
<androidx.fragment.app.FragmentContainerView
|
||||||
android:id="@+id/fragment_container"
|
android:id="@+id/fragmentContainer"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||||
|
|
||||||
<include layout="@layout/item_status_bottom_sheet"/>
|
<include layout="@layout/item_status_bottom_sheet" />
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -1,19 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context="com.keylesspalace.tusky.ViewTagActivity">
|
|
||||||
|
|
||||||
<include layout="@layout/toolbar_basic" />
|
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
|
||||||
android:id="@+id/fragment_container"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
|
||||||
|
|
||||||
<include layout="@layout/item_status_bottom_sheet"/>
|
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
Loading…
Reference in New Issue