mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-11-30 00:04:19 +01:00
Introduce a dev
app flavor for side-by-side installation
This commit is contained in:
parent
8d1026d0cc
commit
b17364bb92
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@ -54,13 +54,13 @@ jobs:
|
|||||||
CMAKE_C_COMPILER_LAUNCHER: "ccache"
|
CMAKE_C_COMPILER_LAUNCHER: "ccache"
|
||||||
CMAKE_CXX_COMPILER_LAUNCHER: "ccache"
|
CMAKE_CXX_COMPILER_LAUNCHER: "ccache"
|
||||||
CCACHE_NOCOMPRESS: "true"
|
CCACHE_NOCOMPRESS: "true"
|
||||||
run: ./gradlew --stacktrace --configuration-cache --build-cache --parallel --configure-on-demand assemble
|
run: ./gradlew --stacktrace --configuration-cache --build-cache --parallel --configure-on-demand assembleFull
|
||||||
|
|
||||||
- name: Rename APKs (Signed)
|
- name: Rename APKs (Signed)
|
||||||
if: ${{ env.IS_SKYLINE_SIGNED == 'true' }}
|
if: ${{ env.IS_SKYLINE_SIGNED == 'true' }}
|
||||||
run: |
|
run: |
|
||||||
mv app/build/outputs/apk/debug/app-debug.apk skyline-$GITHUB_RUN_NUMBER-debug.apk
|
mv app/build/outputs/apk/full/debug/app-full-debug.apk skyline-$GITHUB_RUN_NUMBER-debug.apk
|
||||||
mv app/build/outputs/apk/release/app-release.apk skyline-$GITHUB_RUN_NUMBER-release.apk
|
mv app/build/outputs/apk/full/release/app-full-release.apk skyline-$GITHUB_RUN_NUMBER-release.apk
|
||||||
|
|
||||||
- name: Upload Signed Debug APK
|
- name: Upload Signed Debug APK
|
||||||
if: ${{ env.IS_SKYLINE_SIGNED == 'true' }}
|
if: ${{ env.IS_SKYLINE_SIGNED == 'true' }}
|
||||||
|
@ -81,6 +81,21 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flavorDimensions += "version"
|
||||||
|
productFlavors {
|
||||||
|
full {
|
||||||
|
dimension = "version"
|
||||||
|
manifestPlaceholders = [appLabel: "Skyline"]
|
||||||
|
}
|
||||||
|
|
||||||
|
dev {
|
||||||
|
dimension = "version"
|
||||||
|
applicationIdSuffix = ".dev"
|
||||||
|
versionNameSuffix = "-dev"
|
||||||
|
manifestPlaceholders = [appLabel: "Skyline Dev"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding true
|
viewBinding true
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
android:hasFragileUserData="${shouldSaveUserData}"
|
android:hasFragileUserData="${shouldSaveUserData}"
|
||||||
android:icon="@drawable/logo_skyline"
|
android:icon="@drawable/logo_skyline"
|
||||||
android:isGame="true"
|
android:isGame="true"
|
||||||
android:label="@string/app_name"
|
android:label="${appLabel}"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
tools:ignore="GoogleAppIndexingWarning,UnusedAttribute">
|
tools:ignore="GoogleAppIndexingWarning,UnusedAttribute">
|
||||||
@ -105,7 +105,7 @@
|
|||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name=".provider.DocumentsProvider"
|
android:name=".provider.DocumentsProvider"
|
||||||
android:authorities="emu.skyline.provider"
|
android:authorities="${applicationId}.provider"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:grantUriPermissions="true"
|
android:grantUriPermissions="true"
|
||||||
android:permission="android.permission.MANAGE_DOCUMENTS">
|
android:permission="android.permission.MANAGE_DOCUMENTS">
|
||||||
|
@ -635,7 +635,7 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
|
|||||||
@ExperimentalUnsignedTypes
|
@ExperimentalUnsignedTypes
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
fun getVersionCode() : Int {
|
fun getVersionCode() : Int {
|
||||||
val (major, minor, patch) = BuildConfig.VERSION_NAME.split('.').map { it.toUInt() }
|
val (major, minor, patch) = BuildConfig.VERSION_NAME.split('-')[0].split('.').map { it.toUInt() }
|
||||||
return ((major shl 22) or (minor shl 12) or (patch)).toInt()
|
return ((major shl 22) or (minor shl 12) or (patch)).toInt()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ import android.os.ParcelFileDescriptor
|
|||||||
import android.provider.DocumentsContract
|
import android.provider.DocumentsContract
|
||||||
import android.provider.DocumentsProvider
|
import android.provider.DocumentsProvider
|
||||||
import android.webkit.MimeTypeMap
|
import android.webkit.MimeTypeMap
|
||||||
|
import emu.skyline.BuildConfig
|
||||||
import emu.skyline.R
|
import emu.skyline.R
|
||||||
import emu.skyline.SkylineApplication
|
import emu.skyline.SkylineApplication
|
||||||
import emu.skyline.getPublicFilesDir
|
import emu.skyline.getPublicFilesDir
|
||||||
@ -42,7 +43,7 @@ class DocumentsProvider : DocumentsProvider() {
|
|||||||
DocumentsContract.Document.COLUMN_SIZE
|
DocumentsContract.Document.COLUMN_SIZE
|
||||||
)
|
)
|
||||||
|
|
||||||
const val AUTHORITY : String = "emu.skyline.provider"
|
const val AUTHORITY : String = BuildConfig.APPLICATION_ID + ".provider"
|
||||||
|
|
||||||
const val ROOT_ID : String = "root"
|
const val ROOT_ID : String = "root"
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ class DocumentsProvider : DocumentsProvider() {
|
|||||||
/**
|
/**
|
||||||
* @return A new [File] with a unique name based off the supplied [name], not conflicting with any existing file
|
* @return A new [File] with a unique name based off the supplied [name], not conflicting with any existing file
|
||||||
*/
|
*/
|
||||||
fun File.resolveWithoutConflict(name: String): File {
|
fun File.resolveWithoutConflict(name : String) : File {
|
||||||
var file = resolve(name)
|
var file = resolve(name)
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
var noConflictId = 1 // Makes sure two files don't have the same name by adding a number to the end
|
var noConflictId = 1 // Makes sure two files don't have the same name by adding a number to the end
|
||||||
|
Loading…
Reference in New Issue
Block a user