Merge "Refactor CdmaSystemSelectListPreference"
diff --git a/Android.mk b/Android.mk
index 3610e77..ca2ad4a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -32,7 +32,6 @@
     com.google.android.material_material \
 
 LOCAL_JAVA_LIBRARIES := \
-    bouncycastle \
     telephony-common \
     ims-common
 
diff --git a/res/layout/lockscreen_remote_input.xml b/res/layout/lockscreen_remote_input.xml
index 68b35f9..4fa44ce 100644
--- a/res/layout/lockscreen_remote_input.xml
+++ b/res/layout/lockscreen_remote_input.xml
@@ -36,8 +36,8 @@
 
     <ImageView
             android:id="@+id/restricted_lock_icon_remote_input"
-            android:layout_width="@*android:dimen/config_restricted_icon_size"
-            android:layout_height="@*android:dimen/config_restricted_icon_size"
+            android:layout_width="@*android:dimen/config_restrictedIconSize"
+            android:layout_height="@*android:dimen/config_restrictedIconSize"
             android:tint="?android:attr/colorAccent"
             android:src="@*android:drawable/ic_info"
             android:layout_marginEnd="?android:attr/dialogPreferredPadding"
diff --git a/res/layout/restricted_dialog_singlechoice.xml b/res/layout/restricted_dialog_singlechoice.xml
index 48f62ce..a9984a8 100644
--- a/res/layout/restricted_dialog_singlechoice.xml
+++ b/res/layout/restricted_dialog_singlechoice.xml
@@ -37,8 +37,8 @@
             android:ellipsize="marquee" />
     <ImageView
             android:id="@+id/restricted_lock_icon"
-            android:layout_width="@*android:dimen/config_restricted_icon_size"
-            android:layout_height="@*android:dimen/config_restricted_icon_size"
+            android:layout_width="@*android:dimen/config_restrictedIconSize"
+            android:layout_height="@*android:dimen/config_restrictedIconSize"
             android:tint="?android:attr/colorAccent"
             android:src="@*android:drawable/ic_info"
             android:layout_marginLeft="@dimen/restricted_icon_padding"
diff --git a/res/layout/restricted_popup_menu_item.xml b/res/layout/restricted_popup_menu_item.xml
index 9f6da73..636e3f9 100644
--- a/res/layout/restricted_popup_menu_item.xml
+++ b/res/layout/restricted_popup_menu_item.xml
@@ -34,8 +34,8 @@
         android:layout_alignParentLeft="true" />
     <ImageView
         android:id="@+id/restricted_icon"
-        android:layout_width="@*android:dimen/config_restricted_icon_size"
-        android:layout_height="@*android:dimen/config_restricted_icon_size"
+        android:layout_width="@*android:dimen/config_restrictedIconSize"
+        android:layout_height="@*android:dimen/config_restrictedIconSize"
         android:scaleType="centerInside"
         android:tint="?android:attr/colorAccent"
         android:src="@*android:drawable/ic_info"
diff --git a/res/layout/restricted_radio_with_summary.xml b/res/layout/restricted_radio_with_summary.xml
index 4808460..5e7fcd8 100644
--- a/res/layout/restricted_radio_with_summary.xml
+++ b/res/layout/restricted_radio_with_summary.xml
@@ -41,7 +41,7 @@
             android:ellipsize="marquee" />
         <ImageView
             android:id="@+id/restricted_icon"
-            android:layout_width="@*android:dimen/config_restricted_icon_size"
+            android:layout_width="@*android:dimen/config_restrictedIconSize"
             android:layout_height="match_parent"
             android:scaleType="centerInside"
             android:tint="?android:attr/colorAccent"
diff --git a/res/layout/spinner_dropdown_restricted_item.xml b/res/layout/spinner_dropdown_restricted_item.xml
index be85966..d95e4be 100644
--- a/res/layout/spinner_dropdown_restricted_item.xml
+++ b/res/layout/spinner_dropdown_restricted_item.xml
@@ -26,8 +26,8 @@
             android:layout_height="?android:attr/listPreferredItemHeightSmall"
             android:ellipsize="marquee" />
     <ImageView android:id="@+id/restricted_icon"
