86 lines
3.3 KiB
Java
86 lines
3.3 KiB
Java
package androidx.core.app;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.app.Activity;
|
|
import android.os.Bundle;
|
|
import android.view.KeyEvent;
|
|
import android.view.View;
|
|
import androidx.annotation.CallSuper;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.RestrictTo;
|
|
import androidx.collection.SimpleArrayMap;
|
|
import androidx.core.view.KeyEventDispatcher;
|
|
import androidx.lifecycle.Lifecycle;
|
|
import androidx.lifecycle.LifecycleOwner;
|
|
import androidx.lifecycle.LifecycleRegistry;
|
|
import androidx.lifecycle.ReportFragment;
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public class ComponentActivity extends Activity implements LifecycleOwner, KeyEventDispatcher.Component {
|
|
private SimpleArrayMap<Class<? extends ExtraData>, ExtraData> mExtraDataMap = new SimpleArrayMap<>();
|
|
private LifecycleRegistry mLifecycleRegistry = new LifecycleRegistry(this);
|
|
|
|
@Deprecated
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public static class ExtraData {
|
|
}
|
|
|
|
@Override // android.app.Activity, android.view.Window.Callback
|
|
public boolean dispatchKeyEvent(KeyEvent keyEvent) {
|
|
View decorView = getWindow().getDecorView();
|
|
if (decorView == null || !KeyEventDispatcher.dispatchBeforeHierarchy(decorView, keyEvent)) {
|
|
return KeyEventDispatcher.dispatchKeyEvent(this, decorView, this, keyEvent);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override // android.app.Activity, android.view.Window.Callback
|
|
public boolean dispatchKeyShortcutEvent(KeyEvent keyEvent) {
|
|
View decorView = getWindow().getDecorView();
|
|
if (decorView == null || !KeyEventDispatcher.dispatchBeforeHierarchy(decorView, keyEvent)) {
|
|
return super.dispatchKeyShortcutEvent(keyEvent);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
@Deprecated
|
|
public <T extends ExtraData> T getExtraData(Class<T> cls) {
|
|
return (T) this.mExtraDataMap.get(cls);
|
|
}
|
|
|
|
@Override // androidx.lifecycle.LifecycleOwner
|
|
@NonNull
|
|
public Lifecycle getLifecycle() {
|
|
return this.mLifecycleRegistry;
|
|
}
|
|
|
|
@Override // android.app.Activity
|
|
@SuppressLint({"RestrictedApi"})
|
|
public void onCreate(@Nullable Bundle bundle) {
|
|
super.onCreate(bundle);
|
|
ReportFragment.injectIfNeededIn(this);
|
|
}
|
|
|
|
@Override // android.app.Activity
|
|
@CallSuper
|
|
public void onSaveInstanceState(@NonNull Bundle bundle) {
|
|
this.mLifecycleRegistry.markState(Lifecycle.State.CREATED);
|
|
super.onSaveInstanceState(bundle);
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: androidx.collection.SimpleArrayMap<java.lang.Class<? extends androidx.core.app.ComponentActivity$ExtraData>, androidx.core.app.ComponentActivity$ExtraData> */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
@Deprecated
|
|
public void putExtraData(ExtraData extraData) {
|
|
this.mExtraDataMap.put(extraData.getClass(), extraData);
|
|
}
|
|
|
|
@Override // androidx.core.view.KeyEventDispatcher.Component
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
|
|
public boolean superDispatchKeyEvent(KeyEvent keyEvent) {
|
|
return super.dispatchKeyEvent(keyEvent);
|
|
}
|
|
}
|