/* * Copyright 2010-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef ANDROID_LAUNCHER_H #define ANDROID_LAUNCHER_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct NativeActivityState { struct ANativeActivity* activity; void* savedState; size_t savedStateSize; struct ALooper* looper; }; void getNativeActivityState(struct NativeActivityState* state); void notifySysEventProcessed(); #define LOOPER_ID_SYS 1 typedef enum NativeActivityEventKind { UNKNOWN, DESTROY, START, RESUME, SAVE_INSTANCE_STATE, PAUSE, STOP, CONFIGURATION_CHANGED, LOW_MEMORY, WINDOW_GAINED_FOCUS, WINDOW_LOST_FOCUS, NATIVE_WINDOW_CREATED, NATIVE_WINDOW_DESTROYED, INPUT_QUEUE_CREATED, INPUT_QUEUE_DESTROYED } NativeActivityEventKind; struct NativeActivityEvent { NativeActivityEventKind eventKind; }; struct NativeActivitySaveStateEvent { NativeActivityEventKind eventKind; void* savedState; size_t savedStateSize; }; struct NativeActivityWindowEvent { NativeActivityEventKind eventKind; struct ANativeWindow* window; }; struct NativeActivityQueueEvent { NativeActivityEventKind eventKind; struct AInputQueue* queue; }; #ifdef __cplusplus } #endif #endif // ANDROID_LAUNCHER_H