-            android:layout_width="@*android:dimen/config_restricted_icon_size"
-            android:layout_height="@*android:dimen/config_restricted_icon_size"
+            android:layout_width="@*android:dimen/config_restrictedIconSize"
+            android:layout_height="@*android:dimen/config_restrictedIconSize"
             android:tint="?android:attr/colorAccent"
             android:src="@*android:drawable/ic_info"
             android:baselineAlignBottom="true"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a11dd5f..2d2bfb7 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -267,7 +267,7 @@
     <!-- Restricted icon in switch bar -->
     <dimen name="restricted_icon_margin_end">16dp</dimen>
     <!-- Restricted icon size in switch bar -->
-    <dimen name="restricted_icon_size">@*android:dimen/config_restricted_icon_size</dimen>
+    <dimen name="restricted_icon_size">@*android:dimen/config_restrictedIconSize</dimen>
 
     <!-- Display Size and Font Size preview screen -->
     <dimen name="preview_pager_padding">8dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b52bfea..9ed8417 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2768,6 +2768,10 @@
     <string name="sim_change_succeeded">SIM PIN changed successfully</string>
     <!-- SIM card lock settings screen, toast after not entering correct SIM PIN [CHAR LIMIT=40] -->
     <string name="sim_lock_failed">Can\u2019t change SIM card lock state.\nPossibly incorrect PIN.</string>
+    <!-- SIM card lock settings screen, toast after disabling PIN failed from modem -->
+    <string name="sim_pin_disable_failed">Can\'t disable PIN.</string>
+    <!-- SIM card lock settings screen, toast after enabling PIN failed from modem -->
+    <string name="sim_pin_enable_failed">Can\'t enable PIN.</string>
     <!-- SIM card lock settings screen, SIM PIN dialog button labels: [CHAR LIMIT=40] -->
     <string name="sim_enter_ok">OK</string>
     <!-- SIM card lock settings screen, SIM PIN dialog button labels: [CHAR LIMIT=40] -->
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index 437f42e..2cb4904 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -46,6 +46,7 @@
 import androidx.preference.SwitchPreference;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.telephony.CommandException;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.TelephonyIntents;
@@ -123,7 +124,7 @@
             AsyncResult ar = (AsyncResult) msg.obj;
             switch (msg.what) {
                 case MSG_ENABLE_ICC_PIN_COMPLETE:
-                    iccLockChanged(ar.exception == null, msg.arg1);
+                    iccLockChanged(ar.exception == null, msg.arg1, ar.exception);
                     break;
                 case MSG_CHANGE_ICC_PIN_COMPLETE:
                     iccPinChanged(ar.exception == null, msg.arg1);
@@ -453,12 +454,25 @@
         mPinToggle.setEnabled(false);
     }
 
