Android Open Source - android-gear Abstract Android Gear Activity






From Project

Back to project page android-gear.

License

The source code is released under:

MIT License

If you think the Android project android-gear listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.androidgear.core;
//from   w  w w.j a  va2  s.c  o m
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.Window;

import com.androidgear.core.asset.AndroidAssetLoader;
import com.androidgear.core.asset.AssetManager;
import com.androidgear.core.dialog.AndroidDialogFactory;
import com.androidgear.core.dialog.DialogFactory;

public abstract class AbstractAndroidGearActivity extends Activity {

    private Game game;
    private int lastOrientation = -1;
    private boolean isPointerDown;
    private AndroidGameLoop androidGameLoop;

    public abstract Game getGame();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        this.game = getGame();

        GearCommands.prepare(AndroidGearCommands.class);
        ((AndroidGearCommands)GearCommands.instance()).setActivity(this);

        DialogFactory.prepare(AndroidDialogFactory.class);
        ((AndroidDialogFactory)DialogFactory.instance()).setActivity(this);

        // Asset Manager
        AndroidAssetLoader loader = new AndroidAssetLoader();
        AssetManager.setLoader(loader);

        super.onCreate(savedInstanceState);

        lastOrientation = getResources().getConfiguration().orientation;

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        androidGameLoop = new AndroidGameLoop(this, game);
        setContentView(androidGameLoop);
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {

        if (lastOrientation != newConfig.orientation) {
            
            if (!game.screenChanged(androidGameLoop.getWidth(), androidGameLoop.getHeight())) {
                setRequestedOrientation(lastOrientation);
            } else {
                lastOrientation = newConfig.orientation;
            }
        }
        super.onConfigurationChanged(newConfig);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        int sleep = 50;
        switch (event.getAction() & MotionEvent.ACTION_MASK) {
        case MotionEvent.ACTION_DOWN:
            isPointerDown = true;
            game.onStartPointerEvent(event.getX(), event.getY());
            break;
        case MotionEvent.ACTION_UP:
            isPointerDown = false;
            game.onEndPointerEvent(event.getX(), event.getY());
            break;
        case MotionEvent.ACTION_MOVE:
            if (isPointerDown) {
                game.onPointerDragEvent(event.getX(), event.getY());
                sleep = 0;
            }
            break;
        }
        try {
            Thread.sleep(sleep);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return true;
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            return game.onBackPress();
        }

        return super.onKeyDown(keyCode, event);
    }
}




Java Source Code List

com.androidgear.core.AbstractAndroidGearActivity.java
com.androidgear.core.AndroidGameLoop.java
com.androidgear.core.AndroidGearCommands.java
com.androidgear.core.Game.java
com.androidgear.core.GearCommands.java
com.androidgear.core.JavaGameLoop.java
com.androidgear.core.JavaGearCommands.java
com.androidgear.core.asset.AndroidAssetLoader.java
com.androidgear.core.asset.AssetLoader.java
com.androidgear.core.asset.AssetManager.java
com.androidgear.core.asset.AssetNotFoundException.java
com.androidgear.core.asset.JavaAssetLoader.java
com.androidgear.core.config.JavaConfig.java
com.androidgear.core.dialog.AndroidDialogFactory.java
com.androidgear.core.dialog.AndroidDialog.java
com.androidgear.core.dialog.DialogButtonListener.java
com.androidgear.core.dialog.DialogFactory.java
com.androidgear.core.dialog.Dialog.java
com.androidgear.core.dialog.JavaDialogFactory.java
com.androidgear.core.dialog.JavaDialog.java
com.androidgear.core.graphics.AndroidGraphics.java
com.androidgear.core.graphics.AndroidImage.java
com.androidgear.core.graphics.AndroidSpriteSheet.java
com.androidgear.core.graphics.Font.java
com.androidgear.core.graphics.Graphics.java
com.androidgear.core.graphics.Image.java
com.androidgear.core.graphics.JavaGraphics.java
com.androidgear.core.graphics.JavaImage.java
com.androidgear.core.graphics.JavaSpriteSheet.java
com.androidgear.core.graphics.SpriteSheet.java
com.androidgear.core.sound.AndroidSound.java
com.androidgear.core.sound.JavaSound.java
com.androidgear.core.sound.Sound.java
com.androidgear.core.window.JavaGameWindow.java
com.androidgear.core.window.JavaSimpleWindow.java
com.androidgear.core.window.JavaSimulatorWindow.java
com.androidgear.samples.JavaSampleGame.java
com.androidgear.samples.SampleGameActivity.java
com.androidgear.samples.core.SampleGame.java
${package}.__GameClass__Activity.java
${package}.Java__GameClass__.java
${package}.core.__GameClass__.java