- fixed player issue for ios 15 and below
- Updated the moving live tv timings
This commit is contained in:
@@ -148,7 +148,6 @@
|
||||
52A6DCC92C4F906900F63C51 /* CartListingDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A6DCC82C4F906900F63C51 /* CartListingDM.swift */; };
|
||||
52A6DCCC2C4F929B00F63C51 /* CartListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A6DCCA2C4F929B00F63C51 /* CartListCell.swift */; };
|
||||
52A6DCCD2C4F929B00F63C51 /* CartListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52A6DCCB2C4F929B00F63C51 /* CartListCell.xib */; };
|
||||
52A8C9902C75B91F00AAE156 /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 52A8C98E2C75B91F00AAE156 /* WOKA.xcdatamodeld */; };
|
||||
52A981CE2C1AFE66000E0BEC /* FavouriteListingDM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A981CD2C1AFE66000E0BEC /* FavouriteListingDM.swift */; };
|
||||
52A981D02C1AFEE8000E0BEC /* MyListVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A981CF2C1AFEE8000E0BEC /* MyListVM.swift */; };
|
||||
52A981D72C1B0E27000E0BEC /* FavouriteCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A981D52C1B0E27000E0BEC /* FavouriteCell.swift */; };
|
||||
@@ -316,6 +315,7 @@
|
||||
9C85A9EF2C5CE1060031C365 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 9C85A9EE2C5CE1060031C365 /* FirebaseAnalytics */; };
|
||||
9C85A9F12C5CE1060031C365 /* FirebaseCrashlytics in Frameworks */ = {isa = PBXBuildFile; productRef = 9C85A9F02C5CE1060031C365 /* FirebaseCrashlytics */; };
|
||||
9C85A9F32C5CE1060031C365 /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 9C85A9F22C5CE1060031C365 /* FirebasePerformance */; };
|
||||
9C8A13122C7655570000058C /* WOKA.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 9C8A13102C7655570000058C /* WOKA.xcdatamodeld */; };
|
||||
9C8C4FAE2C1315410017DD3B /* WebViewVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8C4FAD2C1315410017DD3B /* WebViewVC.swift */; };
|
||||
9C8C4FB02C1328060017DD3B /* Disclaimer.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 9C8C4FAF2C1328060017DD3B /* Disclaimer.rtf */; };
|
||||
9C9BE46E2C663B1600C48D6A /* JWKaraokePlayerVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C9BE46D2C663B1600C48D6A /* JWKaraokePlayerVM.swift */; };
|
||||
@@ -545,7 +545,6 @@
|
||||
52A6DCC82C4F906900F63C51 /* CartListingDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CartListingDM.swift; sourceTree = "<group>"; };
|
||||
52A6DCCA2C4F929B00F63C51 /* CartListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CartListCell.swift; sourceTree = "<group>"; };
|
||||
52A6DCCB2C4F929B00F63C51 /* CartListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CartListCell.xib; sourceTree = "<group>"; };
|
||||
52A8C98F2C75B91F00AAE156 /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = "<group>"; };
|
||||
52A981CD2C1AFE66000E0BEC /* FavouriteListingDM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavouriteListingDM.swift; sourceTree = "<group>"; };
|
||||
52A981CF2C1AFEE8000E0BEC /* MyListVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyListVM.swift; sourceTree = "<group>"; };
|
||||
52A981D52C1B0E27000E0BEC /* FavouriteCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavouriteCell.swift; sourceTree = "<group>"; };
|
||||
@@ -703,6 +702,7 @@
|
||||
9C834EDB2C1C26CD00B29A9C /* HtmlText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HtmlText.swift; sourceTree = "<group>"; };
|
||||
9C8446862C40FC6E003E3E53 /* AVPlayerTesting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AVPlayerTesting.swift; sourceTree = "<group>"; };
|
||||
9C85A9EB2C5CD5CD0031C365 /* MyListDataTemp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyListDataTemp.swift; sourceTree = "<group>"; };
|
||||
9C8A13112C7655570000058C /* WOKA.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = WOKA.xcdatamodel; sourceTree = "<group>"; };
|
||||
9C8C4FAD2C1315410017DD3B /* WebViewVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewVC.swift; sourceTree = "<group>"; };
|
||||
9C8C4FAF2C1328060017DD3B /* Disclaimer.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Disclaimer.rtf; sourceTree = "<group>"; };
|
||||
9C9BE46D2C663B1600C48D6A /* JWKaraokePlayerVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JWKaraokePlayerVM.swift; sourceTree = "<group>"; };
|
||||
@@ -944,7 +944,7 @@
|
||||
9C535DC82C00C34000DA6DCD /* Theme */,
|
||||
52DAC6462C21761700E2F85B /* WebSeries */,
|
||||
9C834ED92C1C20EC00B29A9C /* WOKA.entitlements */,
|
||||
52A8C98E2C75B91F00AAE156 /* WOKA.xcdatamodeld */,
|
||||
9C8A13102C7655570000058C /* WOKA.xcdatamodeld */,
|
||||
52ACC1292C610EC900791528 /* PersistentStorage.swift */,
|
||||
);
|
||||
path = WOKA;
|
||||
@@ -2460,7 +2460,7 @@
|
||||
52ACC1262C610CBC00791528 /* UserClicks+CoreDataProperties.swift in Sources */,
|
||||
9CBCB29D2BE4D6BB007D7934 /* LoginVM.swift in Sources */,
|
||||
52BBFCB42C5275E100F7D0D1 /* AddressListVM.swift in Sources */,
|
||||
52A8C9902C75B91F00AAE156 /* WOKA.xcdatamodeld in Sources */,
|
||||
9C8A13122C7655570000058C /* WOKA.xcdatamodeld in Sources */,
|
||||
524C42312C0499560016A11C /* NotificationCenterReloads.swift in Sources */,
|
||||
9C8C4FAE2C1315410017DD3B /* WebViewVC.swift in Sources */,
|
||||
52BBFCB62C52764B00F7D0D1 /* AddressListDM.swift in Sources */,
|
||||
@@ -2766,7 +2766,7 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_ENTITLEMENTS = WOKA/WOKA.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 6;
|
||||
CURRENT_PROJECT_VERSION = 7;
|
||||
DEVELOPMENT_TEAM = 4S9A74ZB6H;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
@@ -2805,7 +2805,7 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_ENTITLEMENTS = WOKA/WOKA.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 6;
|
||||
CURRENT_PROJECT_VERSION = 7;
|
||||
DEVELOPMENT_TEAM = 4S9A74ZB6H;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
@@ -3096,14 +3096,14 @@
|
||||
/* End XCSwiftPackageProductDependency section */
|
||||
|
||||
/* Begin XCVersionGroup section */
|
||||
52A8C98E2C75B91F00AAE156 /* WOKA.xcdatamodeld */ = {
|
||||
9C8A13102C7655570000058C /* WOKA.xcdatamodeld */ = {
|
||||
isa = XCVersionGroup;
|
||||
children = (
|
||||
52A8C98F2C75B91F00AAE156 /* WOKA.xcdatamodel */,
|
||||
9C8A13112C7655570000058C /* WOKA.xcdatamodel */,
|
||||
);
|
||||
currentVersion = 52A8C98F2C75B91F00AAE156 /* WOKA.xcdatamodel */;
|
||||
currentVersion = 9C8A13112C7655570000058C /* WOKA.xcdatamodel */;
|
||||
name = WOKA.xcdatamodeld;
|
||||
path = /Users/macbookpro/Desktop/WOKA/WOKA/WOKA.xcdatamodeld;
|
||||
path = /Users/bilal/Desktop/woka_native_ios_swift/WOKA/WOKA.xcdatamodeld;
|
||||
sourceTree = "<group>";
|
||||
versionGroupType = wrapper.xcdatamodel;
|
||||
};
|
||||
|
||||
@@ -1496,17 +1496,17 @@ Sent to Your Parent’s Email</string>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BackgroundSplash" translatesAutoresizingMaskIntoConstraints="NO" id="XCD-Eq-dfg">
|
||||
<rect key="frame" x="0.0" y="0.0" width="430" height="932"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="428" height="932"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="WokaLogo" translatesAutoresizingMaskIntoConstraints="NO" id="hPv-w5-A5k">
|
||||
<rect key="frame" x="145" y="50" width="140" height="52.666666666666657"/>
|
||||
<rect key="frame" x="144" y="50" width="140" height="52.666666666666657"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" secondItem="hPv-w5-A5k" secondAttribute="height" multiplier="8:3" id="3G1-6h-fef"/>
|
||||
<constraint firstAttribute="width" constant="140" id="Tgm-h7-QiJ"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="60" translatesAutoresizingMaskIntoConstraints="NO" id="b6i-JR-2Em">
|
||||
<rect key="frame" x="36" y="132.66666666666669" width="374" height="675.33333333333326"/>
|
||||
<rect key="frame" x="34" y="132.66666666666669" width="374" height="675.33333333333326"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Username Found" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sbg-9k-ezS" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="10" y="0.0" width="354" height="29"/>
|
||||
@@ -1525,7 +1525,7 @@ Sent to Your Parent’s Email</string>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="InZ-c5-sma">
|
||||
<rect key="frame" x="0.0" y="39.333333333333371" width="354" height="547"/>
|
||||
<rect key="frame" x="0.0" y="39.333333333333371" width="354" height="547.00000000000011"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</tableView>
|
||||
</subviews>
|
||||
@@ -1534,10 +1534,10 @@ Sent to Your Parent’s Email</string>
|
||||
<edgeInsets key="layoutMargins" top="0.0" left="10" bottom="0.0" right="10"/>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="KTf-VW-iuU">
|
||||
<rect key="frame" x="30" y="828" width="370" height="50"/>
|
||||
<rect key="frame" x="30" y="828" width="368" height="50"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pa7-nj-fa0" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="370" height="50"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="368" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="t2D-jB-n8u"/>
|
||||
</constraints>
|
||||
@@ -1709,43 +1709,43 @@ Sent to Your Parent’s Email</string>
|
||||
<size key="intrinsicContentSize" width="8.3333333333333339" height="23.333333333333332"/>
|
||||
</designable>
|
||||
<designable name="4gw-z0-s4a">
|
||||
<size key="intrinsicContentSize" width="200.66666666666666" height="20"/>
|
||||
<size key="intrinsicContentSize" width="150.66666666666666" height="20"/>
|
||||
</designable>
|
||||
<designable name="68c-1b-KSI">
|
||||
<size key="intrinsicContentSize" width="201.66666666666666" height="21"/>
|
||||
<size key="intrinsicContentSize" width="151.66666666666666" height="21"/>
|
||||
</designable>
|
||||
<designable name="81S-Fa-CiD">
|
||||
<size key="intrinsicContentSize" width="8.3333333333333339" height="23.333333333333332"/>
|
||||
</designable>
|
||||
<designable name="DSB-Ge-wNO">
|
||||
<size key="intrinsicContentSize" width="169" height="21"/>
|
||||
<size key="intrinsicContentSize" width="118.66666666666667" height="21"/>
|
||||
</designable>
|
||||
<designable name="Hcd-Mm-IxW">
|
||||
<size key="intrinsicContentSize" width="8.3333333333333339" height="23.333333333333332"/>
|
||||
</designable>
|
||||
<designable name="JRR-Bk-5UP">
|
||||
<size key="intrinsicContentSize" width="217.66666666666666" height="20"/>
|
||||
<size key="intrinsicContentSize" width="167.66666666666666" height="20"/>
|
||||
</designable>
|
||||
<designable name="MpT-bm-drv">
|
||||
<size key="intrinsicContentSize" width="8.3333333333333339" height="23.333333333333332"/>
|
||||
</designable>
|
||||
<designable name="Skx-Ig-91N">
|
||||
<size key="intrinsicContentSize" width="199" height="20"/>
|
||||
<size key="intrinsicContentSize" width="149" height="20"/>
|
||||
</designable>
|
||||
<designable name="aPP-h8-int">
|
||||
<size key="intrinsicContentSize" width="217.33333333333334" height="21"/>
|
||||
<size key="intrinsicContentSize" width="167.33333333333334" height="21"/>
|
||||
</designable>
|
||||
<designable name="iJE-dm-qal">
|
||||
<size key="intrinsicContentSize" width="200.66666666666666" height="20"/>
|
||||
<size key="intrinsicContentSize" width="150.66666666666666" height="20"/>
|
||||
</designable>
|
||||
<designable name="m50-FZ-yVO">
|
||||
<size key="intrinsicContentSize" width="201.66666666666666" height="21"/>
|
||||
<size key="intrinsicContentSize" width="151.66666666666666" height="21"/>
|
||||
</designable>
|
||||
<designable name="tgW-LH-XfR">
|
||||
<size key="intrinsicContentSize" width="169.33333333333334" height="21"/>
|
||||
<size key="intrinsicContentSize" width="119.33333333333333" height="21"/>
|
||||
</designable>
|
||||
<designable name="wy2-0C-rxG">
|
||||
<size key="intrinsicContentSize" width="201.66666666666666" height="21"/>
|
||||
<size key="intrinsicContentSize" width="151.66666666666666" height="21"/>
|
||||
</designable>
|
||||
</designables>
|
||||
<resources>
|
||||
|
||||
@@ -40,6 +40,7 @@ class UserDetailsRegisterVC : UIViewController{
|
||||
if self.isMovingFromParent {
|
||||
// Back button was pressed
|
||||
PersistentStorage.shared.addOthersCount()
|
||||
self.navigationController?.popToViewController(of: EmailVC.self, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,8 +16,6 @@ let appDelegate = UIApplication.shared.delegate as! AppDelegate
|
||||
|
||||
@main
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
|
||||
|
||||
var window: UIWindow?
|
||||
var deviceOrientation = UIInterfaceOrientationMask.portrait
|
||||
|
||||
@@ -12,6 +12,7 @@ class ShopProductsVC: UIViewController {
|
||||
@IBOutlet weak var subCategoryCV: UICollectionView!
|
||||
@IBOutlet weak var productCV: UICollectionView!
|
||||
@IBOutlet weak var spinnerView: UIActivityIndicatorView!
|
||||
@IBOutlet weak var noDataStack: UIStackView!
|
||||
|
||||
var vm = ShopProductsVM()
|
||||
|
||||
@@ -53,6 +54,9 @@ class ShopProductsVC: UIViewController {
|
||||
self.navigationController?.setColor(color: .black)
|
||||
}
|
||||
|
||||
@IBAction func retryBtnTapped(_ sender: UIButton) {
|
||||
vm.getCategory()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - CollectionView Delegate
|
||||
|
||||
@@ -142,6 +142,32 @@
|
||||
</collectionViewFlowLayout>
|
||||
<cells/>
|
||||
</collectionView>
|
||||
<stackView hidden="YES" opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="fZ1-nH-ZAg">
|
||||
<rect key="frame" x="113.66666666666669" y="318" width="166" height="241"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="SupportGirlImage" translatesAutoresizingMaskIntoConstraints="NO" id="Ri6-KR-VYL">
|
||||
<rect key="frame" x="0.0" y="0.0" width="166" height="166"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="No Data Found!" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mTY-wM-gmw" customClass="LocalisedElementsLabel" customModule="WOKA" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="176" width="166" height="24"/>
|
||||
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="20"/>
|
||||
<color key="textColor" name="TextDarkBlue"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a9p-0d-Xbb">
|
||||
<rect key="frame" x="0.0" y="210" width="166" height="31"/>
|
||||
<color key="tintColor" name="TextDarkBlue"/>
|
||||
<state key="normal" title="Button"/>
|
||||
<buttonConfiguration key="configuration" style="plain" title="Retry?">
|
||||
<fontDescription key="titleFontDescription" name="Exo2-Bold" family="Exo 2" pointSize="14"/>
|
||||
</buttonConfiguration>
|
||||
<connections>
|
||||
<action selector="retryBtnTapped:" destination="kU5-IV-9fW" eventType="touchUpInside" id="66A-Oc-nwA"/>
|
||||
<action selector="retryBtnTapped:" destination="50W-Kn-pPe" eventType="touchUpInside" id="Sfk-Hg-Axg"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="EEU-2F-lPA"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
@@ -149,6 +175,7 @@
|
||||
<constraint firstItem="03T-HE-97c" firstAttribute="leading" secondItem="EEU-2F-lPA" secondAttribute="leading" id="CpK-v3-Qcu"/>
|
||||
<constraint firstItem="Q7V-p9-fqq" firstAttribute="top" secondItem="qrc-nF-3bM" secondAttribute="bottom" id="HWr-qX-XVw"/>
|
||||
<constraint firstItem="EEU-2F-lPA" firstAttribute="bottom" secondItem="Q7V-p9-fqq" secondAttribute="bottom" id="PNe-VO-dMU"/>
|
||||
<constraint firstItem="fZ1-nH-ZAg" firstAttribute="centerY" secondItem="EEU-2F-lPA" secondAttribute="centerY" id="Sel-0y-Uha"/>
|
||||
<constraint firstItem="Fdg-SY-oNd" firstAttribute="top" secondItem="EEU-2F-lPA" secondAttribute="top" id="SpN-9a-czs"/>
|
||||
<constraint firstItem="EEU-2F-lPA" firstAttribute="trailing" secondItem="Fdg-SY-oNd" secondAttribute="trailing" id="W91-7B-A8x"/>
|
||||
<constraint firstItem="Q7V-p9-fqq" firstAttribute="centerX" secondItem="EEU-2F-lPA" secondAttribute="centerX" id="dxD-a5-NbF"/>
|
||||
@@ -158,6 +185,7 @@
|
||||
<constraint firstItem="EEU-2F-lPA" firstAttribute="trailing" secondItem="qrc-nF-3bM" secondAttribute="trailing" id="jAR-uY-cKV"/>
|
||||
<constraint firstItem="qrc-nF-3bM" firstAttribute="top" secondItem="ibd-Ky-5QZ" secondAttribute="bottom" constant="15" id="jFK-oJ-8HO"/>
|
||||
<constraint firstItem="Fdg-SY-oNd" firstAttribute="leading" secondItem="EEU-2F-lPA" secondAttribute="leading" id="q1i-Vc-6Pq"/>
|
||||
<constraint firstItem="fZ1-nH-ZAg" firstAttribute="centerX" secondItem="EEU-2F-lPA" secondAttribute="centerX" id="ss4-2Y-yT0"/>
|
||||
<constraint firstItem="03T-HE-97c" firstAttribute="trailing" secondItem="EEU-2F-lPA" secondAttribute="trailing" id="ttW-dy-Pb4"/>
|
||||
<constraint firstItem="EEU-2F-lPA" firstAttribute="trailing" secondItem="ibd-Ky-5QZ" secondAttribute="trailing" id="uiq-HX-kWV"/>
|
||||
<constraint firstItem="qrc-nF-3bM" firstAttribute="leading" secondItem="EEU-2F-lPA" secondAttribute="leading" id="uux-x1-sEU"/>
|
||||
@@ -165,6 +193,7 @@
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="noDataStack" destination="fZ1-nH-ZAg" id="f96-BI-pgI"/>
|
||||
<outlet property="productCV" destination="qrc-nF-3bM" id="0dx-wj-O2z"/>
|
||||
<outlet property="spinnerView" destination="Q7V-p9-fqq" id="34Z-yw-ohr"/>
|
||||
<outlet property="subCategoryCV" destination="ibd-Ky-5QZ" id="0j8-y0-HeP"/>
|
||||
|
||||
@@ -78,14 +78,14 @@ class ShopProductsVM{
|
||||
Error
|
||||
*/
|
||||
Utilities.dismissProgressHUD()
|
||||
Utilities.alertWithBtnCompletion(title: "Error", msgBody: data.message ?? K.ConstantString.unRecognised, okBtnStr: "Retry?", vc: self.vc) { isDone in
|
||||
if isDone{
|
||||
self.getCategory()
|
||||
}
|
||||
}
|
||||
self.vc.toast(msg: data.message ?? K.ConstantString.unRecognised, time: 1.5)
|
||||
self.vc.noDataStack.isHidden = false
|
||||
case 1:
|
||||
Utilities.dismissProgressHUD()
|
||||
guard let data = data.data?.result else{return}
|
||||
guard let data = data.data?.result else{
|
||||
self.vc.noDataStack.isHidden = false
|
||||
return
|
||||
}
|
||||
self.subCategoryData.append(ShopSubCategoryDM.ResultData(id: -1, categoryMasterID: 0, subCategoryName: " All ", subCategoryThumbnail: ""))
|
||||
self.subCategoryData.append(contentsOf: data)
|
||||
self.selectedSubCategory = -1
|
||||
@@ -94,6 +94,7 @@ class ShopProductsVM{
|
||||
Utilities.startProgressHUD()
|
||||
self.getShopProducts(subCategoryID: subCatID)
|
||||
}
|
||||
self.vc.noDataStack.isHidden = true
|
||||
default:
|
||||
Utilities.dismissProgressHUD()
|
||||
break
|
||||
@@ -104,11 +105,8 @@ class ShopProductsVM{
|
||||
return
|
||||
}
|
||||
Utilities.dismissProgressHUD()
|
||||
Utilities.alertWithBtnCompletion(title: "Error", msgBody: error.localizedDescription, okBtnStr: "Retry?", vc: self.vc) { isDone in
|
||||
if isDone{
|
||||
self.getCategory()
|
||||
}
|
||||
}
|
||||
self.vc.toast(msg: error.localizedDescription, time: 1.5)
|
||||
self.vc.noDataStack.isHidden = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,17 @@ class PlayerVC: JWPlayerViewController, JWPlayerViewControllerDelegate{
|
||||
override var shouldAutorotate: Bool {
|
||||
return true
|
||||
}
|
||||
|
||||
override var prefersStatusBarHidden: Bool {
|
||||
if #available(iOS 16.0, *) {
|
||||
// Code for iOS 16.0 and above
|
||||
return false
|
||||
} else {
|
||||
// Fallback code for earlier iOS versions
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
@@ -45,25 +56,32 @@ class PlayerVC: JWPlayerViewController, JWPlayerViewControllerDelegate{
|
||||
self.delegate = self
|
||||
vm.vc = self
|
||||
vm.initView()
|
||||
// rotateView(to: .pi / 2) // Example: 90 degrees rotation
|
||||
//bring back button to the front
|
||||
self.view.bringSubviewToFront(backButton)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(appDidEnterBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(appWillEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)
|
||||
}
|
||||
|
||||
// func rotateView(to angle: CGFloat) {
|
||||
// // Apply rotation to the view's transform
|
||||
// view.transform = CGAffineTransform(rotationAngle: angle)
|
||||
// }
|
||||
|
||||
// for ios 15 and below
|
||||
func rotateView(to angle: CGFloat) {
|
||||
// Apply rotation to the view's transform
|
||||
view.transform = CGAffineTransform(rotationAngle: angle)
|
||||
}
|
||||
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
|
||||
appDelegate.deviceOrientation = .landscapeRight
|
||||
let value = UIInterfaceOrientation.landscapeRight.rawValue
|
||||
UIDevice.current.setValue(value, forKey: "orientation")
|
||||
|
||||
if #available(iOS 16.0, *) {
|
||||
// Code for iOS 15.0 and above
|
||||
print("Running on iOS 15.0 or later")
|
||||
appDelegate.deviceOrientation = .landscapeRight
|
||||
let value = UIInterfaceOrientation.landscapeRight.rawValue
|
||||
UIDevice.current.setValue(value, forKey: "orientation")
|
||||
} else {
|
||||
// Fallback code for earlier iOS versions
|
||||
rotateView(to: .pi / 2) // Example: 90 degrees rotation
|
||||
print("Running on a version earlier than iOS 15.0")
|
||||
}
|
||||
|
||||
//Disable Picture in Picture
|
||||
playerView.allowsPictureInPicturePlayback = false
|
||||
@@ -380,11 +398,19 @@ extension PlayerVC {
|
||||
|
||||
func playerViewControllerDidDismissFullScreen(_ controller: JWPlayerViewController) {
|
||||
print("playerViewControllerDidDismissFullScreen")
|
||||
appDelegate.deviceOrientation = .portrait
|
||||
vm.updateClicks()
|
||||
let value = UIInterfaceOrientation.portrait.rawValue
|
||||
UIDevice.current.setValue(value, forKey: "orientation")
|
||||
UIViewController.attemptRotationToDeviceOrientation()
|
||||
|
||||
if #available(iOS 16.0, *) {
|
||||
// Code for iOS 16.0 and above
|
||||
appDelegate.deviceOrientation = .portrait
|
||||
let value = UIInterfaceOrientation.portrait.rawValue
|
||||
UIDevice.current.setValue(value, forKey: "orientation")
|
||||
UIViewController.attemptRotationToDeviceOrientation()
|
||||
} else {
|
||||
// Fallback code for earlier iOS versions
|
||||
self.dismiss(animated: true)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,6 @@ class ThemeOneVC: UIViewController {
|
||||
// PersistentStorage.shared.deleteData()
|
||||
// PersistentStorage.shared.retrieveData()
|
||||
vm.setupAvPlayer()
|
||||
|
||||
}
|
||||
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
@@ -101,9 +100,13 @@ class ThemeOneVC: UIViewController {
|
||||
}
|
||||
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
vm.shouldAnimate = true
|
||||
K.GVar.topView = .theme1
|
||||
vm.moveLiveTVView()
|
||||
|
||||
vm.shouldAnimate = true
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in
|
||||
guard let self else{return}
|
||||
vm.moveLiveTVView()
|
||||
}
|
||||
if let player = vm.avPlayer{
|
||||
player.play()
|
||||
}
|
||||
|
||||
@@ -49,6 +49,8 @@ class UserNotificationVC: UIViewController {
|
||||
|
||||
@IBAction func retryBtnTapped(_ sender: UIButton) {
|
||||
PersistentStorage.shared.addOthersCount()
|
||||
Utilities.startProgressHUD()
|
||||
vm.getUserNotification()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -117,12 +117,19 @@ class PlayerVM{
|
||||
if vc.contentType == .liveStream{
|
||||
self.vc.dismissTapped?()
|
||||
}
|
||||
appDelegate.deviceOrientation = .portrait
|
||||
updateClicks()
|
||||
|
||||
if #available(iOS 16.0, *) {
|
||||
// Code for iOS 15.0 and above
|
||||
appDelegate.deviceOrientation = .portrait
|
||||
let value = UIInterfaceOrientation.portrait.rawValue
|
||||
UIDevice.current.setValue(value, forKey: "orientation")
|
||||
UIViewController.attemptRotationToDeviceOrientation()
|
||||
} else {
|
||||
// Fallback code for earlier iOS versions
|
||||
self.vc.dismiss(animated: true)
|
||||
}
|
||||
|
||||
let value = UIInterfaceOrientation.portrait.rawValue
|
||||
UIDevice.current.setValue(value, forKey: "orientation")
|
||||
UIViewController.attemptRotationToDeviceOrientation()
|
||||
}
|
||||
|
||||
func updateClicks(){
|
||||
|
||||
@@ -338,12 +338,15 @@ class ThemeOneVM{
|
||||
}
|
||||
|
||||
func moveLiveTVView() {
|
||||
|
||||
guard shouldAnimate else {
|
||||
self.centerLiveTVViewHorizontally()
|
||||
return
|
||||
} // Stop animating if shouldAnimate is false
|
||||
}
|
||||
|
||||
// Stop animating if shouldAnimate is false
|
||||
guard let vc = self.vc else { return } // Ensure the view controller is available
|
||||
UIView.animate(withDuration: 6, delay: 0, options: [.allowUserInteraction], animations: { [weak self] in
|
||||
UIView.animate(withDuration: 8, delay: 0, options: [.allowUserInteraction], animations: { [weak self] in
|
||||
guard let self = self else { return }
|
||||
let margin: CGFloat = 30
|
||||
let screenWidth = vc.view.frame.width
|
||||
@@ -473,12 +476,14 @@ class ThemeOneVM{
|
||||
}
|
||||
|
||||
func tapped(){
|
||||
Timer.scheduledTimer(withTimeInterval: 0.2, repeats: false) { _ in
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { [weak self] in
|
||||
guard let self else{return}
|
||||
isMovingRight = false
|
||||
self.avPlayer.play()
|
||||
self.moveLiveTVView()
|
||||
self.vc.liveTvPlayer.layoutIfNeeded()
|
||||
}
|
||||
print("Sadasd")
|
||||
print("Player Will Exit")
|
||||
}
|
||||
|
||||
func startLiveStream(){
|
||||
|
||||
Reference in New Issue
Block a user