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
This commit is contained in:
Mill Chen
2024-04-24 08:38:14 +00:00
parent 1acb816217
commit e4f785c773
2 changed files with 16 additions and 1 deletions

View File

@@ -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;
@@ -58,10 +62,17 @@ public class PanelFeatureProviderImpl implements PanelFeatureProvider {
Utils.SYSTEMUI_PACKAGE_NAME);
context.sendBroadcast(volumeIntent);
return null;
} else {
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);
}
}
}
throw new IllegalStateException("No matching panel for: " + panelType);
}

View File

@@ -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);