-    private void iccLockChanged(boolean success, int attemptsRemaining) {
+    private void iccLockChanged(boolean success, int attemptsRemaining, Throwable exception) {
         if (success) {
             mPinToggle.setChecked(mToState);
         } else {
-            Toast.makeText(getContext(), getPinPasswordErrorMessage(attemptsRemaining),
-                    Toast.LENGTH_LONG).show();
+            if (exception instanceof CommandException) {
+                CommandException.Error err = ((CommandException)(exception)).getCommandError();
+                if (err == CommandException.Error.PASSWORD_INCORRECT) {
+                    Toast.makeText(getContext(), getPinPasswordErrorMessage(attemptsRemaining),
+                            Toast.LENGTH_LONG).show();
+                } else {
+                    if (mToState) {
+                        Toast.makeText(getContext(), mRes.getString
+                               (R.string.sim_pin_enable_failed), Toast.LENGTH_LONG).show();
+                    } else {
+                        Toast.makeText(getContext(), mRes.getString
+                               (R.string.sim_pin_disable_failed), Toast.LENGTH_LONG).show();
+                    }
+                }
+            }
         }
         mPinToggle.setEnabled(true);
         resetDialogState();
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index b47ecd7..18c83f4 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -35,6 +35,7 @@
 import android.net.TrafficStats;
 import android.net.Uri;
 import android.os.AsyncResult;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -1359,25 +1360,26 @@
         imsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
         imsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
         imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
-        imsVolteProvisionedSwitch.setEnabled(
-                mImsManager.isVolteEnabledByPlatform(phone.getContext()));
+        imsVolteProvisionedSwitch.setEnabled(!Build.IS_USER
+                && mImsManager.isVolteEnabledByPlatform(phone.getContext()));
 
         imsVtProvisionedSwitch.setOnCheckedChangeListener(null);
         imsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
         imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
-        imsVtProvisionedSwitch.setEnabled(
-            mImsManager.isVtEnabledByPlatform(phone.getContext()));
+        imsVtProvisionedSwitch.setEnabled(!Build.IS_USER
+                && mImsManager.isVtEnabledByPlatform(phone.getContext()));
 
         imsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
         imsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
         imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
-        imsWfcProvisionedSwitch.setEnabled(
-            mImsManager.isWfcEnabledByPlatform(phone.getContext()));
+        imsWfcProvisionedSwitch.setEnabled(!Build.IS_USER
+                && mImsManager.isWfcEnabledByPlatform(phone.getContext()));
 
         eabProvisionedSwitch.setOnCheckedChangeListener(null);
         eabProvisionedSwitch.setChecked(isEabProvisioned());
         eabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
-        eabProvisionedSwitch.setEnabled(isEabEnabledByPlatform(phone.getContext()));
+        eabProvisionedSwitch.setEnabled(!Build.IS_USER
+                && isEabEnabledByPlatform(phone.getContext()));
     }
 
     OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
diff --git a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
index 26cb777..6360d42 100644
--- a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
+++ b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.accessibility;
 
-import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.Activity;
@@ -72,7 +72,7 @@
 
         Window window = ad.getWindow();
         WindowManager.LayoutParams params = window.getAttributes();
-        params.privateFlags |= PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+        params.privateFlags |= SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
         window.setAttributes(params);
         ad.create();
         ad.getButton(AlertDialog.BUTTON_POSITIVE).setOnTouchListener(filterTouchListener);
diff --git a/src/com/android/settings/applications/ProcessStatsBase.java b/src/com/android/settings/applications/ProcessStatsBase.java
index f7acef7..67fc4c1 100644
--- a/src/com/android/settings/applications/ProcessStatsBase.java
+++ b/src/com/android/settings/applications/ProcessStatsBase.java
@@ -30,6 +30,7 @@
 import com.android.settings.applications.ProcStatsData.MemInfo;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.core.instrumentation.Instrumentable;
+import com.android.settingslib.widget.settingsspinner.SettingsSpinnerAdapter;
 
 public abstract class ProcessStatsBase extends SettingsPreferenceFragment
         implements OnItemSelectedListener {
@@ -104,9 +105,8 @@
         super.onViewCreated(view, savedInstanceState);
         mSpinnerHeader = (ViewGroup) setPinnedHeaderView(R.layout.apps_filter_spinner);
         mFilterSpinner = (Spinner) mSpinnerHeader.findViewById(R.id.filter_spinner);
-        mFilterAdapter = new ArrayAdapter<String>(mFilterSpinner.getContext(),
-                R.layout.filter_spinner_item);
-        mFilterAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mFilterAdapter = new SettingsSpinnerAdapter<String>(mFilterSpinner.getContext());
+
         for (int i = 0; i < NUM_DURATIONS; i++) {
             mFilterAdapter.add(getString(sDurationLabels[i]));
         }
diff --git a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
index 6f2cf35..8405c61 100644
--- a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
+++ b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
@@ -15,7 +15,7 @@
  */
 package com.android.settings.applications.appinfo;
 
-import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
 import android.app.AppOpsManager;
 import android.content.Context;
@@ -83,7 +83,7 @@
     @Override
     public void onResume() {
         super.onResume();
-        getActivity().getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+        getActivity().getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
     }
 
     @Override
@@ -91,7 +91,7 @@
         super.onPause();
         Window window = getActivity().getWindow();
         WindowManager.LayoutParams attrs = window.getAttributes();
-        attrs.privateFlags &= ~PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+        attrs.privateFlags &= ~SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
         window.setAttributes(attrs);
     }
 
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
index fccb39a..b09d0aa 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
@@ -171,6 +171,11 @@
 
         // TODO: Update the actual animation
         showError("Steps: " + steps + " Remaining: " + remaining);
+
+        // TODO: Have this match any animations that UX comes up with
+        if (remaining == 0) {
+            launchFinish(mToken);
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
index d434637..385b5d9 100644
--- a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
+++ b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
@@ -261,10 +261,12 @@
         cacheRemoveAllPrefs(preferenceGroup);
         preferenceGroup.setTitle(titleId);
         mDeviceListGroup = preferenceGroup;
-        setFilter(filter);
         if (addCachedDevices) {
+            // Don't show bonded devices when screen turned back on
+            setFilter(BluetoothDeviceFilter.UNBONDED_DEVICE_FILTER);
             addCachedDevices();
         }
+        setFilter(filter);
         preferenceGroup.setEnabled(true);
         removeCachedPrefs(preferenceGroup);
     }
diff --git a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
index b17defd..48ec0e3 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
@@ -85,9 +85,13 @@
         FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
                 MetricsEvent.ACTION_STORAGE_MIGRATE_LATER);
 
