This repository has been archived by the owner on Aug 14, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy pathtodo.txt
366 lines (287 loc) · 15.7 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
0218 android
X add support for icon-96 for xhdpi icons
X https://github.com/processing/processing-android/issues/37
X switch to onBackPressed() for back button handling
X developer.android.com/reference/android/app/Activity.html#onBackPressed()
X https://github.com/processing/processing-android/pull/52
X https://github.com/processing/processing-android/issues/50
X sync PVector plus the processing.data package
X https://github.com/processing/processing-android/issues/47
X https://github.com/processing/processing-android/pull/42
_ figure out how to build from Eclipse JDI so we can remove tools.jar and javac
_ https://github.com/processing/processing/issues/1840
_ figure out Android build w/o javac so we can remove tools.jar and javac
_ also to the p5 repo with just a JRE
_ remove initRequirements from Base (no longer need JDI)
_ move this into Android mode?
_ temporary files (for sketches and logs) are not deleted
o http://code.google.com/p/processing/issues/detail?id=562
_ https://github.com/processing/processing-android/issues/33
_ requires deleting the app before reinstalling
_ just fix this like the others
debug:
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
Shutting down any existing adb server...
_ NullPointerException in AndroidBuild.writeLocalProps(AndroidBuild.java:458)
_ prompts for SDK, works; then after restart breaks again
_ also refers to ANDROID_HOME and not ANDROID_SDK..
_ are we using the right one these days?
_ http://code.google.com/p/processing/issues/detail?id=979
_ this one is difficult to reproduce
_ Android emulator doesn't always start on the first attempt
_ emulator not starting up on OS X?
_ http://code.google.com/p/processing/issues/detail?id=1210
_ Android OPENGL renderer + JAVA2D PGraphics results in PTexture exception
_ http://code.google.com/p/processing/issues/detail?id=1019
_ focus handling note:
_ http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html
_ if a sketch asks for Android mode but it's not available
_ (after a double-click)
_ you get the "is android installed"? dialog, then it re-opens again
_ without closing the other
_ don't let the examples get overwritten with mode settings, manifest, etc
_ the whole sketch.properties thing is yech
_ add INTERNET permissions to the android net examples
_ or other necessary permissions for other examples
_ go through all basics/topics examples
_ remove those that don't make sense with android
_ remove size() commands from most/all
_ (or remove ones that truly require size...)
_ optimize for android use
_ need to set permissions as necessary (therefore add manifest files)
lifecycle/size changes/etc
_ need to smooth out screen orientation changes
_ g2 and g3 are no longer disposed on pause (0195), but probably should be
_ they're deleted when dispose() is called (on exit())
_ 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
_ dispose() was calling disposeMethods.handle(), but they're null
_ possible major issue with sketches not quitting out of run() when in bg
_ pause needs to actually kill the thread
_ returning from pause needs to reset the clock
_ this is currently draining batteries
_ thread is continually running - 'inside handleDraw()' running continually
_ inside run() it shouldn't still be going
_ avoid sketch restart on orientation change
_ need sizeChanged() method...
_ also add the param to the xml file saying that it can deal w/ rotation
_ https://github.com/processing/processing/issues/1640
_ re: android libraries, from shawn van every
The most powerful part were the libraries (and the ease with which they could be developed). Location, SMS, Camera/Video, Bluetooth (for Arduino integration) and PClient/PRequest were by far the most used. The ones that came with it, plus the ones from MJSoft were good though I ended up making a couple of very specific ones for my students: http://www.mobvcasting.com/wp/?cat=4
_ process trackball events (they're only deltas)
_ implement link()
_ error in 'create avd' with "Emulator already exists" when it needs an upgrade
_ or cannot be used with the current setup
_ use 'android list avds' on the command line to see the problem in this case
_ when there's a 'create avd' error, things still keep running. yay!
_ need to do this for utf8: "overridable Ant javac properties: java.encoding"
_ new for sdk tools r8, it's using ascii as the default, we're utf-8
_ don't give user a "User cancelled attempt to find SDK" error message
_ it's annoying.. they f*king know they just did that
_ also gives an error if it unsets the sdk path itself, saying that the
_ environment variable isn't set. which isn't true--it's set, but it doesn't
_ think the location is valid, which is totally different.
_ ...because it's ignoring the exception messages that come in from trying
_ to create the new sdk object
_ need to do something to make it easier to do new screen sizes.
_ sketches must be removed manually if the debug keystore changes
_ http://code.google.com/p/processing/issues/detail?id=236
_ "failed to get signature key" problem
_ Caused by: /Users/aandnota/Documents/android-sdk-mac_x86/tools/ant/ant_rules_r3.xml:209: com.android.sdklib.build.ApkCreationException: Unable to get debug signature key
_ saveStream() on processing-android-core.zip breaks behind firewall
_ downloads a 5kb html login page rather than the correct file
_ salaryper crashed when connecting to ctr500 and was re-routed
_ instead of sending back the gzip file, sent the error page
_ unlike java, where a 404 would give us null data
add to wiki
_ add to wiki: 1MB file size is max for data folder
_ Data exceeds UNCOMPRESS_DATA_MAX (11840328 vs 1048576)
_ File storage = android.os.Environment.getExternalStorageDirectory();
_ File folder = new File(storage, "awesomeapp");
_ also check the data folder on run/export
_ add to wiki: orientation(PORTRAIT) and orientation(LANDSCAPE)
_ add to keywords.txt
_ ctrl-F12 (ctrl-fn-f12 on mac) will rotate the emulator
android menu
_ something to bring up the full console window
_ signing tool
_ selection of which avd (emulator), or plugged-in devices (if multiple)
_ throw an error if a file in the 'data' dir ends with .gz
_ on export (application)
_ increment manifest/android:versionCode each time 'export' is called
_ Remove the android:debuggable="true" attribute from <application>
_ provide manifest/android:versionName ('pretty' version number)
_ setting the default package: manifest/package
_ application/android:label
_ used on home screen, manage applications, my downloads, etc
_ http://developer.android.com/guide/publishing/preparing.html
_ implement certificates (self-signed) for distribution
_ http://developer.android.com/guide/publishing/app-signing.html
_ http://code.google.com/p/processing/issues/detail?id=222
create new keystore
location: [ ] (browse)
password: [ ]
confirm: [ ]
...then asks for
alias, password, confirm, validity (years)
first/last name, ounit, org, city/locale, state/province, country code (xx)
_ StreamPump has been quieted, but maybe this needs to be a global log setting
_ seems to have problems on 64-bit windows
_ removing local version of java helped someone fix it
_ don't let the keystore message show up in red
_ Using keystore: /Users/fry/.android/debug.keystore
_ for libraries that don't work with android, don't let them export
_ http://code.google.com/p/processing/issues/detail?id=248
_ add line for export in libraries to say whether they're compatible
_ even just 'android=' will be ok
_ or 'mode=java,android,python'
_ error messages in runner that are handled special (OOME) need different
_ handling for android vs others.. argh
_ clean up changes from andres
_ what is resetLights() in PGraphics?
_ remove model() method from end of PApplet (make it shape(PShape))
_ PShape examples are totally broken
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CORE (PApplet, P2D et al)
_ implement blendMode() for Android
_ should be fairly straightforward given Java2D implementation
_ http://code.google.com/p/processing/issues/detail?id=1386
_ Finish implementation of OPEN and CHORD drawing modes for arc()
_ http://code.google.com/p/processing/issues/detail?id=1405
_ images resized with default renderer on Android are pixelated
_ http://code.google.com/p/processing/issues/detail?id=552
_ implement tap detection and set correct click count for mouseClicked()
_ mouseClicked is currently not fired at all (no direct match on Android)
_ http://code.google.com/p/processing/issues/detail?id=215
_ keyTyped() does not exist on Android
_ http://code.google.com/p/processing/issues/detail?id=1489
_ implement multiple pointers and multi-touch
_ http://code.google.com/p/processing/issues/detail?id=243
_ Examples > Topics > Effects > Lens uses a ton of memory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TOOLS
_ 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
_ 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)
P1
_ no ES2 in the emulator, and no error reported in the PDE
_ problem is probably that the error comes via E/AndroidRuntime
_ java.lang.RuntimeException: Unable to start activity ComponentInfo{processing.test.fisheye/processing.test.fisheye.FishEye}: java.lang.RuntimeException: P3D: OpenGL ES 2.0 is not supported by this device.
_ http://developer.android.com/tools/devices/emulator.html
_ http://code.google.com/p/processing/issues/detail?id=1059
P2
_ move the Android tools into its own source package in SVN
_ started, but needs proper Tool or Mode packaging
_ http://code.google.com/p/processing/issues/detail?id=206
_ implement method for selecting the AVD
_ http://code.google.com/p/processing/issues/detail?id=208
_ implement means to use Intel version of the emulator
_ need to verify if this is much faster or not
_ http://developer.android.com/tools/devices/emulator.html
_ http://android-developers.blogspot.com/2012/04/faster-emulator-with-better-hardware.html
P3 _ for now, only runs on the first device (findDevice()) found
P3 _ --> implement selector to choose the default device for debugging
P3 _ http://code.google.com/p/processing/issues/detail?id=207
P3 _ if different machines, debug.keystore changes, requiring manual removal
P3 _ or find a way to do it automatically with processing
P3 _ adb -s HT91MLC00031 install -r sketchbook/Hue/android/bin/Hue-debug.apk
P3 _ pkg: /data/local/tmp/Hue-debug.apk
P3 _ Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
P3 _ why does this result return 0?
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://code.google.com/p/processing/issues/detail?id=236
P3 _ library support also needs android manifest changes
P3 _ http://code.google.com/p/processing/issues/detail?id=225
_ implement automatic download/install of android tools
_ also need to install USB Driver on Windows, and set device rules on Linux
_ http://code.google.com/p/processing/issues/detail?id=203
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXAMPLES
_ simple example of reading the compass (also note that won't work w/ sim)
_ and also the gps, i assume (can do fake data w/ sim)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SAVED FOR LATER
_ may need to add screen orientation as a built-in function
_ fairly common to use, and otherwise needs an obscure import
_ 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
_ maybe the back button shouldn't quit apps, the home button should?
_ back button use in apps is so infuriating...
_ separate "PApplet" into separate View and Activity classes
_ http://code.google.com/p/processing/issues/detail?id=212
_ re-implement to use Fragment API
_ and what about daydream or widgets or whatever?
_ http://code.google.com/p/processing/issues/detail?id=1335
_ implement size() and createGraphics() for arbitrary renderers
_ http://code.google.com/p/processing/issues/detail?id=241
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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?
_ 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
_ 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());
}
_ application local storage: context.getFilesDir().getPath()
"For those of you interested, the internal 8GB of storage on the phone
is mounted at /emmc (r/w mode, of course) and microSD cards still
shows up normally at /sdcard as expected."
_ other useful tidbits (handlers etc)
_ http://developer.android.com/guide/appendix/faq/commontasks.html