Handle experimental API opt-ins at module level

This commit is contained in:
MM20
2022-08-21 18:36:00 +02:00
parent ff5868dfe7
commit 042c0e2040
45 changed files with 11 additions and 57 deletions
+11
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 {
@@ -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(
@@ -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,
@@ -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
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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,
@@ -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)
@@ -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,
@@ -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,
@@ -148,7 +148,6 @@ fun SearchBar(
) )
} }
@OptIn(ExperimentalAnimationGraphicsApi::class)
@Composable @Composable
fun SearchBar( fun SearchBar(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
@@ -320,7 +320,6 @@ fun AppItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun AppItemGridPopup( fun AppItemGridPopup(
app: Application, app: Application,
@@ -261,7 +261,6 @@ fun CalendarItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun CalendarItemGridPopup( fun CalendarItemGridPopup(
calendar: CalendarEvent, calendar: CalendarEvent,
@@ -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,
@@ -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) }
@@ -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) }
@@ -318,7 +318,6 @@ fun ContactItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun ContactItemGridPopup( fun ContactItemGridPopup(
contact: Contact, contact: Contact,
@@ -285,7 +285,6 @@ fun FileItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun FileItemGridPopup( fun FileItemGridPopup(
file: File, file: 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()
@@ -224,7 +224,6 @@ fun AppShortcutItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun ShortcutItemGridPopup( fun ShortcutItemGridPopup(
shortcut: AppShortcut, shortcut: AppShortcut,
@@ -127,7 +127,6 @@ fun WebsiteItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun WebsiteItemGridPopup( fun WebsiteItemGridPopup(
website: Website, website: Website,
@@ -134,7 +134,6 @@ fun WikipediaItem(
} }
} }
@OptIn(ExperimentalAnimationApi::class)
@Composable @Composable
fun WikipediaItemGridPopup( fun WikipediaItemGridPopup(
wikipedia: Wikipedia, wikipedia: Wikipedia,
@@ -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,
@@ -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()
@@ -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) {
@@ -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
@@ -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() {
@@ -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)
@@ -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)
@@ -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,
@@ -175,7 +175,6 @@ fun CreateBackupSheet(
} }
} }
@OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun BackupableComponent( fun BackupableComponent(
title: String, title: String,
@@ -67,7 +67,6 @@ fun CalendarWidgetSettingsScreen() {
} }
} }
@OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class)
@Composable @Composable
fun ExcludedCalendarsPreference( fun ExcludedCalendarsPreference(
calendars: List<UserCalendar>, calendars: List<UserCalendar>,
@@ -115,7 +115,6 @@ fun ClockWidgetSettingsScreen() {
} }
} }
@OptIn(ExperimentalPagerApi::class)
@Composable @Composable
fun ClockStylePreference( fun ClockStylePreference(
layout: ClockWidgetLayout, layout: ClockWidgetLayout,
@@ -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()
@@ -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()
@@ -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()
@@ -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
@@ -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,
@@ -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")