/*
* @(#)MIDletProps.java 1.0 00/07/18
* Copyright (c) 1999,2000 Sun Microsystems, Inc. All Rights Reserved.
*
* This software is the confidential and proprietary information of Sun
* Microsystems, Inc. ("Confidential Information"). You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into
* with Sun.
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
* SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
* IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
* SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
* THIS SOFTWARE OR ITS DERIVATIVES.
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* A MIDlet shows the values of the system properties.
*/
public class MIDletProps extends MIDlet implements CommandListener
{
private Display display; // The display for this MIDlet
private Form props;
private StringBuffer propbuf;
private Command exitCommand = new Command("Exit", Command.SCREEN, 1);
/**
* Construct MIDletProps
*/
public MIDletProps() {
display = Display.getDisplay(this);
}
/**
* Show the value of the properties
*/
public void startApp() {
Runtime runtime = Runtime.getRuntime();
runtime.gc();
long free = runtime.freeMemory();
long total = runtime.totalMemory();
propbuf = new StringBuffer( 50 );
props = new Form( "System Properties" );
props.append( "Free Memory = " + free + "\n" );
props.append( "Total Memory = " + total + "\n" );
props.append( showProp( "microedition.configuration" ) );
props.append( showProp( "microedition.platform" ) );
props.append( showProp( "microedition.locale" ) );
props.append( showProp( "microedition.encoding" ) );
props.append( showProp( "microedition.encodingClass" ) );
props.append( showProp( "microedition.http_proxy" ) );
props.addCommand( exitCommand );
props.setCommandListener( this );
display.setCurrent( props );
}
/**
* Eventhandling code goes into commandAction
*/
public void commandAction( Command c, Displayable s )
{
if ( c == exitCommand )
{
destroyApp( false );
notifyDestroyed();
}
}
/**
* Show a property.
*/
String showProp( String prop )
{
String value = System.getProperty( prop );
propbuf.setLength( 0 );
propbuf.append( prop );
propbuf.append( " = " );
if (value == null)
{
propbuf.append( "<undefined>" );
}
else
{
propbuf.append( "\"" );
propbuf.append( value );
propbuf.append( "\"" );
}
propbuf.append( "\n" );
return propbuf.toString();
}
/**
* Time to pause, free any space we don't need right now.
*/
public void pauseApp()
{
display.setCurrent( null );
propbuf = null;
props = null;
}
/**
* No op
*/
public void destroyApp( boolean unconditional )
{
System.out.println( "In destroyApp" );
}
}
|