mirror of https://github.com/oxen-io/session-ios
parent
e5e5bbddc9
commit
29c459fe60
@ -0,0 +1,51 @@
|
||||
//
|
||||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
protocol HapticAdapter {
|
||||
func selectionChanged()
|
||||
}
|
||||
|
||||
class LegacyHapticAdapter: NSObject, HapticAdapter {
|
||||
|
||||
// MARK: HapticAdapter
|
||||
|
||||
func selectionChanged() {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
@available(iOS 10, *)
|
||||
class FeedbackGeneratorHapticAdapter: NSObject, HapticAdapter {
|
||||
let selectionFeedbackGenerator: UISelectionFeedbackGenerator
|
||||
|
||||
override init() {
|
||||
selectionFeedbackGenerator = UISelectionFeedbackGenerator()
|
||||
selectionFeedbackGenerator.prepare()
|
||||
}
|
||||
|
||||
// MARK: HapticAdapter
|
||||
|
||||
func selectionChanged() {
|
||||
selectionFeedbackGenerator.selectionChanged()
|
||||
selectionFeedbackGenerator.prepare()
|
||||
}
|
||||
}
|
||||
|
||||
class HapticFeedback: HapticAdapter {
|
||||
let adapter: HapticAdapter
|
||||
|
||||
init() {
|
||||
if #available(iOS 10, *) {
|
||||
adapter = FeedbackGeneratorHapticAdapter()
|
||||
} else {
|
||||
adapter = LegacyHapticAdapter()
|
||||
}
|
||||
}
|
||||
|
||||
func selectionChanged() {
|
||||
adapter.selectionChanged()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue