From a70d740da0f8d4f92fdb9fde900b8753663cedb4 Mon Sep 17 00:00:00 2001
From: Tim Bert <5411131+timbms@users.noreply.github.com>
Date: Sun, 15 Sep 2024 10:33:19 +0200
Subject: [PATCH 1/3] Getting rid of blankicon.png as placeholder (#819)

---
 openHAB/blankicon.png | Bin 3701 -> 0 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 openHAB/blankicon.png

diff --git a/openHAB/blankicon.png b/openHAB/blankicon.png
deleted file mode 100644
index 421c16fbaae8c3aa28ce06e11fc6bff3d4b186ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3701
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


From 1569cb9b0c19cab556df85f19a405562cbf92296 Mon Sep 17 00:00:00 2001
From: Tim Bert <5411131+timbms@users.noreply.github.com>
Date: Sun, 15 Sep 2024 10:38:03 +0200
Subject: [PATCH 2/3] Revert "Getting rid of blankicon.png as placeholder
 (#819)" (#820)

This reverts commit a70d740da0f8d4f92fdb9fde900b8753663cedb4.
---
 openHAB/blankicon.png | Bin 0 -> 3701 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 openHAB/blankicon.png

diff --git a/openHAB/blankicon.png b/openHAB/blankicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..421c16fbaae8c3aa28ce06e11fc6bff3d4b186ba
GIT binary patch
literal 3701
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

literal 0
HcmV?d00001


From 9fc00d0d63f7ca97370342cd6041747b421329b0 Mon Sep 17 00:00:00 2001
From: Tim Bert <5411131+timbms@users.noreply.github.com>
Date: Sun, 15 Sep 2024 10:41:04 +0200
Subject: [PATCH 3/3] Remove blank icon (#821)

* Getting rid of blankicon.png as placeholder

* Get rid of blankIcon
---
 openHAB.xcodeproj/project.pbxproj             |   4 -
 .../xcshareddata/swiftpm/Package.resolved     | 198 ------------------
 openHAB/OpenHABSitemapViewController.swift    |   2 +-
 openHAB/blankicon.png                         | Bin 3701 -> 0 bytes
 4 files changed, 1 insertion(+), 203 deletions(-)
 delete mode 100644 openHAB/blankicon.png

diff --git a/openHAB.xcodeproj/project.pbxproj b/openHAB.xcodeproj/project.pbxproj
index 5349b6e2c..1cb31b6c3 100644
--- a/openHAB.xcodeproj/project.pbxproj
+++ b/openHAB.xcodeproj/project.pbxproj
@@ -152,7 +152,6 @@
 		DF06F1FC18FEC2020011E7B9 /* ColorPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF06F1FB18FEC2020011E7B9 /* ColorPickerViewController.swift */; };
 		DF1B302D1CF5C667009C921C /* OpenHABNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF1B302C1CF5C667009C921C /* OpenHABNotification.swift */; };
 		DF4B84041885A53700F34902 /* OpenHABDataObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF4B84031885A53700F34902 /* OpenHABDataObject.swift */; };
-		DF4B84071885AE0E00F34902 /* blankicon.png in Resources */ = {isa = PBXBuildFile; fileRef = DF4B84061885AE0E00F34902 /* blankicon.png */; };
 		DF4B84131886DAC400F34902 /* FrameUITableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF4B84121886DAC400F34902 /* FrameUITableViewCell.swift */; };
 		DF4B84161886EACA00F34902 /* GenericUITableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF4B84151886EACA00F34902 /* GenericUITableViewCell.swift */; };
 		DFA13CB418872EBD006355C3 /* SwitchUITableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFA13CB318872EBD006355C3 /* SwitchUITableViewCell.swift */; };
