From e4f785c773bd6b4aca64558451836c6c18e13f0a Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Wed, 24 Apr 2024 08:38:14 +0000 Subject: [PATCH] Redirect Volume Panel to settings page Flag: com.android.settings.flags.slices_retirement Bug: 328529042 Bug: 202262476 Test: manual test adb shell am start -a android.settings.panel.action.VOLUME Change-Id: I54f30d18eb10db864dcf5ee745b168b03e388b14 --- .../settings/panel/PanelFeatureProviderImpl.java | 13 ++++++++++++- .../panel/PanelFeatureProviderImplTest.java | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/panel/PanelFeatureProviderImpl.java b/src/com/android/settings/panel/PanelFeatureProviderImpl.java index 71711f9228e..d73edfca42e 100644 --- a/src/com/android/settings/panel/PanelFeatureProviderImpl.java +++ b/src/com/android/settings/panel/PanelFeatureProviderImpl.java @@ -22,11 +22,15 @@ import android.os.Bundle; import android.provider.Settings; import android.util.FeatureFlagUtils; +import androidx.annotation.Nullable; + import com.android.settings.Utils; +import com.android.settings.flags.Flags; public class PanelFeatureProviderImpl implements PanelFeatureProvider { @Override + @Nullable public PanelContent getPanel(Context context, Bundle bundle) { if (context == null) { return null; @@ -59,7 +63,14 @@ public class PanelFeatureProviderImpl implements PanelFeatureProvider { context.sendBroadcast(volumeIntent); return null; } else { - return VolumePanel.create(context); + if (Flags.slicesRetirement()) { + Intent volIntent = new Intent(Settings.ACTION_SOUND_SETTINGS); + volIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(volIntent); + return null; + } else { + return VolumePanel.create(context); + } } } diff --git a/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java b/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java index 4b08ef8bfa8..d2f53f948e3 100644 --- a/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java +++ b/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java @@ -27,12 +27,15 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.platform.test.annotations.DisableFlags; import android.provider.Settings; import android.util.FeatureFlagUtils; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.android.settings.flags.Flags; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -68,6 +71,7 @@ public class PanelFeatureProviderImplTest { } @Test + @DisableFlags(Flags.FLAG_SLICES_RETIREMENT) public void getPanel_volumePanel_returnsCorrectPanel() { FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_VOLUME_PANEL_IN_SYSTEMUI, false);