-        final Intent intent = new Intent(this, StorageWizardReady.class);
-        intent.putExtra(EXTRA_MIGRATE_SKIP, true);
-        startActivity(intent);
+        if (mDisk != null) {
+            final Intent intent = new Intent(this, StorageWizardReady.class);
+            intent.putExtra(EXTRA_MIGRATE_SKIP, true);
+            startActivity(intent);
+        } else {
+            finishAffinity();
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java b/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java
index 705b990..5818e18 100644
--- a/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java
@@ -82,6 +82,7 @@
             return;
         }
 
+        cardHolder.sliceView.setScrollable(false);
         cardHolder.sliceView.setTag(uri);
         //TODO(b/114009676): We will soon have a field to decide what slice mode we should set.
         cardHolder.sliceView.setMode(SliceView.MODE_LARGE);
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
index f515389..5618697 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
@@ -215,7 +215,7 @@
     private void updateSwitchHintVisibility() {
         AlertDialog dialog = (AlertDialog)getDialog();
         if (dialog != null) {
-            View customPanel = dialog.findViewById(com.android.internal.R.id.customPanel);
+            View customPanel = dialog.findViewById(R.id.customPanel);
             customPanel.setVisibility(mAdapter.getCount() > 1 ? View.VISIBLE : View.GONE);
         }
     }
