Redirect users from Search to Settings with transition.
Currently there is no transition while redirecting users from Settings
Search result to Settings. This CL gets Shared X-Axis transition applied
to make a better visual experience.
Bug: 177480699
Test: Click on a search result and see the transition.
Change-Id: Iad9b0c1168a939582e2648bc023c1321f9ec8049
diff --git a/res/layout/settings_collapsing_base_layout.xml b/res/layout/settings_collapsing_base_layout.xml
index 5858fc1..f4f42a8 100644
--- a/res/layout/settings_collapsing_base_layout.xml
+++ b/res/layout/settings_collapsing_base_layout.xml
@@ -19,7 +19,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/content_parent"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:transitionGroup="true">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_layout"
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 7f214f6..8eba363 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -36,8 +36,10 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.view.View;
+import android.view.Window;
import android.widget.Button;
import androidx.annotation.Nullable;
@@ -53,6 +55,7 @@
import com.android.internal.util.ArrayUtils;
import com.android.settings.Settings.WifiSettingsActivity;
import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.core.OnActivityResultListener;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.core.SubSettingLauncher;
@@ -67,6 +70,7 @@
import com.android.settingslib.development.DevelopmentSettingsEnabler;
import com.android.settingslib.drawer.DashboardCategory;
+import com.google.android.material.transition.platform.MaterialSharedAxis;
import com.google.android.setupcompat.util.WizardManagerHelper;
import java.util.ArrayList;
@@ -229,6 +233,20 @@
@Override
protected void onCreate(Bundle savedState) {
+ if (FeatureFlagUtils.isEnabled(this, FeatureFlags.SILKY_HOME)) {
+ // Enable Activity transitions
+ getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
+ final MaterialSharedAxis enterTransition = new MaterialSharedAxis(
+ MaterialSharedAxis.X, /* forward */true);
+ enterTransition.addTarget(R.id.content_parent);
+ getWindow().setEnterTransition(enterTransition);
+
+ final MaterialSharedAxis returnTransition = new MaterialSharedAxis(
+ MaterialSharedAxis.X, /* forward */false);
+ returnTransition.addTarget(R.id.content_parent);
+ getWindow().setReturnTransition(returnTransition);
+ }
+
super.onCreate(savedState);
Log.d(LOG_TAG, "Starting onCreate");
long startTime = System.currentTimeMillis();