diff --git a/.gitignore b/.gitignore
index f5360437..27bde3d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,5 +8,3 @@
.DS_Store
/pojavlauncher.xcodeproj
/depends
-/Natives/resources/AppIcon60x60@2x.png
-/Natives/resources/AppIcon76x76@2x~ipad.png
diff --git a/Makefile b/Makefile
index a29add6a..dece94cf 100644
--- a/Makefile
+++ b/Makefile
@@ -285,7 +285,7 @@ extras:
@echo 'Building PojavLauncher $(VERSION) - EXTRA - Start'
@if [ '$(IOS)' = '0' ]; then \
mkdir -p $(WORKINGDIR)/PojavLauncher.app/Base.lproj; \
- xcrun actool $(SOURCEDIR)/Natives/Assets.xcassets --compile $(SOURCEDIR)/Natives/resources --platform iphoneos --minimum-deployment-target 12.0 --app-icon AppIcon --output-partial-info-plist /dev/null || exit 1; \
+ xcrun actool $(SOURCEDIR)/Natives/Assets.xcassets --compile $(SOURCEDIR)/Natives/resources --platform iphoneos --minimum-deployment-target 12.0 --app-icon AppIcon-Light --alternate-app-icon AppIcon-Dark --output-partial-info-plist /dev/null || exit 1; \
ibtool --compile $(WORKINGDIR)/PojavLauncher.app/Base.lproj/LaunchScreen.storyboardc $(SOURCEDIR)/Natives/en.lproj/LaunchScreen.storyboard || exit 1; \
elif [ '$(IOS)' = '1' ]; then \
echo 'Due to the required tools not being available, you cannot compile the extras for PojavLauncher with an iOS device.'; \
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_1024x1024.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_1024x1024.png
new file mode 100644
index 00000000..a0432d5f
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_1024x1024.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20.png
new file mode 100644
index 00000000..4bc97e44
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@2x 1.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@2x 1.png
new file mode 100644
index 00000000..b6a57619
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@2x 1.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@2x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@2x.png
new file mode 100644
index 00000000..b6a57619
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@3x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@3x.png
new file mode 100644
index 00000000..94fc35f0
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_20x20@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29.png
new file mode 100644
index 00000000..68120367
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@2x 1.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@2x 1.png
new file mode 100644
index 00000000..89343805
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@2x 1.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@2x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@2x.png
new file mode 100644
index 00000000..89343805
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@3x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@3x.png
new file mode 100644
index 00000000..d6750ba3
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_29x29@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40.png
new file mode 100644
index 00000000..b6a57619
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@2x 1.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@2x 1.png
new file mode 100644
index 00000000..2d87853f
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@2x 1.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@2x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@2x.png
new file mode 100644
index 00000000..2d87853f
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@3x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@3x.png
new file mode 100644
index 00000000..42d88a8f
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_40x40@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_60x60@2x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_60x60@2x.png
new file mode 100644
index 00000000..42d88a8f
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_60x60@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_60x60@3x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_60x60@3x.png
new file mode 100644
index 00000000..2b5358b1
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_60x60@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_76x76.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_76x76.png
new file mode 100644
index 00000000..7e6555b5
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_76x76.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_76x76@2x.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_76x76@2x.png
new file mode 100644
index 00000000..07b7773b
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_76x76@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_83.5x83.5.png b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_83.5x83.5.png
new file mode 100644
index 00000000..d99c58e5
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/AppIcon-Dark_83.5x83.5.png differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/Contents.json b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/Contents.json
similarity index 64%
rename from Natives/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to Natives/Assets.xcassets/AppIcon-Dark.appiconset/Contents.json
index b9cae6b7..7b900141 100644
--- a/Natives/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/Natives/Assets.xcassets/AppIcon-Dark.appiconset/Contents.json
@@ -1,109 +1,109 @@
{
"images" : [
{
- "filename" : "AppIcon_20x20@2x.png",
+ "filename" : "AppIcon-Dark_20x20@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
- "filename" : "AppIcon_20x20@3x.png",
+ "filename" : "AppIcon-Dark_20x20@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
- "filename" : "AppIcon_29x29@2x.png",
+ "filename" : "AppIcon-Dark_29x29@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
- "filename" : "AppIcon_29x29@3x.png",
+ "filename" : "AppIcon-Dark_29x29@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
- "filename" : "AppIcon_40x40@2x.png",
+ "filename" : "AppIcon-Dark_40x40@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
- "filename" : "AppIcon_40x40@3x.png",
+ "filename" : "AppIcon-Dark_40x40@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
- "filename" : "AppIcon_60x60@2x.png",
+ "filename" : "AppIcon-Dark_60x60@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
- "filename" : "AppIcon_60x60@3x.png",
+ "filename" : "AppIcon-Dark_60x60@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
- "filename" : "AppIcon_20x20.png",
+ "filename" : "AppIcon-Dark_20x20.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
- "filename" : "AppIcon_40x40.png",
+ "filename" : "AppIcon-Dark_20x20@2x 1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
- "filename" : "AppIcon_29x29.png",
+ "filename" : "AppIcon-Dark_29x29.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
- "filename" : "AppIcon_29x29@2x.png",
+ "filename" : "AppIcon-Dark_29x29@2x 1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
- "filename" : "AppIcon_40x40.png",
+ "filename" : "AppIcon-Dark_40x40.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
- "filename" : "AppIcon_40x40@2x.png",
+ "filename" : "AppIcon-Dark_40x40@2x 1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
- "filename" : "AppIcon_76x76.png",
+ "filename" : "AppIcon-Dark_76x76.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
- "filename" : "AppIcon_76x76@2x.png",
+ "filename" : "AppIcon-Dark_76x76@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
- "filename" : "AppIcon_83x83@2x.png",
+ "filename" : "AppIcon-Dark_83.5x83.5.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
- "filename" : "AppIcon_1024x1024.png",
+ "filename" : "AppIcon-Dark_1024x1024.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_1024x1024.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_1024x1024.png
new file mode 100644
index 00000000..75d5e892
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_1024x1024.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20.png
new file mode 100644
index 00000000..320a0e69
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@2x 1.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@2x 1.png
new file mode 100644
index 00000000..9f935c50
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@2x 1.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@2x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@2x.png
new file mode 100644
index 00000000..9f935c50
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@3x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@3x.png
new file mode 100644
index 00000000..c0c7cb49
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_20x20@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29.png
new file mode 100644
index 00000000..f4b333b9
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@2x 1.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@2x 1.png
new file mode 100644
index 00000000..b5f8dc25
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@2x 1.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@2x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@2x.png
new file mode 100644
index 00000000..b5f8dc25
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@3x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@3x.png
new file mode 100644
index 00000000..1a278203
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_29x29@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40.png
new file mode 100644
index 00000000..9f935c50
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@2x 1.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@2x 1.png
new file mode 100644
index 00000000..594632b8
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@2x 1.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@2x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@2x.png
new file mode 100644
index 00000000..594632b8
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@3x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@3x.png
new file mode 100644
index 00000000..a812be92
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_40x40@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_60x60@2x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_60x60@2x.png
new file mode 100644
index 00000000..a812be92
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_60x60@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_60x60@3x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_60x60@3x.png
new file mode 100644
index 00000000..fbead630
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_60x60@3x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_76x76.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_76x76.png
new file mode 100644
index 00000000..306b549f
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_76x76.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_76x76@2x.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_76x76@2x.png
new file mode 100644
index 00000000..ac669042
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_76x76@2x.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_83.5x83.5.png b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_83.5x83.5.png
new file mode 100644
index 00000000..d7bf0073
Binary files /dev/null and b/Natives/Assets.xcassets/AppIcon-Light.appiconset/AppIcon-Light_83.5x83.5.png differ
diff --git a/Natives/Assets.xcassets/AppIcon-Light.appiconset/Contents.json b/Natives/Assets.xcassets/AppIcon-Light.appiconset/Contents.json
new file mode 100644
index 00000000..986bd384
--- /dev/null
+++ b/Natives/Assets.xcassets/AppIcon-Light.appiconset/Contents.json
@@ -0,0 +1,116 @@
+{
+ "images" : [
+ {
+ "filename" : "AppIcon-Light_20x20@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "20x20"
+ },
+ {
+ "filename" : "AppIcon-Light_20x20@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "20x20"
+ },
+ {
+ "filename" : "AppIcon-Light_29x29@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "AppIcon-Light_29x29@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "AppIcon-Light_40x40@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "40x40"
+ },
+ {
+ "filename" : "AppIcon-Light_40x40@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "40x40"
+ },
+ {
+ "filename" : "AppIcon-Light_60x60@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "60x60"
+ },
+ {
+ "filename" : "AppIcon-Light_60x60@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "60x60"
+ },
+ {
+ "filename" : "AppIcon-Light_20x20.png",
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "20x20"
+ },
+ {
+ "filename" : "AppIcon-Light_20x20@2x 1.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "20x20"
+ },
+ {
+ "filename" : "AppIcon-Light_29x29.png",
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "AppIcon-Light_29x29@2x 1.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "AppIcon-Light_40x40.png",
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "40x40"
+ },
+ {
+ "filename" : "AppIcon-Light_40x40@2x 1.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "40x40"
+ },
+ {
+ "filename" : "AppIcon-Light_76x76.png",
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "76x76"
+ },
+ {
+ "filename" : "AppIcon-Light_76x76@2x.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "76x76"
+ },
+ {
+ "filename" : "AppIcon-Light_83.5x83.5.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "83.5x83.5"
+ },
+ {
+ "filename" : "AppIcon-Light_1024x1024.png",
+ "idiom" : "ios-marketing",
+ "scale" : "1x",
+ "size" : "1024x1024"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_1024x1024.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_1024x1024.png
deleted file mode 100644
index 3b70cefc..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_1024x1024.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20.png
deleted file mode 100644
index f840120e..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20@2x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20@2x.png
deleted file mode 100644
index 987180ae..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20@2x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20@3x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20@3x.png
deleted file mode 100644
index 4e159184..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_20x20@3x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29.png
deleted file mode 100644
index c2330f37..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29@2x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29@2x.png
deleted file mode 100644
index 57918e7d..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29@2x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29@3x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29@3x.png
deleted file mode 100644
index 2d5f5bdc..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_29x29@3x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40.png
deleted file mode 100644
index 987180ae..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40@2x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40@2x.png
deleted file mode 100644
index 5583bff8..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40@2x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_60x60@2x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_60x60@2x.png
deleted file mode 100644
index 0260a341..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_60x60@2x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_60x60@3x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_60x60@3x.png
deleted file mode 100644
index 2c01ed21..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_60x60@3x.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_76x76.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_76x76.png
deleted file mode 100644
index 37727bc9..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_76x76.png and /dev/null differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_83x83@2x.png b/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_83x83@2x.png
deleted file mode 100644
index 3b895078..00000000
Binary files a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_83x83@2x.png and /dev/null differ
diff --git a/Natives/Info.plist b/Natives/Info.plist
index 2829f96a..9217bafd 100644
--- a/Natives/Info.plist
+++ b/Natives/Info.plist
@@ -14,27 +14,48 @@
PojavLauncher
CFBundleIcons
+ CFBundleAlternateIcons
+
+ AppIcon-Dark
+
+ CFBundleIconFiles
+
+ AppIcon-Dark60x60
+
+
+
CFBundlePrimaryIcon
CFBundleIconFiles
- AppIcon60x60
+ AppIcon-Light60x60
CFBundleIconName
- AppIcon
+ AppIcon-Light
CFBundleIcons~ipad
+ CFBundleAlternateIcons
+
+ AppIcon-Dark
+
+ CFBundleIconFiles
+
+ AppIcon-Dark60x60
+ AppIcon-Dark76x76
+
+
+
CFBundlePrimaryIcon
CFBundleIconFiles
- AppIcon60x60
- AppIcon76x76
+ AppIcon-Light60x60
+ AppIcon-Light76x76
CFBundleIconName
- AppIcon
+ AppIcon-Light
CFBundleIdentifier
@@ -69,7 +90,7 @@
ProfileName
ExtendedGamepad
-
+
LSApplicationQueriesSchemes
diff --git a/Natives/LauncherPreferences.m b/Natives/LauncherPreferences.m
index 0d46caf6..f6f667ee 100644
--- a/Natives/LauncherPreferences.m
+++ b/Natives/LauncherPreferences.m
@@ -126,6 +126,7 @@ void loadPreferences(BOOL reset) {
setDefaultValueForPref(envPrefDict, @"java_args", @"");
setDefaultValueForPref(envPrefDict, @"allocated_memory", [NSNumber numberWithFloat:roundf(([[NSProcessInfo processInfo] physicalMemory] / 1048576) * 0.25)]);
setDefaultValueForPref(envPrefDict, @"jitstreamer_server", @"69.69.0.1");
+ setDefaultValueForPref(prefDict, @"appicon", @"AppIcon-Light");
setDefaultValueForPref(prefDict, @"debug_logging", @(CONFIG_RELEASE != 1));
setDefaultValueForPref(prefDict, @"cosmetica", @YES);
setDefaultValueForPref(envPrefDict, @"java_home", @"java-8-openjdk");
diff --git a/Natives/LauncherPreferencesViewController.m b/Natives/LauncherPreferencesViewController.m
index 16a43751..fdbe29f8 100644
--- a/Natives/LauncherPreferencesViewController.m
+++ b/Natives/LauncherPreferencesViewController.m
@@ -79,6 +79,20 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *);
@"type": self.typeTextField,
@"enableCondition": whenNotInGame
},
+ @{@"key": @"appicon",
+ @"hasDetail": @YES,
+ @"icon": @"paintbrush",
+ @"type": self.typePickField,
+ @"enableCondition": whenNotInGame,
+ @"pickKeys": @[
+ @"AppIcon-Light",
+ @"AppIcon-Dark"
+ ],
+ @"pickList": @[
+ localize(@"preference.title.appicon-default", nil),
+ localize(@"preference.title.appicon-black", nil)
+ ]
+ },
@{@"key": @"reset_warnings",
@"icon": @"exclamationmark.triangle",
@"type": self.typeButton,
@@ -528,6 +542,19 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *);
UIAlertAction *action = [UIAlertAction actionWithTitle:pickList[i] style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
cell.detailTextLabel.text = pickKeys[i];
setPreference(item[@"key"], pickKeys[i]);
+ if([item[@"key"] isEqualToString:@"appicon"]) {
+ NSString* iconName;
+ if([pickKeys[i] isEqualToString:@"AppIcon-Light"]) {
+ iconName = nil;
+ } else {
+ iconName = pickKeys[i];
+ }
+ if ([[UIApplication sharedApplication] respondsToSelector:@selector(supportsAlternateIcons)] && [[UIApplication sharedApplication] supportsAlternateIcons]) {
+ [[UIApplication sharedApplication] setAlternateIconName:iconName completionHandler:^(NSError * _Nullable error) {
+ NSLog(@"Error: %@", error);
+ }];
+ }
+ }
}];
[picker addAction:action];
diff --git a/Natives/SurfaceViewController.m b/Natives/SurfaceViewController.m
index 06d388f3..7af3c718 100644
--- a/Natives/SurfaceViewController.m
+++ b/Natives/SurfaceViewController.m
@@ -96,13 +96,13 @@ BOOL slideableHotbar;
[self performSelector:@selector(initCategory_Navigation)];
- self.surfaceView = [[GameSurfaceView alloc] initWithFrame:self.view.frame];
- self.surfaceView.layer.contentsScale = screenScale * resolutionScale;
- self.surfaceView.layer.magnificationFilter = self.surfaceView.layer.minificationFilter = kCAFilterNearest;
-
- self.touchView = [[UIView alloc] initWithFrame:self.view.frame];
+ self.touchView = [[UIView alloc] initWithFrame:CGRectFromString(getPreference(@"control_safe_area"))];
self.touchView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.1];
self.touchView.multipleTouchEnabled = YES;
+
+ self.surfaceView = [[GameSurfaceView alloc] initWithFrame:self.touchView.frame];
+ self.surfaceView.layer.contentsScale = screenScale * resolutionScale;
+ self.surfaceView.layer.magnificationFilter = self.surfaceView.layer.minificationFilter = kCAFilterNearest;
[self.touchView addSubview:self.surfaceView];
[self.rootView addSubview:self.touchView];
diff --git a/Natives/en.lproj/Localizable.strings b/Natives/en.lproj/Localizable.strings
index 653e46b6..673e7380 100644
--- a/Natives/en.lproj/Localizable.strings
+++ b/Natives/en.lproj/Localizable.strings
@@ -151,6 +151,12 @@
"preference.detail.debug_logging" = "Logs internal settings and actions to latestlog.txt. This helps the developers find issues easier, but Minecraft may run slower as the logs will be written to more often.";
"preference.title.jitstreamer_server" = "JitStreamer server IP";
"preference.detail.jitstreamer_server" = "Allows you to change to a custom JitStreamer server IP, such as for self-hosted instances. This option can be left alone if you use the default JitStreamer servers.";
+
+"preference.title.appicon" = "Set app icon";
+"preference.detail.appicon" = "Allows you to choose between different Home Screen icons for PojavLauncher.";
+"preference.title.appicon-default" = "Familiar PojavLauncher light";
+"preference.title.appicon-dark" = "Familiar PojavLauncher dark";
+
"preference.title.reset_warnings" = "Reset all warnings";
"preference.title.done.reset_warnings" = "All warnings have been reset.";
diff --git a/Natives/resources/AppIcon-Dark60x60@2x.png b/Natives/resources/AppIcon-Dark60x60@2x.png
new file mode 100644
index 00000000..42d88a8f
Binary files /dev/null and b/Natives/resources/AppIcon-Dark60x60@2x.png differ
diff --git a/Natives/resources/AppIcon-Dark76x76@2x~ipad.png b/Natives/resources/AppIcon-Dark76x76@2x~ipad.png
new file mode 100644
index 00000000..07b7773b
Binary files /dev/null and b/Natives/resources/AppIcon-Dark76x76@2x~ipad.png differ
diff --git a/Natives/resources/AppIcon-Light60x60@2x.png b/Natives/resources/AppIcon-Light60x60@2x.png
new file mode 100644
index 00000000..a812be92
Binary files /dev/null and b/Natives/resources/AppIcon-Light60x60@2x.png differ
diff --git a/Natives/resources/AppIcon-Light76x76@2x~ipad.png b/Natives/resources/AppIcon-Light76x76@2x~ipad.png
new file mode 100644
index 00000000..ac669042
Binary files /dev/null and b/Natives/resources/AppIcon-Light76x76@2x~ipad.png differ
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40@3x.png b/Natives/resources/AppIcon60x60@2x.png
similarity index 100%
rename from Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_40x40@3x.png
rename to Natives/resources/AppIcon60x60@2x.png
diff --git a/Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_76x76@2x.png b/Natives/resources/AppIcon76x76@2x~ipad.png
similarity index 100%
rename from Natives/Assets.xcassets/AppIcon.appiconset/AppIcon_76x76@2x.png
rename to Natives/resources/AppIcon76x76@2x~ipad.png
diff --git a/Natives/resources/Assets.car b/Natives/resources/Assets.car
index e4825424..24f2db3b 100644
Binary files a/Natives/resources/Assets.car and b/Natives/resources/Assets.car differ