diff --git a/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java b/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java
index 16d255b..54a0d5e 100644
--- a/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java
+++ b/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java
@@ -87,13 +87,13 @@
     public void onResume() {
         super.onResume();
         getWindow().addFlags(
-                WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+                WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
     }
 
     @Override
     public void onPause() {
         getWindow().clearFlags(
-                WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+                WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
         super.onPause();
     }
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java
index d867b6f..1b25286 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.applications.appinfo;
 
-import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Matchers.eq;
@@ -91,7 +91,7 @@
         when(mWindow.getAttributes()).thenReturn(layoutParams);
 
         mFragment.onResume();
-        verify(mWindow).addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+        verify(mWindow).addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
 
         mFragment.onPause();
 
@@ -99,6 +99,6 @@
         ArgumentCaptor<LayoutParams> paramCaptor = ArgumentCaptor.forClass(LayoutParams.class);
         verify(mWindow).setAttributes(paramCaptor.capture());
         assertEquals(0,
-                paramCaptor.getValue().privateFlags & PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+                paramCaptor.getValue().privateFlags & SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSliceBuilderTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSliceBuilderTest.java
index faab3bd..369d222 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSliceBuilderTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSliceBuilderTest.java
@@ -19,8 +19,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.content.Intent;
@@ -56,7 +54,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceBuilderTest.java b/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceBuilderTest.java
index 6bea031..56a84bb 100644
--- a/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceBuilderTest.java
+++ b/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceBuilderTest.java
@@ -19,8 +19,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.content.Context;
 import android.provider.Settings;
 
@@ -50,7 +48,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/homepage/deviceinfo/DataUsageSliceTest.java b/tests/robotests/src/com/android/settings/homepage/deviceinfo/DataUsageSliceTest.java
index c0af3d8..9993369 100644
--- a/tests/robotests/src/com/android/settings/homepage/deviceinfo/DataUsageSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/deviceinfo/DataUsageSliceTest.java
@@ -56,7 +56,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/homepage/deviceinfo/DeviceInfoSliceTest.java b/tests/robotests/src/com/android/settings/homepage/deviceinfo/DeviceInfoSliceTest.java
index 2480baf..58a7220 100644
--- a/tests/robotests/src/com/android/settings/homepage/deviceinfo/DeviceInfoSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/deviceinfo/DeviceInfoSliceTest.java
@@ -57,7 +57,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/homepage/deviceinfo/StorageSliceTest.java b/tests/robotests/src/com/android/settings/homepage/deviceinfo/StorageSliceTest.java
index 5609a7a..effc8da 100644
--- a/tests/robotests/src/com/android/settings/homepage/deviceinfo/StorageSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/deviceinfo/StorageSliceTest.java
@@ -19,12 +19,10 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
 import android.content.Context;
-import android.content.res.Resources;
 
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
@@ -56,7 +54,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/homepage/slices/SliceContextualCardRendererTest.java b/tests/robotests/src/com/android/settings/homepage/slices/SliceContextualCardRendererTest.java
index 3239971..c597a6e 100644
--- a/tests/robotests/src/com/android/settings/homepage/slices/SliceContextualCardRendererTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/slices/SliceContextualCardRendererTest.java
@@ -54,6 +54,18 @@
     }
 
     @Test
+    public void bindView_shouldSetScrollableToFalse() {
+        final String sliceUri = "content://com.android.settings.slices/action/flashlight";
+        RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
+
+        mRenderer.bindView(viewHolder, buildContextualCard(sliceUri));
+
+        assertThat(
+                ((SliceContextualCardRenderer.SliceViewHolder) viewHolder).sliceView.isScrollable
+                        ()).isFalse();
+    }
+
+    @Test
     public void bindView_invalidScheme_sliceShouldBeNull() {
         final String sliceUri = "contet://com.android.settings.slices/action/flashlight";
         RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
diff --git a/tests/robotests/src/com/android/settings/location/LocationSliceBuilderTest.java b/tests/robotests/src/com/android/settings/location/LocationSliceBuilderTest.java
index 90222ca..ecbf858 100644
--- a/tests/robotests/src/com/android/settings/location/LocationSliceBuilderTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationSliceBuilderTest.java
@@ -2,8 +2,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.content.Context;
 
 import androidx.core.graphics.drawable.IconCompat;
@@ -32,7 +30,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
index 9b6d563..d260a97 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
@@ -79,7 +79,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java
index 6c43736..ee51317 100644
--- a/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java
@@ -20,8 +20,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.app.NotificationManager;
 import android.content.Context;
 import android.content.Intent;
@@ -55,7 +53,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
index 078186a..f9cc427 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
@@ -79,7 +79,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mLoggingArgumentCatpor = ArgumentCaptor.forClass(Pair.class);
 
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/WifiSliceTest.java
index 5a2f546..742c8ad 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiSliceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiSliceTest.java
@@ -19,8 +19,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.content.Context;
 import android.content.Intent;
 import android.net.wifi.WifiManager;
@@ -53,7 +51,7 @@
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
index c5c4b67..ae4c753 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
@@ -86,7 +86,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
 
         //setup for SettingsSliceProvider tests
         mProvider = spy(new SettingsSliceProvider());