Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clear playlistItems when navigating on YT #2587

Open
wants to merge 14 commits into
base: feature/Playlists
from
Open
Changes from 1 commit
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Playlists working.

  • Loading branch information
Brandon-T committed Apr 7, 2020
commit d5d6e24272f44e8d7a67113314039686e0f570df
@@ -566,6 +566,7 @@ extension Strings {
public static let openExternalAppURLDontAllow = NSLocalizedString("ExternalAppURLDontAllow", tableName: "BraveShared", bundle: Bundle.braveShared, value: "Don't Allow", comment: "Don't allow Brave to open the external app URL")
public static let downloadsMenuItem = NSLocalizedString("DownloadsMenuItem", tableName: "BraveShared", bundle: Bundle.braveShared, value: "Downloads", comment: "Title for downloads menu item")
public static let downloadsPanelEmptyStateTitle = NSLocalizedString("DownloadsPanelEmptyStateTitle", tableName: "BraveShared", bundle: Bundle.braveShared, value: "Downloaded files will show up here.", comment: "Title for when a user has nothing downloaded onto their device, and the list is empty.")
public static let playlistMenuItem = NSLocalizedString("PlaylistMenuItem", tableName: "BraveShared", bundle: Bundle.braveShared, value: "Playlist", comment: "Title for playlist menu item")

// MARK: - Themes
@@ -705,6 +705,7 @@
5E77F9A8236B362800E1649C /* DeviceCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E856FE7235E083B0094E113 /* DeviceCheck.swift */; };
5E77F9AA236B362E00E1649C /* Cryptography.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E856FE5235E08110094E113 /* Cryptography.swift */; };
5E77F9DD236BB68700E1649C /* AttestationDebugger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E77F9DC236BB68700E1649C /* AttestationDebugger.swift */; };
5E8B486923983BFC0075A4EF /* CarplayMediaManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E8B486823983BFC0075A4EF /* CarplayMediaManager.swift */; };
5E8CD8E123D5E3DA00548FC0 /* libarchive.2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E8CD8E023D5E3D100548FC0 /* libarchive.2.tbd */; };
5E9288CA22DF864C007BE7A6 /* TabSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E9288C922DF864C007BE7A6 /* TabSessionTests.swift */; };
5EA8438E234F802C00076A91 /* expired.badssl.com-root-ca.cer in Resources */ = {isa = PBXBuildFile; fileRef = 5EA84389234F802C00076A91 /* expired.badssl.com-root-ca.cer */; };
@@ -718,8 +719,12 @@
5EC594ED232C2C8F00922111 /* OnboardingWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC594EC232C2C8F00922111 /* OnboardingWebViewController.swift */; };
5EC594EF232C68FC00922111 /* OnboardingAdsCountdownViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC594EE232C68FC00922111 /* OnboardingAdsCountdownViewController.swift */; };
5EC594F1232C697200922111 /* OnboardingAdsCountdownView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC594F0232C697200922111 /* OnboardingAdsCountdownView.swift */; };
5ED3F388239AD7EC0048CE56 /* Playlist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED3F387239AD7EC0048CE56 /* Playlist.swift */; };
5ED3F38F239AD9A30048CE56 /* PlaylistItem+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED3F38D239AD9A30048CE56 /* PlaylistItem+CoreDataClass.swift */; };
5ED3F390239AD9A30048CE56 /* PlaylistItem+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED3F38E239AD9A30048CE56 /* PlaylistItem+CoreDataProperties.swift */; };
5EE5918123A290E000E8E8DE /* CoreNFC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F926647A234D4EF400359492 /* CoreNFC.framework */; };
5EEB25DE234E667700279091 /* CertificatePinningTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EEB25DD234E667700279091 /* CertificatePinningTest.swift */; };
5EFBDD2A240DABC90045F8A5 /* Playlist.xcdatamodeld in Resources */ = {isa = PBXBuildFile; fileRef = 5ED3F38A239AD89D0048CE56 /* Playlist.xcdatamodeld */; };
744ED5611DBFEB8D00A2B5BE /* MailtoLinkHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 744ED5601DBFEB8D00A2B5BE /* MailtoLinkHandler.swift */; };
7479B4EF1C5306A200DF000B /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7479B4ED1C5306A200DF000B /* Reachability.swift */; };
74821FFE1DB6D3AC00EEEA72 /* MailSchemes.plist in Resources */ = {isa = PBXBuildFile; fileRef = 74821FFD1DB6D3AC00EEEA72 /* MailSchemes.plist */; };
@@ -2204,6 +2209,7 @@
5E77F9DC236BB68700E1649C /* AttestationDebugger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttestationDebugger.swift; sourceTree = "<group>"; };
5E856FE5235E08110094E113 /* Cryptography.swift */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.swift; path = Cryptography.swift; sourceTree = "<group>"; tabWidth = 2; };
5E856FE7235E083B0094E113 /* DeviceCheck.swift */ = {isa = PBXFileReference; indentWidth = 2; lastKnownFileType = sourcecode.swift; path = DeviceCheck.swift; sourceTree = "<group>"; tabWidth = 2; };
5E8B486823983BFC0075A4EF /* CarplayMediaManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarplayMediaManager.swift; sourceTree = "<group>"; };
5E8CD8E023D5E3D100548FC0 /* libarchive.2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libarchive.2.tbd; path = usr/lib/libarchive.2.tbd; sourceTree = SDKROOT; };
5E9288C922DF864C007BE7A6 /* TabSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabSessionTests.swift; sourceTree = "<group>"; };
5EA84389234F802C00076A91 /* expired.badssl.com-root-ca.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = "expired.badssl.com-root-ca.cer"; sourceTree = "<group>"; };
@@ -2215,6 +2221,10 @@
5EC594EC232C2C8F00922111 /* OnboardingWebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingWebViewController.swift; sourceTree = "<group>"; };
5EC594EE232C68FC00922111 /* OnboardingAdsCountdownViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingAdsCountdownViewController.swift; sourceTree = "<group>"; };
5EC594F0232C697200922111 /* OnboardingAdsCountdownView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingAdsCountdownView.swift; sourceTree = "<group>"; };
5ED3F387239AD7EC0048CE56 /* Playlist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Playlist.swift; sourceTree = "<group>"; };
5ED3F38B239AD89D0048CE56 /* Playlist.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Playlist.xcdatamodel; sourceTree = "<group>"; };
5ED3F38D239AD9A30048CE56 /* PlaylistItem+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PlaylistItem+CoreDataClass.swift"; sourceTree = "<group>"; };
5ED3F38E239AD9A30048CE56 /* PlaylistItem+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PlaylistItem+CoreDataProperties.swift"; sourceTree = "<group>"; };
5EEB25DD234E667700279091 /* CertificatePinningTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CertificatePinningTest.swift; sourceTree = "<group>"; };
610967E5236B41C9000F10EA /* zh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh; path = zh.lproj/Localizable.strings; sourceTree = "<group>"; };
6117A72C236B41D000921BFB /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = "zh-TW.lproj/Localizable.strings"; sourceTree = "<group>"; };
@@ -4254,6 +4264,19 @@
path = DeviceCheck;
sourceTree = "<group>";
};
5E8B486723983BCA0075A4EF /* Playlists */ = {
isa = PBXGroup;
children = (
5ED3F38D239AD9A30048CE56 /* PlaylistItem+CoreDataClass.swift */,
5ED3F38E239AD9A30048CE56 /* PlaylistItem+CoreDataProperties.swift */,
5E6B9A3F2395752300E6720C /* PlaylistManager.swift */,
5E8B486823983BFC0075A4EF /* CarplayMediaManager.swift */,
5ED3F387239AD7EC0048CE56 /* Playlist.swift */,
5ED3F38A239AD89D0048CE56 /* Playlist.xcdatamodeld */,
);
path = Playlists;
sourceTree = "<group>";
};
5EA84392234F803100076A91 /* Certificates */ = {
isa = PBXGroup;
children = (
@@ -4512,6 +4535,7 @@
D3A994941A368691008AD1AC /* Browser */ = {
isa = PBXGroup;
children = (
5E8B486723983BCA0075A4EF /* Playlists */,
0A3C789423055AC80022F6D8 /* Onboarding */,
C6D267612137E45D00465DFA /* PrivacyProtection */,
C6D267592137E39A00465DFA /* ImageCache */,
@@ -4549,7 +4573,6 @@
D0C95E35200FDC5400E4E51C /* MetadataParserHelper.swift */,
A9072B7F1D07B34100459960 /* NoImageModeHelper.swift */,
7BA8D1C61BA037F500C8AE9E /* OpenInHelper.swift */,
5E6B9A3F2395752300E6720C /* PlaylistManager.swift */,
D0C95E0D200FD3B200E4E51C /* PrintHelper.swift */,
D31CF65B1CC1959A001D0BD0 /* PrivilegedRequest.swift */,
FA6B2AC11D41F02D00429414 /* Punycode.swift */,
F84B21BD1A090F8100AAB793 = {
CreatedOnToolsVersion = 6.1;
LastSwiftMigration = 1010;
ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.ApplicationGroups.iOS = {
enabled = 1;
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5EFBDD2A240DABC90045F8A5 /* Playlist.xcdatamodeld in Resources */,
5E0FCD212342526700AC831E /* FullscreenHelper.js in Resources */,
D38A1EE01CB458EC0080C842 /* CertError.html in Resources */,
5D5374A523846FFC00A2B587 /* ben-karpinski.jpg in Resources */,
5D5E2361238C386B00AD6FBD /* NTPTableViewController.swift in Sources */,
E4CD9F6D1A77DD2800318571 /* ReaderModeStyleViewController.swift in Sources */,
D0FCF7F51FE45842004A7995 /* UserScriptManager.swift in Sources */,
5ED3F390239AD9A30048CE56 /* PlaylistItem+CoreDataProperties.swift in Sources */,
E4A960061ABB9C450069AD6F /* ReaderModeUtils.swift in Sources */,
0A1E843E2190A57F0042F782 /* SyncCodewordsView.swift in Sources */,
E68F36981EA694000048CF44 /* PanelDataObservers.swift in Sources */,
D0C95E36200FDC5500E4E51C /* MetadataParserHelper.swift in Sources */,
4422D55B21BFFB7F00BF1855 /* onepass.cc in Sources */,
0A3C78A1230597DA0022F6D8 /* OnboardingShieldsViewController.swift in Sources */,
A1CDF22D20BDDB66005C6E58 /* BasicAnimationController.swift in Sources */,
5E8B486923983BFC0075A4EF /* CarplayMediaManager.swift in Sources */,
0BF1B7E31AC60DEA00A7B407 /* InsetButton.swift in Sources */,
D0C95EF6201A55A800E4E51C /* BrowserViewController+UIDropInteractionDelegate.swift in Sources */,
44331DD622551E15007E3E93 /* ToolbarProtocols.swift in Sources */,
0A1E84422190A57F0042F782 /* SyncPairCameraViewController.swift in Sources */,
44331DDC22561F34007E3E93 /* ToolbarUrlActionsDelegate.swift in Sources */,
4422D43721BFD29E00BF1855 /* NSData+GZIP.m in Sources */,
5ED3F388239AD7EC0048CE56 /* Playlist.swift in Sources */,
D31CF65C1CC1959A001D0BD0 /* PrivilegedRequest.swift in Sources */,
0A764F31230EE5CA003A1D9B /* OnboardingState.swift in Sources */,
D8D33A7D1FBD080300A20A28 /* SnapKitExtensions.swift in Sources */,
4422D50721BFFB7600BF1855 /* port_posix.cc in Sources */,
E64ED8FA1BC55AE300DAF864 /* UIAlertControllerExtensions.swift in Sources */,
A16DC67F20E585D90069C8E1 /* PasscodeSettingsViewController.swift in Sources */,
A1D8420320BC44F800BDAFF7 /* PopoverContainerView.swift in Sources */,
5ED3F38F239AD9A30048CE56 /* PlaylistItem+CoreDataClass.swift in Sources */,
4422D56221BFFB7F00BF1855 /* dfa.cc in Sources */,
A1AD4BE120C082EF007A6EA1 /* UIGestureRecognizerExtensions.swift in Sources */,
282DA4731A68C1E700A406E2 /* OpenSearch.swift in Sources */,
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon_Nightly;
CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Client/Entitlements/FennecApplication.entitlements";
CODE_SIGN_STYLE = Automatic;
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = PVNDH8GA5R;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"-framework",
CoreMedia,
);
PRODUCT_BUNDLE_IDENTIFIER = brave.brandonanthony.local;
PRODUCT_MODULE_NAME = Client;
PRODUCT_NAME = Client;
PROVISIONING_PROFILE_SPECIFIER = CarPlay;
SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/Client/Application/Client-Bridging-Header.h";
SWIFT_VERSION = 5.0;
};
sourceTree = "<group>";
versionGroupType = wrapper.xcdatamodel;
};
5ED3F38A239AD89D0048CE56 /* Playlist.xcdatamodeld */ = {
isa = XCVersionGroup;
children = (
5ED3F38B239AD89D0048CE56 /* Playlist.xcdatamodel */,
);
currentVersion = 5ED3F38B239AD89D0048CE56 /* Playlist.xcdatamodel */;
path = Playlist.xcdatamodeld;
sourceTree = "<group>";
versionGroupType = wrapper.xcdatamodel;
};
/* End XCVersionGroup section */
};
rootObject = F84B21B61A090F8100AAB793 /* Project object */;
@@ -4,14 +4,14 @@
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.security.application-groups</key>
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>group.$(LOCAL_BUNDLE_ID)</string>
<string>NDEF</string>
<string>TAG</string>
</array>
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>NDEF</string>
<string>TAG</string>
</array>
<key>com.apple.developer.playable-content</key>
<true/>
<key>com.apple.security.application-groups</key>
<array/>
</dict>
</plist>
@@ -44,6 +44,11 @@ class PlaylistViewController: UIViewController {

private func updateItems() {
playlistItems = tabManager.tabsForCurrentMode.map({ $0.playlistItems }).flatMap({ $0.value })
playlistItems.forEach({
Playlist.shared.addItem(item: $0)
})

CarplayMediaManager.shared.updatePlayableItems()
}

var player: AVPlayer?
@@ -68,7 +73,7 @@ extension PlaylistViewController: UITableViewDataSource {
}

cell.selectionStyle = .none
cell.titleLabel.text = playlistItems[indexPath.row].name
cell.titleLabel.text = playlistItems[indexPath.row].title
cell.playButton.setTitle("Play", for: .normal)
cell.playButton.tag = indexPath.row
cell.playButton.addTarget(self, action: #selector(onPlay(_:)), for: .touchUpInside)
@@ -78,7 +83,7 @@ extension PlaylistViewController: UITableViewDataSource {
@objc
private func onPlay(_ button: UIButton) {
let item = self.playlistItems[button.tag]
let player = AVPlayer(url: URL(string: item.src)!)
let player = AVPlayer(url: URL(string: item.mediaSource)!)

do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .moviePlayback, options: [.duckOthers])
@@ -112,12 +117,13 @@ private class PlaylistCell: UITableViewCell {

let titleLabel = UILabel().then {
$0.font = UIFont.systemFont(ofSize: 12.0, weight: .medium)
$0.setContentHuggingPriority(.defaultLow, for: .horizontal)
$0.setContentHuggingPriority(.defaultHigh, for: .horizontal)
}

let playButton = UIButton().then {
$0.setTitleColor(.blue, for: .normal)
$0.setContentHuggingPriority(.required, for: .horizontal)
$0.setContentCompressionResistancePriority(.required, for: .horizontal)
}

override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.