Merge "Provide a way to suppress page transitions." into sc-dev am: 631e7eb024
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14730695 Change-Id: Ib7064e7b399ac80e59465bd84c210a954626bb01
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settingslib.collapsingtoolbar;
|
||||
|
||||
import static com.android.settingslib.transition.SettingsTransitionHelper.EXTRA_PAGE_TRANSITION_TYPE;
|
||||
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
@@ -28,6 +30,7 @@ import androidx.core.os.BuildCompat;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.android.settingslib.transition.SettingsTransitionHelper;
|
||||
import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType;
|
||||
|
||||
/**
|
||||
* A base Activity for Settings-specific page transition. Activities extending it will get
|
||||
@@ -35,7 +38,6 @@ import com.android.settingslib.transition.SettingsTransitionHelper;
|
||||
*/
|
||||
public abstract class SettingsTransitionActivity extends FragmentActivity {
|
||||
private static final String TAG = "SettingsTransitionActivity";
|
||||
private static final int DEFAULT_REQUEST = -1;
|
||||
|
||||
private Toolbar mToolbar;
|
||||
|
||||
@@ -57,46 +59,18 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
|
||||
mToolbar = toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startActivity(Intent intent) {
|
||||
if (!isSettingsTransitionEnabled()) {
|
||||
super.startActivity(intent);
|
||||
return;
|
||||
}
|
||||
|
||||
super.startActivity(intent, createActivityOptionsBundleForTransition(null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startActivity(Intent intent, @Nullable Bundle options) {
|
||||
if (!isSettingsTransitionEnabled()) {
|
||||
super.startActivity(intent, options);
|
||||
return;
|
||||
}
|
||||
|
||||
super.startActivity(intent, createActivityOptionsBundleForTransition(options));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startActivityForResult(Intent intent, int requestCode) {
|
||||
if (!isSettingsTransitionEnabled() || requestCode == DEFAULT_REQUEST) {
|
||||
super.startActivityForResult(intent, requestCode);
|
||||
return;
|
||||
}
|
||||
|
||||
super.startActivityForResult(intent, requestCode, createActivityOptionsBundleForTransition(
|
||||
null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {
|
||||
if (!isSettingsTransitionEnabled() || requestCode == DEFAULT_REQUEST) {
|
||||
final int transitionType = intent.getIntExtra(EXTRA_PAGE_TRANSITION_TYPE,
|
||||
TransitionType.TRANSITION_SHARED_AXIS);
|
||||
if (!isSettingsTransitionEnabled() ||
|
||||
transitionType == TransitionType.TRANSITION_NONE) {
|
||||
super.startActivityForResult(intent, requestCode, options);
|
||||
return;
|
||||
}
|
||||
|
||||
super.startActivityForResult(intent, requestCode, createActivityOptionsBundleForTransition(
|
||||
options));
|
||||
super.startActivityForResult(intent, requestCode,
|
||||
createActivityOptionsBundleForTransition(options));
|
||||
}
|
||||
|
||||
protected boolean isSettingsTransitionEnabled() {
|
||||
|
||||
@@ -55,6 +55,8 @@ public class SettingsTransitionHelper {
|
||||
int TRANSITION_FADE = 2;
|
||||
}
|
||||
|
||||
public static final String EXTRA_PAGE_TRANSITION_TYPE = "page_transition_type";
|
||||
|
||||
private static final String TAG = "SettingsTransitionHelper";
|
||||
private static final long DURATION = 450L;
|
||||
private static final float FADE_THROUGH_THRESHOLD = 0.22F;
|
||||
|
||||
Reference in New Issue
Block a user