diff --git a/res/anim-ldrtl/slide_from_end.xml b/res/anim-ldrtl/slide_from_end.xml new file mode 100644 index 000000000..7e00a0272 --- /dev/null +++ b/res/anim-ldrtl/slide_from_end.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim-ldrtl/slide_from_start.xml b/res/anim-ldrtl/slide_from_start.xml new file mode 100644 index 000000000..feeaaf751 --- /dev/null +++ b/res/anim-ldrtl/slide_from_start.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim-ldrtl/slide_to_end.xml b/res/anim-ldrtl/slide_to_end.xml new file mode 100644 index 000000000..8fd13ee47 --- /dev/null +++ b/res/anim-ldrtl/slide_to_end.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim-ldrtl/slide_to_start.xml b/res/anim-ldrtl/slide_to_start.xml new file mode 100644 index 000000000..0a33f3dd3 --- /dev/null +++ b/res/anim-ldrtl/slide_to_start.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim/slide_from_end.xml b/res/anim/slide_from_end.xml new file mode 100644 index 000000000..feeaaf751 --- /dev/null +++ b/res/anim/slide_from_end.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim/slide_from_start.xml b/res/anim/slide_from_start.xml new file mode 100644 index 000000000..7e00a0272 --- /dev/null +++ b/res/anim/slide_from_start.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim/slide_to_end.xml b/res/anim/slide_to_end.xml new file mode 100644 index 000000000..0a33f3dd3 --- /dev/null +++ b/res/anim/slide_to_end.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/res/anim/slide_to_start.xml b/res/anim/slide_to_start.xml new file mode 100644 index 000000000..8fd13ee47 --- /dev/null +++ b/res/anim/slide_to_start.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java index fc37ef40a..c6846f893 100644 --- a/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java +++ b/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java @@ -26,12 +26,13 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Build.VERSION; import android.os.Bundle; + import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; -import androidx.core.content.ContextCompat; -import androidx.core.graphics.drawable.DrawableCompat; import androidx.preference.Preference; import org.thoughtcrime.securesms.preferences.AdvancedPreferenceFragment; @@ -272,6 +273,9 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); + + fragmentTransaction.setCustomAnimations(R.anim.slide_from_end, R.anim.slide_to_start, R.anim.slide_from_start, R.anim.slide_to_end); + fragmentTransaction.replace(android.R.id.content, fragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); diff --git a/src/org/thoughtcrime/securesms/DeviceActivity.java b/src/org/thoughtcrime/securesms/DeviceActivity.java index 6e2890924..2ebb90896 100644 --- a/src/org/thoughtcrime/securesms/DeviceActivity.java +++ b/src/org/thoughtcrime/securesms/DeviceActivity.java @@ -8,18 +8,18 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Vibrator; -import androidx.annotation.NonNull; import android.text.TextUtils; import android.transition.TransitionInflater; - -import org.thoughtcrime.securesms.logging.Log; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.Toast; +import androidx.annotation.NonNull; + import org.thoughtcrime.securesms.crypto.IdentityKeyUtil; import org.thoughtcrime.securesms.crypto.ProfileKeyUtil; +import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.push.AccountManagerFactory; import org.thoughtcrime.securesms.qr.ScanListener; @@ -75,6 +75,16 @@ public class DeviceActivity extends PassphraseRequiredActionBarActivity } else { initFragment(android.R.id.content, deviceListFragment, dynamicLanguage.getCurrentLocale()); } + + overridePendingTransition(R.anim.slide_from_end, R.anim.slide_to_start); + } + + @Override + protected void onPause() { + if (isFinishing()) { + overridePendingTransition(R.anim.slide_from_start, R.anim.slide_to_end); + } + super.onPause(); } @Override