diff --git a/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java b/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java index 398b1df394..5ad9222335 100644 --- a/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java +++ b/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java @@ -22,6 +22,8 @@ import android.content.pm.PackageManager; import android.os.Parcel; import android.os.Parcelable; +import androidx.annotation.VisibleForTesting; + import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.Utilities; import com.android.launcher3.widget.LauncherAppWidgetProviderInfo; @@ -52,6 +54,9 @@ public class CustomAppWidgetProviderInfo extends LauncherAppWidgetProviderInfo } } + @VisibleForTesting + CustomAppWidgetProviderInfo() {} + @Override public void initSpans(Context context, InvariantDeviceProfile idp) { mIsMinSizeFulfilled = Math.min(spanX, minSpanX) <= idp.numColumns diff --git a/tests/multivalentTests/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfoTest.kt b/tests/multivalentTests/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfoTest.kt new file mode 100644 index 0000000000..0a3035aa56 --- /dev/null +++ b/tests/multivalentTests/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfoTest.kt @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2024 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.launcher3.widget.custom + +import android.content.ComponentName +import android.content.pm.PackageManager +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.MediumTest +import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mockito.mock + +@MediumTest +@RunWith(AndroidJUnit4::class) +class CustomAppWidgetProviderInfoTest { + + private lateinit var underTest: CustomAppWidgetProviderInfo + + @Before + fun setup() { + underTest = CustomAppWidgetProviderInfo() + underTest.provider = PROVIDER_NAME + } + + @Test + fun info_to_string() { + assertEquals("WidgetProviderInfo($PROVIDER_NAME)", underTest.toString()) + } + + @Test + fun get_label() { + underTest.label = " TEST_LABEL" + assertEquals(LABEL_NAME, underTest.getLabel(mock(PackageManager::class.java))) + } + + companion object { + private val PROVIDER_NAME = + ComponentName(getInstrumentation().targetContext.packageName, "TEST_PACKAGE") + private const val LABEL_NAME = "TEST_LABEL" + } +}