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

Commit 93ae5312 authored by Behnam Heydarshahi's avatar Behnam Heydarshahi Committed by Automerger Merge Worker
Browse files

Merge "Ring & notif vol missing on a largescreen device" into tm-qpr-dev am: cf022d45

parents 811fb9fa cf022d45
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import androidx.preference.PreferenceScreen;

import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;

import java.util.Set;
@@ -129,8 +128,7 @@ public class NotificationVolumePreferenceController extends
        boolean separateNotification = isSeparateNotificationConfigEnabled();

        return mContext.getResources().getBoolean(R.bool.config_show_notification_volume)
                && !mHelper.isSingleVolume()
                && (separateNotification || !Utils.isVoiceCapable(mContext))
                && !mHelper.isSingleVolume() && separateNotification
                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
    }

+1 −3
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ import androidx.lifecycle.OnLifecycleEvent;

import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;

import java.util.Set;
@@ -114,8 +113,7 @@ public class RingVolumePreferenceController extends
    @Override
    public int getAvailabilityStatus() {
        boolean separateNotification = isSeparateNotificationConfigEnabled();

        return !separateNotification && Utils.isVoiceCapable(mContext) && !mHelper.isSingleVolume()
        return !separateNotification && !mHelper.isSingleVolume()
                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
    }

+1 −3
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import androidx.lifecycle.OnLifecycleEvent;

import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;

import java.util.Set;
@@ -111,8 +110,7 @@ public class SeparateRingVolumePreferenceController extends
    @Override
    public int getAvailabilityStatus() {
        boolean separateNotification = isSeparateNotificationConfigEnabled();

        return  separateNotification && Utils.isVoiceCapable(mContext) && !mHelper.isSingleVolume()
        return separateNotification && !mHelper.isSingleVolume()
                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
    }

+6 −2
Original line number Diff line number Diff line
@@ -96,12 +96,16 @@ public class RingVolumePreferenceControllerTest {
        assertThat(mController.isAvailable()).isFalse();
    }

    /**
     * Devices that are not voice capable should still show Ring volume, because it is used by apps
     * that make calls outside the cell network.
     */
    @Test
    public void isAvailable_notVoiceCapable_shouldReturnFalse() {
    public void isAvailable_notSingleVolume_notVoiceCapable_shouldReturnTrue() {
        when(mHelper.isSingleVolume()).thenReturn(false);
        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);

        assertThat(mController.isAvailable()).isFalse();
        assertThat(mController.isAvailable()).isTrue();
    }

    @Test
+15 −0
Original line number Diff line number Diff line
@@ -27,8 +27,10 @@ import android.content.Context;
import android.content.res.Resources;
import android.media.AudioManager;
import android.os.Vibrator;
import android.provider.DeviceConfig;
import android.telephony.TelephonyManager;

import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.settings.testutils.shadow.ShadowDeviceConfig;

import org.junit.Before;
@@ -87,6 +89,19 @@ public class SeparateRingVolumePreferenceControllerTest {
        assertThat(mController.isAvailable()).isFalse();
    }

    /**
     * Maintain that the device does not need to be voice capable to display this slider
     */
    @Test
    public void isAvailable_ringNotificationSeparated_isNotVoiceCapable_shouldReturnTrue() {
        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
                SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, "true", false);
        when(mHelper.isSingleVolume()).thenReturn(false);
        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);

        assertThat(mController.isAvailable()).isTrue();
    }

    @Test
    public void getAudioStream_shouldReturnRing() {
        assertThat(mController.getAudioStream()).isEqualTo(AudioManager.STREAM_RING);