diff --git a/res/values/strings.xml b/res/values/strings.xml index fca80b43097..86b249c262b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -490,8 +490,6 @@ Choose activity Debug intent sender - - Device info Screen @@ -11215,9 +11213,6 @@ Unavailable when connected to %1$s - - Medical info, emergency contacts - See more diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java deleted file mode 100644 index 419b7708675..00000000000 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.homepage.contextualcards.deviceinfo; - -import android.app.PendingIntent; -import android.app.settings.SettingsEnums; -import android.content.Context; -import android.content.Intent; -import android.net.Uri; -import android.text.Spannable; -import android.text.SpannableString; -import android.text.TextUtils; -import android.text.format.Formatter; -import android.text.style.TextAppearanceSpan; - -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.builders.ListBuilder; -import androidx.slice.builders.SliceAction; - -import com.android.internal.annotations.VisibleForTesting; -import com.android.settings.R; -import com.android.settings.SubSettings; -import com.android.settings.Utils; -import com.android.settings.datausage.DataUsageSummary; -import com.android.settings.datausage.DataUsageUtils; -import com.android.settings.slices.CustomSliceRegistry; -import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SliceBuilderUtils; -import com.android.settingslib.net.DataUsageController; - -import java.util.concurrent.TimeUnit; - -public class DataUsageSlice implements CustomSliceable { - private static final String TAG = "DataUsageSlice"; - private static final long MILLIS_IN_A_DAY = TimeUnit.DAYS.toMillis(1); - - - private final Context mContext; - - public DataUsageSlice(Context context) { - mContext = context; - } - - @Override - public Uri getUri() { - return CustomSliceRegistry.DATA_USAGE_SLICE_URI; - } - - @Override - public Slice getSlice() { - final IconCompat icon = IconCompat.createWithResource(mContext, - R.drawable.ic_settings_data_usage); - final String title = mContext.getString(R.string.data_usage_summary_title); - final SliceAction primaryAction = SliceAction.createDeeplink(getPrimaryAction(), icon, - ListBuilder.ICON_IMAGE, title); - final DataUsageController dataUsageController = new DataUsageController(mContext); - final DataUsageController.DataUsageInfo info = dataUsageController.getDataUsageInfo(); - final ListBuilder listBuilder = - new ListBuilder(mContext, CustomSliceRegistry.DATA_USAGE_SLICE_URI, - ListBuilder.INFINITY) - .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) - .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)); - if (DataUsageUtils.hasSim(mContext)) { - listBuilder.addRow(new ListBuilder.RowBuilder() - .setTitle(getDataUsageText(info)) - .setSubtitle(getCycleTime(info)) - .setPrimaryAction(primaryAction)); - } else { - listBuilder.addRow(new ListBuilder.RowBuilder() - .setTitle(mContext.getText(R.string.no_sim_card)) - .setPrimaryAction(primaryAction)); - } - return listBuilder.build(); - } - - @Override - public Intent getIntent() { - final String screenTitle = mContext.getText(R.string.data_usage_wifi_title).toString(); - return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - DataUsageSummary.class.getName(), "" /* key */, screenTitle, - SettingsEnums.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(CustomSliceRegistry.DATA_USAGE_SLICE_URI); - } - - private PendingIntent getPrimaryAction() { - final Intent intent = getIntent(); - return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */); - } - - @VisibleForTesting - CharSequence getDataUsageText(DataUsageController.DataUsageInfo info) { - final Formatter.BytesResult usedResult = Formatter.formatBytes(mContext.getResources(), - info.usageLevel, Formatter.FLAG_CALCULATE_ROUNDED | Formatter.FLAG_IEC_UNITS); - final SpannableString usageNumberText = new SpannableString(usedResult.value); - usageNumberText.setSpan( - new TextAppearanceSpan(mContext, android.R.style.TextAppearance_Large), 0, - usageNumberText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - return TextUtils.expandTemplate(mContext.getText(R.string.data_used_formatted), - usageNumberText, usedResult.units); - } - - @VisibleForTesting - CharSequence getCycleTime(DataUsageController.DataUsageInfo info) { - final long millisLeft = info.cycleEnd - System.currentTimeMillis(); - if (millisLeft <= 0) { - return mContext.getString(R.string.billing_cycle_none_left); - } else { - final int daysLeft = (int) (millisLeft / MILLIS_IN_A_DAY); - return daysLeft < 1 ? mContext.getString(R.string.billing_cycle_less_than_one_day_left) - : mContext.getResources().getQuantityString(R.plurals.billing_cycle_days_left, - daysLeft, daysLeft); - } - } - - @Override - public void onNotifyChange(Intent intent) { - - } -} diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java deleted file mode 100644 index 4a028b0db98..00000000000 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.homepage.contextualcards.deviceinfo; - -import android.app.PendingIntent; -import android.app.settings.SettingsEnums; -import android.content.Context; -import android.content.Intent; -import android.net.Uri; -import android.telephony.SubscriptionInfo; -import android.telephony.SubscriptionManager; -import android.text.TextUtils; - -import androidx.annotation.VisibleForTesting; -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.builders.ListBuilder; -import androidx.slice.builders.SliceAction; - -import com.android.settings.R; -import com.android.settings.SubSettings; -import com.android.settings.Utils; -import com.android.settings.deviceinfo.HardwareInfoPreferenceController; -import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment; -import com.android.settings.slices.CustomSliceRegistry; -import com.android.settings.slices.CustomSliceable; -import com.android.settings.slices.SliceBuilderUtils; -import com.android.settingslib.DeviceInfoUtils; - -import java.util.List; - -public class DeviceInfoSlice implements CustomSliceable { - private static final String TAG = "DeviceInfoSlice"; - - private final Context mContext; - private final SubscriptionManager mSubscriptionManager; - - public DeviceInfoSlice(Context context) { - mContext = context; - mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class); - } - - @Override - public Slice getSlice() { - final IconCompat icon = IconCompat.createWithResource(mContext, - R.drawable.ic_info_outline_24dp); - final String title = mContext.getString(R.string.device_info_label); - final SliceAction primaryAction = SliceAction.createDeeplink(getPrimaryAction(), icon, - ListBuilder.ICON_IMAGE, title); - return new ListBuilder(mContext, CustomSliceRegistry.DEVICE_INFO_SLICE_URI, - ListBuilder.INFINITY) - .setAccentColor((Utils.getColorAccentDefaultColor(mContext))) - .setHeader(new ListBuilder.HeaderBuilder().setTitle(title)) - .addRow(new ListBuilder.RowBuilder() - .setTitle(getPhoneNumber()) - .setSubtitle(getDeviceModel()) - .setPrimaryAction(primaryAction)) - .build(); - } - - @Override - public Uri getUri() { - return CustomSliceRegistry.DEVICE_INFO_SLICE_URI; - } - - @Override - public Intent getIntent() { - final String screenTitle = mContext.getText(R.string.device_info_label).toString(); - return SliceBuilderUtils.buildSearchResultPageIntent(mContext, - MyDeviceInfoFragment.class.getName(), "" /* key */, screenTitle, - SettingsEnums.SLICE) - .setClassName(mContext.getPackageName(), SubSettings.class.getName()) - .setData(CustomSliceRegistry.DEVICE_INFO_SLICE_URI); - } - - private PendingIntent getPrimaryAction() { - final Intent intent = getIntent(); - return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */); - } - - @VisibleForTesting - CharSequence getPhoneNumber() { - final SubscriptionInfo subscriptionInfo = getFirstSubscriptionInfo(); - if (subscriptionInfo == null) { - return mContext.getString(R.string.device_info_default); - } - final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext, - subscriptionInfo); - return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default) - : phoneNumber; - } - - private CharSequence getDeviceModel() { - return HardwareInfoPreferenceController.getDeviceModel(); - } - - @VisibleForTesting - SubscriptionInfo getFirstSubscriptionInfo() { - final List subscriptionInfoList = - mSubscriptionManager.getActiveSubscriptionInfoList(); - if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) { - return null; - } - return subscriptionInfoList.get(0); - } - - @Override - public void onNotifyChange(Intent intent) { - - } -} diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java deleted file mode 100644 index 10e87ff8366..00000000000 --- a/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.homepage.contextualcards.deviceinfo; - -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.net.Uri; - -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.builders.ListBuilder; -import androidx.slice.builders.SliceAction; - -import com.android.settings.R; -import com.android.settings.accounts.EmergencyInfoPreferenceController; -import com.android.settings.slices.CustomSliceRegistry; -import com.android.settings.slices.CustomSliceable; - -// This is a slice helper class for EmergencyInfo -public class EmergencyInfoSlice implements CustomSliceable { - - private final Context mContext; - - public EmergencyInfoSlice(Context context) { - mContext = context; - } - - @Override - public Slice getSlice() { - final ListBuilder listBuilder = new ListBuilder(mContext, - CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI, - ListBuilder.INFINITY); - listBuilder.addRow( - new ListBuilder.RowBuilder() - .setTitle(mContext.getText(R.string.emergency_info_title)) - .setSubtitle( - mContext.getText(R.string.emergency_info_contextual_card_summary)) - .setPrimaryAction(createPrimaryAction())); - return listBuilder.build(); - } - - @Override - public Uri getUri() { - return CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI; - } - - @Override - public Intent getIntent() { - return new Intent(EmergencyInfoPreferenceController.getIntentAction(mContext)); - } - - @Override - public void onNotifyChange(Intent intent) { - } - - private SliceAction createPrimaryAction() { - final PendingIntent pendingIntent = - PendingIntent.getActivity( - mContext, - 0 /* requestCode */, - getIntent(), - PendingIntent.FLAG_UPDATE_CURRENT); - - return SliceAction.createDeeplink( - pendingIntent, - IconCompat.createWithResource(mContext, R.drawable.empty_icon), - ListBuilder.ICON_IMAGE, - mContext.getText(R.string.emergency_info_title)); - } -} diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java index 66cc600f1e2..700fe2ed0fd 100644 --- a/src/com/android/settings/slices/CustomSliceRegistry.java +++ b/src/com/android/settings/slices/CustomSliceRegistry.java @@ -29,9 +29,6 @@ import androidx.annotation.VisibleForTesting; import com.android.settings.display.AdaptiveSleepPreferenceController; import com.android.settings.flashlight.FlashlightSlice; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; -import com.android.settings.homepage.contextualcards.deviceinfo.DataUsageSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.DeviceInfoSlice; -import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; import com.android.settings.homepage.contextualcards.deviceinfo.StorageSlice; import com.android.settings.homepage.contextualcards.slices.BatteryFixSlice; import com.android.settings.homepage.contextualcards.slices.BluetoothDevicesSlice; @@ -117,34 +114,6 @@ public class CustomSliceRegistry { .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) .appendPath("contextual_wifi") .build(); - - /** - * Backing Uri for the Data usage Slice. - */ - public static final Uri DATA_USAGE_SLICE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION) - .appendPath("data_usage_card") - .build(); - /** - * Backing Uri for the Device info Slice. - */ - public static final Uri DEVICE_INFO_SLICE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_INTENT) - .appendPath("device_info_card") - .build(); - /** - * Backing Uri for the Emergency Info Slice. - */ - public static final Uri EMERGENCY_INFO_SLICE_URI = new Uri.Builder() - .scheme(ContentResolver.SCHEME_CONTENT) - .authority(SettingsSliceProvider.SLICE_AUTHORITY) - .appendPath(SettingsSlicesContract.PATH_SETTING_INTENT) - .appendPath("emergency_info_card") - .build(); /** * Slice Uri for Enhanced 4G slice */ @@ -355,9 +324,6 @@ public class CustomSliceRegistry { sUriToSlice.put(CONTEXTUAL_NOTIFICATION_CHANNEL_SLICE_URI, ContextualNotificationChannelSlice.class); sUriToSlice.put(CONTEXTUAL_WIFI_SLICE_URI, ContextualWifiSlice.class); - sUriToSlice.put(DATA_USAGE_SLICE_URI, DataUsageSlice.class); - sUriToSlice.put(DEVICE_INFO_SLICE_URI, DeviceInfoSlice.class); - sUriToSlice.put(EMERGENCY_INFO_SLICE_URI, EmergencyInfoSlice.class); sUriToSlice.put(FACE_ENROLL_SLICE_URI, FaceSetupSlice.class); sUriToSlice.put(FLASHLIGHT_SLICE_URI, FlashlightSlice.class); sUriToSlice.put(LOCATION_SLICE_URI, LocationSlice.class); diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java index 7b70dadfa23..37779202d3c 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java @@ -31,7 +31,6 @@ import androidx.slice.Slice; import androidx.slice.SliceProvider; import androidx.slice.widget.SliceLiveData; -import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.wifi.slice.ContextualWifiSlice; @@ -65,14 +64,6 @@ public class EligibleCardCheckerTest { assertThat(mEligibleCardChecker.isSliceToggleable(slice)).isTrue(); } - @Test - public void isSliceToggleable_cardWithoutToggle_returnFalse() { - final EmergencyInfoSlice emergencyInfoSlice = new EmergencyInfoSlice(mContext); - final Slice slice = emergencyInfoSlice.getSlice(); - - assertThat(mEligibleCardChecker.isSliceToggleable(slice)).isFalse(); - } - @Test public void isCardEligibleToDisplay_toggleSlice_hasInlineActionShouldBeTrue() { final ContextualWifiSlice wifiSlice = new ContextualWifiSlice(mContext); @@ -84,17 +75,6 @@ public class EligibleCardCheckerTest { assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isTrue(); } - @Test - public void isCardEligibleToDisplay_notToggleSlice_hasInlineActionShouldBeFalse() { - final EmergencyInfoSlice emergencyInfoSlice = new EmergencyInfoSlice(mContext); - final Slice slice = emergencyInfoSlice.getSlice(); - doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class)); - - mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI)); - - assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isFalse(); - } - @Test public void isCardEligibleToDisplay_customCard_returnTrue() { final ContextualCard customCard = new ContextualCard.Builder() diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSliceTest.java deleted file mode 100644 index 13f26e4b920..00000000000 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSliceTest.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.homepage.contextualcards.deviceinfo; - -import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.when; - -import android.app.usage.NetworkStatsManager; -import android.content.Context; -import android.telephony.SubscriptionManager; -import android.telephony.TelephonyManager; -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.SliceItem; -import androidx.slice.SliceMetadata; -import androidx.slice.SliceProvider; -import androidx.slice.core.SliceAction; -import androidx.slice.widget.SliceLiveData; -import com.android.settings.R; -import com.android.settings.testutils.SliceTester; -import com.android.settings.testutils.shadow.ShadowDataUsageUtils; -import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; -import org.robolectric.Shadows; -import org.robolectric.annotation.Config; -import org.robolectric.shadows.ShadowTelephonyManager; - -@RunWith(RobolectricTestRunner.class) -@Config(shadows = ShadowDataUsageUtils.class) -public class DataUsageSliceTest { - private static final String DATA_USAGE_TITLE = "Data usage"; - private static final String DATA_USAGE_SUMMARY = "test_summary"; - - @Mock - private NetworkStatsManager mNetworkStatsManager; - - private Context mContext; - private DataUsageSlice mDataUsageSlice; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - - mContext = spy(RuntimeEnvironment.application); - // Set-up specs for SliceMetadata. - SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS); - when(mContext.getSystemService(NetworkStatsManager.class)).thenReturn(mNetworkStatsManager); - - mDataUsageSlice = spy(new DataUsageSlice(mContext)); - - final TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class); - final ShadowTelephonyManager shadowTelephonyManager = Shadows.shadowOf(telephonyManager); - shadowTelephonyManager.setTelephonyManagerForSubscriptionId( - SubscriptionManager.INVALID_SUBSCRIPTION_ID, telephonyManager); - } - - @Test - public void getSlice_hasSim_shouldBeCorrectSliceContent() { - ShadowDataUsageUtils.HAS_SIM = true; - doReturn(DATA_USAGE_TITLE).when(mDataUsageSlice).getDataUsageText(any()); - doReturn(DATA_USAGE_SUMMARY).when(mDataUsageSlice).getCycleTime(any()); - - final Slice slice = mDataUsageSlice.getSlice(); - - final SliceMetadata metadata = SliceMetadata.from(mContext, slice); - assertThat(metadata.getTitle()).isEqualTo( - mContext.getString(R.string.data_usage_summary_title)); - - final SliceAction primaryAction = metadata.getPrimaryAction(); - final IconCompat expectedIcon = IconCompat.createWithResource(mContext, - R.drawable.ic_settings_data_usage); - assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedIcon.toString()); - } - - @Test - public void getSlice_hasNoSim_shouldShowNoSimCard() { - ShadowDataUsageUtils.HAS_SIM = false; - - final Slice slice = mDataUsageSlice.getSlice(); - - final SliceMetadata metadata = SliceMetadata.from(mContext, slice); - assertThat(metadata.getTitle()).isEqualTo( - mContext.getString(R.string.data_usage_summary_title)); - - final List sliceItems = slice.getItems(); - SliceTester.assertAnySliceItemContainsTitle(sliceItems, - mContext.getString(R.string.no_sim_card)); - } -} diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSliceTest.java deleted file mode 100644 index ddc7218b625..00000000000 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSliceTest.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.homepage.contextualcards.deviceinfo; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; - -import android.content.Context; -import android.telephony.SubscriptionInfo; - -import androidx.core.graphics.drawable.IconCompat; -import androidx.slice.Slice; -import androidx.slice.SliceItem; -import androidx.slice.SliceMetadata; -import androidx.slice.SliceProvider; -import androidx.slice.core.SliceAction; -import androidx.slice.widget.SliceLiveData; - -import com.android.settings.R; -import com.android.settings.testutils.SliceTester; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -import java.util.List; - -@RunWith(RobolectricTestRunner.class) -public class DeviceInfoSliceTest { - - @Mock - private SubscriptionInfo mSubscriptionInfo; - - private Context mContext; - private DeviceInfoSlice mDeviceInfoSlice; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - mContext = RuntimeEnvironment.application; - - // Set-up specs for SliceMetadata. - SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS); - - mDeviceInfoSlice = spy(new DeviceInfoSlice(mContext)); - } - - @Test - public void getSlice_hasSubscriptionInfo_shouldBeCorrectSliceContent() { - final String phoneNumber = "1111111111"; - doReturn(mSubscriptionInfo).when(mDeviceInfoSlice).getFirstSubscriptionInfo(); - doReturn(phoneNumber).when(mDeviceInfoSlice).getPhoneNumber(); - - final Slice slice = mDeviceInfoSlice.getSlice(); - - final SliceMetadata metadata = SliceMetadata.from(mContext, slice); - assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.device_info_label)); - - final SliceAction primaryAction = metadata.getPrimaryAction(); - final IconCompat expectedIcon = IconCompat.createWithResource(mContext, - R.drawable.ic_info_outline_24dp); - assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedIcon.toString()); - - final List sliceItems = slice.getItems(); - SliceTester.assertAnySliceItemContainsTitle(sliceItems, phoneNumber); - } - - @Test - public void getSlice_hasNoSubscriptionInfo_shouldShowUnknown() { - final Slice slice = mDeviceInfoSlice.getSlice(); - - final SliceMetadata metadata = SliceMetadata.from(mContext, slice); - assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.device_info_label)); - - final List sliceItems = slice.getItems(); - SliceTester.assertAnySliceItemContainsTitle(sliceItems, - mContext.getString(R.string.device_info_default)); - } -} diff --git a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java index 9f4fffcdeff..37036c48ac6 100644 --- a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java +++ b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java @@ -36,7 +36,6 @@ import androidx.lifecycle.LiveData; import androidx.slice.Slice; import com.android.settings.R; -import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; @@ -54,8 +53,6 @@ import java.util.Map; @RunWith(RobolectricTestRunner.class) public class PanelSlicesAdapterTest { - private static final Uri DATA_URI = CustomSliceRegistry.DATA_USAGE_SLICE_URI; - private Context mContext; private PanelFragment mPanelFragment; private PanelFeatureProvider mPanelFeatureProvider; @@ -96,18 +93,6 @@ public class PanelSlicesAdapterTest { mData.put(uri, liveData); } - @Test - public void onCreateViewHolder_returnsSliceRowViewHolder() { - addTestLiveData(DATA_URI); - final PanelSlicesAdapter adapter = - new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */); - final ViewGroup view = new FrameLayout(mContext); - final PanelSlicesAdapter.SliceRowViewHolder viewHolder = - adapter.onCreateViewHolder(view, 0); - - assertThat(viewHolder.sliceView).isNotNull(); - } - @Test public void sizeOfAdapter_shouldNotExceedMaxNum() { for (int i = 0; i < MAX_NUM_OF_SLICES + 2; i++) { @@ -126,22 +111,6 @@ public class PanelSlicesAdapterTest { assertThat(adapter.getData().size()).isEqualTo(MAX_NUM_OF_SLICES); } - @Test - public void nonMediaOutputIndicatorSlice_shouldAllowDividerAboveAndBelow() { - addTestLiveData(DATA_URI); - final PanelSlicesAdapter adapter = - new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */); - final int position = 0; - final ViewGroup view = new FrameLayout(mContext); - final PanelSlicesAdapter.SliceRowViewHolder viewHolder = - adapter.onCreateViewHolder(view, 0 /* view type*/); - - adapter.onBindViewHolder(viewHolder, position); - - assertThat(viewHolder.isDividerAllowedAbove()).isTrue(); - assertThat(viewHolder.isDividerAllowedBelow()).isTrue(); - } - @Test public void mediaOutputIndicatorSlice_shouldNotAllowDividerAbove() { addTestLiveData(MEDIA_OUTPUT_INDICATOR_SLICE_URI); @@ -157,4 +126,4 @@ public class PanelSlicesAdapterTest { assertThat(viewHolder.isDividerAllowedAbove()).isFalse(); } -} \ No newline at end of file +}