1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package androidx.lifecycle 17 18 internal class DefaultLifecycleObserverAdapter( 19 private val defaultLifecycleObserver: DefaultLifecycleObserver, 20 private val lifecycleEventObserver: LifecycleEventObserver? 21 ) : LifecycleEventObserver { onStateChangednull22 override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) { 23 when (event) { 24 Lifecycle.Event.ON_CREATE -> defaultLifecycleObserver.onCreate(source) 25 Lifecycle.Event.ON_START -> defaultLifecycleObserver.onStart(source) 26 Lifecycle.Event.ON_RESUME -> defaultLifecycleObserver.onResume(source) 27 Lifecycle.Event.ON_PAUSE -> defaultLifecycleObserver.onPause(source) 28 Lifecycle.Event.ON_STOP -> defaultLifecycleObserver.onStop(source) 29 Lifecycle.Event.ON_DESTROY -> defaultLifecycleObserver.onDestroy(source) 30 Lifecycle.Event.ON_ANY -> 31 throw IllegalArgumentException("ON_ANY must not been send by anybody") 32 } 33 lifecycleEventObserver?.onStateChanged(source, event) 34 } 35 } 36