This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Define an interface for navigation keys | |
interface NavigationKey : Parcelable | |
// Example implementation for a specific screen | |
@Parcelize | |
data class ProfileKey(val userId: String) : NavigationKey | |
// Navigation manager class | |
class Navigator(private val context: Context) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Different solutions for future RepoResult (?) object! */ | |
/* | |
* James! | |
*/ | |
sealed interface ResultReason |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
override fun deserialize(json: JsonElement?, typeOfT: Type?, context: JsonDeserializationContext?): Result<*, *>? { | |
return when { | |
// Is it a JsonObject? Bingo! | |
json?.isJsonObject == true -> { | |
// Let's try to extract the type in order | |
// to deserialize this object | |
val parameterizedType = typeOfT as ParameterizedType | |
// Returns an Ok with the value deserialized |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
desc "" | |
lane :beta do |lane| | |
# ensure you are in master branch | |
ensure_git_branch | |
# ensure that master branch is clean | |
ensure_git_status_clean | |
# check the semantic parameter entered |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Reducer interface definition | |
// | |
typealias Reducer<ReducerStateType> = (action: Action, state: ReducerStateType?) -> ReducerStateType | |
// | |
// Combine reducers method | |
// | |
fun<T: StateType> combineReducers(vararg reducers: Reducer<T>): Reducer<T> { | |
return { action, state -> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
desc "Create a signed version of the app" | |
lane :signed_apk do | |
# get version and build number from git | |
# https://blog.uncommon.is/using-git-to-generate-versionname-and-versioncode-for-android-apps-aaa9fc2c96af | |
versionName = sh("git describe --dirty").gsub(/\s+/, "") | |
# +520 to sync version codes with the previous app. | |
versionCode = sh("git rev-list --first-parent --count origin/master").gsub(/\s+/, "").to_i + 520 | |
keyPath ="#{sh("pwd").chomp}/keystore.jks" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Creates the Rx version of the API passing the same parameters as the system version | |
let centralManager: RxCBCentralManager = RxCBCentralManager(queue: DispatchQueue.main, options: nil) | |
// Creates a Rx pipe using the published methods | |
centralManager.scanForPeripherals(withServices: [requiredServiceUIDD], options: nil) | |
.filter { (peripheral: CBPeripheral) -> Bool in | |
if let name = peripheral.name { | |
return name.contains("peripheralName") | |
} | |
return false |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
Lightweight Rx wrapper to CBCentralManager | |
to hide all implementation details. | |
*/ | |
public class RxCBCentralManager { | |
// system API manager | |
private let centralManager: CBCentralManager | |
// internal delegate | |
private let internalDelegate = InternalDelegate() | |
private var lastConnectedDevice: CBPeripheral? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Action creator definition | |
func fetchAppsFromStore(state: State, store: Store<State>) -> Action? { | |
let request = AppStoreRequests.apps(showDevelopment: state.settingsState.isDevelopmentMode) | |
let task = JsonRequestTask<[AppId]>(dispatcher: dispatcher) | |
// Async task call | |
task.perform(request) | |
.subscribe(onNext: { result in |
NewerOlder