diff --git a/build.gradle b/build.gradle index cc5b960e4e..a4431e7e03 100644 --- a/build.gradle +++ b/build.gradle @@ -308,6 +308,14 @@ android { } } + github { + manifest.srcFile "github/AndroidManifest.xml" + } + + nightly { + manifest.srcFile "nightly/AndroidManifest.xml" + } + lawnWithQuickstepGithub { manifest.srcFile "quickstep/AndroidManifest-launcher.xml" } diff --git a/github/AndroidManifest.xml b/github/AndroidManifest.xml new file mode 100644 index 0000000000..5035d02d2f --- /dev/null +++ b/github/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/lawnchair/AndroidManifest.xml b/lawnchair/AndroidManifest.xml index 3e8cb152c5..01aeb9997f 100644 --- a/lawnchair/AndroidManifest.xml +++ b/lawnchair/AndroidManifest.xml @@ -26,7 +26,6 @@ - diff --git a/lawnchair/src/app/lawnchair/backup/ui/CreateBackupScreen.kt b/lawnchair/src/app/lawnchair/backup/ui/CreateBackupScreen.kt index 8492d6a82b..d6ad6e8b92 100644 --- a/lawnchair/src/app/lawnchair/backup/ui/CreateBackupScreen.kt +++ b/lawnchair/src/app/lawnchair/backup/ui/CreateBackupScreen.kt @@ -45,6 +45,7 @@ import app.lawnchair.ui.preferences.components.WallpaperPreview import app.lawnchair.ui.preferences.components.controls.FlagSwitchPreference import app.lawnchair.ui.preferences.components.layout.PreferenceGroup import app.lawnchair.ui.preferences.components.layout.PreferenceLayout +import app.lawnchair.ui.util.isPlayStoreFlavor import app.lawnchair.util.BackHandler import app.lawnchair.util.checkAndRequestFilesPermission import app.lawnchair.util.filesAndStorageGranted @@ -74,7 +75,7 @@ fun CreateBackupScreen( val permissionState = rememberPermissionState( if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { android.Manifest.permission.READ_MEDIA_IMAGES - } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !isPlayStoreFlavor()) { android.Manifest.permission.MANAGE_EXTERNAL_STORAGE } else { android.Manifest.permission.READ_EXTERNAL_STORAGE diff --git a/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt b/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt index 61e422fcd9..7d25c495ea 100644 --- a/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt +++ b/lawnchair/src/app/lawnchair/ui/preferences/components/WallpaperPreview.kt @@ -17,6 +17,7 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.core.graphics.drawable.toBitmap import app.lawnchair.preferences.PreferenceManager +import app.lawnchair.ui.util.isPlayStoreFlavor import app.lawnchair.util.checkAndRequestFilesPermission import app.lawnchair.util.filesAndStorageGranted import app.lawnchair.util.scaleDownToDisplaySize @@ -50,7 +51,7 @@ fun wallpaperDrawable(): Drawable? { val permissionState = rememberPermissionState( if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { android.Manifest.permission.READ_MEDIA_IMAGES - } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !isPlayStoreFlavor()) { android.Manifest.permission.MANAGE_EXTERNAL_STORAGE } else { android.Manifest.permission.READ_EXTERNAL_STORAGE diff --git a/lawnchair/src/app/lawnchair/ui/util/BuildConfigUtils.kt b/lawnchair/src/app/lawnchair/ui/util/BuildConfigUtils.kt new file mode 100644 index 0000000000..53dc188a41 --- /dev/null +++ b/lawnchair/src/app/lawnchair/ui/util/BuildConfigUtils.kt @@ -0,0 +1,5 @@ +package app.lawnchair.ui.util + +import com.android.launcher3.BuildConfig + +fun isPlayStoreFlavor(): Boolean = BuildConfig.FLAVOR_channel == "play" diff --git a/nightly/AndroidManifest.xml b/nightly/AndroidManifest.xml new file mode 100644 index 0000000000..5035d02d2f --- /dev/null +++ b/nightly/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + +