Save the date! Android Dev Summit is coming to Sunnyvale, CA on Oct 23-24, 2019.

ArrayCreatingInputMerger

class ArrayCreatingInputMerger : InputMerger
kotlin.Any
   ↳ androidx.work.InputMerger
   ↳ androidx.work.ArrayCreatingInputMerger

An InputMerger that attempts to merge the inputs, creating arrays when necessary. For each input, we look at each key:

  • If this is the first time we encountered the key:
    • If it's an array, put it in the output
    • If it's a primitive, turn it into a size 1 array and put it in the output
  • Else (we have encountered the key before):
    • If the value type matches the old value type:
      • If they are arrays, concatenate them
      • If they are primitives, turn them into a size 2 array
    • Else if one is an array and the other is a primitive of that type:
      • Make a longer array and concatenate them
    • Else throw an IllegalArgumentException because the types don't match

Summary

Public constructors

An InputMerger that attempts to merge the inputs, creating arrays when necessary.

Public methods
Data
merge(@NonNull inputs: MutableList<Data!>)

Public constructors

<init>

ArrayCreatingInputMerger()

An InputMerger that attempts to merge the inputs, creating arrays when necessary. For each input, we look at each key:

  • If this is the first time we encountered the key:
    • If it's an array, put it in the output
    • If it's a primitive, turn it into a size 1 array and put it in the output
  • Else (we have encountered the key before):
    • If the value type matches the old value type:
      • If they are arrays, concatenate them
      • If they are primitives, turn them into a size 2 array
    • Else if one is an array and the other is a primitive of that type:
      • Make a longer array and concatenate them
    • Else throw an IllegalArgumentException because the types don't match

Public methods

merge

@NonNull fun merge(@NonNull inputs: MutableList<Data!>): Data