kopia lustrzana https://github.com/ryukoposting/Signal-Android
Add initial shared element transition between conversation list and stories.
rodzic
678e832058
commit
3328e43a40
|
@ -15,6 +15,7 @@ import androidx.fragment.app.viewModels
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import androidx.navigation.NavDestination
|
import androidx.navigation.NavDestination
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
|
import androidx.navigation.fragment.FragmentNavigatorExtras
|
||||||
import org.signal.core.util.concurrent.SimpleTask
|
import org.signal.core.util.concurrent.SimpleTask
|
||||||
import org.signal.core.util.logging.Log
|
import org.signal.core.util.logging.Log
|
||||||
import org.thoughtcrime.securesms.MainActivity
|
import org.thoughtcrime.securesms.MainActivity
|
||||||
|
@ -105,7 +106,12 @@ class MainActivityListHostFragment : Fragment(R.layout.main_activity_list_host_f
|
||||||
if (state.tab == ConversationListTab.CHATS) {
|
if (state.tab == ConversationListTab.CHATS) {
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
navController.navigate(R.id.action_conversationListFragment_to_storiesLandingFragment)
|
navController.navigate(
|
||||||
|
R.id.action_conversationListFragment_to_storiesLandingFragment,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
FragmentNavigatorExtras(requireView().findViewById<View>(R.id.camera_fab) to "camera_fab")
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ import android.Manifest
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.transition.TransitionInflater
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuInflater
|
import android.view.MenuInflater
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
|
@ -73,6 +74,8 @@ class StoriesLandingFragment : DSLSettingsFragment(layoutId = R.layout.stories_l
|
||||||
emptyNotice = requireView().findViewById(R.id.empty_notice)
|
emptyNotice = requireView().findViewById(R.id.empty_notice)
|
||||||
cameraFab = requireView().findViewById(R.id.camera_fab)
|
cameraFab = requireView().findViewById(R.id.camera_fab)
|
||||||
|
|
||||||
|
sharedElementEnterTransition = TransitionInflater.from(requireContext()).inflateTransition(R.transition.change_transform)
|
||||||
|
|
||||||
cameraFab.setOnClickListener {
|
cameraFab.setOnClickListener {
|
||||||
Permissions.with(this)
|
Permissions.with(this)
|
||||||
.request(Manifest.permission.CAMERA)
|
.request(Manifest.permission.CAMERA)
|
||||||
|
|
|
@ -110,6 +110,7 @@
|
||||||
app:layout_behavior="org.thoughtcrime.securesms.util.views.SlideUpWithSnackbarBehavior">
|
app:layout_behavior="org.thoughtcrime.securesms.util.views.SlideUpWithSnackbarBehavior">
|
||||||
|
|
||||||
<org.thoughtcrime.securesms.components.registration.PulsingFloatingActionButton
|
<org.thoughtcrime.securesms.components.registration.PulsingFloatingActionButton
|
||||||
|
android:transitionName="camera_fab"
|
||||||
android:id="@+id/camera_fab"
|
android:id="@+id/camera_fab"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
android:contentDescription="@string/conversation_list_fragment__open_camera_description"
|
android:contentDescription="@string/conversation_list_fragment__open_camera_description"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:theme="@style/Widget.Material3.FloatingActionButton.Secondary"
|
android:theme="@style/Widget.Material3.FloatingActionButton.Secondary"
|
||||||
|
android:transitionName="camera_fab"
|
||||||
app:backgroundTint="@color/signal_colorPrimaryContainer"
|
app:backgroundTint="@color/signal_colorPrimaryContainer"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|
Ładowanie…
Reference in New Issue