Files
processing4/android/todo.txt
2010-06-21 08:43:28 +00:00

290 lines
13 KiB
Plaintext

0185 android
X fix two bugs with fonts created with specific charsets
X fix for adobe illustrator-mangled svg id names with hex characters
X add redirect and fix problem with core.zip location after server move
X http://code.google.com/p/processing/issues/detail?id=269
X added android.permission.INTERNET
X and android.permission.WRITE_EXTERNAL_STORAGE
_ text leading is broken, text("blah\nblah") doesn't work properly
_ need to side-port changes from PShape/SVG over to Android
_ image() problems (includes sketch)
_ http://dev.processing.org/bugs/show_bug.cgi?id=1565
_ move to Android 2.1 as the minimum requirement?
_ since 2.0.1 seems to be used on only a 0.46% of devices?
_ http://developer.android.com/resources/dashboard/platform-versions.html
_ add registered methods again
_ need to figure out generic event queueing first
_ may need a different subset of methods, and introduce new ones
_ that will be usable on both android and desktop
_ add line for export in libraries to say whether they're compatible
_ even just 'android=' will be ok
_ possibility of doing a compile (not run) using straight javac?
_ this would be a faster way to check for errors
_ w/o needing to use the incredibly slow android tools
_ "Unable to resolve target 'Google...'" when APIs aren't installed
_ add an error message that explains what to do
_ next time the avd is updated
_ remove old AVDs because their APIs might be out of date
_ probably need to name AVDs based on their API spec
_ http://dev.processing.org/bugs/show_bug.cgi?id=1526
_ for libraries that don't work with android, don't let them export
_ e.g. people adding the opengl library when it's not needed
_ http://dev.processing.org/bugs/show_bug.cgi?id=1524
_ error messages in runner that are handled special (OOME) need different
_ handling for android vs others.. argh
_ test controlp5 with android
_ make size() work to place the component at the center of the screen
_ make size() work to change the renderer
_ how does size work?
_ if size() method is used, things are scaled based on that
_ if no size() method, then the full screen/full resolution is used
_ make apps properly handle screen resize
_ PShape examples are totally broken
_ get core.zip out of svn (once tool is separate, modes stuff working etc)
_ if sketchRenderer() et al are used in android, need to add to desktop
_ remove SurfaceView2D/SurfaceView3D separation, or clean up
_ what is resetLights() in PGraphics?
_ remove model() method from end of PApplet (make it shape(PShape))
P1 this is embarrassing, need to fix ASAP
P2 need to fix before beta release
P3 would like to fix before final release
P4 not an immediate need, but very nice to have
P5 nice to have
android bugs, sorted by priority
http://dev.processing.org/bugs/buglist.cgi?bug_status=&field0-0-0=product&type0-0-0=substring&value0-0-0=android&field0-0-1=component&type0-0-1=substring&value0-0-1=android&field0-0-2=short_desc&type0-0-2=substring&value0-0-2=android&field0-0-3=status_whiteboard&type0-0-3=substring&value0-0-3=android&query_format=advanced&order=bugs.priority,bugs.bug_status%2Cbugs.bug_id&query_based_on=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CORE (PApplet, P2D et al)
P2 _ separate "PApplet" into separate View and Activity classes
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1398
P2 _ too many temporary objects (particularly w/ color) created with A2D
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1399
P2 _ size() command is currently ignored in Android
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1397
P2 _ Implement P3D, OpenGL, A3D for Android
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1396
P3 _ remove unnecessary processing.xml.* code from android-core
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1400
P3 _ mouseClicked() is currently missing
P3 _ implement tap methods to handle mouseClicked()
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1406
P3 _ check on multiple pointers and multi-touch
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1491
P4 _ when returning to the application after link(), screen stays blank
P4 _ http://dev.processing.org/bugs/show_bug.cgi?id=1484
P4 _ excessive rotation of application causes memory to run out
P4 _ this probably means that some memory isn't being freed that should be
P4 _ new window and surfaceview objects are being created in onCreate
P4 _ so they should probably be taken down in onDestroy.. but how?
P4 _ http://dev.processing.org/bugs/show_bug.cgi?id=1480
P4 _ values for pmouseX/Y aren't great
P4 _ Examples > Topics > Drawing > Continuous Lines shows gaps
P4 _ http://dev.processing.org/bugs/show_bug.cgi?id=1486
P5 _ Examples > Topics > Effects > Lens uses a ton of memory
P5 _ resize() needs to use the android resize stuff
P5 _ right now using the rather than expensive copy()
P5 _ instead, create a new resized bitmap, and get rid of pixels[]
P5 _ http://dev.processing.org/bugs/show_bug.cgi?id=1487
P5 _ should alpha PImage stuff use a non-4byte config?
P5 _ http://dev.processing.org/bugs/show_bug.cgi?id=1490
P5 _ colorMode() error
P5 _ http://dev.processing.org/bugs/show_bug.cgi?id=1436
P5 _ add clear and close to all stream methods?
P5 _ http://dev.processing.org/bugs/show_bug.cgi?id=1492
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOLS
// jdf maybedone
_ only send error text to System.err (i.e. "Launching emulator" is not an error)
_ send these debug log messages to System.out
// jdf maybedone
_ "Sketch started on emulator" in spite of the emulator only halfway booted
_ sent email about this one
// jdf don't understand
_ errors in ActivityManager aren't coming through
_ if AVD is deleted while processing still running, things flake out
_ also no error messages, just 'giving up on launching emulator'
// jdf maybedone
_ when out of memory, need an error message to show up in the PDE
_ show "OutOfMemoryError: bitmap size exceeds VM budget" in status area
_ Examples > Topics > Drawing > Animator produces:
_ Uncaught handler: thread Animation Thread exiting due to uncaught exception
_ java.lang.OutOfMemoryError: bitmap size exceeds VM budget
_ at android.graphics.Bitmap.nativeCreate(Native Method)
// jdf maybedone
_ stack overflow produced no error inside the PDE
_ probably same as memory error above
// jdf maybedone
_ if hitting 'run' in p5, need to kill any sketch that's currently running
_ throw an error if a file in the 'data' dir ends with .gz
_ need to make data folder copy more efficient than just copying everything
_ right now, first copies to src inside Build.java (which then copies to bin)
// jdf maybedone
_ other exceptions coming through System.err
W/System.err( 242): java.lang.IllegalArgumentException: File /data/data/processing.android.test.savemanyimages/files/circles-0001.tif contains a path separator
W/System.err( 242): at android.app.ApplicationContext.makeFilename(ApplicationContext.java:1444)
W/System.err( 242): at android.app.ApplicationContext.openFileOutput(ApplicationContext.java:386)
W/System.err( 242): at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158)
W/System.err( 242): at processing.core.PApplet.createOutput(PApplet.java:3677)
android menu (need to discuss)
_ reset adb
_ something to bring up the full console window
_ signing tool
_ selection of which avd (emulator), or plugged-in devices (if multiple)
_ run the 'android' application (since finding its location is painful)
P1 _ exceptions with StreamPump and adb devices on osx and linux
P1 _ http://dev.processing.org/bugs/show_bug.cgi?id=1545
P1 _ http://dev.processing.org/bugs/show_bug.cgi?id=1527
P1 _ implement certificates (self-signed) for distribution
P1 _ http://developer.android.com/guide/publishing/app-signing.html
P1 _ http://dev.processing.org/bugs/show_bug.cgi?id=1430
P1 _ http://code.google.com/p/processing/issues/detail?id=222
P1 _ properly handle setting whatever permissions are necessary
P2 _ need to prevent hitting 'run' twice (threaded, so would work)
P2 _ currently things just keep restarting the build, bad state
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1387
P2 _ move the android tools into its own source package in SVN
P2 _ started, but needs proper Tool or Mode packaging
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1388
P2 _ implement method for selecting the AVD
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1390
P2 _ android mode is currently per-editor (and clunky)
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1379
P2 _ save state re: whether sketches are android or java mode (or others?)
P2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1380
P3 _ compiler errors not appearing properly on windows
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1546
P3 _ remove various debug messages on the console
P3 _ right now, there are too many places where errors occur
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1385
P3 _ for now, only runs on the first device (findDevice()) found
P3 _ --> implement selector to choose the default device for debugging
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1389
P3 _ if different machines, debug.keystore changes, requiring manual removal
P3 _ or find a way to do it automatically with processing
P3 _ can't keep it with the sketch, don't want to give away private key
P3 _ with different machines, users are required to remove signature
P3 _ add a method to remove an application if the debug key is different
P3 _ perhaps the first time an application is installed, remove it?
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1481
P3 _ library support also needs android manifest changes
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1439
P3 _ Errors show up that .java files are duplicates with the Android tools.
P3 _ problem is with the packages and where the preproc is putting the file
P3 _ example sketch added to bug report
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1472
P3 _ http://code.google.com/p/processing/issues/detail?id=232
P4 _ don't require android tools to be installed already
P4 _ or implement automatic download/install of android tools
P4 _ http://dev.processing.org/bugs/show_bug.cgi?id=1383
P4 _ add method to set the icon (and package name?)
P4 _ http://dev.processing.org/bugs/show_bug.cgi?id=1429
P4 _ http://developer.android.com/guide/publishing/preparing.html
P5 _ remove the need for a "Reset Android" menu option
P5 _ might need to just put this in the menu for times when things go weird
P5 _ http://dev.processing.org/bugs/show_bug.cgi?id=1392
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OPENGL/A3D/P3D
P3 _ implement createGraphics() for A2D/P3D/OPENGL
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1488
P3 _ remove processing.opengl.* classes and finish PGraphicsAndroid3D
P3 _ http://dev.processing.org/bugs/show_bug.cgi?id=1401
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OPTIMIZE / ENHANCEMENTS
_ don't re-calculate stroke() or fill() when it's the same value
_ should path.reset() or path.rewind() be used for a path to be reused?
E2 _ implement size() and createGraphics() for arbitrary renderers
E2 _ http://dev.processing.org/bugs/show_bug.cgi?id=1489
_ errors that cause a crash when setting sketchPath
_ seems to be a filesystem that got too full
_ no real signs of what went wrong, but deleting the avd fixed it
_ if it reappears again, trap that condition, and tell the user the fix
_ prevent rotation of applications? (or require a certain orientation)
_ add to activity tag in the manifest:
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="landscape"
_ or programmatically specify:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
_ show/hide the virtual keyboard
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(surfaceView, 0);
_ list contents of data folder (assets folder)
try {
PApplet.println(assets.list(""));
} catch (IOException e) {
e.printStackTrace();
}
_ excessive memory use indicator
_ D/dalvikvm( 1205): GC freed 814 objects / 523352 bytes in 58ms
_ could help show when lots of memory are being used
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
File gpxfile = new File(root, "gpxfile.gpx");
FileWriter gpxwriter = new FileWriter(gpxfile);
BufferedWriter out = new BufferedWriter(gpxwriter);
out.write("Hello world");
out.close();
}
} catch (IOException e) {
Log.e(TAG, "Could not write file " + e.getMessage());
}