Skip to content

Commit

Permalink
Merge branch 'release/v0.6.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
dhekra-rouatbi committed Apr 11, 2022
2 parents b15ee53 + c36cdf6 commit 9beacdf
Show file tree
Hide file tree
Showing 29 changed files with 612 additions and 349 deletions.
24 changes: 20 additions & 4 deletions Tella.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,10 @@
128B929B27D798E200E92ACF /* ManageFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128B929A27D798E200E92ACF /* ManageFileView.swift */; };
128B929D27D7A08700E92ACF /* FileItemsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128B929C27D7A08700E92ACF /* FileItemsView.swift */; };
128C7BC42745AB0100A680B3 /* FileListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128C7BC32745AB0100A680B3 /* FileListViewModel.swift */; };
128D6E182804531B0082AB18 /* AddPhotoVideoItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128D6E172804531B0082AB18 /* AddPhotoVideoItems.swift */; };
128D6E1A28045C090082AB18 /* manageFilesItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128D6E1928045C090082AB18 /* manageFilesItems.swift */; };
128D6E1C280480500082AB18 /* FileActionItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128D6E1B280480500082AB18 /* FileActionItems.swift */; };
128D6E1E2804DA2A0082AB18 /* ListActionSheetItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128D6E1D2804DA2A0082AB18 /* ListActionSheetItem.swift */; };
128F979A2799AF0100E63DA5 /* CircularActivityIndicatory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128F97962799983800E63DA5 /* CircularActivityIndicatory.swift */; };
128FD0B427F774FB00B24915 /* RecentFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 128FD0B327F774FB00B24915 /* RecentFile.swift */; };
1290743B274CEB9B00F38A81 /* FileGridItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1290743A274CEB9B00F38A81 /* FileGridItem.swift */; };
Expand Down Expand Up @@ -375,6 +379,10 @@
128B929A27D798E200E92ACF /* ManageFileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManageFileView.swift; sourceTree = "<group>"; };
128B929C27D7A08700E92ACF /* FileItemsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileItemsView.swift; sourceTree = "<group>"; };
128C7BC32745AB0100A680B3 /* FileListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileListViewModel.swift; sourceTree = "<group>"; };
128D6E172804531B0082AB18 /* AddPhotoVideoItems.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddPhotoVideoItems.swift; sourceTree = "<group>"; };
128D6E1928045C090082AB18 /* manageFilesItems.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = manageFilesItems.swift; sourceTree = "<group>"; };
128D6E1B280480500082AB18 /* FileActionItems.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileActionItems.swift; sourceTree = "<group>"; };
128D6E1D2804DA2A0082AB18 /* ListActionSheetItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListActionSheetItem.swift; sourceTree = "<group>"; };
128F97962799983800E63DA5 /* CircularActivityIndicatory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircularActivityIndicatory.swift; sourceTree = "<group>"; };
128FD0B327F774FB00B24915 /* RecentFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentFile.swift; sourceTree = "<group>"; };
1290743A274CEB9B00F38A81 /* FileGridItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileGridItem.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -754,6 +762,7 @@
children = (
1272F25C27C91ACD0054F2E2 /* ImportFileProgress.swift */,
1268553F27D2994500385E18 /* VaultFileStatus.swift */,
128D6E1D2804DA2A0082AB18 /* ListActionSheetItem.swift */,
);
path = Models;
sourceTree = "<group>";
Expand Down Expand Up @@ -862,6 +871,9 @@
isa = PBXGroup;
children = (
128C7BC32745AB0100A680B3 /* FileListViewModel.swift */,
128D6E172804531B0082AB18 /* AddPhotoVideoItems.swift */,
128D6E1928045C090082AB18 /* manageFilesItems.swift */,
128D6E1B280480500082AB18 /* FileActionItems.swift */,
);
path = ViewModel;
sourceTree = "<group>";
Expand Down Expand Up @@ -1586,6 +1598,7 @@
12776A9527BA761C00CDC5DC /* CustomCameraController.swift in Sources */,
12781F4727EA247500FE9609 /* DocumentPickerView.swift in Sources */,
1209FD2B27AD851E00D8C17E /* AudioPlayerView.swift in Sources */,
128D6E182804531B0082AB18 /* AddPhotoVideoItems.swift in Sources */,
12730E65279EAB9200DC0135 /* SettingsMainView.swift in Sources */,
12E0882427AD31F600CEB198 /* LocalizableAudio.swift in Sources */,
12E6772F27A9719F00DC1E1C /* UIImageExtension.swift in Sources */,
Expand Down Expand Up @@ -1671,6 +1684,7 @@
0D4BC3C5267577F900DCDC30 /* ReportsView.swift in Sources */,
0E170257267910DE0069072A /* DraftFormsView.swift in Sources */,
12776A9027BA742700CDC5DC /* CameraControlsView.swift in Sources */,
128D6E1A28045C090082AB18 /* manageFilesItems.swift in Sources */,
126ECFEA27C57FA600ED5161 /* CameraState.swift in Sources */,
12AB30D3272C36500020FFBF /* HomeData.swift in Sources */,
1289B98727C5397200315FCE /* ScreenExtension.swift in Sources */,
Expand All @@ -1683,6 +1697,7 @@
128C7BC42745AB0100A680B3 /* FileListViewModel.swift in Sources */,
1290743B274CEB9B00F38A81 /* FileGridItem.swift in Sources */,
12A2DB03273576D50094B856 /* AddFileView.swift in Sources */,
128D6E1C280480500082AB18 /* FileActionItems.swift in Sources */,
D75F9E9C25342539006F6212 /* RecordViewModel.swift in Sources */,
12FAC0CF2799FF230068EC2B /* ImportProgress.swift in Sources */,
12607D5A2790457600E2B8CC /* VideoViewer.swift in Sources */,
Expand All @@ -1701,6 +1716,7 @@
12607D5327903E9E00E2B8CC /* CustomVideoControlsView.swift in Sources */,
1268553E27D2572100385E18 /* FileInfoView.swift in Sources */,
125D2326271F896400250FBB /* CustomPinView.swift in Sources */,
128D6E1E2804DA2A0082AB18 /* ListActionSheetItem.swift in Sources */,
1E67B39223FC9067001F3D64 /* ImagePickerView.swift in Sources */,
D572EAC9263A384B00CE191A /* FileGroupsView.swift in Sources */,
127C4AAF27E4A74B00B1A1D3 /* ShareFileView.swift in Sources */,
Expand Down Expand Up @@ -2015,7 +2031,7 @@
CODE_SIGN_ENTITLEMENTS = "Tella/Supporting Files/Tella.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 9;
CURRENT_PROJECT_VERSION = 10;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = 6ZG9T42688;
ENABLE_PREVIEWS = YES;
Expand All @@ -2025,7 +2041,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.6.2;
MARKETING_VERSION = 0.6.3;
PRODUCT_BUNDLE_IDENTIFIER = org.wearehorizontal.tella;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -2042,7 +2058,7 @@
CODE_SIGN_ENTITLEMENTS = "Tella/Supporting Files/Tella.entitlements";
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 9;
CURRENT_PROJECT_VERSION = 10;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = 6ZG9T42688;
ENABLE_PREVIEWS = YES;
Expand All @@ -2052,7 +2068,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.6.2;
MARKETING_VERSION = 0.6.3;
PRODUCT_BUNDLE_IDENTIFIER = org.wearehorizontal.tella;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "Tella (AppStore)";
Expand Down
48 changes: 35 additions & 13 deletions Tella/Components/ActionListBottomSheet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,47 @@ struct ActionListBottomSheet: View {

@Binding var isPresented: Bool

var action: ((ListActionSheetItem) -> Void)

var body: some View {
VStack(alignment: .leading, spacing: 0){
VStack(alignment: .leading, spacing: 0) {

// Title
Text(self.headerTitle)
.padding(.bottom, 10)
.foregroundColor(.white)
.font(.custom(Styles.Fonts.boldFontName, size: 18))

// Items
ForEach(items, id: \.content) { item in
ListActionSheetRow(item: item, isPresented: $isPresented)

switch item.viewType {
case .item:
if item.isActive {
ListActionSheetRow(item: item, isPresented: $isPresented, action: {action(item)})
}
case .divider:
Divider()
.frame(height: 0.5)
.background(Color.white)
.padding(EdgeInsets(top: 7, leading: -10 , bottom: 7, trailing: -10))
}
}
}.padding(.all, 25)
}.padding(EdgeInsets(top: 21, leading: 24, bottom: 32, trailing: 24))
}
}