@@ -445,7 +444,6 @@
 		DF06F1FB18FEC2020011E7B9 /* ColorPickerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorPickerViewController.swift; sourceTree = "<group>"; };
 		DF1B302C1CF5C667009C921C /* OpenHABNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenHABNotification.swift; sourceTree = "<group>"; };
 		DF4B84031885A53700F34902 /* OpenHABDataObject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenHABDataObject.swift; sourceTree = "<group>"; };
-		DF4B84061885AE0E00F34902 /* blankicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = blankicon.png; sourceTree = "<group>"; };
 		DF4B84121886DAC400F34902 /* FrameUITableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrameUITableViewCell.swift; sourceTree = "<group>"; };
 		DF4B84151886EACA00F34902 /* GenericUITableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GenericUITableViewCell.swift; sourceTree = "<group>"; };
 		DFA13CB318872EBD006355C3 /* SwitchUITableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwitchUITableViewCell.swift; sourceTree = "<group>"; };
@@ -849,7 +847,6 @@
 			children = (
 				DFB2624518830A3600D3244D /* Images.xcassets */,
 				DACB636127D3FC6500041931 /* error.png */,
-				DF4B84061885AE0E00F34902 /* blankicon.png */,
 			);
 			name = Images;
 			sourceTree = "<group>";
@@ -1283,7 +1280,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				DF4B84071885AE0E00F34902 /* blankicon.png in Resources */,
 				938BF9D024EFCCC000E6B52F /* Localizable.strings in Resources */,
 				DFB2624618830A3600D3244D /* Images.xcassets in Resources */,
 				6557AF8F2C0241C10094D0C8 /* PrivacyInfo.xcprivacy in Resources */,
