Handle experimental API opt-ins at module level

This commit is contained in:
MM20 2022-08-21 18:35:27 +02:00
parent ff5868dfe7
commit 042c0e2040
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
45 changed files with 11 additions and 57 deletions

View File

@ -30,6 +30,17 @@ android {
kotlinOptions { kotlinOptions {
jvmTarget = "1.8" jvmTarget = "1.8"
freeCompilerArgs = listOf(
"-opt-in=androidx.compose.ui.ExperimentalComposeUiApi",
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
"-opt-in=androidx.compose.ui.text.ExperimentalTextApi",
"-opt-in=androidx.compose.ui.unit.ExperimentalUnitApi",
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
"-opt-in=com.google.accompanist.pager.ExperimentalPagerApi",
)
} }
buildFeatures { buildFeatures {

View File

@ -8,7 +8,6 @@ import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.TextUnitType import androidx.compose.ui.unit.TextUnitType
object TextUnitConverter : TwoWayConverter<TextUnit, AnimationVector2D> { object TextUnitConverter : TwoWayConverter<TextUnit, AnimationVector2D> {
@OptIn(ExperimentalUnitApi::class)
override val convertFromVector: (AnimationVector2D) -> TextUnit override val convertFromVector: (AnimationVector2D) -> TextUnit
get() = { get() = {
TextUnit( TextUnit(

View File

@ -27,7 +27,6 @@ import de.mm20.launcher2.ui.component.BottomSheetDialog
import de.mm20.launcher2.ui.component.LargeMessage import de.mm20.launcher2.ui.component.LargeMessage
import de.mm20.launcher2.ui.component.SmallMessage import de.mm20.launcher2.ui.component.SmallMessage
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun RestoreBackupSheet( fun RestoreBackupSheet(
uri: Uri, uri: Uri,

View File

@ -23,7 +23,6 @@ import de.mm20.launcher2.ui.component.BottomSheetDialog
import de.mm20.launcher2.ui.component.SmallMessage import de.mm20.launcher2.ui.component.SmallMessage
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun WeatherLocationSearchDialog( fun WeatherLocationSearchDialog(
onDismissRequest: () -> Unit onDismissRequest: () -> Unit

View File

@ -10,7 +10,6 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun Banner( fun Banner(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -29,9 +29,6 @@ import de.mm20.launcher2.ui.ktx.toDp
import de.mm20.launcher2.ui.ktx.toPixels import de.mm20.launcher2.ui.ktx.toPixels
import kotlin.math.roundToInt import kotlin.math.roundToInt
@OptIn(ExperimentalComposeUiApi::class, ExperimentalMaterialApi::class,
ExperimentalMaterial3Api::class
)
@Composable @Composable
fun BottomSheetDialog( fun BottomSheetDialog(
onDismissRequest: () -> Unit, onDismissRequest: () -> Unit,

View File

@ -16,7 +16,6 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun Chip( fun Chip(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -50,7 +50,6 @@ import kotlin.math.abs
import kotlin.math.pow import kotlin.math.pow
import kotlin.math.roundToInt import kotlin.math.roundToInt
@OptIn(ExperimentalFoundationApi::class)
@Composable @Composable
fun ShapedLauncherIcon( fun ShapedLauncherIcon(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -11,7 +11,6 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun SmallMessage( fun SmallMessage(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -11,7 +11,6 @@ import androidx.compose.ui.unit.dp
import com.godaddy.android.colorpicker.ClassicColorPicker import com.godaddy.android.colorpicker.ClassicColorPicker
import de.mm20.launcher2.ui.ktx.toHexString import de.mm20.launcher2.ui.ktx.toHexString
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun ColorPreference( fun ColorPreference(
title: String, title: String,

View File

@ -13,7 +13,6 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.Dialog
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun <T> ListPreference( fun <T> ListPreference(
title: String, title: String,

View File

@ -19,7 +19,6 @@ import com.google.accompanist.systemuicontroller.rememberSystemUiController
import de.mm20.launcher2.ui.locals.LocalNavController import de.mm20.launcher2.ui.locals.LocalNavController
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun PreferenceScreen( fun PreferenceScreen(
title: String, title: String,

View File

@ -4,7 +4,6 @@ import androidx.compose.material3.*
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun TextPreference( fun TextPreference(
title: String, title: String,

View File

@ -60,7 +60,6 @@ fun AnimatedWeatherIcon(
} }
} }
@OptIn(ExperimentalAnimationGraphicsApi::class)
@Composable @Composable
private fun SunMoon(icon: WeatherIcon, night: Boolean) { private fun SunMoon(icon: WeatherIcon, night: Boolean) {
val sunMoonIcon = AnimatedImageVector.animatedVectorResource(R.drawable.anim_weather_sun_moon) val sunMoonIcon = AnimatedImageVector.animatedVectorResource(R.drawable.anim_weather_sun_moon)

View File

@ -47,10 +47,6 @@ import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.utils.rememberNotificationShadeController import de.mm20.launcher2.ui.utils.rememberNotificationShadeController
import kotlin.math.roundToInt import kotlin.math.roundToInt
@OptIn(
ExperimentalMaterialApi::class, ExperimentalFoundationApi::class,
ExperimentalMaterial3Api::class
)
@Composable @Composable
fun PagerScaffold( fun PagerScaffold(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -45,7 +45,6 @@ import de.mm20.launcher2.ui.modifier.verticalFadingEdges
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlin.math.roundToInt import kotlin.math.roundToInt
@OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class)
@Composable @Composable
fun PullDownScaffold( fun PullDownScaffold(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -148,7 +148,6 @@ fun SearchBar(
) )
} }
@OptIn(ExperimentalAnimationGraphicsApi::class)
@Composable @Composable
fun SearchBar( fun SearchBar(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -320,7 +320,6 @@ fun AppItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun AppItemGridPopup( fun AppItemGridPopup(
app: Application, app: Application,

View File

@ -261,7 +261,6 @@ fun CalendarItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun CalendarItemGridPopup( fun CalendarItemGridPopup(
calendar: CalendarEvent, calendar: CalendarEvent,

View File

@ -35,7 +35,6 @@ import de.mm20.launcher2.ui.ktx.toPixels
import de.mm20.launcher2.ui.locals.LocalGridColumns import de.mm20.launcher2.ui.locals.LocalGridColumns
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun CustomizeSearchableSheet( fun CustomizeSearchableSheet(
searchable: Searchable, searchable: Searchable,

View File

@ -111,7 +111,6 @@ fun GridItem(modifier: Modifier = Modifier, item: Searchable, showLabels: Boolea
} }
} }
@OptIn(ExperimentalComposeUiApi::class)
@Composable @Composable
fun ItemPopup(origin: Rect, searchable: Searchable, onDismissRequest: () -> Unit) { fun ItemPopup(origin: Rect, searchable: Searchable, onDismissRequest: () -> Unit) {
var show by remember { mutableStateOf(false) } var show by remember { mutableStateOf(false) }

View File

@ -16,7 +16,6 @@ import de.mm20.launcher2.ui.launcher.search.contacts.ContactItem
import de.mm20.launcher2.ui.launcher.search.files.FileItem import de.mm20.launcher2.ui.launcher.search.files.FileItem
import de.mm20.launcher2.ui.launcher.search.shortcut.AppShortcutItem import de.mm20.launcher2.ui.launcher.search.shortcut.AppShortcutItem
@OptIn(androidx.compose.foundation.ExperimentalFoundationApi::class)
@Composable @Composable
fun ListItem(modifier: Modifier = Modifier, item: Searchable) { fun ListItem(modifier: Modifier = Modifier, item: Searchable) {
var showDetails by remember { mutableStateOf(false) } var showDetails by remember { mutableStateOf(false) }

View File

@ -318,7 +318,6 @@ fun ContactItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun ContactItemGridPopup( fun ContactItemGridPopup(
contact: Contact, contact: Contact,

View File

@ -285,7 +285,6 @@ fun FileItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun FileItemGridPopup( fun FileItemGridPopup(
file: File, file: File,

View File

@ -18,7 +18,6 @@ import de.mm20.launcher2.ui.launcher.LauncherActivityVM
import de.mm20.launcher2.ui.launcher.modals.HiddenItemsSheet import de.mm20.launcher2.ui.launcher.modals.HiddenItemsSheet
import de.mm20.launcher2.ui.launcher.search.SearchVM import de.mm20.launcher2.ui.launcher.search.SearchVM
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun ColumnScope.HiddenResults() { fun ColumnScope.HiddenResults() {
val viewModel: SearchVM = viewModel() val viewModel: SearchVM = viewModel()

View File

@ -224,7 +224,6 @@ fun AppShortcutItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun ShortcutItemGridPopup( fun ShortcutItemGridPopup(
shortcut: AppShortcut, shortcut: AppShortcut,

View File

@ -127,7 +127,6 @@ fun WebsiteItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun WebsiteItemGridPopup( fun WebsiteItemGridPopup(
website: Website, website: Website,

View File

@ -134,7 +134,6 @@ fun WikipediaItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun WikipediaItemGridPopup( fun WikipediaItemGridPopup(
wikipedia: Wikipedia, wikipedia: Wikipedia,

View File

@ -43,7 +43,6 @@ import de.mm20.launcher2.widgets.ExternalWidget
import kotlinx.coroutines.awaitCancellation import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@OptIn(ExperimentalAnimationGraphicsApi::class)
@Composable @Composable
fun WidgetColumn( fun WidgetColumn(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,

View File

@ -30,7 +30,6 @@ import de.mm20.launcher2.ui.launcher.search.common.list.SearchResultList
import java.time.LocalDate import java.time.LocalDate
import java.time.ZoneId import java.time.ZoneId
@OptIn(ExperimentalComposeUiApi::class)
@Composable @Composable
fun CalendarWidget() { fun CalendarWidget() {
val viewModel: CalendarWidgetVM = viewModel() val viewModel: CalendarWidgetVM = viewModel()

View File

@ -53,7 +53,6 @@ class BatteryPartProvider : PartProvider {
} }
} }
@OptIn(ExperimentalComposeUiApi::class)
@Composable @Composable
override fun Component(layout: Settings.ClockWidgetSettings.ClockWidgetLayout) { override fun Component(layout: Settings.ClockWidgetSettings.ClockWidgetLayout) {

View File

@ -48,10 +48,6 @@ class MusicPartProvider : PartProvider, KoinComponent {
} }
} }
@OptIn(
ExperimentalAnimationGraphicsApi::class,
ExperimentalFoundationApi::class
)
@Composable @Composable
override fun Component(layout: ClockWidgetLayout) { override fun Component(layout: ClockWidgetLayout) {
val context = LocalContext.current val context = LocalContext.current

View File

@ -37,10 +37,6 @@ import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.MissingPermissionBanner import de.mm20.launcher2.ui.component.MissingPermissionBanner
import de.mm20.launcher2.ui.ktx.conditional import de.mm20.launcher2.ui.ktx.conditional
@OptIn(
ExperimentalFoundationApi::class,
ExperimentalAnimationGraphicsApi::class
)
@Composable @Composable
fun MusicWidget() { fun MusicWidget() {

View File

@ -32,7 +32,6 @@ class PickAppWidgetActivity : BaseActivity() {
private lateinit var appWidgetManager: AppWidgetManager private lateinit var appWidgetManager: AppWidgetManager
@OptIn(ExperimentalMaterial3Api::class)
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
widgetHost = AppWidgetHost(this, 44203) widgetHost = AppWidgetHost(this, 44203)

View File

@ -54,7 +54,6 @@ class SettingsActivity : BaseActivity() {
private val dataStore: LauncherDataStore by inject() private val dataStore: LauncherDataStore by inject()
@OptIn(ExperimentalAnimationApi::class)
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)

View File

@ -279,7 +279,6 @@ fun AppearanceSettingsScreen() {
} }
} }
@OptIn(ExperimentalPagerApi::class)
@Composable @Composable
fun SearchBarStylePreference( fun SearchBarStylePreference(
title: String, title: String,
@ -446,7 +445,6 @@ fun IconShapePreference(
} }
} }
@OptIn(ExperimentalPagerApi::class)
@Composable @Composable
fun LayoutPreference( fun LayoutPreference(
title: String, title: String,

View File

@ -175,7 +175,6 @@ fun CreateBackupSheet(
} }
} }
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun BackupableComponent( fun BackupableComponent(
title: String, title: String,

View File

@ -67,7 +67,6 @@ fun CalendarWidgetSettingsScreen() {
} }
} }
@OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class)
@Composable @Composable
fun ExcludedCalendarsPreference( fun ExcludedCalendarsPreference(
calendars: List<UserCalendar>, calendars: List<UserCalendar>,

View File

@ -115,7 +115,6 @@ fun ClockWidgetSettingsScreen() {
} }
} }
@OptIn(ExperimentalPagerApi::class)
@Composable @Composable
fun ClockStylePreference( fun ClockStylePreference(
layout: ClockWidgetLayout, layout: ClockWidgetLayout,

View File

@ -28,7 +28,6 @@ import de.mm20.launcher2.ui.component.preferences.PreferenceScreen
import de.mm20.launcher2.ui.locals.LocalNavController import de.mm20.launcher2.ui.locals.LocalNavController
import java.net.URLEncoder import java.net.URLEncoder
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun CrashReporterScreen() { fun CrashReporterScreen() {
val viewModel: CrashReporterScreenVM = viewModel() val viewModel: CrashReporterScreenVM = viewModel()

View File

@ -25,7 +25,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.preferences.PreferenceScreen import de.mm20.launcher2.ui.component.preferences.PreferenceScreen
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun EasterEggSettingsScreen() { fun EasterEggSettingsScreen() {
val viewModel: EasterEggSettingsScreenVM = viewModel() val viewModel: EasterEggSettingsScreenVM = viewModel()

View File

@ -26,7 +26,6 @@ import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.ShapedLauncherIcon import de.mm20.launcher2.ui.component.ShapedLauncherIcon
import de.mm20.launcher2.ui.component.preferences.PreferenceScreen import de.mm20.launcher2.ui.component.preferences.PreferenceScreen
@OptIn(ExperimentalFoundationApi::class)
@Composable @Composable
fun HiddenItemsSettingsScreen() { fun HiddenItemsSettingsScreen() {
val viewModel: HiddenItemsSettingsScreenVM = viewModel() val viewModel: HiddenItemsSettingsScreenVM = viewModel()

View File

@ -26,7 +26,6 @@ import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.preferences.PreferenceCategory import de.mm20.launcher2.ui.component.preferences.PreferenceCategory
import de.mm20.launcher2.ui.locals.LocalNavController import de.mm20.launcher2.ui.locals.LocalNavController
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun LicenseScreen(library: OpenSourceLibrary) { fun LicenseScreen(library: OpenSourceLibrary) {
val context = LocalContext.current val context = LocalContext.current

View File

@ -132,7 +132,6 @@ fun WebsearchPreference(
} }
} }
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun EditWebsearchDialog( fun EditWebsearchDialog(
title: String, title: String,
@ -431,7 +430,6 @@ fun EditWebsearchDialog(
} }
} }
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
private fun ColorPicker( private fun ColorPicker(
value: Int, value: Int,

View File

@ -4,7 +4,6 @@ import android.content.Context
import androidx.compose.ui.text.ExperimentalTextApi import androidx.compose.ui.text.ExperimentalTextApi
import androidx.compose.ui.text.font.* import androidx.compose.ui.text.font.*
@OptIn(ExperimentalTextApi::class)
fun getDeviceHeadlineFontFamily(context: Context): FontFamily { fun getDeviceHeadlineFontFamily(context: Context): FontFamily {
val configResId = context.resources val configResId = context.resources
.getIdentifier("config_headlineFontFamily", "string", "android") .getIdentifier("config_headlineFontFamily", "string", "android")