This commit is contained in:
machiav3lli 2022-07-09 03:06:57 +02:00
parent 9573e92175
commit 20b99682fe
2 changed files with 206 additions and 230 deletions

View File

@ -91,18 +91,17 @@ data class Repository(
fingerprint, "", "", 0L, 0L, authentication fingerprint, "", "", 0L, 0L, authentication
) )
val defaultRepositories = listOf(run { private val F_DROID = defaultRepository(
defaultRepository( "https://f-droid.org/repo",
"https://f-droid.org/repo", "F-Droid",
"F-Droid", "The official F-Droid Free Software repository. " +
"The official F-Droid Free Software repository. " + "Everything in this repository is always built from the source code.",
"Everything in this repository is always built from the source code.", 21,
21, true,
true, "43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB",
"43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB", ""
"" )
) private val F_DROID_ARCHIVE =
}, run {
defaultRepository( defaultRepository(
"https://f-droid.org/archive", "https://f-droid.org/archive",
"F-Droid Archive", "F-Droid Archive",
@ -113,222 +112,199 @@ data class Repository(
"43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB", "43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB",
"" ""
) )
}, run { private val GUARDIAN = defaultRepository(
defaultRepository( "https://guardianproject.info/fdroid/repo",
"https://guardianproject.info/fdroid/repo", "Guardian Project Official Releases",
"Guardian Project Official Releases", "The " +
"The " + "official repository of The Guardian Project apps for use with the F-Droid client. Applications in this " +
"official repository of The Guardian Project apps for use with the F-Droid client. Applications in this " + "repository are official binaries built by the original application developers and signed by the same key as " +
"repository are official binaries built by the original application developers and signed by the same key as " + "the APKs that are released in the Google Play Store.",
"the APKs that are released in the Google Play Store.", 21,
21, false,
false, "B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135",
"B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135", ""
"" )
) private val GUARDIAN_ARCHIVE = defaultRepository(
}, run { "https://guardianproject.info/fdroid/archive",
defaultRepository( "Guardian Project Archive",
"https://guardianproject.info/fdroid/archive", "The official " +
"Guardian Project Archive", "repository of The Guardian Project apps for use with the F-Droid client. This contains older versions of " +
"The official " + "applications from the main repository.",
"repository of The Guardian Project apps for use with the F-Droid client. This contains older versions of " + 21,
"applications from the main repository.", false,
21, "B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135",
false, ""
"B7C2EEFD8DAC7806AF67DFCD92EB18126BC08312A7F2D6F3862E46013C7A6135", )
"" private val IZZY = defaultRepository(
) "https://apt.izzysoft.de/fdroid/repo", "IzzyOnDroid F-Droid Repo", "This is a " +
}, run { "repository of apps to be used with F-Droid the original application developers, taken from the resp. " +
defaultRepository( "repositories (mostly GitHub). At this moment I cannot give guarantees on regular updates for all of them, " +
"https://apt.izzysoft.de/fdroid/repo", "IzzyOnDroid F-Droid Repo", "This is a " + "though most are checked multiple times a week ", 21, true,
"repository of apps to be used with F-Droid the original application developers, taken from the resp. " + "3BF0D6ABFEAE2F401707B6D966BE743BF0EEE49C2561B9BA39073711F628937A", ""
"repositories (mostly GitHub). At this moment I cannot give guarantees on regular updates for all of them, " + )
"though most are checked multiple times a week ", 21, true, private val MICRO_G = defaultRepository(
"3BF0D6ABFEAE2F401707B6D966BE743BF0EEE49C2561B9BA39073711F628937A", "" "https://microg.org/fdroid/repo", "MicroG Project",
) "Official repository of the open-source implementation of Google Play Services.",
}, run { 21, false, "9BD06727E62796C0130EB6DAB39B73157451582CBD138E86C468ACC395D14165", ""
defaultRepository( )
"https://microg.org/fdroid/repo", "MicroG Project", private val BROMITE = defaultRepository(
"Official repository of the open-source implementation of Google Play Services.", "https://fdroid.bromite.org/fdroid/repo", "Bromite",
21, false, "9BD06727E62796C0130EB6DAB39B73157451582CBD138E86C468ACC395D14165", "" "Bromite is a Chromium plus ad blocking and enhanced privacy; take back your browser.",
) 21, false, "E1EE5CD076D7B0DC84CB2B45FB78B86DF2EB39A3B6C56BA3DC292A5E0C3B9504", ""
}, run { )
defaultRepository( private val UNGOOGLED_CHROMIUM = defaultRepository(
"https://repo.netsyms.com/fdroid/repo", "Netsyms Technologies", "https://www.droidware.info/fdroid/repo", "Ungoogled Chromium",
"Open-source apps created by Netsyms Technologies.", "Chromium sans dependency on Google web services. It also features some enhancments to privacy, control & transparency",
21, false, "2581BA7B32D3AB443180C4087CAB6A7E8FB258D3A6E98870ECB3C675E4D64489", "" 21, false, "2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851", ""
) )
}, run { private val NEWPIPE = defaultRepository(
defaultRepository( "https://archive.newpipe.net/fdroid/repo", "NewPipe",
"https://fdroid.bromite.org/fdroid/repo", "Bromite", "NewPipe's official independent repository.",
"Bromite is a Chromium plus ad blocking and enhanced privacy; take back your browser.", 21, false, "E2402C78F9B97C6C89E97DB914A2751FDA1D02FE2039CC0897A462BDB57E7501", ""
21, false, "E1EE5CD076D7B0DC84CB2B45FB78B86DF2EB39A3B6C56BA3DC292A5E0C3B9504", "" )
) private val LIBRETRO = defaultRepository(
}, run { "https://fdroid.libretro.com/repo", "LibRetro",
defaultRepository( "The official canary repository for this great retro emulators hub.",
"https://molly.im/fdroid/foss/fdroid/repo", "Molly", 21, false, "3F05B24D497515F31FEAB421297C79B19552C5C81186B3750B7C131EF41D733D", ""
"Molly is a fork of Signal focused on security.", )
21, false, "5198DAEF37FC23C14D5EE32305B2AF45787BD7DF2034DE33AD302BDB3446DF74", "" private val KDE = defaultRepository(
) "https://cdn.kde.org/android/fdroid/repo", "KDE Android",
}, run { "The official nightly repository for KDE Android apps.",
defaultRepository( 21, false, "B3EBE10AFA6C5C400379B34473E843D686C61AE6AD33F423C98AF903F056523F", ""
"https://archive.newpipe.net/fdroid/repo", "NewPipe", )
"NewPipe's official independent repository.", private val CALYX_OS = defaultRepository(
21, false, "E2402C78F9B97C6C89E97DB914A2751FDA1D02FE2039CC0897A462BDB57E7501", "" "https://calyxos.gitlab.io/calyx-fdroid-repo/fdroid/repo", "Calyx OS Repo",
) "The official Calyx Labs F-Droid repository.",
}, run { 21, false, "C44D58B4547DE5096138CB0B34A1CC99DAB3B4274412ED753FCCBFC11DC1B7B6", ""
defaultRepository( )
"https://www.collaboraoffice.com/downloads/fdroid/repo", "Collabora Office", private val DIVEST_OS = defaultRepository(
"Collabora Office is an office suite based on LibreOffice.", "https://divestos.org/fdroid/official", "Divest OS Repo",
21, false, "573258C84E149B5F4D9299E7434B2B69A8410372921D4AE586BA91EC767892CC", "" "The official Divest OS F-Droid repository.",
) 21, false, "E4BE8D6ABFA4D9D4FEEF03CDDA7FF62A73FD64B75566F6DD4E5E577550BE8467", ""
}, run { )
defaultRepository( private val COLLABORA = defaultRepository(
"https://www.droidware.info/fdroid/repo", "Ungoogled Chromium", "https://www.collaboraoffice.com/downloads/fdroid/repo", "Collabora Office",
"Chromium sans dependency on Google web services. It also features some enhancments to privacy, control & transparency", "Collabora Office is an office suite based on LibreOffice.",
21, false, "2144449AB1DD270EC31B6087409B5D0EA39A75A9F290DA62AC1B238A0EAAF851", "" 21, false, "573258C84E149B5F4D9299E7434B2B69A8410372921D4AE586BA91EC767892CC", ""
) )
}, run { private val NETSYMS = defaultRepository(
defaultRepository( "https://repo.netsyms.com/fdroid/repo", "Netsyms Technologies",
"https://fdroid.libretro.com/repo", "LibRetro", "Open-source apps created by Netsyms Technologies.",
"The official canary repository for this great retro emulators hub.", 21, false, "2581BA7B32D3AB443180C4087CAB6A7E8FB258D3A6E98870ECB3C675E4D64489", ""
21, false, "3F05B24D497515F31FEAB421297C79B19552C5C81186B3750B7C131EF41D733D", "" )
) private val FEDILAB = defaultRepository(
}, run { "https://fdroid.fedilab.app/repo", "Fedilab",
defaultRepository( "Fedilab's official F-Droid repository.",
"https://cdn.kde.org/android/fdroid/repo", "KDE Android", 21, false, "11F0A69910A4280E2CD3CCC3146337D006BE539B18E1A9FEACE15FF757A94FEB", ""
"The official nightly repository for KDE Android apps.", )
21, false, "B3EBE10AFA6C5C400379B34473E843D686C61AE6AD33F423C98AF903F056523F", "" private val NETHUNTER = defaultRepository(
) "https://store.nethunter.com/repo", "Kali Nethunter",
}, run { "Kali Nethunter's official selection of original binaries.",
defaultRepository( 21, false, "7E418D34C3AD4F3C37D7E6B0FACE13332364459C862134EB099A3BDA2CCF4494", ""
"https://rfc2822.gitlab.io/fdroid-firefox/fdroid/repo", "Unofficial Firefox", )
"An unofficial repository with some of the most well known FOSS apps not on F-Droid.", private val NANODROID = defaultRepository(
21, false, "8F992BBBA0340EFE6299C7A410B36D9C8889114CA6C58013C3587CDA411B4AED", "" "https://nanolx.org/fdroid/repo", "NanoDroid",
) "A companion repository to microG's installer.",
}, run { 21, false, "862ED9F13A3981432BF86FE93D14596B381D75BE83A1D616E2D44A12654AD015", ""
defaultRepository( )
"https://calyxos.gitlab.io/calyx-fdroid-repo/fdroid/repo", "Calyx OS Repo", private val FROSTNERD = defaultRepository(
"The official Calyx Labs F-Droid repository.", "https://fdroid.frostnerd.com/fdroid/repo/", "Frostnerd",
21, false, "C44D58B4547DE5096138CB0B34A1CC99DAB3B4274412ED753FCCBFC11DC1B7B6", "" "A repository with a group of apps with public code.",
) 21, false, "74BB580F263EC89E15C207298DEC861B5069517550FE0F1D852F16FA611D2D26", ""
}, run { )
defaultRepository( private val FROSTNERD_ARCHIVE = defaultRepository(
"https://divestos.org/fdroid/official", "Divest OS Repo", "https://fdroidarchive.frostnerd.com/", "Frostnerd Archive",
"The official Divest OS F-Droid repository.", "An archive repository of Frostnerd.",
21, false, "E4BE8D6ABFA4D9D4FEEF03CDDA7FF62A73FD64B75566F6DD4E5E577550BE8467", "" 21, false, "74BB580F263EC89E15C207298DEC861B5069517550FE0F1D852F16FA611D2D26", ""
) )
}, run { private val BITWARDEN = defaultRepository(
defaultRepository( "https://mobileapp.bitwarden.com/fdroid/repo", "Bitwarden",
"https://fdroid.fedilab.app/repo", "Fedilab", "The official repository for Bitwarden.",
"Fedilab's official F-Droid repository.", 21, false, "BC54EA6FD1CD5175BCCCC47C561C5726E1C3ED7E686B6DB4B18BAC843A3EFE6C", ""
21, false, "11F0A69910A4280E2CD3CCC3146337D006BE539B18E1A9FEACE15FF757A94FEB", "" )
) private val FLUFFY_CHAT = defaultRepository(
}, run { "https://fdroid.fluffychat.im/", "FluffyChat",
defaultRepository( "A repository to easily distribute the cute matrix messanger client.",
"https://store.nethunter.com/repo", "Kali Nethunter", 21, false, "8E2637AEF6697CC6DD486AF044A6EE45B1A742AE3EF56566E748CDE8BC65C1FB", ""
"Kali Nethunter's official selection of original binaries.", )
21, false, "7E418D34C3AD4F3C37D7E6B0FACE13332364459C862134EB099A3BDA2CCF4494", "" private val MOLLY = defaultRepository(
) "https://molly.im/fdroid/foss/fdroid/repo", "Molly",
}, run { "Molly is a fork of Signal focused on security.",
defaultRepository( 21, false, "5198DAEF37FC23C14D5EE32305B2AF45787BD7DF2034DE33AD302BDB3446DF74", ""
"https://secfirst.org/fdroid/repo", "Umbrella", )
"Security advices, tutorials, tools etc..", private val BRIAR = defaultRepository(
21, false, "39EB57052F8D684514176819D1645F6A0A7BD943DBC31AB101949006AC0BC228", "" "https://briarproject.org/fdroid/repo", "Briar",
) "An serverless/offline messenger that hides your metadata.",
}, run { 21, false, "1FB874BEE7276D28ECB2C9B06E8A122EC4BCB4008161436CE474C257CBF49BD6", ""
defaultRepository( )
"https://thecapslock.gitlab.io/fdroid-patched-apps/fdroid/repo", "Patched Apps", private val SIMPLEX_CHAT = defaultRepository(
"A collection of patched applications to provide better compatibility, privacy etc..", "https://app.simplex.chat/fdroid/repo/", "SimpleX Chat",
21, false, "313D9E6E789FF4E8E2D687AAE31EEF576050003ED67963301821AC6D3763E3AC", "" "SimpleX Chat official F-Droid repository.",
) 21, false, "9F358FF284D1F71656A2BFAF0E005DEAE6AA14143720E089F11FF2DDCFEB01BA", ""
}, run { )
defaultRepository( private val I2P = defaultRepository(
"https://mobileapp.bitwarden.com/fdroid/repo", "Bitwarden", "https://f-droid.i2p.io/repo/", "i2p",
"The official repository for Bitwarden.", "A repository of I2P apps.",
21, false, "BC54EA6FD1CD5175BCCCC47C561C5726E1C3ED7E686B6DB4B18BAC843A3EFE6C", "" 21, false, "22658CC69F48D63F63C3D64E2041C81714E2749F3F6E5445C825297A00DDC5B6", ""
) )
}, run { private val UNOFFICIAL_FIREFOX = defaultRepository(
defaultRepository( "https://rfc2822.gitlab.io/fdroid-firefox/fdroid/repo", "Unofficial Firefox",
"https://briarproject.org/fdroid/repo", "Briar", "An unofficial repository with some of the most well known FOSS apps not on F-Droid.",
"An serverless/offline messenger that hides your metadata.", 21, false, "8F992BBBA0340EFE6299C7A410B36D9C8889114CA6C58013C3587CDA411B4AED", ""
21, false, "1FB874BEE7276D28ECB2C9B06E8A122EC4BCB4008161436CE474C257CBF49BD6", "" )
) private val UMBRELLA = defaultRepository(
}, run { "https://secfirst.org/fdroid/repo", "Umbrella",
defaultRepository( "Security advices, tutorials, tools etc..",
"https://guardianproject-wind.s3.amazonaws.com/fdroid/repo", "Wind Project", 21, false, "39EB57052F8D684514176819D1645F6A0A7BD943DBC31AB101949006AC0BC228", ""
"A collection of interesting offline/serverless apps.", )
21, false, "182CF464D219D340DA443C62155198E399FEC1BC4379309B775DD9FC97ED97E1", "" private val WIND = defaultRepository(
) "https://guardianproject-wind.s3.amazonaws.com/fdroid/repo", "Wind Project",
}, run { "A collection of interesting offline/serverless apps.",
defaultRepository( 21, false, "182CF464D219D340DA443C62155198E399FEC1BC4379309B775DD9FC97ED97E1", ""
"https://repo.alefvanoon.xyz/fdroid/repo", "Alefvanoon", )
"A collection of open-source apps that for one reason or another not on F-Droid.", private val PATCHED = defaultRepository(
21, false, "04DF198F553069C7BE60F057AE12000E99F7700DA895CC1CE2EB11DC871581F1", "" "https://thecapslock.gitlab.io/fdroid-patched-apps/fdroid/repo", "Patched Apps",
) "A collection of patched applications to provide better compatibility, privacy etc..",
}, run { 21, false, "313D9E6E789FF4E8E2D687AAE31EEF576050003ED67963301821AC6D3763E3AC", ""
defaultRepository( )
"https://nanolx.org/fdroid/repo", "NanoDroid", private val ALEFVANOON = defaultRepository(
"A companion repository to microG's installer.", "https://repo.alefvanoon.xyz/fdroid/repo", "Alefvanoon",
21, false, "862ED9F13A3981432BF86FE93D14596B381D75BE83A1D616E2D44A12654AD015", "" "A collection of open-source apps that for one reason or another not on F-Droid.",
) 21, false, "04DF198F553069C7BE60F057AE12000E99F7700DA895CC1CE2EB11DC871581F1", ""
}, run { )
defaultRepository( private val ELEMENT_DEV_FDROID = defaultRepository(
"https://fdroid.fluffychat.im/", "FluffyChat", "https://fdroid.krombel.de/element-dev-fdroid/fdroid/repo/",
"A repository to easily distribute the cute matrix messanger client.", "Unofficial Element-FDroid-dev",
21, false, "8E2637AEF6697CC6DD486AF044A6EE45B1A742AE3EF56566E748CDE8BC65C1FB", "" "An unofficial repository with Element-dev builds for devices with F-Droid.",
) 21,
}, run { false,
defaultRepository( "FD146EF30FA9F8F075BDCD9F02F069D22061B1DF7CC90E90821750A7184BF53D",
"https://fdroid.krombel.de/element-dev-fdroid/fdroid/repo/", ""
"Unofficial Element-FDroid-dev", )
"An unofficial repository with Element-dev builds for devices with F-Droid.", private val ELEMENT_DEV_GPLAY = defaultRepository(
21, "https://fdroid.krombel.de/element-dev-gplay/fdroid/repo/",
false, "Unofficial Element-GPlay-dev",
"FD146EF30FA9F8F075BDCD9F02F069D22061B1DF7CC90E90821750A7184BF53D", "An unofficial repository with Element-dev builds for devices with Google Service.",
"" 21,
) false,
}, run { "5564AB4D4BF9461AF7955449246F12D7E792A8D65165EBB2C0E90E65E77D5095",
defaultRepository( ""
"https://fdroid.krombel.de/element-dev-gplay/fdroid/repo/", )
"Unofficial Element-GPlay-dev",
"An unofficial repository with Element-dev builds for devices with Google Service.",
21,
false,
"5564AB4D4BF9461AF7955449246F12D7E792A8D65165EBB2C0E90E65E77D5095",
""
)
}, run {
defaultRepository(
"https://fdroid.frostnerd.com/fdroid/repo/", "Frostnerd",
"A repository with a group of apps with public code.",
21, false, "74BB580F263EC89E15C207298DEC861B5069517550FE0F1D852F16FA611D2D26", ""
)
}, run {
defaultRepository(
"https://fdroidarchive.frostnerd.com/", "Frostnerd Archive",
"An archive repository of Frostnerd.",
21, false, "74BB580F263EC89E15C207298DEC861B5069517550FE0F1D852F16FA611D2D26", ""
)
}, run {
defaultRepository(
"https://app.simplex.chat/fdroid/repo/", "SimpleX Chat",
"SimpleX Chat official F-Droid repository.",
21, false, "9F358FF284D1F71656A2BFAF0E005DEAE6AA14143720E089F11FF2DDCFEB01BA", ""
)
}, run {
defaultRepository(
"https://f-droid.i2p.io/repo/", "i2p",
"A repository of I2P apps.",
21, false, "22658CC69F48D63F63C3D64E2041C81714E2749F3F6E5445C825297A00DDC5B6", ""
)
})
}
class IdAndDeleted { val defaultRepositories = listOf(
@ColumnInfo(name = "_id") F_DROID, F_DROID_ARCHIVE,
var id = 0L GUARDIAN, GUARDIAN_ARCHIVE,
IZZY,
var deleted = false MICRO_G,
BROMITE, UNGOOGLED_CHROMIUM,
NEWPIPE, LIBRETRO, BITWARDEN,
CALYX_OS, DIVEST_OS, KDE, NANODROID,
NETSYMS, FEDILAB, NETHUNTER,
MOLLY, BRIAR, FLUFFY_CHAT, SIMPLEX_CHAT,
I2P, COLLABORA,
ELEMENT_DEV_FDROID, ELEMENT_DEV_GPLAY,
FROSTNERD, FROSTNERD_ARCHIVE,
UNOFFICIAL_FIREFOX, PATCHED, WIND, UMBRELLA, ALEFVANOON
)
} }
} }

View File

@ -350,7 +350,7 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks {
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun AppSheet() { fun AppSheet() {
val incompatible = Preferences[Preferences.Key.IncompatibleVersions] val includeIncompatible = Preferences[Preferences.Key.IncompatibleVersions]
val installed by viewModel.installedItem.observeAsState() val installed by viewModel.installedItem.observeAsState()
val products by viewModel.products.observeAsState() val products by viewModel.products.observeAsState()
val repos by viewModel.repositories.observeAsState() val repos by viewModel.repositories.observeAsState()
@ -367,7 +367,7 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks {
val compatibleReleasePairs = productRepos.asSequence() val compatibleReleasePairs = productRepos.asSequence()
.flatMap { (product, repository) -> .flatMap { (product, repository) ->
product.releases.asSequence() product.releases.asSequence()
.filter { incompatible || it.incompatibilities.isEmpty() } .filter { includeIncompatible || it.incompatibilities.isEmpty() }
.map { Pair(it, repository) } .map { Pair(it, repository) }
} }
.toList() .toList()