diff --git a/openHAB.xcworkspace/xcshareddata/swiftpm/Package.resolved b/openHAB.xcworkspace/xcshareddata/swiftpm/Package.resolved
index c3802b6ec..8fe2c82b9 100644
--- a/openHAB.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/openHAB.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -1,14 +1,5 @@
 {
   "pins" : [
-    {
-      "identity" : "abseil-cpp-binary",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/abseil-cpp-binary.git",
-      "state" : {
-        "revision" : "194a6706acbd25e4ef639bcaddea16e8758a3e27",
-        "version" : "1.2024011602.0"
-      }
-    },
     {
       "identity" : "alamofire",
       "kind" : "remoteSourceControl",
@@ -18,114 +9,6 @@
         "version" : "5.9.1"
       }
     },
-    {
-      "identity" : "alamofirenetworkactivityindicator",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/Alamofire/AlamofireNetworkActivityIndicator.git",
-      "state" : {
-        "revision" : "392bed083e8d193aca16bfa684ee24e4bcff0510",
-        "version" : "3.1.0"
-      }
-    },
-    {
-      "identity" : "app-check",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/app-check.git",
-      "state" : {
-        "revision" : "3b62f154d00019ae29a71e9738800bb6f18b236d",
-        "version" : "10.19.2"
-      }
-    },
-    {
-      "identity" : "cocoalumberjack",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/CocoaLumberjack/CocoaLumberjack.git",
-      "state" : {
-        "revision" : "4b8714a7fb84d42393314ce897127b3939885ec3",
-        "version" : "3.8.5"
-      }
-    },
-    {
-      "identity" : "devicekit",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/devicekit/DeviceKit.git",
-      "state" : {
-        "revision" : "d37e70cb2646666dcf276d7d3d4a9760a41ff8a6",
-        "version" : "4.9.0"
-      }
-    },
-    {
-      "identity" : "firebase-ios-sdk",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/firebase/firebase-ios-sdk.git",
-      "state" : {
-        "revision" : "eca84fd638116dd6adb633b5a3f31cc7befcbb7d",
-        "version" : "10.29.0"
-      }
-    },
-    {
-      "identity" : "flexcolorpicker",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/RastislavMirek/FlexColorPicker.git",
-      "state" : {
-        "revision" : "72a5c2c5e28074e6c5f13efe3c98eb780ae2f906",
-        "version" : "1.4.4"
-      }
-    },
-    {
-      "identity" : "googleappmeasurement",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/GoogleAppMeasurement.git",
-      "state" : {
-        "revision" : "fe727587518729046fc1465625b9afd80b5ab361",
-        "version" : "10.28.0"
-      }
-    },
-    {
-      "identity" : "googledatatransport",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/GoogleDataTransport.git",
-      "state" : {
-        "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565",
-        "version" : "9.4.0"
-      }
-    },
-    {
-      "identity" : "googleutilities",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/GoogleUtilities.git",
-      "state" : {
-        "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6",
-        "version" : "7.13.3"
-      }
-    },
-    {
-      "identity" : "grpc-binary",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/grpc-binary.git",
-      "state" : {
-        "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359",
-        "version" : "1.62.2"
-      }
-    },
-    {
-      "identity" : "gtm-session-fetcher",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/gtm-session-fetcher.git",
-      "state" : {
-        "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b",
-        "version" : "3.5.0"
-      }
-    },
-    {
-      "identity" : "interop-ios-for-google-sdks",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/interop-ios-for-google-sdks.git",
-      "state" : {
-        "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
-        "version" : "100.0.0"
-      }
-    },
     {
       "identity" : "kingfisher",
       "kind" : "remoteSourceControl",
@@ -134,87 +17,6 @@
         "revision" : "5b92f029fab2cce44386d28588098b5be0824ef5",
         "version" : "7.11.0"
       }
-    },
-    {
-      "identity" : "leveldb",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/firebase/leveldb.git",
-      "state" : {
-        "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1",
-        "version" : "1.22.5"
-      }
-    },
-    {
-      "identity" : "nanopb",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/firebase/nanopb.git",
-      "state" : {
-        "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1",
-        "version" : "2.30910.0"
-      }
-    },
-    {
-      "identity" : "promises",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/google/promises.git",
-      "state" : {
-        "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac",
-        "version" : "2.4.0"
-      }
-    },
-    {
-      "identity" : "sfsafesymbols",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/SFSafeSymbols/SFSafeSymbols",
-      "state" : {
-        "revision" : "e2e28f4e56e1769c2ec3c61c9355fc64eb7a535a",
-        "version" : "5.3.0"
-      }
-    },
-    {
-      "identity" : "sidemenu",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/jonkykong/SideMenu.git",
-      "state" : {
-        "revision" : "8bd4fd128923cf5494fa726839af8afe12908ad9",
-        "version" : "6.5.0"
-      }
-    },
-    {
-      "identity" : "svgkit",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/SVGKit/SVGKit.git",
-      "state" : {
-        "branch" : "3.x",
-        "revision" : "1b8a3cf210ab4681c18fbb62059bbdbb37dd649a"
-      }
-    },
-    {
-      "identity" : "swift-log",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/apple/swift-log",
-      "state" : {
-        "revision" : "9cb486020ebf03bfa5b5df985387a14a98744537",
-        "version" : "1.6.1"
-      }
-    },
-    {
-      "identity" : "swift-protobuf",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/apple/swift-protobuf.git",
-      "state" : {
-        "revision" : "edb6ed4919f7756157fe02f2552b7e3850a538e5",
-        "version" : "1.28.1"
-      }
-    },
-    {
-      "identity" : "swiftmessages",
-      "kind" : "remoteSourceControl",
-      "location" : "https://github.com/SwiftKickMobile/SwiftMessages.git",
-      "state" : {
-        "revision" : "62e12e138fc3eedf88c7553dd5d98712aa119f40",
-        "version" : "9.0.9"
-      }
     }
   ],
   "version" : 2
diff --git a/openHAB/OpenHABSitemapViewController.swift b/openHAB/OpenHABSitemapViewController.swift
index 1fb720e9e..92b79978e 100644
--- a/openHAB/OpenHABSitemapViewController.swift
+++ b/openHAB/OpenHABSitemapViewController.swift
@@ -684,7 +684,7 @@ extension OpenHABSitemapViewController: UITableViewDelegate, UITableViewDataSour
                 }
                 cell.imageView?.kf.setImage(
                     with: KF.ImageResource(downloadURL: urlc, cacheKey: urlc.path + (urlc.query ?? "")),
-                    placeholder: UIImage(named: "blankicon.png"),
+                    placeholder: nil,
                     options: [.processor(OpenHABImageProcessor())],
                     completionHandler: reportOnResults
                 )
diff --git a/openHAB/blankicon.png b/openHAB/blankicon.png
deleted file mode 100644
index 421c16fbaae8c3aa28ce06e11fc6bff3d4b186ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3701
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