123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- /****************************************************************************
- Copyright (c) 2015-2016 Chukong Technologies Inc.
- Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
- http://www.cocos2d-x.org
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
- ****************************************************************************/
- package org.cocos2dx.javascript;
- import android.annotation.SuppressLint;
- import android.content.Intent;
- import android.content.res.Configuration;
- import android.graphics.PixelFormat;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.WindowManager;
- import android.widget.FrameLayout;
- import android.widget.ImageView;
- import com.edufound.mobile.R;
- import com.google.gson.Gson;
- import org.cocos2dx.javascript.presenter.MainPresenter;
- import org.cocos2dx.javascript.util.Consts;
- import org.cocos2dx.javascript.util.Logger;
- import org.cocos2dx.lib.Cocos2dxActivity;
- import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
- import java.util.HashMap;
- import java.util.Map;
- public class AppActivity extends Cocos2dxActivity {
- MainPresenter mPresenter;
- ImageView mSplashImage;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen);
- super.onCreate(savedInstanceState);
- // Workaround in
- // https://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508
- if (!isTaskRoot()) {
- Intent mainIntent = getIntent();
- String action = mainIntent.getAction();
- if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {
- finish();
- return;
- }
- return;
- }
- // DO OTHER INITIALIZATION BELOW
- sendBroadcast(new Intent("android.intent.action.STATUSBAR_DISABLE"));
- SDKWrapper.getInstance().init(this);
- showSplash();
- mPresenter = new MainPresenter(this);
- }
- @SuppressLint("ResourceType")
- public void showSplash() {
- mSplashImage = new ImageView(this);
- mSplashImage.setImageDrawable(getResources().getDrawable(R.drawable.openimg));
- mSplashImage.setScaleType(ImageView.ScaleType.FIT_XY);
- addContentView(mSplashImage,
- new WindowManager.LayoutParams(
- FrameLayout.LayoutParams.MATCH_PARENT,
- FrameLayout.LayoutParams.MATCH_PARENT
- )
- );
- }
- public void removeSplashImage() {
- mSplashImage.setVisibility(View.GONE);
- }
- @Override
- public Cocos2dxGLSurfaceView onCreateView() {
- Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
- // TestCpp should create stencil buffer
- // glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
- glSurfaceView.setZOrderMediaOverlay(true);
- glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
- glSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 8);
- SDKWrapper.getInstance().setGLSurfaceView(glSurfaceView, this);
- return glSurfaceView;
- }
- @Override
- protected void onResume() {
- super.onResume();
- SDKWrapper.getInstance().onResume();
- Logger.e("onResume");
- }
- @Override
- protected void onPause() {
- super.onPause();
- SDKWrapper.getInstance().onPause();
- Logger.e("onPause");
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- // Workaround in https://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508
- if (!isTaskRoot()) {
- return;
- }
- SDKWrapper.getInstance().onDestroy();
- Logger.e("onDestroy");
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- SDKWrapper.getInstance().onActivityResult(requestCode, resultCode, data);
- }
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- SDKWrapper.getInstance().onNewIntent(intent);
- Logger.e("onNewIntent");
- }
- @Override
- protected void onRestart() {
- super.onRestart();
- SDKWrapper.getInstance().onRestart();
- Logger.e("onRestart");
- }
- @Override
- protected void onStop() {
- super.onStop();
- SDKWrapper.getInstance().onStop();
- Logger.e("onStop");
- }
- @Override
- public void onBackPressed() {
- SDKWrapper.getInstance().onBackPressed();
- super.onBackPressed();
- Logger.e("onBackPressed");
- }
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- SDKWrapper.getInstance().onConfigurationChanged(newConfig);
- super.onConfigurationChanged(newConfig);
- Logger.e("onConfigurationChanged");
- }
- @Override
- protected void onRestoreInstanceState(Bundle savedInstanceState) {
- SDKWrapper.getInstance().onRestoreInstanceState(savedInstanceState);
- super.onRestoreInstanceState(savedInstanceState);
- Logger.e("onRestoreInstanceState");
- }
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- SDKWrapper.getInstance().onSaveInstanceState(outState);
- super.onSaveInstanceState(outState);
- Logger.e("onSaveInstanceState");
- }
- @Override
- protected void onStart() {
- SDKWrapper.getInstance().onStart();
- super.onStart();
- Logger.e("onStart");
- }
- @Override
- public void onWindowFocusChanged(boolean hasFocus) {
- super.onWindowFocusChanged(hasFocus);
- // Intent mHomeIntent = new Intent(Intent.ACTION_MAIN);
- // mHomeIntent.addCategory(Intent.CATEGORY_HOME);
- // mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
- // Consts.mApplicatonContext.startActivity(mHomeIntent);
-
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- // return super.onKeyDown(keyCode, event);
- return mPresenter.onKeyDown(keyCode, event);
- }
- }
|