Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4f785c7 authored by Mill Chen's avatar Mill Chen
Browse files

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
parent 1acb8162
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -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);
    }
+4 −0
Original line number Diff line number Diff line
@@ -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);