struct ListActionSheetRow: View {
var item: ListActionSheetItem
@Binding var isPresented: Bool
var action: (() -> Void)

var body: some View {
Button(action: {
isPresented = false
item.action()
action()
}, label: {
HStack(spacing: 0){
Image(item.imageName)
Expand All @@ -42,7 +62,8 @@ struct ListActionSheetRow: View {
.frame(alignment: .leading)
.padding(.horizontal, 16)
.foregroundColor(.white)
.font(Font.system(size: 14))
.font(.custom(Styles.Fonts.regularFontName, size: 14))

Spacer()
}
.padding(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
Expand All @@ -51,19 +72,20 @@ struct ListActionSheetRow: View {
}
}

struct ListActionSheetItem {
let imageName: String
let content: String
let action: () -> ()
var isActive : Bool = true
}

struct FileActionsBottomSheet_Previews: PreviewProvider {
static var previews: some View {
ActionListBottomSheet(items: [ListActionSheetItem(imageName: "camera-icon",
content: "Take photo/video",
action: {})],
action: {}, type: FileActionType.save)],
headerTitle: "Test",
isPresented: .constant(true))
isPresented: .constant(true),
action: {_ in})
.background(Styles.Colors.backgroundMain)
}
}


enum ActionSheetItemType {
case item
case divider
}
4 changes: 4 additions & 0 deletions Tella/Components/NavigationContainerView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,12 @@ struct NavigationContainerView<Content:View>: View {
}
.navigationBarTitle("")
.navigationBarHidden(true)
.navigationBarTitle("", displayMode: .inline)
}
.accentColor(.white)
.navigationViewStyle(.stack)
.navigationBarTitle("")
.navigationBarHidden(true)

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,21 @@ class RecordingAudioManager: AudioRecorderManager, ObservableObject {
var currentTime = CurrentValueSubject<TimeInterval, Never>(0.0)
@Published var audioPermission : AudioAuthorizationStatus = .notDetermined

var mainAppModel: MainAppModel?

var mainAppModel: MainAppModel
var rootFile: VaultFile

private let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]

init() {
init(mainAppModel: MainAppModel, rootFile: VaultFile) {

self.mainAppModel = mainAppModel
self.rootFile = rootFile

guard
self.configureSession()
else {
Expand Down Expand Up @@ -55,6 +60,7 @@ class RecordingAudioManager: AudioRecorderManager, ObservableObject {

func stopRecording(fileName:String) {
concatChunks(fileName: fileName)
currentTime.send(0)
}

func pauseRecording() {
Expand Down Expand Up @@ -169,7 +175,7 @@ class RecordingAudioManager: AudioRecorderManager, ObservableObject {
self.currentFileName = exportSession?.outputURL

if let url = exportSession?.outputURL {
self.mainAppModel?.add(audioFilePath: url, to: self.mainAppModel?.vaultManager.root, type: .audio, fileName: fileName)
self.mainAppModel.add(audioFilePath: url, to: self.rootFile, type: .audio, fileName: fileName)
}

self.resetRecorder()
Expand Down
13 changes: 4 additions & 9 deletions Tella/Scenes/Audio/Recorder/ViewModel/RecordViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,11 @@ class RecordViewModel: ObservableObject {
@Published var time: String = ""
@Published var shouldShowSettingsAlert: Bool = false

private var audioBackend: RecordingAudioManager = RecordingAudioManager()
private var audioBackend: RecordingAudioManager
private var cancellable: Set<AnyCancellable> = []

var mainAppModel: MainAppModel? {
didSet {
audioBackend.mainAppModel = mainAppModel
}
}

init() {

init(mainAppModel: MainAppModel, rootFile: VaultFile) {
audioBackend = RecordingAudioManager(mainAppModel: mainAppModel, rootFile: rootFile)

audioBackend.currentTime.sink { value in
self.time = value.stringFromTimeInterval()
Expand Down
Loading

0 comments on commit 9beacdf

Please sign in to comment.