Compare commits
115 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20145a4c7a | ||
|
|
9c270ca724 | ||
|
|
528c9a361a | ||
|
|
f69936e54c | ||
|
|
c2da90d480 | ||
|
|
a2f97caf5b | ||
|
|
6fcf5f97dc | ||
|
|
ed5f046293 | ||
|
|
d6755caf81 | ||
|
|
8b50288db5 | ||
|
|
6af6080200 | ||
|
|
350ce0024e | ||
|
|
2713bac5af | ||
|
|
db2aa78152 | ||
|
|
65a696ddfe | ||
|
|
a2f6fa847f | ||
|
|
c3695b1f64 | ||
|
|
174ac24c02 | ||
|
|
54f5dfab57 | ||
|
|
78b582c2e2 | ||
|
|
ae639b72b3 | ||
|
|
14a5fc16d0 | ||
|
|
82b4223939 | ||
|
|
f95c79b254 | ||
|
|
04ce9f2979 | ||
|
|
789a348b2f | ||
|
|
fb4af1b7c6 | ||
|
|
0489e1a86d | ||
|
|
90b0f69f57 | ||
|
|
b257656ef9 | ||
|
|
1945cfd12c | ||
|
|
89a621a86d | ||
|
|
8862d6b435 | ||
|
|
5592d5c32f | ||
|
|
26198e5fe6 | ||
|
|
7cb4629b4a | ||
|
|
92cd95745d | ||
|
|
069817d254 | ||
|
|
a7e582a13c | ||
|
|
75fa5c7f56 | ||
|
|
2daf51bfe4 | ||
|
|
cec69c5eb1 | ||
|
|
18682efdc5 | ||
|
|
12274fa8a6 | ||
|
|
63d4f08f94 | ||
|
|
316c0eb332 | ||
|
|
a5e2b44d3f | ||
|
|
fc78dd2e15 | ||
|
|
42e319faf7 | ||
|
|
3bd7816875 | ||
|
|
6490e6ed0c | ||
|
|
132954e3cb | ||
|
|
1270ca0071 | ||
|
|
3da0950f45 | ||
|
|
6f6e41cb46 | ||
|
|
1796a3fcfe | ||
|
|
c0f4d0835d | ||
|
|
3eb327176a | ||
|
|
04038401fa | ||
|
|
c4f53fbe9f | ||
|
|
63911ecbd8 | ||
|
|
e38da78848 | ||
|
|
598b5b5c09 | ||
|
|
ae08c0fcb3 | ||
|
|
e06538c8ef | ||
|
|
ce8550300f | ||
|
|
f2bd8a54dc | ||
|
|
f3a7f0f1cb | ||
|
|
560da9caaf | ||
|
|
73fc7a1f0d | ||
|
|
24242d333d | ||
|
|
5c49197974 | ||
|
|
697c24a5e9 | ||
|
|
11b2605954 | ||
|
|
835761624c | ||
|
|
4a2acd9fdd | ||
|
|
2e18c48d1d | ||
|
|
14d31c8efe | ||
|
|
cafcecc337 | ||
|
|
f724d83f39 | ||
|
|
c66bf58b56 | ||
|
|
1cdb98d642 | ||
|
|
1651587c08 | ||
|
|
44700869da | ||
|
|
03c616cdf2 | ||
|
|
b6b3e12ec5 | ||
|
|
7b68ccf097 | ||
|
|
6411bfbbb6 | ||
|
|
2d9b81651c | ||
|
|
3bcd7496c2 | ||
|
|
0f211b00b8 | ||
|
|
0f126d40ad | ||
|
|
6c59e93294 | ||
|
|
2d22a6f6e3 | ||
|
|
713b232289 | ||
|
|
47d9995a8f | ||
|
|
7d54f00811 | ||
|
|
488c817892 | ||
|
|
05ef196cdf | ||
|
|
3d481a8f18 | ||
|
|
439235e6f8 | ||
|
|
51321ccc7e | ||
|
|
85383f2447 | ||
|
|
9cbc5a26ba | ||
|
|
cf29516c00 | ||
|
|
34b3cd3ba3 | ||
|
|
3f60224121 | ||
|
|
588e38eca4 | ||
|
|
59b370049f | ||
|
|
44b98714ea | ||
|
|
80825d12c6 | ||
|
|
227efad08d | ||
|
|
6de1f97b7f | ||
|
|
f7e1932140 | ||
|
|
947e7166be |
7
.github/workflows/fastlane.yml
vendored
7
.github/workflows/fastlane.yml
vendored
@@ -1,12 +1,16 @@
|
||||
name: Fastlane
|
||||
|
||||
on: [push]
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build-android:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'zulu' # See 'Supported distributions' for available options
|
||||
java-version: '17'
|
||||
- name: Set outputs
|
||||
id: vars
|
||||
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
||||
@@ -25,6 +29,7 @@ jobs:
|
||||
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
||||
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
||||
SENTRY_URL: ${{ secrets.SENTRY_URL }}
|
||||
SENTRY_DISABLE_AUTO_UPLOAD: true
|
||||
run: bundle exec fastlane android build
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
|
||||
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@@ -1,6 +1,6 @@
|
||||
name: Lint
|
||||
|
||||
on: [push]
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -73,4 +73,6 @@ fastlane/Preview.html
|
||||
fastlane/play-store-credentials.json
|
||||
|
||||
# Temporary files created by Metro to check the health of the file watcher
|
||||
.metro-health-check*
|
||||
.metro-health-check*
|
||||
|
||||
.xcode.env.local
|
||||
93
CHANGELOG.md
93
CHANGELOG.md
@@ -1,3 +1,96 @@
|
||||
# [2.3.0](https://github.com/leinelissen/jellyfin-audio-player/compare/v2.2.0...v2.3.0) (2024-02-11)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add tslib dependency ([89a621a](https://github.com/leinelissen/jellyfin-audio-player/commit/89a621a86d8830f1b8d8ac38aec390a3cf5544ea))
|
||||
* be more specific about which types can be played back directly ([227efad](https://github.com/leinelissen/jellyfin-audio-player/commit/227efad08d81b09525d194d677d1fbbb192f64be))
|
||||
* disable autocorrect in search field ([92cd957](https://github.com/leinelissen/jellyfin-audio-player/commit/92cd95745d25ce8df3befd5dbd7c1bb5d140dc09))
|
||||
* gemfile lock file ([5592d5c](https://github.com/leinelissen/jellyfin-audio-player/commit/5592d5c32f6df1b34caa4a1fef4f5204da768eec))
|
||||
* icon spacing ([59b3700](https://github.com/leinelissen/jellyfin-audio-player/commit/59b370049f07a1faf7b72a249975fcc561b6f554))
|
||||
* linter ([26198e5](https://github.com/leinelissen/jellyfin-audio-player/commit/26198e5fe6d7352783a8b6a4e211722d89dd3864))
|
||||
* make some more room for download totals ([f95c79b](https://github.com/leinelissen/jellyfin-audio-player/commit/f95c79b2549356ef6b90c33ab2f197c048a23ca3)), closes [#193](https://github.com/leinelissen/jellyfin-audio-player/issues/193)
|
||||
* move sleep-timer to separate reducer ([0f211b0](https://github.com/leinelissen/jellyfin-audio-player/commit/0f211b00b89ddf8f23227bf7ef0ad00d8031b9ed))
|
||||
* package-lock ([6c59e93](https://github.com/leinelissen/jellyfin-audio-player/commit/6c59e932947a48fa3c74737e1c55adce61f9dcc4))
|
||||
* prevent sentry from uploading sourcemaps in GitHub actions ([b257656](https://github.com/leinelissen/jellyfin-audio-player/commit/b257656ef925d4a361563a1f879ede5c4cc44c80))
|
||||
* re-add events dependency ([0489e1a](https://github.com/leinelissen/jellyfin-audio-player/commit/0489e1a86ddef2fa311c72b0308e86979c722bae))
|
||||
* re-enable sentry on ios build, fix react-native-flipper not building on ios ([1945cfd](https://github.com/leinelissen/jellyfin-audio-player/commit/1945cfd12cb1f60b6856b4eaecc1aaac75c8731e))
|
||||
* refactor timer and design ([3bcd749](https://github.com/leinelissen/jellyfin-audio-player/commit/3bcd7496c2c98113b6f4d98afa4062cbf34469aa))
|
||||
* remove fill from svg ([2d22a6f](https://github.com/leinelissen/jellyfin-audio-player/commit/2d22a6f6e3435006c66a97ea60ee8ac3100d8c0e))
|
||||
* restore comma ([713b232](https://github.com/leinelissen/jellyfin-audio-player/commit/713b232289ed15a23c2ce4c3e7fd8360d561de0b))
|
||||
* timer icon and resetting on cancel ([04ce9f2](https://github.com/leinelissen/jellyfin-audio-player/commit/04ce9f2979c3d374a0eb8875daa2140a677214f2))
|
||||
* type errors ([6411bfb](https://github.com/leinelissen/jellyfin-audio-player/commit/6411bfbbb6ce27a5c070abb7c3342a33186af05b))
|
||||
* unnecessary changes ([2d9b816](https://github.com/leinelissen/jellyfin-audio-player/commit/2d9b81651c3880b65ec2d83afa128513365259f4))
|
||||
* update to react-native 0.71.15 so builds on ios work again ([3f60224](https://github.com/leinelissen/jellyfin-audio-player/commit/3f6022412172ecbe85399725e1a4a4ac6637c0c8))
|
||||
* upgrade react-native-reanimated to fix typing issues ([34b3cd3](https://github.com/leinelissen/jellyfin-audio-player/commit/34b3cd3ba343406cf738724443da5f7be4ba0efe))
|
||||
* use JVM v17 in GitHub actions ([8862d6b](https://github.com/leinelissen/jellyfin-audio-player/commit/8862d6b43582e73326b56527151e9ff616106d4e))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add translations for sleep timer ([0f126d4](https://github.com/leinelissen/jellyfin-audio-player/commit/0f126d40ad8ea07f1f6b81e048e606805586f8a0))
|
||||
* Added translation using Weblate (Bulgarian) ([73fc7a1](https://github.com/leinelissen/jellyfin-audio-player/commit/73fc7a1f0d1a62726c547730d7b67d9000402660))
|
||||
* Added translation using Weblate (Catalan) ([b6b3e12](https://github.com/leinelissen/jellyfin-audio-player/commit/b6b3e12ec5fe7e4e652d32405a84ea83870d8d50))
|
||||
* Added translation using Weblate (Czech) ([ce85503](https://github.com/leinelissen/jellyfin-audio-player/commit/ce8550300f5dca11a69ba482e66ada766d3aaed2))
|
||||
* Added translation using Weblate (Danish) ([5c49197](https://github.com/leinelissen/jellyfin-audio-player/commit/5c4919797426b7c08438c41716a39d2b9cbb021b))
|
||||
* Added translation using Weblate (Portuguese (Brazil)) ([1cdb98d](https://github.com/leinelissen/jellyfin-audio-player/commit/1cdb98d6422339c530a9106807841e947e38c395))
|
||||
* Added translation using Weblate (Slovenian) ([4a2acd9](https://github.com/leinelissen/jellyfin-audio-player/commit/4a2acd9fdd9f3a8c6347084693d69f5446a6f346))
|
||||
* enable de, ru, and sv as available languages ([6de1f97](https://github.com/leinelissen/jellyfin-audio-player/commit/6de1f97b7ff26a42e6ff44d5042b147053f76c65))
|
||||
* introduce high contrast mode for ios ([82b4223](https://github.com/leinelissen/jellyfin-audio-player/commit/82b4223939f215a5799ba27ef029cbfa2637044c)), closes [#194](https://github.com/leinelissen/jellyfin-audio-player/issues/194)
|
||||
* upgrade to react native 0.73 ([7cb4629](https://github.com/leinelissen/jellyfin-audio-player/commit/7cb4629b4a09e42a0b52aa5cc0ac64db4f38352f))
|
||||
|
||||
|
||||
|
||||
# [2.2.0](https://github.com/leinelissen/jellyfin-audio-player/compare/v2.1.0...v2.2.0) (2023-07-14)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add getters for new locales ([f199789](https://github.com/leinelissen/jellyfin-audio-player/commit/f199789469d0b6c5610c9ddaea6f2f3fcbe963de))
|
||||
* allow tapping search result directly without closing keyboard first ([a330824](https://github.com/leinelissen/jellyfin-audio-player/commit/a33082425b3b727edb9e6c8b85794260d330245f))
|
||||
* also set itemid for first track in queue ([f540424](https://github.com/leinelissen/jellyfin-audio-player/commit/f540424edd788d96462ed30d872b80bf1581045d))
|
||||
* Deleted translation using Weblate (English (United Kingdom)) ([d5e863f](https://github.com/leinelissen/jellyfin-audio-player/commit/d5e863fb8c9e69ef184729613f69d00a06490987))
|
||||
* Deleted translation using Weblate (English (United Kingdom)) ([0cb65f5](https://github.com/leinelissen/jellyfin-audio-player/commit/0cb65f5e20a5f262a15c7a3ab5a8df2e8185153d))
|
||||
* Deleted translation using Weblate (English (United Kingdom)) ([70e4015](https://github.com/leinelissen/jellyfin-audio-player/commit/70e401538ce23fd60e313d73d35c0e58aadb3198))
|
||||
* Deleted translation using Weblate (English (United Kingdom)) ([1febe64](https://github.com/leinelissen/jellyfin-audio-player/commit/1febe64aad5b767793249f978ca2085cd2dd740d))
|
||||
* Deleted translation using Weblate (English (United Kingdom)) ([0aac29b](https://github.com/leinelissen/jellyfin-audio-player/commit/0aac29b15f5a7b9491daa057b9a54448c8e23fdb))
|
||||
* do a request when generating credentials to ensure the access token is valid ([440d789](https://github.com/leinelissen/jellyfin-audio-player/commit/440d789f5e66f6fbe3fd56febaa353a2e712c24a))
|
||||
* don't emit any paused events ([9aff784](https://github.com/leinelissen/jellyfin-audio-player/commit/9aff784580f72e0856f58213a6c6bc3e070b9ef4))
|
||||
* downloads disappear after update (fixes [#136](https://github.com/leinelissen/jellyfin-audio-player/issues/136)) ([ba73aaa](https://github.com/leinelissen/jellyfin-audio-player/commit/ba73aaa383e1c06ae86f3b8c81b5311dc5da58f4))
|
||||
* include play modal on search page ([e140a0e](https://github.com/leinelissen/jellyfin-audio-player/commit/e140a0e487d377d6bfe3c847dd2fdc90fafbd8d8))
|
||||
* include width units for similar album cover image ([ed78e4a](https://github.com/leinelissen/jellyfin-audio-player/commit/ed78e4ab491733e33f562fa7eff0482c542e68ae))
|
||||
* move now playing overlay on search tab to make space for input field ([fd3c348](https://github.com/leinelissen/jellyfin-audio-player/commit/fd3c3487bef5095fc3e8b5fc4fec0e58997fb55e))
|
||||
* POST the scrobble payload instead of GET ([3650a0f](https://github.com/leinelissen/jellyfin-audio-player/commit/3650a0fedee9ca01a31d616a27e1b08141c47f9e))
|
||||
* properly end previous playing track ([8ff785d](https://github.com/leinelissen/jellyfin-audio-player/commit/8ff785da40a96d882cdae8c8dd7d2bd1424759ba))
|
||||
* send correct amount of ticks for playback reporting ([d15b7ea](https://github.com/leinelissen/jellyfin-audio-player/commit/d15b7ea29d7cdacf098478922a43b8d300b8d3f3))
|
||||
* send stopped event to right URL ([8209db3](https://github.com/leinelissen/jellyfin-audio-player/commit/8209db3a4b8d68046fb9ba16687689dff6548a07))
|
||||
* show empty queue when resetting state ([dd220ec](https://github.com/leinelissen/jellyfin-audio-player/commit/dd220ec0f2b8222ca0db3c75afc27ff5776b9de8))
|
||||
* show error messages when tracks fail to download ([2bd9cf9](https://github.com/leinelissen/jellyfin-audio-player/commit/2bd9cf99505dcf700e8cc52a7b506acf9661cc6b))
|
||||
* supply positionticks for scrobbling as integer ([1270390](https://github.com/leinelissen/jellyfin-audio-player/commit/1270390a9c04163591ade2fdb38bda117f04f151))
|
||||
* the privacy policy is in fact a privacy policy ([4a43583](https://github.com/leinelissen/jellyfin-audio-player/commit/4a43583e4a51f1f37a367cd0025b586548d5b06d))
|
||||
* weird active style in playlist view ([8b1ce6b](https://github.com/leinelissen/jellyfin-audio-player/commit/8b1ce6b97c418853ec76d46ab59adc25287df63d))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add artist views ([c9036b5](https://github.com/leinelissen/jellyfin-audio-player/commit/c9036b56ed427be82a25c1d2c7af893c0aebd98f))
|
||||
* Added translation using Weblate (English (United Kingdom)) ([161344d](https://github.com/leinelissen/jellyfin-audio-player/commit/161344d00c2a79a759e011eeed2bc195122f739a))
|
||||
* Added translation using Weblate (English (United Kingdom)) ([4806fbd](https://github.com/leinelissen/jellyfin-audio-player/commit/4806fbd92797457a595171586a1f8236c0aefe50))
|
||||
* Added translation using Weblate (English (United Kingdom)) ([c260c15](https://github.com/leinelissen/jellyfin-audio-player/commit/c260c15c01ab4f23fb81fd68a02316e8a37c3c3c))
|
||||
* Added translation using Weblate (English (United Kingdom)) ([0fc40aa](https://github.com/leinelissen/jellyfin-audio-player/commit/0fc40aaff60291f5a38ecd0d11f5a91a9b5d72a5))
|
||||
* Added translation using Weblate (English (United Kingdom)) ([b49e1e5](https://github.com/leinelissen/jellyfin-audio-player/commit/b49e1e5436ac4a67c19903e1966ac302f0312347))
|
||||
* Added translation using Weblate (Italian) ([123a7b3](https://github.com/leinelissen/jellyfin-audio-player/commit/123a7b36c7477bfb7819f9440a2eb35df27e03cd))
|
||||
* Added translation using Weblate (Norwegian Bokmål) ([57d569b](https://github.com/leinelissen/jellyfin-audio-player/commit/57d569bd4f306aac59faf0f285154dbb175f3e83))
|
||||
* Added translation using Weblate (Polish) ([464192b](https://github.com/leinelissen/jellyfin-audio-player/commit/464192b1ded72a7f3f154b5435d2412277288e74))
|
||||
* Added translation using Weblate (Ukrainian) ([0cf1c20](https://github.com/leinelissen/jellyfin-audio-player/commit/0cf1c20ec1788e42ebeba4089bb3d340f5f44748))
|
||||
* allow users to override color scheme (closes [#138](https://github.com/leinelissen/jellyfin-audio-player/issues/138)) ([130b18b](https://github.com/leinelissen/jellyfin-audio-player/commit/130b18bc2edb70e7c67ac36e7a1e2b570457a91d))
|
||||
* incorporate italian language ([73af159](https://github.com/leinelissen/jellyfin-audio-player/commit/73af159b2eba8a8c7b830145521b6419ea64c801))
|
||||
* loop a single song (closes [#139](https://github.com/leinelissen/jellyfin-audio-player/issues/139)) ([fb4d393](https://github.com/leinelissen/jellyfin-audio-player/commit/fb4d3932e5038acf57778fe3eedad0dee6078cfa))
|
||||
* make downloads available from iOS File app ([7d6e897](https://github.com/leinelissen/jellyfin-audio-player/commit/7d6e897cf61bc845ccf097cc7006530ddb127709))
|
||||
* naive scrobbling integration ([0bf2775](https://github.com/leinelissen/jellyfin-audio-player/commit/0bf2775c93b4a8fad91d810834411dc01779f8f7))
|
||||
|
||||
|
||||
|
||||
# [2.1.0](https://github.com/leinelissen/jellyfin-audio-player/compare/v2.0.5...v2.1.0) (2023-04-23)
|
||||
|
||||
|
||||
|
||||
7
Gemfile
7
Gemfile
@@ -4,7 +4,12 @@ source "https://rubygems.org"
|
||||
|
||||
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
||||
|
||||
gem 'cocoapods', '~> 1.11', '>= 1.11.2'
|
||||
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
||||
ruby ">= 2.6.10"
|
||||
|
||||
gem 'cocoapods', '~> 1.13'
|
||||
gem 'activesupport', '>= 6.1.7.3', '< 7.1.0'
|
||||
|
||||
gem "fastlane", "~> 2.153"
|
||||
|
||||
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
|
||||
|
||||
132
Gemfile.lock
132
Gemfile.lock
@@ -3,46 +3,46 @@ GEM
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
rexml
|
||||
activesupport (6.1.6)
|
||||
activesupport (6.1.7.6)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
tzinfo (~> 2.0)
|
||||
zeitwerk (~> 2.3)
|
||||
addressable (2.8.4)
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
algoliasearch (1.27.5)
|
||||
httpclient (~> 2.8, >= 2.8.3)
|
||||
json (>= 1.5.1)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.780.0)
|
||||
aws-sdk-core (3.175.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.885.0)
|
||||
aws-sdk-core (3.191.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (~> 1.8)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.67.0)
|
||||
aws-sdk-core (~> 3, >= 3.174.0)
|
||||
aws-sdk-kms (1.77.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.126.0)
|
||||
aws-sdk-core (~> 3, >= 3.174.0)
|
||||
aws-sdk-s3 (1.143.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
aws-sigv4 (1.5.2)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-sigv4 (1.8.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.11.3)
|
||||
cocoapods (1.15.0)
|
||||
addressable (~> 2.8)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.11.3)
|
||||
cocoapods-core (= 1.15.0)
|
||||
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||
cocoapods-downloader (>= 1.4.0, < 2.0)
|
||||
cocoapods-downloader (>= 2.1, < 3.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
cocoapods-search (>= 1.0.0, < 2.0)
|
||||
cocoapods-trunk (>= 1.4.0, < 2.0)
|
||||
cocoapods-trunk (>= 1.6.0, < 2.0)
|
||||
cocoapods-try (>= 1.1.0, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
escape (~> 0.0.4)
|
||||
@@ -50,10 +50,10 @@ GEM
|
||||
gh_inspector (~> 1.0)
|
||||
molinillo (~> 0.8.0)
|
||||
nap (~> 1.0)
|
||||
ruby-macho (>= 1.0, < 3.0)
|
||||
xcodeproj (>= 1.21.0, < 2.0)
|
||||
cocoapods-core (1.11.3)
|
||||
activesupport (>= 5.0, < 7)
|
||||
ruby-macho (>= 2.3.0, < 3.0)
|
||||
xcodeproj (>= 1.23.0, < 2.0)
|
||||
cocoapods-core (1.15.0)
|
||||
activesupport (>= 5.0, < 8)
|
||||
addressable (~> 2.8)
|
||||
algoliasearch (~> 1.0)
|
||||
concurrent-ruby (~> 1.1)
|
||||
@@ -63,7 +63,7 @@ GEM
|
||||
public_suffix (~> 4.0)
|
||||
typhoeus (~> 1.0)
|
||||
cocoapods-deintegrate (1.0.5)
|
||||
cocoapods-downloader (1.6.3)
|
||||
cocoapods-downloader (2.1)
|
||||
cocoapods-plugins (1.0.0)
|
||||
nap
|
||||
cocoapods-search (1.0.1)
|
||||
@@ -75,18 +75,18 @@ GEM
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
concurrent-ruby (1.1.10)
|
||||
concurrent-ruby (1.2.3)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.4)
|
||||
digest-crc (0.6.5)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
escape (0.0.4)
|
||||
ethon (0.15.0)
|
||||
ethon (0.16.0)
|
||||
ffi (>= 1.15.0)
|
||||
excon (0.100.0)
|
||||
excon (0.109.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
@@ -115,8 +115,8 @@ GEM
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.7)
|
||||
fastlane (2.213.0)
|
||||
fastimage (2.3.0)
|
||||
fastlane (2.219.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -135,20 +135,22 @@ GEM
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-env (>= 1.6.0, < 2.0.0)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
http-cookie (~> 1.0.5)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
naturally (~> 2.2)
|
||||
optparse (~> 0.1.1)
|
||||
optparse (>= 0.1.1)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.3)
|
||||
simctl (~> 1.6.3)
|
||||
terminal-notifier (>= 2.0.0, < 3.0.0)
|
||||
terminal-table (>= 1.4.5, < 2.0.0)
|
||||
terminal-table (~> 3)
|
||||
tty-screen (>= 0.6.3, < 1.0.0)
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
@@ -156,16 +158,16 @@ GEM
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
fastlane-plugin-load_json (0.0.1)
|
||||
fastlane-plugin-sentry (1.15.0)
|
||||
fastlane-plugin-sentry (1.18.0)
|
||||
os (~> 1.1, >= 1.1.4)
|
||||
fastlane-plugin-versioning_android (0.1.0)
|
||||
ffi (1.15.5)
|
||||
fastlane-plugin-versioning_android (0.1.1)
|
||||
ffi (1.16.3)
|
||||
fourflusher (2.3.1)
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.44.0)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.0)
|
||||
google-apis-core (0.11.3)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
@@ -173,31 +175,29 @@ GEM
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
google-apis-core (>= 0.9.0, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-apis-storage_v1 (0.29.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.6.1)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.44.0)
|
||||
google-cloud-storage (1.45.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.19.0)
|
||||
google-apis-storage_v1 (~> 0.29.0)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (1.5.2)
|
||||
googleauth (1.8.1)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
memoist (~> 0.16)
|
||||
multi_json (~> 1.11)
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
@@ -205,15 +205,14 @@ GEM
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
i18n (1.10.0)
|
||||
i18n (1.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
json (2.7.1)
|
||||
jwt (2.7.1)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.2)
|
||||
minitest (5.15.0)
|
||||
mini_mime (1.1.5)
|
||||
minitest (5.21.2)
|
||||
molinillo (0.8.0)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.3.0)
|
||||
@@ -221,23 +220,23 @@ GEM
|
||||
nap (1.1.0)
|
||||
naturally (2.2.1)
|
||||
netrc (0.11.0)
|
||||
optparse (0.1.1)
|
||||
optparse (0.4.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.0)
|
||||
plist (3.7.1)
|
||||
public_suffix (4.0.7)
|
||||
rake (13.0.6)
|
||||
rake (13.1.0)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.5)
|
||||
rexml (3.2.6)
|
||||
rouge (2.0.7)
|
||||
ruby-macho (2.5.1)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.3)
|
||||
signet (0.17.0)
|
||||
signet (0.18.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
@@ -246,25 +245,24 @@ GEM
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
trailblazer-option (0.1.2)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.1)
|
||||
tty-screen (0.8.2)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
typhoeus (1.4.0)
|
||||
typhoeus (1.4.1)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (2.0.4)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.8.1)
|
||||
unf_ext (0.0.9.1)
|
||||
unicode-display_width (2.5.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.22.0)
|
||||
xcodeproj (1.24.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
@@ -275,17 +273,21 @@ GEM
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
zeitwerk (2.6.0)
|
||||
zeitwerk (2.6.12)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
cocoapods (~> 1.11, >= 1.11.2)
|
||||
activesupport (>= 6.1.7.3, < 7.1.0)
|
||||
cocoapods (~> 1.13)
|
||||
fastlane (~> 2.153)
|
||||
fastlane-plugin-load_json
|
||||
fastlane-plugin-sentry
|
||||
fastlane-plugin-versioning_android
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.6.10p210
|
||||
|
||||
BUNDLED WITH
|
||||
1.17.2
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
apply plugin: "com.android.application"
|
||||
apply plugin: "org.jetbrains.kotlin.android"
|
||||
apply plugin: "com.facebook.react"
|
||||
|
||||
import com.android.build.OutputFile
|
||||
|
||||
/**
|
||||
* This is the configuration block to customize your React Native Android app.
|
||||
* By default you don't need to apply any configuration, just uncomment the lines you need.
|
||||
@@ -13,7 +12,8 @@ react {
|
||||
// root = file("../")
|
||||
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
|
||||
// reactNativeDir = file("../node_modules/react-native")
|
||||
// The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen
|
||||
// The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen
|
||||
// codegenDir = file("../node_modules/@react-native/codegen")
|
||||
// codegenDir = file("../node_modules/react-native-codegen")
|
||||
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
|
||||
// cliFile = file("../node_modules/react-native/cli.js")
|
||||
@@ -56,14 +56,6 @@ if (System.getenv("DISABLE_SENTRY_SOURCEMAP_UPLOAD") != "true") {
|
||||
apply from: "../../node_modules/@sentry/react-native/sentry.gradle"
|
||||
}
|
||||
|
||||
/**
|
||||
* Set this to true to create four separate APKs instead of one,
|
||||
* one for each native architecture. This is useful if you don't
|
||||
* use App Bundles (https://developer.android.com/guide/app-bundle/)
|
||||
* and want to have separate APKs to upload to the Play Store.
|
||||
*/
|
||||
def enableSeparateBuildPerCPUArchitecture = false
|
||||
|
||||
/**
|
||||
* Set this to true to Run Proguard on Release builds to minify the Java bytecode.
|
||||
*/
|
||||
@@ -82,38 +74,21 @@ def enableProguardInReleaseBuilds = false
|
||||
*/
|
||||
def jscFlavor = 'org.webkit:android-jsc:+'
|
||||
|
||||
/**
|
||||
* Private function to get the list of Native Architectures you want to build.
|
||||
* This reads the value from reactNativeArchitectures in your gradle.properties
|
||||
* file and works together with the --active-arch-only flag of react-native run-android.
|
||||
*/
|
||||
def reactNativeArchitectures() {
|
||||
def value = project.getProperties().get("reactNativeArchitectures")
|
||||
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
||||
}
|
||||
|
||||
android {
|
||||
ndkVersion rootProject.ext.ndkVersion
|
||||
|
||||
compileSdkVersion rootProject.ext.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.buildToolsVersion
|
||||
compileSdk rootProject.ext.compileSdkVersion
|
||||
|
||||
namespace "nl.moeilijkedingen.jellyfinaudioplayer"
|
||||
defaultConfig {
|
||||
applicationId "nl.moeilijkedingen.jellyfinaudioplayer"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 23
|
||||
versionName "2.2.0"
|
||||
versionCode 25
|
||||
versionName "2.3.0"
|
||||
}
|
||||
|
||||
splits {
|
||||
abi {
|
||||
reset()
|
||||
enable enableSeparateBuildPerCPUArchitecture
|
||||
universalApk false // If true, also generate a universal APK
|
||||
include (*reactNativeArchitectures())
|
||||
}
|
||||
}
|
||||
signingConfigs {
|
||||
debug {
|
||||
storeFile file('debug.keystore')
|
||||
@@ -146,36 +121,13 @@ android {
|
||||
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
||||
}
|
||||
}
|
||||
|
||||
// applicationVariants are e.g. debug, release
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
// For each separate APK per architecture, set a unique version code as described here:
|
||||
// https://developer.android.com/studio/build/configure-apk-splits.html
|
||||
// Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc.
|
||||
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
|
||||
def abi = output.getFilter(OutputFile.ABI)
|
||||
if (abi != null) { // null for the universal-debug, universal-release variants
|
||||
output.versionCodeOverride =
|
||||
defaultConfig.versionCode * 1000 + versionCodes.get(abi)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// The version of react-native is set by the React Native Gradle Plugin
|
||||
implementation("com.facebook.react:react-android")
|
||||
implementation("com.facebook.react:flipper-integration")
|
||||
|
||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
|
||||
|
||||
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
|
||||
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
|
||||
exclude group:'com.squareup.okhttp3', module:'okhttp'
|
||||
}
|
||||
|
||||
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
|
||||
if (hermesEnabled.toBoolean()) {
|
||||
implementation("com.facebook.react:hermes-android")
|
||||
} else {
|
||||
|
||||
@@ -2,14 +2,8 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
|
||||
<application
|
||||
android:networkSecurityConfig="@xml/react_native_config"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:targetApi="28"
|
||||
tools:ignore="GoogleAppIndexingWarning">
|
||||
<activity
|
||||
android:name="com.facebook.react.devsupport.DevSettingsActivity"
|
||||
android:exported="false" />
|
||||
</application>
|
||||
</manifest>
|
||||
tools:ignore="GoogleAppIndexingWarning"/>
|
||||
</manifest>
|
||||
@@ -1,75 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
||||
* directory of this source tree.
|
||||
*/
|
||||
package nl.moeilijkedingen.jellyfinaudioplayer;
|
||||
|
||||
import android.content.Context;
|
||||
import com.facebook.flipper.android.AndroidFlipperClient;
|
||||
import com.facebook.flipper.android.utils.FlipperUtils;
|
||||
import com.facebook.flipper.core.FlipperClient;
|
||||
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
|
||||
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
|
||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
|
||||
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
|
||||
import com.facebook.react.ReactInstanceEventListener;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.modules.network.NetworkingModule;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
/**
|
||||
* Class responsible of loading Flipper inside your React Native application. This is the debug
|
||||
* flavor of it. Here you can add your own plugins and customize the Flipper setup.
|
||||
*/
|
||||
public class ReactNativeFlipper {
|
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
|
||||
if (FlipperUtils.shouldEnableFlipper(context)) {
|
||||
final FlipperClient client = AndroidFlipperClient.getInstance(context);
|
||||
|
||||
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
|
||||
client.addPlugin(new DatabasesFlipperPlugin(context));
|
||||
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
|
||||
client.addPlugin(CrashReporterPlugin.getInstance());
|
||||
|
||||
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
|
||||
NetworkingModule.setCustomClientBuilder(
|
||||
new NetworkingModule.CustomClientBuilder() {
|
||||
@Override
|
||||
public void apply(OkHttpClient.Builder builder) {
|
||||
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
|
||||
}
|
||||
});
|
||||
client.addPlugin(networkFlipperPlugin);
|
||||
client.start();
|
||||
|
||||
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
|
||||
// Hence we run if after all native modules have been initialized
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
||||
if (reactContext == null) {
|
||||
reactInstanceManager.addReactInstanceEventListener(
|
||||
new ReactInstanceEventListener() {
|
||||
@Override
|
||||
public void onReactContextInitialized(ReactContext reactContext) {
|
||||
reactInstanceManager.removeReactInstanceEventListener(this);
|
||||
reactContext.runOnNativeModulesQueueThread(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
client.addPlugin(new FrescoFlipperPlugin());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
client.addPlugin(new FrescoFlipperPlugin());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
package nl.moeilijkedingen.jellyfinaudioplayer;
|
||||
|
||||
import com.facebook.react.ReactActivity;
|
||||
import com.facebook.react.ReactActivityDelegate;
|
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
|
||||
import com.facebook.react.defaults.DefaultReactActivityDelegate;
|
||||
|
||||
public class MainActivity extends ReactActivity {
|
||||
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
||||
* rendering of the component.
|
||||
*/
|
||||
@Override
|
||||
protected String getMainComponentName() {
|
||||
return "Fintunes";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link
|
||||
* DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React
|
||||
* (aka React 18) with two boolean flags.
|
||||
*/
|
||||
@Override
|
||||
protected ReactActivityDelegate createReactActivityDelegate() {
|
||||
return new DefaultReactActivityDelegate(
|
||||
this,
|
||||
getMainComponentName(),
|
||||
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
||||
DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled
|
||||
// If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18).
|
||||
DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package nl.moeilijkedingen.jellyfinaudioplayer
|
||||
|
||||
import com.facebook.react.ReactActivity
|
||||
import com.facebook.react.ReactActivityDelegate
|
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
|
||||
import com.facebook.react.defaults.DefaultReactActivityDelegate
|
||||
|
||||
class MainActivity : ReactActivity() {
|
||||
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
||||
* rendering of the component.
|
||||
*/
|
||||
override fun getMainComponentName(): String = "Fintunes"
|
||||
|
||||
/**
|
||||
* Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
|
||||
* which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
|
||||
*/
|
||||
override fun createReactActivityDelegate(): ReactActivityDelegate =
|
||||
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package nl.moeilijkedingen.jellyfinaudioplayer;
|
||||
|
||||
import android.app.Application;
|
||||
import com.facebook.react.PackageList;
|
||||
import com.facebook.react.ReactApplication;
|
||||
import com.facebook.react.ReactNativeHost;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
|
||||
import com.facebook.react.defaults.DefaultReactNativeHost;
|
||||
import com.facebook.soloader.SoLoader;
|
||||
import java.util.List;
|
||||
|
||||
public class MainApplication extends Application implements ReactApplication {
|
||||
|
||||
private final ReactNativeHost mReactNativeHost =
|
||||
new DefaultReactNativeHost(this) {
|
||||
@Override
|
||||
public boolean getUseDeveloperSupport() {
|
||||
return BuildConfig.DEBUG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<ReactPackage> getPackages() {
|
||||
@SuppressWarnings("UnnecessaryLocalVariable")
|
||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
// packages.add(new MyReactNativePackage());
|
||||
return packages;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getJSMainModuleName() {
|
||||
return "index";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isNewArchEnabled() {
|
||||
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean isHermesEnabled() {
|
||||
return BuildConfig.IS_HERMES_ENABLED;
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public ReactNativeHost getReactNativeHost() {
|
||||
return mReactNativeHost;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
SoLoader.init(this, /* native exopackage */ false);
|
||||
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
||||
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
||||
DefaultNewArchitectureEntryPoint.load();
|
||||
}
|
||||
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package nl.moeilijkedingen.jellyfinaudioplayer
|
||||
|
||||
import android.app.Application
|
||||
import com.facebook.react.PackageList
|
||||
import com.facebook.react.ReactApplication
|
||||
import com.facebook.react.ReactHost
|
||||
import com.facebook.react.ReactNativeHost
|
||||
import com.facebook.react.ReactPackage
|
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
|
||||
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
|
||||
import com.facebook.react.defaults.DefaultReactNativeHost
|
||||
import com.facebook.react.flipper.ReactNativeFlipper
|
||||
import com.facebook.soloader.SoLoader
|
||||
|
||||
class MainApplication : Application(), ReactApplication {
|
||||
|
||||
override val reactNativeHost: ReactNativeHost =
|
||||
object : DefaultReactNativeHost(this) {
|
||||
override fun getPackages(): List<ReactPackage> =
|
||||
PackageList(this).packages.apply {
|
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
// add(MyReactNativePackage())
|
||||
}
|
||||
|
||||
override fun getJSMainModuleName(): String = "index"
|
||||
|
||||
override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG
|
||||
|
||||
override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
|
||||
override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
|
||||
}
|
||||
|
||||
override val reactHost: ReactHost
|
||||
get() = getDefaultReactHost(this.applicationContext, reactNativeHost)
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
SoLoader.init(this, false)
|
||||
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
||||
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
||||
load()
|
||||
}
|
||||
ReactNativeFlipper.initializeFlipper(this, reactNativeHost.reactInstanceManager)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<group
|
||||
android:pivotX="54"
|
||||
android:pivotY="54"
|
||||
android:scaleX="0.75"
|
||||
android:scaleY="0.75">
|
||||
<path
|
||||
android:pathData="M77.97,26.27L44.58,32.32C43.86,32.45 43.34,33.07 43.34,33.8V66.18C41.74,64.75 39.62,63.87 37.3,63.87C32.31,63.87 28.25,67.94 28.25,72.93C28.25,77.93 32.31,82 37.3,82C42.29,82 46.36,77.93 46.36,72.93V46.15L76.73,40.65V61.65C75.13,60.21 73.01,59.34 70.7,59.34C65.71,59.34 61.64,63.4 61.64,68.4C61.64,73.4 65.71,77.47 70.7,77.47C75.69,77.47 79.75,73.4 79.75,68.4V27.76C79.75,27.31 79.55,26.89 79.21,26.6C78.94,26.37 78.59,26.25 78.24,26.25C78.15,26.25 78.06,26.26 77.97,26.27Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -2,4 +2,5 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground_mono"/>
|
||||
</adaptive-icon>
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground_mono"/>
|
||||
</adaptive-icon>
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
||||
* directory of this source tree.
|
||||
*/
|
||||
package nl.moeilijkedingen.jellyfinaudioplayer;
|
||||
|
||||
import android.content.Context;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
|
||||
/**
|
||||
* Class responsible of loading Flipper inside your React Native application. This is the release
|
||||
* flavor of it so it's empty as we don't want to load Flipper.
|
||||
*/
|
||||
public class ReactNativeFlipper {
|
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
|
||||
// Do nothing as we don't want to initialize Flipper on Release.
|
||||
}
|
||||
}
|
||||
@@ -4,21 +4,22 @@ import org.apache.tools.ant.taskdefs.condition.Os
|
||||
|
||||
buildscript {
|
||||
ext {
|
||||
buildToolsVersion = "33.0.0"
|
||||
kotlin_version = "1.7.20"
|
||||
buildToolsVersion = "34.0.0"
|
||||
minSdkVersion = 21
|
||||
compileSdkVersion = 33
|
||||
targetSdkVersion = 33
|
||||
|
||||
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
|
||||
ndkVersion = "23.1.7779620"
|
||||
compileSdkVersion = 34
|
||||
targetSdkVersion = 34
|
||||
ndkVersion = "25.1.8937393"
|
||||
kotlinVersion = "1.8.0"
|
||||
}
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:7.3.1")
|
||||
classpath("com.android.tools.build:gradle")
|
||||
classpath("com.facebook.react:react-native-gradle-plugin")
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: "com.facebook.react.rootproject"
|
||||
|
||||
@@ -24,9 +24,6 @@ android.useAndroidX=true
|
||||
# Automatically convert third-party libraries to use AndroidX
|
||||
android.enableJetifier=true
|
||||
|
||||
# Version of flipper SDK to use with React Native
|
||||
FLIPPER_VERSION=0.164.0
|
||||
|
||||
# Use this property to specify which architecture you want to build.
|
||||
# You can also override it from the CLI using
|
||||
# ./gradlew <task> -PreactNativeArchitectures=x86_64
|
||||
@@ -41,4 +38,6 @@ newArchEnabled=false
|
||||
|
||||
# Use this property to enable or disable the Hermes JS engine.
|
||||
# If set to false, you will be using JSC instead.
|
||||
hermesEnabled=true
|
||||
hermesEnabled=true
|
||||
|
||||
FLIPPER_VERSION=0.201.0
|
||||
BIN
android/gradle/wrapper/gradle-wrapper.jar
vendored
BIN
android/gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
@@ -1,5 +1,7 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
33
android/gradlew
vendored
33
android/gradlew
vendored
@@ -55,7 +55,7 @@
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
@@ -80,13 +80,11 @@ do
|
||||
esac
|
||||
done
|
||||
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||
|
||||
APP_NAME="Gradle"
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -133,22 +131,29 @@ location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
@@ -193,6 +198,10 @@ if "$cygwin" || "$msys" ; then
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command;
|
||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||
# shell script including quotes and variable substitutions, so put them in
|
||||
@@ -205,6 +214,12 @@ set -- \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
@@ -231,4 +246,4 @@ eval "set -- $(
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
exec "$JAVACMD" "$@"
|
||||
|
||||
192
android/gradlew.bat
vendored
192
android/gradlew.bat
vendored
@@ -1,100 +1,92 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
rootProject.name = 'Fintunes'
|
||||
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
||||
include ':app'
|
||||
includeBuild('../node_modules/react-native-gradle-plugin')
|
||||
includeBuild('../node_modules/@react-native/gradle-plugin')
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'module:metro-react-native-babel-preset',
|
||||
],
|
||||
presets: ['module:@react-native/babel-preset'],
|
||||
plugins: [
|
||||
[
|
||||
'module-resolver',
|
||||
|
||||
1
fastlane/metadata/android/bg/full_description.txt
Normal file
1
fastlane/metadata/android/bg/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes е поточен аудио плеър за медийната система Jellyfin. Той има пленяващ интерфейс, който ви помага да слушата любимата си музика с лекота. Може да търсите из цялата си библиотака за конкретна песен или да се отпуснете с плейлист, който сте създали предварително в Jellyfin. Всички песни се предават директно на най-високото качество от вашата Jellyfin библеотека. Не винаги имате интернет връзка? Всяка песен във вашата Jellyfin библиотека може да бъде изтеглена и пусната без интернет.
|
||||
1
fastlane/metadata/android/bg/short_description.txt
Normal file
1
fastlane/metadata/android/bg/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Поточно предаващ аудио плеър за Jellyfin
|
||||
1
fastlane/metadata/android/bg/title.txt
Normal file
1
fastlane/metadata/android/bg/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
1
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes je streamovaný audio přehrávač pro mediální systém Jellyfin. Vyznačuje se nádherným rozhraním, které vám umožní snadno přehrávat vaši oblíbenou hudbu. Libovolnou skladbu můžete prohledávat v celé své knihovně, nebo to jednoduše usnadnit pomocí seznamu skladeb, který jste si dříve vytvořili v Jellyfin. Všechny skladby jsou streamovány přímo z vaší knihovny Jellyfin v nejvyšší kvalitě. Streamování není vždy možné? Jakoukoli skladbu ve vaší knihovně Jellyfin lze stáhnout a přehrát offline.
|
||||
1
fastlane/metadata/android/cs-CZ/short_description.txt
Normal file
1
fastlane/metadata/android/cs-CZ/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Streamovací audio přehrávač pro Jellyfin
|
||||
1
fastlane/metadata/android/cs-CZ/title.txt
Normal file
1
fastlane/metadata/android/cs-CZ/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/android/de-DE/full_description.txt
Normal file
1
fastlane/metadata/android/de-DE/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes ist ein Streaming Audioplayer für das Jellyfin Media System. Es bietet eine großartige Benutzeroberfläche, welche Ihnen ermöglicht Ihre Lieblingsmusik mit Leichtigkeit wiedergeben zu können. Sie können Ihre gesammte Bibliothek nach einen Titel suchen oder einfach eine Playlist anhören, welche Sie zuvor in Jellyfin erstellt haben. Alle Titel werden direkt mit bester Qualität von Ihrer Jellyfin-Bibliothek gestreamt. Ist Streaming nicht immer möglich? Jeder Titel in Ihrer Jellyfin Bibliothek kann heruntergeladen und offline abgespielt werden.
|
||||
1
fastlane/metadata/android/de-DE/short_description.txt
Normal file
1
fastlane/metadata/android/de-DE/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Streaming Audioplayer für Jellyfin
|
||||
1
fastlane/metadata/android/de-DE/title.txt
Normal file
1
fastlane/metadata/android/de-DE/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
@@ -1 +1 @@
|
||||
Lecteur audio en streaming pour Jellyfin
|
||||
Lecteur audio en streaming pour Jellyfin
|
||||
|
||||
@@ -1 +1 @@
|
||||
Jellyfin 用ストリーミング オーディオ プレーヤー
|
||||
Jellyfin 用ストリーミング オーディオ プレーヤー
|
||||
|
||||
1
fastlane/metadata/android/pt-BR/full_description.txt
Normal file
1
fastlane/metadata/android/pt-BR/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes é um player de áudio via streaming para o sistema de mídia Jellyfin. Ele apresenta uma bela interface que permite que você toque facilmente suas músicas favoritas. Você pode pesquisar por qualquer música em toda a sua biblioteca, ou apenas ficar numa boa ouvindo uma playlist criada anteriormente no Jellyfin. Todas as músicas são transmitidas diretamente da sua biblioteca do Jellyfin, na mais alta qualidade. Nem sempre pode fazer streaming? Qualquer música na sua biblioteca do Jellyfin pode ser baixada e reproduzida offline.
|
||||
1
fastlane/metadata/android/pt-BR/short_description.txt
Normal file
1
fastlane/metadata/android/pt-BR/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Player de áudio via streaming para o Jellyfin
|
||||
1
fastlane/metadata/android/pt-BR/title.txt
Normal file
1
fastlane/metadata/android/pt-BR/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/android/ru-RU/full_description.txt
Normal file
1
fastlane/metadata/android/ru-RU/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes — это стриминговый аудиоплеер для Jellyfin. Он обладает великолепным интерфейсом, который позволяет вам с легкостью воспроизводить вашу любимую музыку. Вы можете искать любой трек во всей своей медиатеке или просто использовать плейлист, который вы создали ранее в Jellyfin. Все треки транслируются в самом высоком качестве непосредственно из вашей библиотеки Jellyfin. Не всегда получается использовать интернет? Любой трек в вашей медиатеке Jellyfin можно загрузить и воспроизвести в автономном режиме.
|
||||
1
fastlane/metadata/android/ru-RU/short_description.txt
Normal file
1
fastlane/metadata/android/ru-RU/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Потоковый аудиоплеер для Jellyfin
|
||||
1
fastlane/metadata/android/ru-RU/title.txt
Normal file
1
fastlane/metadata/android/ru-RU/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/android/sv-SE/full_description.txt
Normal file
1
fastlane/metadata/android/sv-SE/full_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes är en strömmande ljudspelare för mediasystemet Jellyfin. Den har ett underbart gränssnitt som låter dig spela din favoritmusik med lätthet. Du kan söka i hela ditt bibliotek efter valfritt spår, eller bara ta det lugnt med en spellista som du har skapat tidigare i Jellyfin. Alla spår streamas direkt i högsta kvalitet från ditt Jellyfin-bibliotek. Streaming är inte alltid ett alternativ? Alla spår i ditt Jellyfin-bibliotek kan laddas ner och spelas offline.
|
||||
1
fastlane/metadata/android/sv-SE/short_description.txt
Normal file
1
fastlane/metadata/android/sv-SE/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Strömmande ljudspelare för Jellyfin
|
||||
1
fastlane/metadata/android/sv-SE/title.txt
Normal file
1
fastlane/metadata/android/sv-SE/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
@@ -1 +1 @@
|
||||
Jellyfin 的流媒体音频播放器
|
||||
Jellyfin 的流媒体音频播放器
|
||||
|
||||
1
fastlane/metadata/bg/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/bg/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/bg/description.txt
Normal file
1
fastlane/metadata/bg/description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes е поточен аудио плеър за медийната система Jellyfin. Той има пленяващ интерфейс, който ви помага да слушата любимата си музика с лекота. Може да търсите из цялата си библиотака за конкретна песен или да се отпуснете с плейлист, който сте създали предварително в Jellyfin. Всички песни се предават директно на най-високото качество от вашата Jellyfin библеотека. Не винаги имате интернет връзка? Всяка песен във вашата Jellyfin библиотека може да бъде изтеглена и пусната без интернет.
|
||||
1
fastlane/metadata/bg/keywords.txt
Normal file
1
fastlane/metadata/bg/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
jellyfin, audio, player, streaming, downloads, music, музика, изтегления, аудио, плеър
|
||||
1
fastlane/metadata/bg/marketing_url.txt
Normal file
1
fastlane/metadata/bg/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://fintunes.app
|
||||
1
fastlane/metadata/bg/name.txt
Normal file
1
fastlane/metadata/bg/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/bg/privacy_url.txt
Normal file
1
fastlane/metadata/bg/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/bg/promotional_text.txt
Normal file
1
fastlane/metadata/bg/promotional_text.txt
Normal file
@@ -0,0 +1 @@
|
||||
Поточно предаващ аудио плеър за Jellyfin, с поддръжка за търсене и изтегляния.
|
||||
1
fastlane/metadata/bg/release_notes.txt
Normal file
1
fastlane/metadata/bg/release_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Прясно изпечена нова версия на Fintunes. Тази версия съдържа някои леки подобрения по UI-а. Ще забележите, че текстовете са подобрени и сме добавили готини ефекти за навигацията горе и долу. Албумите вече включват и описание, ако такова е налично, както и подобни албуми взети директно от вашата Jellyfin инстанция. И не на последно място, списъкът с песни вече включва и изпълнителя.
|
||||
1
fastlane/metadata/bg/subtitle.txt
Normal file
1
fastlane/metadata/bg/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
Аудио плеър за Jellyfin
|
||||
1
fastlane/metadata/bg/support_url.txt
Normal file
1
fastlane/metadata/bg/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player
|
||||
1
fastlane/metadata/ca/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/ca/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/ca/description.txt
Normal file
1
fastlane/metadata/ca/description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes és un reproductor d'àudio en streaming per al sistema multimèdia Jellyfin. Compta amb una interfície magnífica que us permet reproduir la vostra música preferida amb facilitat. Podeu cercar qualsevol pista a tota la vostra biblioteca o simplement prendre-ho amb calma amb una llista de reproducció que hàgiu creat anteriorment a Jellyfin. Totes les pistes es reprodueixen directament amb la màxima qualitat des de la vostra biblioteca de Jellyfin. El streaming no sempre és una opció? Qualsevol pista de la vostra biblioteca de Jellyfin es pot descarregar i reproduir fora de línia.
|
||||
1
fastlane/metadata/ca/keywords.txt
Normal file
1
fastlane/metadata/ca/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
Jellyfin, àudio, reproductor, streaming, descàrregues, música
|
||||
1
fastlane/metadata/ca/marketing_url.txt
Normal file
1
fastlane/metadata/ca/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://fintunes.app
|
||||
1
fastlane/metadata/ca/name.txt
Normal file
1
fastlane/metadata/ca/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/ca/privacy_url.txt
Normal file
1
fastlane/metadata/ca/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/ca/promotional_text.txt
Normal file
1
fastlane/metadata/ca/promotional_text.txt
Normal file
@@ -0,0 +1 @@
|
||||
Un reproductor d'àudio en streaming per a Jellyfin, amb suport per a cerca i descàrregues.
|
||||
1
fastlane/metadata/ca/release_notes.txt
Normal file
1
fastlane/metadata/ca/release_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Acabat del forn, una nova versió de Fintunes. Aquest conté algunes actualitzacions menors de la interfície d'usuari. Notareu que l'etiqueta de les barres inferiors ha desaparegut i tenim alguns efectes fantàstics per a les barres de navegació superior i inferior. Els àlbums ara inclouen un text de descripció si està disponible al servidor, així com àlbums similars que s'extreuen de la vostra instància de Jellyfin. Finalment, la llista de cançons d'una llista de reproducció ara també inclou l'artista.
|
||||
1
fastlane/metadata/ca/subtitle.txt
Normal file
1
fastlane/metadata/ca/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
Reproductor d'àudio per a Jellyfin
|
||||
1
fastlane/metadata/ca/support_url.txt
Normal file
1
fastlane/metadata/ca/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player
|
||||
1
fastlane/metadata/cs-CZ/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/cs-CZ/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/cs-CZ/description.txt
Normal file
1
fastlane/metadata/cs-CZ/description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes je streamovaný audio přehrávač pro mediální systém Jellyfin. Vyznačuje se nádherným rozhraním, které vám umožní snadno přehrávat vaši oblíbenou hudbu. Libovolnou skladbu můžete prohledávat v celé své knihovně, nebo to jednoduše usnadnit pomocí seznamu skladeb, který jste dříve si vytvořili v Jellyfin. Všechny skladby jsou streamovány přímo z vaší knihovny Jellyfin v nejvyšší kvalitě. Streamování není vždy možné? Jakoukoli skladbu ve vaší knihovně Jellyfin lze stáhnout a přehrát offline.
|
||||
1
fastlane/metadata/cs-CZ/keywords.txt
Normal file
1
fastlane/metadata/cs-CZ/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
jellyfin, audio, přehrávač, streamování, stahování, hudba
|
||||
1
fastlane/metadata/cs-CZ/marketing_url.txt
Normal file
1
fastlane/metadata/cs-CZ/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://fintunes.app
|
||||
1
fastlane/metadata/cs-CZ/name.txt
Normal file
1
fastlane/metadata/cs-CZ/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/cs-CZ/privacy_url.txt
Normal file
1
fastlane/metadata/cs-CZ/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/cs-CZ/promotional_text.txt
Normal file
1
fastlane/metadata/cs-CZ/promotional_text.txt
Normal file
@@ -0,0 +1 @@
|
||||
Streamovací audio přehrávač pro Jellyfin s podporou vyhledávání a stahování.
|
||||
1
fastlane/metadata/cs-CZ/release_notes.txt
Normal file
1
fastlane/metadata/cs-CZ/release_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Čerstvé z trouby, nové vydání Fintunes. Toto vydání obsahuje několik drobných aktualizací uživatelského rozhraní. Všimnete si, že štítek na spodních lištách je pryč a máme nějaké efektní efekty pro navigační lišty nahoře a dole. Alba nyní obsahují popisný text, pokud je dostupný ze serveru, a také podobná alba, která jsou stažena z vaší instance Jellyfin. A konečně, seznam skladeb pro seznam skladeb nyní obsahuje také interpreta.
|
||||
1
fastlane/metadata/cs-CZ/subtitle.txt
Normal file
1
fastlane/metadata/cs-CZ/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
Audio přehrávač pro Jellyfin
|
||||
1
fastlane/metadata/cs-CZ/support_url.txt
Normal file
1
fastlane/metadata/cs-CZ/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player
|
||||
1
fastlane/metadata/de-DE/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/de-DE/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/de-DE/description.txt
Normal file
1
fastlane/metadata/de-DE/description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes ist ein Streaming Audioplayer für das Jellyfin Media System. Es bietet eine großartige Benutzeroberfläche, welche Ihnen ermöglicht Ihre Lieblingsmusik mit Leichtigkeit wiedergeben zu können. Sie können Ihre gesammte Bibliothek nach einen Titel suchen oder einfach eine Playlist anhören, welche Sie zuvor in Jellyfin erstellt haben. Alle Titel werden direkt mit bester Qualität von Ihrer Jellyfin-Bibliothek gestreamt. Ist Streaming nicht immer möglich? Jeder Titel in Ihrer Jellyfin Bibliothek kann heruntergeladen und offline abgespielt werden.
|
||||
1
fastlane/metadata/de-DE/keywords.txt
Normal file
1
fastlane/metadata/de-DE/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
Jellyfin, Audio, Player, Streaming, Downloads, Musik
|
||||
1
fastlane/metadata/de-DE/marketing_url.txt
Normal file
1
fastlane/metadata/de-DE/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://fintunes.app
|
||||
1
fastlane/metadata/de-DE/name.txt
Normal file
1
fastlane/metadata/de-DE/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/de-DE/privacy_url.txt
Normal file
1
fastlane/metadata/de-DE/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/de-DE/promotional_text.txt
Normal file
1
fastlane/metadata/de-DE/promotional_text.txt
Normal file
@@ -0,0 +1 @@
|
||||
Ein Streaming Audioplayer für Jellyfin mit Unterstützung für Suche und Downloads.
|
||||
1
fastlane/metadata/de-DE/release_notes.txt
Normal file
1
fastlane/metadata/de-DE/release_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Frisch aus dem Ofen, eine neue Fintunes-Veröffentlichung. Diese enthält einige kleinere UI-Updates. Sie werden feststellen, dass die Beschriftung auf den unteren Leisten verschwunden ist und wir einige ausgefallene Effekte für die Navigationsleisten oben und unten haben. Alben enthalten jetzt einen Beschreibungstext, sofern dieser auf dem Server verfügbar ist, sowie ähnliche Alben, die von Ihrer Jellyfin-Instanz abgerufen werden. Schließlich enthält die Titelliste einer Playlist jetzt auch den Interpreten.
|
||||
1
fastlane/metadata/de-DE/subtitle.txt
Normal file
1
fastlane/metadata/de-DE/subtitle.txt
Normal file
@@ -0,0 +1 @@
|
||||
Audioplayer für Jellyfin
|
||||
1
fastlane/metadata/de-DE/support_url.txt
Normal file
1
fastlane/metadata/de-DE/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player
|
||||
@@ -1 +1 @@
|
||||
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
|
||||
1
fastlane/metadata/es-ES/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/es-ES/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/fr-FR/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/fr-FR/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/it-IT/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/it-IT/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/ja/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/ja/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/nl-NL/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/nl-NL/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/no-NO/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/no-NO/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/pl-PL/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/pl-PL/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/pt-BR/apple_tv_privacy_policy.txt
Normal file
1
fastlane/metadata/pt-BR/apple_tv_privacy_policy.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
1
fastlane/metadata/pt-BR/description.txt
Normal file
1
fastlane/metadata/pt-BR/description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes é um player de áudio via streaming para o sistema de mídia Jellyfin. Ele apresenta uma bela interface que permite que você toque facilmente suas músicas favoritas. Você pode pesquisar por qualquer música em toda a sua biblioteca, ou apenas ficar numa boa ouvindo uma playlist criada anteriormente no Jellyfin. Todas as músicas são transmitidas diretamente da sua biblioteca do Jellyfin, na mais alta qualidade. Nem sempre pode fazer streaming? Qualquer música na sua biblioteca do Jellyfin pode ser baixada e reproduzida offline.
|
||||
1
fastlane/metadata/pt-BR/keywords.txt
Normal file
1
fastlane/metadata/pt-BR/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
jellyfin, áudio, player, streaming, downloads, música
|
||||
1
fastlane/metadata/pt-BR/marketing_url.txt
Normal file
1
fastlane/metadata/pt-BR/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://fintunes.app
|
||||
1
fastlane/metadata/pt-BR/name.txt
Normal file
1
fastlane/metadata/pt-BR/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Fintunes
|
||||
1
fastlane/metadata/pt-BR/privacy_url.txt
Normal file
1
fastlane/metadata/pt-BR/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/leinelissen/jellyfin-audio-player/blob/master/docs/privacy-policy.md
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user