diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java index ce0a4658ff7..16bcf292248 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java @@ -25,6 +25,7 @@ import android.bluetooth.BluetoothDevice; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.provider.Settings; import android.util.Log; import androidx.annotation.Nullable; @@ -44,6 +45,11 @@ public class AudioSharingDashboardFragment extends DashboardFragment public static final int SHARE_THEN_PAIR_REQUEST_CODE = 1002; + public static final String IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY = + "is_showing_audio_sharing_dashboard"; + public static final int SHOWING_AUDIO_SHARING_DASHBOARD = 1; + public static final int NOT_SHOWING_AUDIO_SHARING_DASHBOARD = 0; + SettingsMainSwitchBar mMainSwitchBar; private Context mContext; private AudioSharingDeviceVolumeGroupController mAudioSharingDeviceVolumeGroupController; @@ -106,6 +112,35 @@ public class AudioSharingDashboardFragment extends DashboardFragment mMainSwitchBar.show(); } + @Override + public void onResume() { + super.onResume(); + // TODO(b/395058868): Remove this if it's decided this is not needed. + setAudioSharingDashboardSettingsGlobal(true); + } + + @Override + public void onPause() { + super.onPause(); + // TODO(b/395058868): Remove this if it's decided this is not needed. + setAudioSharingDashboardSettingsGlobal(false); + } + + private void setAudioSharingDashboardSettingsGlobal(Boolean isShowingAudioSharingDashboard) { + var unused = + ThreadUtils.postOnBackgroundThread( + () -> { + int value = + isShowingAudioSharingDashboard + ? SHOWING_AUDIO_SHARING_DASHBOARD + : NOT_SHOWING_AUDIO_SHARING_DASHBOARD; + Settings.Global.putInt( + mContext.getContentResolver(), + IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY, + value); + }); + } + @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java index 031f29fcaa6..a1bb84c1daa 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java +++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java @@ -36,6 +36,7 @@ import android.media.session.PlaybackState; import android.os.Bundle; import android.os.IBinder; import android.util.Log; +import android.view.KeyEvent; import androidx.annotation.IntRange; import androidx.annotation.NonNull; @@ -432,6 +433,25 @@ public class AudioStreamMediaService extends Service { } private class MediaSessionCallback extends MediaSession.Callback { + @Override + public boolean onMediaButtonEvent(@NonNull Intent mediaButtonIntent) { + KeyEvent keyEvent = mediaButtonIntent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); + if (keyEvent != null) { + Log.d(TAG, "onMediaButtonEvent(): triggered by MediaSessionCallback"); + switch (keyEvent.getKeyCode()) { + case KeyEvent.KEYCODE_MEDIA_PLAY: + handleOnPlay(); + break; + case KeyEvent.KEYCODE_MEDIA_PAUSE: + handleOnPause(); + break; + default: // fall out + } + } + return super.onMediaButtonEvent(mediaButtonIntent); + } + + @Override public void onSeekTo(long pos) { Log.d(TAG, "onSeekTo: " + pos); synchronized (mLocalSessionLock) { @@ -443,29 +463,12 @@ public class AudioStreamMediaService extends Service { @Override public void onPause() { - if (mDevices == null || mDevices.isEmpty()) { - Log.w(TAG, "active device or device has source is null!"); - return; - } - Log.d( - TAG, - "onPause() setting volume for device : " + mDevices.get(0) + " volume: " + 0); - setDeviceVolume(mDevices.get(0), /* volume= */ 0); + handleOnPause(); } @Override public void onPlay() { - if (mDevices == null || mDevices.isEmpty()) { - Log.w(TAG, "active device or device has source is null!"); - return; - } - Log.d( - TAG, - "onPlay() setting volume for device : " - + mDevices.get(0) - + " volume: " - + mLatestPositiveVolume.get()); - setDeviceVolume(mDevices.get(0), mLatestPositiveVolume.get()); + handleOnPlay(); } @Override @@ -478,18 +481,43 @@ public class AudioStreamMediaService extends Service { SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK); } } + } - private void setDeviceVolume(BluetoothDevice device, int volume) { - int event = SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK; - var unused = - ThreadUtils.postOnBackgroundThread( - () -> { - if (mVolumeControl != null) { - mVolumeControl.setDeviceVolume(device, volume, true); - mMetricsFeatureProvider.action( - getApplicationContext(), event, volume == 0 ? 1 : 0); - } - }); + private void handleOnPlay() { + if (mDevices == null || mDevices.isEmpty()) { + Log.w(TAG, "active device or device has source is null!"); + return; } + Log.d( + TAG, + "onPlay() setting volume for device : " + + mDevices.getFirst() + + " volume: " + + mLatestPositiveVolume.get()); + setDeviceVolume(mDevices.getFirst(), mLatestPositiveVolume.get()); + } + + private void handleOnPause() { + if (mDevices == null || mDevices.isEmpty()) { + Log.w(TAG, "active device or device has source is null!"); + return; + } + Log.d( + TAG, + "onPause() setting volume for device : " + mDevices.getFirst() + " volume: " + 0); + setDeviceVolume(mDevices.getFirst(), /* volume= */ 0); + } + + private void setDeviceVolume(BluetoothDevice device, int volume) { + int event = SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK; + var unused = + ThreadUtils.postOnBackgroundThread( + () -> { + if (mVolumeControl != null) { + mVolumeControl.setDeviceVolume(device, volume, true); + mMetricsFeatureProvider.action( + getApplicationContext(), event, volume == 0 ? 1 : 0); + } + }); } } diff --git a/src/com/android/settings/development/DesktopExperiencePreferenceController.java b/src/com/android/settings/development/DesktopExperiencePreferenceController.java index 28e92fcdac5..f6173a974e7 100644 --- a/src/com/android/settings/development/DesktopExperiencePreferenceController.java +++ b/src/com/android/settings/development/DesktopExperiencePreferenceController.java @@ -98,7 +98,7 @@ public class DesktopExperiencePreferenceController extends DeveloperOptionsPrefe @Override public CharSequence getSummary() { - if (DesktopModeStatus.isDeviceEligibleForDesktopMode(mContext) + if (DesktopModeStatus.isInternalDisplayEligibleToHostDesktops(mContext) && !DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_MODE.isTrue()) { return mContext.getString( R.string.enable_desktop_experience_features_summary_with_desktop); diff --git a/src/com/android/settings/display/BrightnessLevelPreference.kt b/src/com/android/settings/display/BrightnessLevelPreference.kt index 7d762319af8..84f88c8abdd 100644 --- a/src/com/android/settings/display/BrightnessLevelPreference.kt +++ b/src/com/android/settings/display/BrightnessLevelPreference.kt @@ -15,7 +15,6 @@ */ package com.android.settings.display -import android.Manifest import android.app.ActivityOptions import android.content.Context import android.content.Intent @@ -111,7 +110,7 @@ class BrightnessLevelPreference : override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) = ReadWritePermit.ALLOW - override fun getWritePermit(context: Context, value: Int?, callingPid: Int, callingUid: Int) = + override fun getWritePermit(context: Context, callingPid: Int, callingUid: Int) = ReadWritePermit.DISALLOW override val sensitivityLevel diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreference.kt b/src/com/android/settings/fuelgauge/BatteryHeaderPreference.kt index e08a111d683..268dea2778a 100644 --- a/src/com/android/settings/fuelgauge/BatteryHeaderPreference.kt +++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreference.kt @@ -37,9 +37,7 @@ import com.android.settingslib.widget.UsageProgressBarPreference // LINT.IfChange class BatteryHeaderPreference : - IntRangeValuePreference, - PreferenceBinding, - PreferenceLifecycleProvider { + IntRangeValuePreference, PreferenceBinding, PreferenceLifecycleProvider { @VisibleForTesting var batteryBroadcastReceiver: BatteryBroadcastReceiver? = null @@ -108,7 +106,7 @@ class BatteryHeaderPreference : override fun getWritePermissions(context: Context) = Permissions.EMPTY - override fun getWritePermit(context: Context, value: Int?, callingPid: Int, callingUid: Int) = + override fun getWritePermit(context: Context, callingPid: Int, callingUid: Int) = ReadWritePermit.DISALLOW override val sensitivityLevel: Int diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt index 11a76e50506..1d87a33a0e8 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt @@ -17,7 +17,10 @@ package com.android.settings.fuelgauge.batterysaver import android.content.Context import com.android.settings.R +import com.android.settings.Settings.BatterySaverSettingsActivity import com.android.settings.flags.Flags +import com.android.settings.utils.makeLaunchIntent +import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.preference.PreferenceScreenCreator @@ -42,6 +45,9 @@ open class BatterySaverScreen : PreferenceScreenCreator { override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) { +BatterySaverPreference() order -100 } + override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) = + makeLaunchIntent(context, BatterySaverSettingsActivity::class.java, metadata?.key) + companion object { const val KEY = "battery_saver_screen" } diff --git a/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt b/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt index 55903a02446..b057d1421d4 100644 --- a/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt +++ b/src/com/android/settings/service/PreferenceServiceRequestTransformer.kt @@ -40,6 +40,7 @@ import com.android.settingslib.graph.proto.PreferenceProto import com.android.settingslib.graph.proto.PreferenceValueProto import com.android.settingslib.graph.toIntent import com.android.settingslib.metadata.PreferenceCoordinate +import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.SensitivityLevel /** Transform Catalyst Graph result to Framework GET METADATA result */ @@ -100,9 +101,7 @@ fun transformFrameworkGetValueRequest( /** Translate Catalyst GET VALUE result to Framework GET VALUE result */ fun transformCatalystGetValueResponse( - context: Context, - request: GetValueRequest, - response: PreferenceGetterResponse + context: Context, request: GetValueRequest, response: PreferenceGetterResponse ): GetValueResult? { val coord = PreferenceCoordinate(request.screenKey, request.preferenceKey) val errorResponse = response.errors[coord] @@ -117,37 +116,32 @@ fun transformCatalystGetValueResponse( return GetValueResult.Builder(errorCode).build() } valueResponse != null -> { - val resultBuilder = GetValueResult.Builder(GetValueResult.RESULT_OK) - resultBuilder.setMetadata(valueResponse.toMetadata(context, coord.screenKey)) - val prefValue = valueResponse.value - when (prefValue.valueCase.number) { - PreferenceValueProto.BOOLEAN_VALUE_FIELD_NUMBER -> { - resultBuilder.setValue( - SettingsPreferenceValue.Builder( - SettingsPreferenceValue.TYPE_BOOLEAN - ).setBooleanValue(prefValue.booleanValue) - .build() - ) - return resultBuilder.build() - } - PreferenceValueProto.INT_VALUE_FIELD_NUMBER -> { - resultBuilder.setValue( - SettingsPreferenceValue.Builder( - SettingsPreferenceValue.TYPE_INT - ).setIntValue(prefValue.intValue) - .build() - ) - return resultBuilder.build() - } - } - return GetValueResult.Builder( - GetValueResult.RESULT_UNSUPPORTED - ).build() + val metadata = valueResponse.toMetadata(context, coord.screenKey) + val value = valueResponse.value.toSettingsPreferenceValue() + return when (value) { + null -> GetValueResult.Builder(GetValueResult.RESULT_UNSUPPORTED) + else -> GetValueResult.Builder(GetValueResult.RESULT_OK).setValue(value) + }.setMetadata(metadata).build() } else -> return null } } +private fun PreferenceValueProto.toSettingsPreferenceValue(): SettingsPreferenceValue? = + when (valueCase.number) { + PreferenceValueProto.BOOLEAN_VALUE_FIELD_NUMBER -> { + SettingsPreferenceValue.Builder( + SettingsPreferenceValue.TYPE_BOOLEAN + ).setBooleanValue(booleanValue) + } + PreferenceValueProto.INT_VALUE_FIELD_NUMBER -> { + SettingsPreferenceValue.Builder( + SettingsPreferenceValue.TYPE_INT + ).setIntValue(intValue) + } + else -> null + }?.build() + /** Translate Framework SET VALUE request to Catalyst SET VALUE request */ fun transformFrameworkSetValueRequest(request: SetValueRequest): PreferenceSetterRequest? { val valueProto = when (request.preferenceValue.type) { @@ -215,13 +209,14 @@ private fun PreferenceProto.toMetadata( extras.putBundle(KEY_INT_RANGE, intRange) } if (tagsCount > 0) extras.putStringArray(KEY_TAGS, tagsList.toTypedArray()) + val writePermit = ReadWritePermit.getWritePermit(readWritePermit) return SettingsPreferenceMetadata.Builder(screenKey, key) .setTitle(title.getText(context)) .setSummary(summary.getText(context)) .setEnabled(enabled) .setAvailable(available) .setRestricted(restricted) - .setWritable(persistent) + .setWritable(persistent && writePermit == ReadWritePermit.ALLOW) .setLaunchIntent(launchIntent.toIntent()) .setWriteSensitivity(sensitivity) // Returns all the permissions that are used, some of which are exclusive (e.g. p1 or p2) diff --git a/src/com/android/settings/supervision/SupervisionMainSwitchPreference.kt b/src/com/android/settings/supervision/SupervisionMainSwitchPreference.kt index eaf73a1d6ff..400c4ccaee2 100644 --- a/src/com/android/settings/supervision/SupervisionMainSwitchPreference.kt +++ b/src/com/android/settings/supervision/SupervisionMainSwitchPreference.kt @@ -39,12 +39,8 @@ class SupervisionMainSwitchPreference : override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) = ReadWritePermit.DISALLOW - override fun getWritePermit( - context: Context, - value: Boolean?, - callingPid: Int, - callingUid: Int, - ) = ReadWritePermit.DISALLOW + override fun getWritePermit(context: Context, callingPid: Int, callingUid: Int) = + ReadWritePermit.DISALLOW override val sensitivityLevel: Int get() = SensitivityLevel.HIGH_SENSITIVITY diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java index 1ce3316811b..59935214a31 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragmentTest.java @@ -39,8 +39,10 @@ import android.content.Intent; import android.os.Bundle; import android.os.Looper; import android.platform.test.flag.junit.SetFlagsRule; +import android.provider.Settings; import android.view.View; +import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; @@ -115,6 +117,41 @@ public class AudioSharingDashboardFragmentTest { assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_audio_sharing); } + @Test + public void onResume_setAudioSharingDashboardSettingsGlobal_showAudioSharingDashboard() { + mFragment = spy(new AudioSharingDashboardFragment()); + doReturn(mActivity).when(mFragment).getActivity(); + doReturn(mContext).when(mFragment).getContext(); + final PreferenceScreen screen = new PreferenceScreen(mContext, null /* attrs */); + doReturn(screen).when(mFragment).getPreferenceScreen(); + mFragment.onAttach(mContext); + mFragment.onResume(); + shadowOf(Looper.getMainLooper()).idle(); + + assertThat( + Settings.Global.getInt( + mContext.getContentResolver(), + AudioSharingDashboardFragment + .IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY, + -1)) + .isEqualTo(AudioSharingDashboardFragment.SHOWING_AUDIO_SHARING_DASHBOARD); + } + + @Test + public void onPause_setAudioSharingDashboardSettingsGlobal_notShowAudioSharingDashboard() { + mFragment.onAttach(mContext); + mFragment.onPause(); + shadowOf(Looper.getMainLooper()).idle(); + + assertThat( + Settings.Global.getInt( + mContext.getContentResolver(), + AudioSharingDashboardFragment + .IS_SHOWING_AUDIO_SHARING_DASHBOARD_KEY, + -1)) + .isEqualTo(AudioSharingDashboardFragment.NOT_SHOWING_AUDIO_SHARING_DASHBOARD); + } + @Test public void onActivityCreated_showSwitchBar() { doReturn(mSwitchBar).when(mActivity).getSwitchBar(); diff --git a/tests/robotests/src/com/android/settings/development/DesktopExperiencePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopExperiencePreferenceControllerTest.java index 26a802629d7..6296626dedb 100644 --- a/tests/robotests/src/com/android/settings/development/DesktopExperiencePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/DesktopExperiencePreferenceControllerTest.java @@ -102,6 +102,8 @@ public class DesktopExperiencePreferenceControllerTest { // Set desktop mode available when(mResources.getBoolean(com.android.internal.R.bool.config_isDesktopModeSupported)) .thenReturn(true); + when(mResources.getBoolean(com.android.internal.R.bool.config_canInternalDisplayHostDesktops)) + .thenReturn(true); ShadowSystemProperties.override("persist.wm.debug.desktop_mode_enforce_device_restrictions", "false"); } diff --git a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java index 3330d06c209..02aa8725bd0 100644 --- a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java @@ -104,6 +104,8 @@ public class DesktopModePreferenceControllerTest { // Set desktop mode available when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)) .thenReturn(true); + when(mResources.getBoolean(com.android.internal.R.bool.config_canInternalDisplayHostDesktops)) + .thenReturn(true); ShadowSystemProperties.override("persist.wm.debug.desktop_mode_enforce_device_restrictions", "false"); } diff --git a/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java index dc6ac3fafba..f3b96a4425f 100644 --- a/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java @@ -97,6 +97,8 @@ public class DesktopModeSecondaryDisplayPreferenceControllerTest { when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); mController.displayPreference(mScreen); when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)).thenReturn(false); + when(mResources.getBoolean(com.android.internal.R.bool.config_canInternalDisplayHostDesktops)) + .thenReturn(false); } @DisableFlags(Flags.FLAG_SHOW_DESKTOP_EXPERIENCE_DEV_OPTION) @@ -109,6 +111,7 @@ public class DesktopModeSecondaryDisplayPreferenceControllerTest { @Test public void isAvailable_whenDesktopExperienceDevOptionIsEnabled_shouldBeFalse() { when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)).thenReturn(true); + when(mResources.getBoolean(R.bool.config_canInternalDisplayHostDesktops)).thenReturn(true); assertThat(mController.isAvailable()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt b/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt index 80cd2fdfcd4..636fab327b2 100644 --- a/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt +++ b/tests/robotests/src/com/android/settings/service/PreferenceServiceRequestTransformerTest.kt @@ -60,9 +60,10 @@ class PreferenceServiceRequestTransformerTest { @get:Rule val checkFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + private val context: Context = ApplicationProvider.getApplicationContext() + @Test fun transformCatalystGetMetadataResponse_emptyGraph_returnsFrameworkResponseWithError() { - val context: Context = ApplicationProvider.getApplicationContext() val graphProto = PreferenceGraphProto.newBuilder().build() val fResult = transformCatalystGetMetadataResponse(context, graphProto) with(fResult) { @@ -73,7 +74,6 @@ class PreferenceServiceRequestTransformerTest { @Test fun transformCatalystGetMetadataResponse_populatedGraph_returnsFrameworkResponseWithSuccess() { - val context: Context = ApplicationProvider.getApplicationContext() val screen = preferenceScreenProto { root = preferenceGroupProto { addAllPreferences( @@ -143,7 +143,6 @@ class PreferenceServiceRequestTransformerTest { @Test fun transformCatalystGetValueResponse_success_returnsValidFrameworkResponse() { - val context: Context = ApplicationProvider.getApplicationContext() val fRequest = GetValueRequest.Builder("screen", "key").build() val cResult = PreferenceGetterResponse( @@ -202,9 +201,23 @@ class PreferenceServiceRequestTransformerTest { } } + @Test + fun transformCatalystGetValueResponse_success_noValue() { + val fRequest = GetValueRequest.Builder("screen", "key").build() + val cResult = PreferenceGetterResponse( + emptyMap(), + mapOf(PreferenceCoordinate( + fRequest.screenKey, + fRequest.preferenceKey + ) to preferenceProto { key = "key" }), + ) + val fResult = transformCatalystGetValueResponse(context, fRequest, cResult)!! + assertThat(fResult.resultCode).isEqualTo(GetValueResult.RESULT_UNSUPPORTED) + assertThat(fResult.metadata).isNotNull() + } + @Test fun transformCatalystGetValueResponse_failure_returnsValidFrameworkResponse() { - val context: Context = ApplicationProvider.getApplicationContext() val fRequest = GetValueRequest.Builder("screen", "key").build() val cResult = PreferenceGetterResponse( @@ -224,7 +237,6 @@ class PreferenceServiceRequestTransformerTest { @Test fun transformCatalystGetValueResponse_invalidResponse_returnsNull() { - val context: Context = ApplicationProvider.getApplicationContext() val fRequest = GetValueRequest.Builder("screen", "key").build() val cResult = PreferenceGetterResponse(emptyMap(), emptyMap()) val fResult = transformCatalystGetValueResponse(context, fRequest, cResult)