Merge branch 'mkirk/default-audio-fallback-push'

This commit is contained in:
Michael Kirk 2018-02-27 10:22:35 -05:00
commit 87fa553a7a
55 changed files with 177 additions and 124 deletions

View File

@ -11,18 +11,6 @@
34074F5B203D093B004596AE /* OWSSoundSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074F59203D093A004596AE /* OWSSoundSettingsViewController.m */; };
34074F61203D0CBE004596AE /* OWSSounds.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074F5F203D0CBD004596AE /* OWSSounds.m */; };
34074F62203D0CBE004596AE /* OWSSounds.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074F60203D0CBE004596AE /* OWSSounds.h */; settings = {ATTRIBUTES = (Public, ); }; };
34074FEE203E5436004596AE /* aurora.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FC6203E5435004596AE /* aurora.m4r */; };
34074FEF203E5436004596AE /* bamboo.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FC7203E5435004596AE /* bamboo.m4r */; };
34074FF0203E5436004596AE /* chord.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FC8203E5435004596AE /* chord.m4r */; };
34074FF1203E5436004596AE /* circles.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FC9203E5435004596AE /* circles.m4r */; };
34074FF2203E5436004596AE /* complete.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FCA203E5435004596AE /* complete.m4r */; };
34074FF3203E5436004596AE /* hello.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FCB203E5435004596AE /* hello.m4r */; };
34074FF4203E5436004596AE /* input.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FCC203E5435004596AE /* input.m4r */; };
34074FF5203E5436004596AE /* keys.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FCD203E5435004596AE /* keys.m4r */; };
34074FF6203E5436004596AE /* note.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FCE203E5435004596AE /* note.m4r */; };
34074FF7203E5436004596AE /* popcorn.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FCF203E5435004596AE /* popcorn.m4r */; };
34074FF8203E5436004596AE /* pulse.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FD0203E5435004596AE /* pulse.m4r */; };
34074FF9203E5436004596AE /* synth.m4r in Resources */ = {isa = PBXBuildFile; fileRef = 34074FD1203E5435004596AE /* synth.m4r */; };
340B02BA1FA0D6C700F9CFEC /* ConversationViewItemTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 340B02B91FA0D6C700F9CFEC /* ConversationViewItemTest.m */; };
340CB2271EAC25820001CAA1 /* UpdateGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 340CB2261EAC25820001CAA1 /* UpdateGroupViewController.m */; };
341F2C0F1F2B8AE700D07D6B /* DebugUIMisc.m in Sources */ = {isa = PBXBuildFile; fileRef = 341F2C0E1F2B8AE700D07D6B /* DebugUIMisc.m */; };
@ -223,18 +211,6 @@
34F77040203F55D000C7CBB7 /* OWS107LegacySounds.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F7703E203F55D000C7CBB7 /* OWS107LegacySounds.m */; };
34F77041203F55D000C7CBB7 /* OWS107LegacySounds.h in Headers */ = {isa = PBXBuildFile; fileRef = 34F7703F203F55D000C7CBB7 /* OWS107LegacySounds.h */; };
34F77045203F5E4C00C7CBB7 /* messageReceivedClassic-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77044203F5E4B00C7CBB7 /* messageReceivedClassic-quiet.caf */; };
34F77052203F5E6800C7CBB7 /* note-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77046203F5E6200C7CBB7 /* note-quiet.caf */; };
34F77053203F5E6800C7CBB7 /* popcorn-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77047203F5E6200C7CBB7 /* popcorn-quiet.caf */; };
34F77054203F5E6800C7CBB7 /* complete-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77048203F5E6200C7CBB7 /* complete-quiet.caf */; };
34F77055203F5E6800C7CBB7 /* synth-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77049203F5E6200C7CBB7 /* synth-quiet.caf */; };
34F77056203F5E6800C7CBB7 /* aurora-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F7704A203F5E6300C7CBB7 /* aurora-quiet.caf */; };
34F77057203F5E6800C7CBB7 /* chord-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F7704B203F5E6300C7CBB7 /* chord-quiet.caf */; };
34F77058203F5E6800C7CBB7 /* circles-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F7704C203F5E6300C7CBB7 /* circles-quiet.caf */; };
34F77059203F5E6800C7CBB7 /* input-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F7704D203F5E6300C7CBB7 /* input-quiet.caf */; };
34F7705A203F5E6800C7CBB7 /* pulse-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F7704E203F5E6700C7CBB7 /* pulse-quiet.caf */; };
34F7705B203F5E6800C7CBB7 /* keys-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F7704F203F5E6700C7CBB7 /* keys-quiet.caf */; };
34F7705C203F5E6800C7CBB7 /* hello-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77050203F5E6700C7CBB7 /* hello-quiet.caf */; };
34F7705D203F5E6800C7CBB7 /* bamboo-quiet.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34F77051203F5E6700C7CBB7 /* bamboo-quiet.caf */; };
34FD93701E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 34FD936F1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m */; };
4505C2BF1E648EA300CEBF41 /* ExperienceUpgrade.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4505C2BE1E648EA300CEBF41 /* ExperienceUpgrade.swift */; };
450998651FD8A34D00D89EB3 /* DeviceSleepManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 348F2EAD1F0D21BC00D4ECE0 /* DeviceSleepManager.swift */; };
@ -327,10 +303,35 @@
458E38371D668EBF0094BD24 /* OWSDeviceProvisioningURLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 458E38361D668EBF0094BD24 /* OWSDeviceProvisioningURLParser.m */; };
458E383A1D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 458E38391D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m */; };
459311FC1D75C948008DD4F0 /* OWSDeviceTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 459311FB1D75C948008DD4F0 /* OWSDeviceTableViewCell.m */; };
45A2F005204473A3002E978A /* NewMessage.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45A2F004204473A3002E978A /* NewMessage.aifc */; };
45A663C51F92EC760027B59E /* GroupTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A663C41F92EC760027B59E /* GroupTableViewCell.swift */; };
45A6DAD61EBBF85500893231 /* ReminderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A6DAD51EBBF85500893231 /* ReminderView.swift */; };
45AE48511E0732D6004D96C2 /* TurnServerInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45AE48501E0732D6004D96C2 /* TurnServerInfo.swift */; };
45B27B862037FFB400A539DF /* DebugUIFileBrowser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45B27B852037FFB400A539DF /* DebugUIFileBrowser.swift */; };
45B74A742044AAB600CD42F8 /* aurora-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A5B2044AAB300CD42F8 /* aurora-quiet.aifc */; };
45B74A752044AAB600CD42F8 /* synth-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A5C2044AAB300CD42F8 /* synth-quiet.aifc */; };
45B74A762044AAB600CD42F8 /* keys-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A5D2044AAB400CD42F8 /* keys-quiet.aifc */; };
45B74A772044AAB600CD42F8 /* hello.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A5E2044AAB400CD42F8 /* hello.aifc */; };
45B74A782044AAB600CD42F8 /* bamboo-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A5F2044AAB400CD42F8 /* bamboo-quiet.aifc */; };
45B74A792044AAB600CD42F8 /* input.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A602044AAB400CD42F8 /* input.aifc */; };
45B74A7A2044AAB600CD42F8 /* keys.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A612044AAB400CD42F8 /* keys.aifc */; };
45B74A7B2044AAB600CD42F8 /* chord.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A622044AAB400CD42F8 /* chord.aifc */; };
45B74A7C2044AAB600CD42F8 /* hello-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A632044AAB400CD42F8 /* hello-quiet.aifc */; };
45B74A7D2044AAB600CD42F8 /* popcorn-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A642044AAB400CD42F8 /* popcorn-quiet.aifc */; };
45B74A7E2044AAB600CD42F8 /* complete.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A652044AAB400CD42F8 /* complete.aifc */; };
45B74A7F2044AAB600CD42F8 /* note-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A662044AAB400CD42F8 /* note-quiet.aifc */; };
45B74A802044AAB600CD42F8 /* pulse-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A672044AAB500CD42F8 /* pulse-quiet.aifc */; };
45B74A812044AAB600CD42F8 /* chord-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A682044AAB500CD42F8 /* chord-quiet.aifc */; };
45B74A822044AAB600CD42F8 /* pulse.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A692044AAB500CD42F8 /* pulse.aifc */; };
45B74A832044AAB600CD42F8 /* circles.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A6A2044AAB500CD42F8 /* circles.aifc */; };
45B74A842044AAB600CD42F8 /* popcorn.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A6B2044AAB500CD42F8 /* popcorn.aifc */; };
45B74A852044AAB600CD42F8 /* bamboo.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A6C2044AAB500CD42F8 /* bamboo.aifc */; };
45B74A862044AAB600CD42F8 /* note.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A6D2044AAB500CD42F8 /* note.aifc */; };
45B74A872044AAB600CD42F8 /* complete-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A6E2044AAB500CD42F8 /* complete-quiet.aifc */; };
45B74A882044AAB600CD42F8 /* aurora.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A6F2044AAB500CD42F8 /* aurora.aifc */; };
45B74A892044AAB600CD42F8 /* circles-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A702044AAB500CD42F8 /* circles-quiet.aifc */; };
45B74A8B2044AAB600CD42F8 /* synth.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A722044AAB600CD42F8 /* synth.aifc */; };
45B74A8C2044AAB600CD42F8 /* input-quiet.aifc in Resources */ = {isa = PBXBuildFile; fileRef = 45B74A732044AAB600CD42F8 /* input-quiet.aifc */; };
45B9EE9C200E91FB005D2F2D /* MediaDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 45B9EE9B200E91FB005D2F2D /* MediaDetailViewController.m */; };
45BB93381E688E14001E3939 /* UIDevice+featureSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BB93371E688E14001E3939 /* UIDevice+featureSupport.swift */; };
45BC829D1FD9C4B400011CF3 /* ShareViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45BC829C1FD9C4B400011CF3 /* ShareViewDelegate.swift */; };
@ -512,18 +513,6 @@
34074F5A203D093B004596AE /* OWSSoundSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSSoundSettingsViewController.h; sourceTree = "<group>"; };
34074F5F203D0CBD004596AE /* OWSSounds.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSSounds.m; sourceTree = "<group>"; };
34074F60203D0CBE004596AE /* OWSSounds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSSounds.h; sourceTree = "<group>"; };
34074FC6203E5435004596AE /* aurora.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = aurora.m4r; sourceTree = "<group>"; };
34074FC7203E5435004596AE /* bamboo.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = bamboo.m4r; sourceTree = "<group>"; };
34074FC8203E5435004596AE /* chord.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = chord.m4r; sourceTree = "<group>"; };
34074FC9203E5435004596AE /* circles.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = circles.m4r; sourceTree = "<group>"; };
34074FCA203E5435004596AE /* complete.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = complete.m4r; sourceTree = "<group>"; };
34074FCB203E5435004596AE /* hello.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = hello.m4r; sourceTree = "<group>"; };
34074FCC203E5435004596AE /* input.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = input.m4r; sourceTree = "<group>"; };
34074FCD203E5435004596AE /* keys.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = keys.m4r; sourceTree = "<group>"; };
34074FCE203E5435004596AE /* note.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = note.m4r; sourceTree = "<group>"; };
34074FCF203E5435004596AE /* popcorn.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = popcorn.m4r; sourceTree = "<group>"; };
34074FD0203E5435004596AE /* pulse.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = pulse.m4r; sourceTree = "<group>"; };
34074FD1203E5435004596AE /* synth.m4r */ = {isa = PBXFileReference; lastKnownFileType = file; path = synth.m4r; sourceTree = "<group>"; };
340B02B61F9FD31800F9CFEC /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = translations/he.lproj/Localizable.strings; sourceTree = "<group>"; };
340B02B91FA0D6C700F9CFEC /* ConversationViewItemTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConversationViewItemTest.m; sourceTree = "<group>"; };
340CB2221EAC155C0001CAA1 /* ContactsViewHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsViewHelper.h; sourceTree = "<group>"; };
@ -813,18 +802,6 @@
34F7703E203F55D000C7CBB7 /* OWS107LegacySounds.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWS107LegacySounds.m; sourceTree = "<group>"; };
34F7703F203F55D000C7CBB7 /* OWS107LegacySounds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWS107LegacySounds.h; sourceTree = "<group>"; };
34F77044203F5E4B00C7CBB7 /* messageReceivedClassic-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "messageReceivedClassic-quiet.caf"; path = "Signal/AudioFiles/messageReceivedClassic-quiet.caf"; sourceTree = SOURCE_ROOT; };
34F77046203F5E6200C7CBB7 /* note-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "note-quiet.caf"; sourceTree = "<group>"; };
34F77047203F5E6200C7CBB7 /* popcorn-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "popcorn-quiet.caf"; sourceTree = "<group>"; };
34F77048203F5E6200C7CBB7 /* complete-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "complete-quiet.caf"; sourceTree = "<group>"; };
34F77049203F5E6200C7CBB7 /* synth-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "synth-quiet.caf"; sourceTree = "<group>"; };
34F7704A203F5E6300C7CBB7 /* aurora-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "aurora-quiet.caf"; sourceTree = "<group>"; };
34F7704B203F5E6300C7CBB7 /* chord-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "chord-quiet.caf"; sourceTree = "<group>"; };
34F7704C203F5E6300C7CBB7 /* circles-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "circles-quiet.caf"; sourceTree = "<group>"; };
34F7704D203F5E6300C7CBB7 /* input-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "input-quiet.caf"; sourceTree = "<group>"; };
34F7704E203F5E6700C7CBB7 /* pulse-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "pulse-quiet.caf"; sourceTree = "<group>"; };
34F7704F203F5E6700C7CBB7 /* keys-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "keys-quiet.caf"; sourceTree = "<group>"; };
34F77050203F5E6700C7CBB7 /* hello-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "hello-quiet.caf"; sourceTree = "<group>"; };
34F77051203F5E6700C7CBB7 /* bamboo-quiet.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "bamboo-quiet.caf"; sourceTree = "<group>"; };
34FD936E1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OWSAnyTouchGestureRecognizer.h; path = views/OWSAnyTouchGestureRecognizer.h; sourceTree = "<group>"; };
34FD936F1E3BD43A00109093 /* OWSAnyTouchGestureRecognizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OWSAnyTouchGestureRecognizer.m; path = views/OWSAnyTouchGestureRecognizer.m; sourceTree = "<group>"; };
435EAC2E5E22D3F087EB3192 /* Pods-SignalShareExtension.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.app store release.xcconfig"; path = "Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.app store release.xcconfig"; sourceTree = "<group>"; };
@ -901,11 +878,36 @@
459311FB1D75C948008DD4F0 /* OWSDeviceTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceTableViewCell.m; sourceTree = "<group>"; };
4597E94E1D8313C100040CDE /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = translations/sq.lproj/Localizable.strings; sourceTree = "<group>"; };
4597E94F1D8313CB00040CDE /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = translations/bg.lproj/Localizable.strings; sourceTree = "<group>"; };
45A2F004204473A3002E978A /* NewMessage.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; name = NewMessage.aifc; path = Signal/AudioFiles/NewMessage.aifc; sourceTree = SOURCE_ROOT; };
45A663C41F92EC760027B59E /* GroupTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupTableViewCell.swift; sourceTree = "<group>"; };
45A6DAD51EBBF85500893231 /* ReminderView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReminderView.swift; sourceTree = "<group>"; };
45AE48501E0732D6004D96C2 /* TurnServerInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TurnServerInfo.swift; sourceTree = "<group>"; };
45B201741DAECBFD00C461E0 /* Signal-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Signal-Bridging-Header.h"; sourceTree = "<group>"; };
45B27B852037FFB400A539DF /* DebugUIFileBrowser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugUIFileBrowser.swift; sourceTree = "<group>"; };
45B74A5B2044AAB300CD42F8 /* aurora-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "aurora-quiet.aifc"; sourceTree = "<group>"; };
45B74A5C2044AAB300CD42F8 /* synth-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "synth-quiet.aifc"; sourceTree = "<group>"; };
45B74A5D2044AAB400CD42F8 /* keys-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "keys-quiet.aifc"; sourceTree = "<group>"; };
45B74A5E2044AAB400CD42F8 /* hello.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = hello.aifc; sourceTree = "<group>"; };
45B74A5F2044AAB400CD42F8 /* bamboo-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "bamboo-quiet.aifc"; sourceTree = "<group>"; };
45B74A602044AAB400CD42F8 /* input.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = input.aifc; sourceTree = "<group>"; };
45B74A612044AAB400CD42F8 /* keys.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = keys.aifc; sourceTree = "<group>"; };
45B74A622044AAB400CD42F8 /* chord.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = chord.aifc; sourceTree = "<group>"; };
45B74A632044AAB400CD42F8 /* hello-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "hello-quiet.aifc"; sourceTree = "<group>"; };
45B74A642044AAB400CD42F8 /* popcorn-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "popcorn-quiet.aifc"; sourceTree = "<group>"; };
45B74A652044AAB400CD42F8 /* complete.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = complete.aifc; sourceTree = "<group>"; };
45B74A662044AAB400CD42F8 /* note-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "note-quiet.aifc"; sourceTree = "<group>"; };
45B74A672044AAB500CD42F8 /* pulse-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "pulse-quiet.aifc"; sourceTree = "<group>"; };
45B74A682044AAB500CD42F8 /* chord-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "chord-quiet.aifc"; sourceTree = "<group>"; };
45B74A692044AAB500CD42F8 /* pulse.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = pulse.aifc; sourceTree = "<group>"; };
45B74A6A2044AAB500CD42F8 /* circles.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = circles.aifc; sourceTree = "<group>"; };
45B74A6B2044AAB500CD42F8 /* popcorn.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = popcorn.aifc; sourceTree = "<group>"; };
45B74A6C2044AAB500CD42F8 /* bamboo.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = bamboo.aifc; sourceTree = "<group>"; };
45B74A6D2044AAB500CD42F8 /* note.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = note.aifc; sourceTree = "<group>"; };
45B74A6E2044AAB500CD42F8 /* complete-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "complete-quiet.aifc"; sourceTree = "<group>"; };
45B74A6F2044AAB500CD42F8 /* aurora.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = aurora.aifc; sourceTree = "<group>"; };
45B74A702044AAB500CD42F8 /* circles-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "circles-quiet.aifc"; sourceTree = "<group>"; };
45B74A722044AAB600CD42F8 /* synth.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = synth.aifc; sourceTree = "<group>"; };
45B74A732044AAB600CD42F8 /* input-quiet.aifc */ = {isa = PBXFileReference; lastKnownFileType = file; path = "input-quiet.aifc"; sourceTree = "<group>"; };
45B9EE9A200E91FB005D2F2D /* MediaDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaDetailViewController.h; sourceTree = "<group>"; };
45B9EE9B200E91FB005D2F2D /* MediaDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MediaDetailViewController.m; sourceTree = "<group>"; };
45BB93371E688E14001E3939 /* UIDevice+featureSupport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice+featureSupport.swift"; sourceTree = "<group>"; };
@ -1150,6 +1152,7 @@
34074F54203D0722004596AE /* Sounds */ = {
isa = PBXGroup;
children = (
45A2F004204473A3002E978A /* NewMessage.aifc */,
34CF0783203E6B77005C4D61 /* busy_tone_ansi.caf */,
34CF0786203E6B78005C4D61 /* end_call_tone_cept.caf */,
34F77044203F5E4B00C7CBB7 /* messageReceivedClassic-quiet.caf */,
@ -1165,30 +1168,30 @@
34074FC5203E5435004596AE /* messageReceivedSounds */ = {
isa = PBXGroup;
children = (
34F7704A203F5E6300C7CBB7 /* aurora-quiet.caf */,
34074FC6203E5435004596AE /* aurora.m4r */,
34074FC7203E5435004596AE /* bamboo.m4r */,
34F77051203F5E6700C7CBB7 /* bamboo-quiet.caf */,
34F7704B203F5E6300C7CBB7 /* chord-quiet.caf */,
34074FC8203E5435004596AE /* chord.m4r */,
34F7704C203F5E6300C7CBB7 /* circles-quiet.caf */,
34074FC9203E5435004596AE /* circles.m4r */,
34F77048203F5E6200C7CBB7 /* complete-quiet.caf */,
34074FCA203E5435004596AE /* complete.m4r */,
34074FCB203E5435004596AE /* hello.m4r */,
34F77050203F5E6700C7CBB7 /* hello-quiet.caf */,
34F7704D203F5E6300C7CBB7 /* input-quiet.caf */,
34074FCC203E5435004596AE /* input.m4r */,
34074FCD203E5435004596AE /* keys.m4r */,
34F7704F203F5E6700C7CBB7 /* keys-quiet.caf */,
34F77046203F5E6200C7CBB7 /* note-quiet.caf */,
34074FCE203E5435004596AE /* note.m4r */,
34F77047203F5E6200C7CBB7 /* popcorn-quiet.caf */,
34074FCF203E5435004596AE /* popcorn.m4r */,
34074FD0203E5435004596AE /* pulse.m4r */,
34F7704E203F5E6700C7CBB7 /* pulse-quiet.caf */,
34F77049203F5E6200C7CBB7 /* synth-quiet.caf */,
34074FD1203E5435004596AE /* synth.m4r */,
45B74A5B2044AAB300CD42F8 /* aurora-quiet.aifc */,
45B74A6F2044AAB500CD42F8 /* aurora.aifc */,
45B74A5F2044AAB400CD42F8 /* bamboo-quiet.aifc */,
45B74A6C2044AAB500CD42F8 /* bamboo.aifc */,
45B74A682044AAB500CD42F8 /* chord-quiet.aifc */,
45B74A622044AAB400CD42F8 /* chord.aifc */,
45B74A702044AAB500CD42F8 /* circles-quiet.aifc */,
45B74A6A2044AAB500CD42F8 /* circles.aifc */,
45B74A6E2044AAB500CD42F8 /* complete-quiet.aifc */,
45B74A652044AAB400CD42F8 /* complete.aifc */,
45B74A632044AAB400CD42F8 /* hello-quiet.aifc */,
45B74A5E2044AAB400CD42F8 /* hello.aifc */,
45B74A732044AAB600CD42F8 /* input-quiet.aifc */,
45B74A602044AAB400CD42F8 /* input.aifc */,
45B74A5D2044AAB400CD42F8 /* keys-quiet.aifc */,
45B74A612044AAB400CD42F8 /* keys.aifc */,
45B74A662044AAB400CD42F8 /* note-quiet.aifc */,
45B74A6D2044AAB500CD42F8 /* note.aifc */,
45B74A642044AAB400CD42F8 /* popcorn-quiet.aifc */,
45B74A6B2044AAB500CD42F8 /* popcorn.aifc */,
45B74A672044AAB500CD42F8 /* pulse-quiet.aifc */,
45B74A692044AAB500CD42F8 /* pulse.aifc */,
45B74A5C2044AAB300CD42F8 /* synth-quiet.aifc */,
45B74A722044AAB600CD42F8 /* synth.aifc */,
);
name = messageReceivedSounds;
path = Signal/AudioFiles/messageReceivedSounds;
@ -2481,68 +2484,69 @@
buildActionMask = 2147483647;
files = (
34CF078A203E6B78005C4D61 /* end_call_tone_cept.caf in Resources */,
45B74A8B2044AAB600CD42F8 /* synth.aifc in Resources */,
45B74A7D2044AAB600CD42F8 /* popcorn-quiet.aifc in Resources */,
45B74A792044AAB600CD42F8 /* input.aifc in Resources */,
AD83FF3F1A73426500B5C81A /* audio_pause_button_blue.png in Resources */,
34330A5A1E7875FB00DF2FB9 /* fontawesome-webfont.ttf in Resources */,
A5509ECA1A69AB8B00ABA4BC /* Main.storyboard in Resources */,
AD83FF421A73426500B5C81A /* audio_play_button.png in Resources */,
34074FEF203E5436004596AE /* bamboo.m4r in Resources */,
45B74A762044AAB600CD42F8 /* keys-quiet.aifc in Resources */,
34330A5C1E787A9800DF2FB9 /* dripicons-v2.ttf in Resources */,
B633C5C41A1D190B0059AC12 /* mute_on@2x.png in Resources */,
B633C5CE1A1D190B0059AC12 /* quit@2x.png in Resources */,
34074FF1203E5436004596AE /* circles.m4r in Resources */,
45B74A7F2044AAB600CD42F8 /* note-quiet.aifc in Resources */,
45B74A752044AAB600CD42F8 /* synth-quiet.aifc in Resources */,
AD83FF441A73426500B5C81A /* audio_pause_button.png in Resources */,
34F77053203F5E6800C7CBB7 /* popcorn-quiet.caf in Resources */,
34F77054203F5E6800C7CBB7 /* complete-quiet.caf in Resources */,
B6F509971AA53F760068F56A /* Localizable.strings in Resources */,
34F77045203F5E4C00C7CBB7 /* messageReceivedClassic-quiet.caf in Resources */,
B633C59D1A1D190B0059AC12 /* endcall@2x.png in Resources */,
FC5CDF391A3393DD00B47253 /* error_white@2x.png in Resources */,
34F7705B203F5E6800C7CBB7 /* keys-quiet.caf in Resources */,
34F77057203F5E6800C7CBB7 /* chord-quiet.caf in Resources */,
45B74A872044AAB600CD42F8 /* complete-quiet.aifc in Resources */,
B633C5D21A1D190B0059AC12 /* savephoto@2x.png in Resources */,
45B74A7E2044AAB600CD42F8 /* complete.aifc in Resources */,
45B74A802044AAB600CD42F8 /* pulse-quiet.aifc in Resources */,
B10C9B611A7049EC00ECA2BF /* play_icon.png in Resources */,
34074FF3203E5436004596AE /* hello.m4r in Resources */,
34074FF9203E5436004596AE /* synth.m4r in Resources */,
AD83FF401A73426500B5C81A /* audio_pause_button_blue@2x.png in Resources */,
45B74A882044AAB600CD42F8 /* aurora.aifc in Resources */,
B66DBF4A19D5BBC8006EA940 /* Images.xcassets in Resources */,
34CF0788203E6B78005C4D61 /* ringback_tone_ansi.caf in Resources */,
34F77055203F5E6800C7CBB7 /* synth-quiet.caf in Resources */,
34F7705D203F5E6800C7CBB7 /* bamboo-quiet.caf in Resources */,
34C3C78F2040A4F70000134C /* sonarping.mp3 in Resources */,
34074FF7203E5436004596AE /* popcorn.m4r in Resources */,
34074FF8203E5436004596AE /* pulse.m4r in Resources */,
4517642A1DE939FD00EDB8B9 /* ContactCell.xib in Resources */,
AD83FF431A73426500B5C81A /* audio_play_button@2x.png in Resources */,
34F77052203F5E6800C7CBB7 /* note-quiet.caf in Resources */,
45B74A7A2044AAB600CD42F8 /* keys.aifc in Resources */,
45B74A772044AAB600CD42F8 /* hello.aifc in Resources */,
45B74A812044AAB600CD42F8 /* chord-quiet.aifc in Resources */,
45CB2FA81CB7146C00E1B343 /* Launch Screen.storyboard in Resources */,
34B3F8781E8DF1700035BE1A /* ContactsPicker.xib in Resources */,
45B74A892044AAB600CD42F8 /* circles-quiet.aifc in Resources */,
B633C5C31A1D190B0059AC12 /* mute_off@2x.png in Resources */,
34074FF2203E5436004596AE /* complete.m4r in Resources */,
45B74A832044AAB600CD42F8 /* circles.aifc in Resources */,
AD83FF411A73426500B5C81A /* audio_play_button_blue@2x.png in Resources */,
34C3C78D20409F320000134C /* Opening.m4r in Resources */,
FC5CDF3A1A3393DD00B47253 /* warning_white@2x.png in Resources */,
34074FF6203E5436004596AE /* note.m4r in Resources */,
34F77056203F5E6800C7CBB7 /* aurora-quiet.caf in Resources */,
B633C58D1A1D190B0059AC12 /* contact_default_feed.png in Resources */,
B10C9B621A7049EC00ECA2BF /* play_icon@2x.png in Resources */,
B633C5861A1D190B0059AC12 /* call@2x.png in Resources */,
B67EBF5D19194AC60084CCFD /* Settings.bundle in Resources */,
34F77058203F5E6800C7CBB7 /* circles-quiet.caf in Resources */,
45B74A782044AAB600CD42F8 /* bamboo-quiet.aifc in Resources */,
3421FA59203F542E00275549 /* messageReceivedClassic.aifc in Resources */,
34F7705A203F5E6800C7CBB7 /* pulse-quiet.caf in Resources */,
34074FF5203E5436004596AE /* keys.m4r in Resources */,
34F77059203F5E6800C7CBB7 /* input-quiet.caf in Resources */,
45B74A852044AAB600CD42F8 /* bamboo.aifc in Resources */,
B10C9B601A7049EC00ECA2BF /* pause_icon@2x.png in Resources */,
FC9120411A39EFB70074545C /* qr@2x.png in Resources */,
45B74A842044AAB600CD42F8 /* popcorn.aifc in Resources */,
34CF0787203E6B78005C4D61 /* busy_tone_ansi.caf in Resources */,
34F7705C203F5E6800C7CBB7 /* hello-quiet.caf in Resources */,
34074FF0203E5436004596AE /* chord.m4r in Resources */,
34074FF4203E5436004596AE /* input.m4r in Resources */,
B10C9B5F1A7049EC00ECA2BF /* pause_icon.png in Resources */,
45B74A742044AAB600CD42F8 /* aurora-quiet.aifc in Resources */,
45B74A7B2044AAB600CD42F8 /* chord.aifc in Resources */,
AD83FF471A73428300B5C81A /* audio_play_button_blue.png in Resources */,
34074FEE203E5436004596AE /* aurora.m4r in Resources */,
45B74A862044AAB600CD42F8 /* note.aifc in Resources */,
34330A5E1E787BD800DF2FB9 /* ElegantIcons.ttf in Resources */,
AD83FF451A73426500B5C81A /* audio_pause_button@2x.png in Resources */,
45B74A7C2044AAB600CD42F8 /* hello-quiet.aifc in Resources */,
45B74A8C2044AAB600CD42F8 /* input-quiet.aifc in Resources */,
45B74A822044AAB600CD42F8 /* pulse.aifc in Resources */,
45A2F005204473A3002E978A /* NewMessage.aifc in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,14 +1,14 @@
#!/bin/bash
ffmpeg -i aurora.m4r -filter:a "volume=0.5" aurora-quiet.caf
ffmpeg -i bamboo.m4r -filter:a "volume=0.5" bamboo-quiet.caf
ffmpeg -i chord.m4r -filter:a "volume=0.5" chord-quiet.caf
ffmpeg -i circles.m4r -filter:a "volume=0.5" circles-quiet.caf
ffmpeg -i complete.m4r -filter:a "volume=0.5" complete-quiet.caf
ffmpeg -i hello.m4r -filter:a "volume=0.5" hello-quiet.caf
ffmpeg -i input.m4r -filter:a "volume=0.5" input-quiet.caf
ffmpeg -i keys.m4r -filter:a "volume=0.5" keys-quiet.caf
ffmpeg -i note.m4r -filter:a "volume=0.5" note-quiet.caf
ffmpeg -i popcorn.m4r -filter:a "volume=0.5" popcorn-quiet.caf
ffmpeg -i pulse.m4r -filter:a "volume=0.5" pulse-quiet.caf
ffmpeg -i synth.m4r -filter:a "volume=0.5" synth-quiet.caf
ffmpeg -i aurora.aifc -filter:a "volume=0.5" aurora-quiet.aifc
ffmpeg -i bamboo.aifc -filter:a "volume=0.5" bamboo-quiet.aifc
ffmpeg -i chord.aifc -filter:a "volume=0.5" chord-quiet.aifc
ffmpeg -i circles.aifc -filter:a "volume=0.5" circles-quiet.aifc
ffmpeg -i complete.aifc -filter:a "volume=0.5" complete-quiet.aifc
ffmpeg -i hello.aifc -filter:a "volume=0.5" hello-quiet.aifc
ffmpeg -i input.aifc -filter:a "volume=0.5" input-quiet.aifc
ffmpeg -i keys.aifc -filter:a "volume=0.5" keys-quiet.aifc
ffmpeg -i note.aifc -filter:a "volume=0.5" note-quiet.aifc
ffmpeg -i popcorn.aifc -filter:a "volume=0.5" popcorn-quiet.aifc
ffmpeg -i pulse.aifc -filter:a "volume=0.5" pulse-quiet.aifc
ffmpeg -i synth.aifc -filter:a "volume=0.5" synth-quiet.aifc

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -102,9 +102,9 @@ NS_ASSUME_NONNULL_BEGIN
}];
[subsectionItems addObject:sharedDataFileBrowserItem];
OWSTableItem *documentsFileBrowserItem = [OWSTableItem
disclosureItemWithText:@"📁 Document Dir"
disclosureItemWithText:@"📁 App Container"
actionBlock:^{
NSURL *baseURL = [NSURL URLWithString:[OWSFileSystem appDocumentDirectoryPath]];
NSURL *baseURL = [NSURL URLWithString:[OWSFileSystem appLibraryDirectoryPath]];
DebugUIFileBrowser *fileBrowser = [[DebugUIFileBrowser alloc] initWithFileURL:baseURL];
[viewController.navigationController pushViewController:fileBrowser animated:YES];
}];

View File

@ -4,6 +4,7 @@
#import "OWSSounds.h"
#import "OWSAudioPlayer.h"
#import <SignalServiceKit/OWSFileSystem.h>
#import <SignalServiceKit/TSStorageManager.h>
#import <SignalServiceKit/TSThread.h>
#import <SignalServiceKit/YapDatabaseConnection+OWS.h>
@ -152,31 +153,31 @@ NSString *const kOWSSoundsStorageGlobalNotificationKey = @"kOWSSoundsStorageGlob
// Notification Sounds
case OWSSound_Aurora:
return (quiet ? @"aurora-quiet.caf" : @"aurora.m4r");
return (quiet ? @"aurora-quiet.aifc" : @"aurora.aifc");
case OWSSound_Bamboo:
return (quiet ? @"bamboo-quiet.caf" : @"bamboo.m4r");
return (quiet ? @"bamboo-quiet.aifc" : @"bamboo.aifc");
case OWSSound_Chord:
return (quiet ? @"chord-quiet.caf" : @"chord.m4r");
return (quiet ? @"chord-quiet.aifc" : @"chord.aifc");
case OWSSound_Circles:
return (quiet ? @"circles-quiet.caf" : @"circles.m4r");
return (quiet ? @"circles-quiet.aifc" : @"circles.aifc");
case OWSSound_Complete:
return (quiet ? @"complete-quiet.caf" : @"complete.m4r");
return (quiet ? @"complete-quiet.aifc" : @"complete.aifc");
case OWSSound_Hello:
return (quiet ? @"hello-quiet.caf" : @"hello.m4r");
return (quiet ? @"hello-quiet.aifc" : @"hello.aifc");
case OWSSound_Input:
return (quiet ? @"input-quiet.caf" : @"input.m4r");
return (quiet ? @"input-quiet.aifc" : @"input.aifc");
case OWSSound_Keys:
return (quiet ? @"keys-quiet.caf" : @"keys.m4r");
return (quiet ? @"keys-quiet.aifc" : @"keys.aifc");
case OWSSound_Note:
return (quiet ? @"note-quiet.caf" : @"note.m4r");
return (quiet ? @"note-quiet.aifc" : @"note.aifc");
case OWSSound_Popcorn:
return (quiet ? @"popcorn-quiet.caf" : @"popcorn.m4r");
return (quiet ? @"popcorn-quiet.aifc" : @"popcorn.aifc");
case OWSSound_Pulse:
return (quiet ? @"pulse-quiet.caf" : @"pulse.m4r");
return (quiet ? @"pulse-quiet.aifc" : @"pulse.aifc");
case OWSSound_Synth:
return (quiet ? @"synth-quiet.caf" : @"synth.m4r");
return (quiet ? @"synth-quiet.aifc" : @"synth.aifc");
case OWSSound_ClassicNotification:
return (quiet ? @"messageReceivedClassic-quiet.caf" : @"messageReceivedClassic.aifc");
return (quiet ? @"messageReceivedClassic-quiet.aifc" : @"messageReceivedClassic.aifc");
// Ringtone Sounds
case OWSSound_Opening:
@ -245,6 +246,36 @@ NSString *const kOWSSoundsStorageGlobalNotificationKey = @"kOWSSoundsStorageGlob
+ (void)setGlobalNotificationSound:(OWSSound)sound
{
// Fallback push notifications play a sound specified by the server, but we don't want to store this configuration
// on the server. Instead, we create a file with the same name as the default to be played when receiving
// a fallback notification.
NSString *dirPath = [[OWSFileSystem appLibraryDirectoryPath] stringByAppendingPathComponent:@"Sounds"];
[OWSFileSystem ensureDirectoryExists:dirPath];
// This name is specified in the payload by the Signal Service when requesting fallback push notifications.
NSString *kDefaultNotificationSoundFilename = @"NewMessage.aifc";
NSString *defaultSoundPath = [dirPath stringByAppendingPathComponent:kDefaultNotificationSoundFilename];
DDLogDebug(@"%@ writing new default sound to %@", self.logTag, defaultSoundPath);
NSURL *_Nullable soundURL = [OWSSounds soundURLForSound:sound quiet:NO];
OWSAssert(soundURL);
// Quick way to achieve an atomic "copy" operation that allows overwriting if the user has previously specified
// a default notification sound.
NSData *soundData = [NSData dataWithContentsOfURL:soundURL];
BOOL success = [soundData writeToFile:defaultSoundPath atomically:YES];
// The globally configured sound the user has configured is unprotected, so that we can still play the sound if the
// user hasn't authenticated after power-cycling their device.
[OWSFileSystem protectFileOrFolderAtPath:defaultSoundPath fileProtectionType:NSFileProtectionNone];
if (!success) {
OWSProdLogAndFail(
@"%@ Unable to write new default sound data from: %@ to :%@", self.logTag, soundURL, defaultSoundPath);
return;
}
OWSSounds *instance = OWSSounds.sharedManager;
[instance.dbConnection setObject:@(sound)
forKey:kOWSSoundsStorageGlobalNotificationKey

View File

@ -9,10 +9,14 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)init NS_UNAVAILABLE;
+ (BOOL)protectFileOrFolderAtPath:(NSString *)path;
+ (BOOL)protectFileOrFolderAtPath:(NSString *)path fileProtectionType:(NSFileProtectionType)fileProtectionType;
+ (BOOL)protectRecursiveContentsAtPath:(NSString *)path;
+ (NSString *)appDocumentDirectoryPath;
+ (NSString *)appLibraryDirectoryPath;
+ (NSString *)appSharedDataDirectoryPath;
+ (NSString *)cachesDirectoryPath;

View File

@ -37,6 +37,12 @@ NS_ASSUME_NONNULL_BEGIN
}
+ (BOOL)protectFileOrFolderAtPath:(NSString *)path
{
return
[self protectFileOrFolderAtPath:path fileProtectionType:NSFileProtectionCompleteUntilFirstUserAuthentication];
}
+ (BOOL)protectFileOrFolderAtPath:(NSString *)path fileProtectionType:(NSFileProtectionType)fileProtectionType
{
DDLogVerbose(@"%@ protecting file at path: %@", self.logTag, path);
if (![NSFileManager.defaultManager fileExistsAtPath:path]) {
@ -44,7 +50,7 @@ NS_ASSUME_NONNULL_BEGIN
}
NSError *error;
NSDictionary *fileProtection = @{ NSFileProtectionKey : NSFileProtectionCompleteUntilFirstUserAuthentication };
NSDictionary *fileProtection = @{ NSFileProtectionKey : fileProtectionType };
[[NSFileManager defaultManager] setAttributes:fileProtection ofItemAtPath:path error:&error];
NSDictionary *resourcesAttrs = @{ NSURLIsExcludedFromBackupKey : @YES };
@ -86,6 +92,14 @@ NS_ASSUME_NONNULL_BEGIN
}
}
+ (NSString *)appLibraryDirectoryPath
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *documentDirectoryURL =
[[fileManager URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject];
return [documentDirectoryURL path];
}
+ (NSString *)appDocumentDirectoryPath
{
NSFileManager *fileManager = [NSFileManager defaultManager];