From c55901d2c0f31a8738528793e8deeccd131e00e3 Mon Sep 17 00:00:00 2001 From: Yi-Ling Chuang Date: Fri, 29 Jan 2021 11:41:22 +0800 Subject: [PATCH] Fix the transition of the up-button. We've applied a new transition from Search to Settings, where if users click on the up-button, the transition will not be applied. Hence, this CL makes the up-button behave the same as the back key to address this. - Also remove the transition target as it is not necessary. Fixes: 177968777 Test: 1. Search "Gesture" 2. Click on "Gesture" 3. Tap the up-button and see the applied transition Change-Id: I046424f244426750d98046703c05ae0a1d567c67 --- src/com/android/settings/SettingsActivity.java | 2 -- .../android/settings/core/SettingsBaseActivity.java | 13 +++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index bb20c4cbc0d..d22a38117a2 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -238,12 +238,10 @@ public class SettingsActivity extends SettingsBaseActivity 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); } diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java index 470470290d0..85484af60df 100644 --- a/src/com/android/settings/core/SettingsBaseActivity.java +++ b/src/com/android/settings/core/SettingsBaseActivity.java @@ -32,11 +32,13 @@ import android.util.ArraySet; import android.util.FeatureFlagUtils; import android.util.Log; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.Toolbar; +import androidx.annotation.NonNull; import androidx.fragment.app.FragmentActivity; import com.android.settings.R; @@ -167,6 +169,17 @@ public class SettingsBaseActivity extends FragmentActivity { ((ViewGroup) findViewById(R.id.content_frame)).addView(view, params); } + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + final int id = item.getItemId(); + if (id == android.R.id.home) { + // Make the up button behave the same as the back button. + onBackPressed(); + return true; + } + return super.onOptionsItemSelected(item); + } + @Override public void setTitle(CharSequence title) { if (mCollapsingToolbarLayout != null) {