Search
lxdream.org :: lxdream/android/src/org/lxdream/LxdreamActivity.java
lxdream 0.9.1
released Jun 29
Download Now
filename android/src/org/lxdream/LxdreamActivity.java
changeset 1278:2f0de47738d0
prev1275:83b15705cdde
next1285:f72cfb134a87
author nkeynes
date Wed Mar 21 14:44:14 2012 +1000 (12 years ago)
permissions -rw-r--r--
last change Dreamcast.stop() on pause, get rid of unnecessary onAppPause()/onAppResume() methods
Set the run menu item to the right icon/state on pause as well.
file annotate diff log raw
nkeynes@1239
     1
/**
nkeynes@1239
     2
 * $Id$
nkeynes@1239
     3
 * 
nkeynes@1239
     4
 * Main Lxdream activity 
nkeynes@1239
     5
 *
nkeynes@1239
     6
 * Copyright (c) 2011 Nathan Keynes.
nkeynes@1239
     7
 *
nkeynes@1239
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@1239
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@1239
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@1239
    11
 * (at your option) any later version.
nkeynes@1239
    12
 *
nkeynes@1239
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@1239
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@1239
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@1239
    16
 * GNU General Public License for more details.
nkeynes@1239
    17
 */
nkeynes@1239
    18
nkeynes@1239
    19
package org.lxdream;
nkeynes@1239
    20
nkeynes@1239
    21
import android.app.Activity;
nkeynes@1241
    22
import android.content.Context;
nkeynes@1247
    23
import android.content.res.Resources;
nkeynes@1247
    24
import android.graphics.drawable.Drawable;
nkeynes@1239
    25
import android.os.Bundle;
nkeynes@1239
    26
import android.util.Log;
nkeynes@1245
    27
import android.view.Menu;
nkeynes@1245
    28
import android.view.MenuInflater;
nkeynes@1245
    29
import android.view.MenuItem;
nkeynes@1239
    30
import android.view.WindowManager;
nkeynes@1239
    31
nkeynes@1239
    32
import java.io.File;
nkeynes@1239
    33
nkeynes@1239
    34
nkeynes@1239
    35
public class LxdreamActivity extends Activity {
nkeynes@1239
    36
    LxdreamView view;
nkeynes@1247
    37
    boolean isRunning = false;
nkeynes@1247
    38
    Context ctx;
nkeynes@1247
    39
    Drawable runIcon, pauseIcon;
nkeynes@1278
    40
    MenuItem runMenuItem;
nkeynes@1239
    41
nkeynes@1239
    42
    @Override 
nkeynes@1239
    43
    protected void onCreate(Bundle bundle) {
nkeynes@1239
    44
        super.onCreate(bundle);
nkeynes@1247
    45
        ctx = getApplication();
nkeynes@1247
    46
        Resources res = ctx.getResources();
nkeynes@1247
    47
        runIcon = res.getDrawable(R.drawable.tb_run);
nkeynes@1247
    48
        pauseIcon = res.getDrawable(R.drawable.tb_pause);
nkeynes@1245
    49
        
nkeynes@1245
    50
        Log.i("LxdreamActivity", "Calling Dreamcast.init");
nkeynes@1241
    51
        Dreamcast.init( ctx.getFilesDir().toString() );
nkeynes@1245
    52
        Log.i("LxdreamActivity", "Finished Dreamcast.init");
nkeynes@1241
    53
        view = new LxdreamView(ctx);
nkeynes@1239
    54
        setContentView(view);
nkeynes@1239
    55
    }
nkeynes@1245
    56
    
nkeynes@1245
    57
    @Override
nkeynes@1245
    58
    public boolean onCreateOptionsMenu(Menu menu) {
nkeynes@1245
    59
        MenuInflater inflater = getMenuInflater();
nkeynes@1245
    60
        inflater.inflate(R.menu.main, menu);
nkeynes@1278
    61
        runMenuItem = menu.findItem(R.id.menu_run);
nkeynes@1245
    62
        return true;
nkeynes@1245
    63
    }
nkeynes@1245
    64
nkeynes@1239
    65
nkeynes@1239
    66
    @Override 
nkeynes@1239
    67
    protected void onPause() {
nkeynes@1278
    68
        Dreamcast.stop();
nkeynes@1278
    69
        runMenuItem.setIcon( runIcon );
nkeynes@1278
    70
        isRunning = false;
nkeynes@1239
    71
        super.onPause();
nkeynes@1239
    72
    }
nkeynes@1239
    73
nkeynes@1239
    74
    @Override 
nkeynes@1239
    75
    protected void onResume() {
nkeynes@1239
    76
        super.onResume();
nkeynes@1245
    77
    }
nkeynes@1245
    78
    
nkeynes@1245
    79
    public void onRunClicked( MenuItem item ) {
nkeynes@1247
    80
    	if( isRunning ) {
nkeynes@1247
    81
    		item.setIcon( runIcon );
nkeynes@1247
    82
    	} else {
nkeynes@1247
    83
    		item.setIcon( pauseIcon );
nkeynes@1247
    84
    	}
nkeynes@1245
    85
    	Dreamcast.toggleRun();
nkeynes@1247
    86
    	isRunning = !isRunning;
nkeynes@1245
    87
    }
nkeynes@1245
    88
    
nkeynes@1245
    89
    public void onResetClicked( MenuItem item ) {
nkeynes@1245
    90
    	Dreamcast.reset();
nkeynes@1245
    91
    }
nkeynes@1245
    92
    
nkeynes@1245
    93
    public void onPreferencesClicked( MenuItem item ) {
nkeynes@1245
    94
    	/* TODO */
nkeynes@1239
    95
    }
nkeynes@1239
    96
}
.