some changes

This commit is contained in:
Thomas 2020-06-22 18:23:41 +02:00
parent 57b0bde148
commit c11025a8f9
4 changed files with 62 additions and 7 deletions

View File

@ -3411,7 +3411,7 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
b.putInt("position", finalPosition); b.putInt("position", finalPosition);
intent.putExtras(b); intent.putExtras(b);
ActivityOptionsCompat options = null; ActivityOptionsCompat options = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP && attachment.getType().compareTo("image") == 0) {
imageView.setTransitionName(attachment.getText_url()); imageView.setTransitionName(attachment.getText_url());
options = ActivityOptionsCompat options = ActivityOptionsCompat
.makeSceneTransitionAnimation((Activity)context, imageView, attachment.getUrl()); .makeSceneTransitionAnimation((Activity)context, imageView, attachment.getUrl());

View File

@ -30,6 +30,7 @@ import android.os.Handler;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageButton; import android.widget.ImageButton;
@ -40,6 +41,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -201,7 +203,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
imageView.setImageBitmap(resource); imageView.setImageBitmap(resource);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setTransitionName(attachment.getUrl()); imageView.setTransitionName(attachment.getUrl());
ActivityCompat.startPostponedEnterTransition((Activity)context); scheduleStartPostponedTransition(imageView);
} }
if (bgColor != -1) { if (bgColor != -1) {
media_fragment_container.setBackgroundColor(bgColor); media_fragment_container.setBackgroundColor(bgColor);
@ -245,7 +247,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
.load(url).into(imageView); .load(url).into(imageView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setTransitionName(attachment.getUrl()); imageView.setTransitionName(attachment.getUrl());
ActivityCompat.startPostponedEnterTransition((Activity)context); scheduleStartPostponedTransition(imageView);
} }
} }
@ -548,13 +550,29 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
@Override @Override
public boolean onSlideClosed() { public boolean onSlideClosed() {
return false; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ActivityCompat.finishAfterTransition((Activity) context);
}else{
((Activity)context).finish();
}
return true;
} }
}) })
.build()); .build());
} }
} }
private void scheduleStartPostponedTransition(final ImageView imageView) {
imageView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
imageView.getViewTreeObserver().removeOnPreDrawListener(this);
ActivityCompat.startPostponedEnterTransition((Activity)context);
return true;
}
});
}
private void enableSliding(boolean enable) { private void enableSliding(boolean enable) {
if (enable && !swipeEnabled) { if (enable && !swipeEnabled) {
slidrInterface.unlock(); slidrInterface.unlock();

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<transitionManager xmlns:android="http://schemas.android.com/apk/res/android"> <transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeBounds/>
</transitionManager> <changeImageTransform/>
</transitionSet>

View File

@ -24,6 +24,10 @@
<item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Light</item> <item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Light</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="popupWindowStyle">@style/Cyanea.PopupMenu.Light</item> <item name="popupWindowStyle">@style/Cyanea.PopupMenu.Light</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<style name="Cyanea.PopupMenu.Light" parent="@style/Widget.AppCompat.PopupMenu"> <style name="Cyanea.PopupMenu.Light" parent="@style/Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@color/cyanea_primary_dark_reference</item> <item name="android:popupBackground">@color/cyanea_primary_dark_reference</item>
@ -41,6 +45,10 @@
<item name="linkColor">@color/light_link_toot</item> <item name="linkColor">@color/light_link_toot</item>
<item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Light</item> <item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Light</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<!-- BLACK theme --> <!-- BLACK theme -->
<style name="AppThemeBlack" parent="Theme.Cyanea.Dark"> <style name="AppThemeBlack" parent="Theme.Cyanea.Dark">
@ -56,6 +64,10 @@
<item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item> <item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="popupWindowStyle">@style/Cyanea.PopupMenu.black</item> <item name="popupWindowStyle">@style/Cyanea.PopupMenu.black</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<style name="Cyanea.PopupMenu.black" parent="@style/Widget.AppCompat.PopupMenu"> <style name="Cyanea.PopupMenu.black" parent="@style/Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@color/cyanea_primary_dark_reference</item> <item name="android:popupBackground">@color/cyanea_primary_dark_reference</item>
@ -73,6 +85,10 @@
<item name="linkColor">@color/black_link_toot</item> <item name="linkColor">@color/black_link_toot</item>
<item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item> <item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
@ -90,6 +106,10 @@
<item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item> <item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="popupWindowStyle">@style/Cyanea.PopupMenu.Dark</item> <item name="popupWindowStyle">@style/Cyanea.PopupMenu.Dark</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<style name="Cyanea.PopupMenu.Dark" parent="@style/Widget.AppCompat.PopupMenu"> <style name="Cyanea.PopupMenu.Dark" parent="@style/Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@color/cyanea_primary_dark_reference</item> <item name="android:popupBackground">@color/cyanea_primary_dark_reference</item>
@ -107,6 +127,10 @@
<item name="linkColor">@color/dark_link_toot</item> <item name="linkColor">@color/dark_link_toot</item>
<item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item> <item name="android:popupMenuStyle">@style/Fedilab.PopupMenu.Dark</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
@ -153,6 +177,10 @@
<item name="linkColor">@color/light_link_toot</item> <item name="linkColor">@color/light_link_toot</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="android:windowIsTranslucent">true</item> <item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<style name="TransparentDark" parent="Theme.Cyanea.Dark"> <style name="TransparentDark" parent="Theme.Cyanea.Dark">
@ -163,6 +191,10 @@
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="android:windowIsTranslucent">true</item> <item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<style name="TransparentBlack" parent="Theme.Cyanea.Dark"> <style name="TransparentBlack" parent="Theme.Cyanea.Dark">
@ -174,6 +206,10 @@
<item name="linkColor">@color/black_link_toot</item> <item name="linkColor">@color/black_link_toot</item>
<item name="android:itemBackground">@drawable/menu_selector</item> <item name="android:itemBackground">@drawable/menu_selector</item>
<item name="android:windowIsTranslucent">true</item> <item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowActivityTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowSharedElementEnterTransition" tools:ignore="NewApi">@transition/anim</item>
<item name="android:windowSharedElementExitTransition" tools:targetApi="lollipop">@transition/anim</item>
</style> </style>
<style name="Fedilab.PopupMenu.Light" parent="Cyanea.PopupMenu.Light"> <style name="Fedilab.PopupMenu.Light" parent="Cyanea.PopupMenu.Light">