2
0
mirror of synced 2025-02-22 14:28:14 +00:00

545 Commits

Author SHA1 Message Date
Hyang-Ah (Hana) Kim
c384607ef3 bind: support for custom java package name and objective-c prefix.
Introduce options -javapkg and -prefix for gobind command.

The following generates java class Testpkg with package name com.example.

gobind -lang=java -javapkg=com.example testpkg

The following generates objective-c files where function and type names
are prefixed with ExampleTestpkg.

gobind -lang=objc -prefix=Example testpkg

As discussed in golang/go#9660 and golang/go#12245.

Gomobile support is not yet implemented.

Change-Id: Ib9e39997ce915580a5a2e25643c0c28373f27ee1
Reviewed-on: https://go-review.googlesource.com/13969
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-28 13:57:06 +00:00
David Crawshaw
4628c38e0f bind: handle unimplementable interfaces
Fixes golang/go#12330

Change-Id: I1568d04b7e48242105a7028ca471e2138f684eeb
Reviewed-on: https://go-review.googlesource.com/13946
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-27 21:36:14 +00:00
Hyang-Ah (Hana) Kim
ac03bee8c3 exp/sprite/portable: fix broken build
Change-Id: I4eb6dc6a98366ad978f9fa2367b518ccfffee363
Reviewed-on: https://go-review.googlesource.com/13970
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-27 17:25:15 +00:00
David Crawshaw
11fe695b54 bind: support fields with type error
Fixes golang/go#12328

Change-Id: I42872d26acb1c44522a64405cfa2d0f10fb24485
Reviewed-on: https://go-review.googlesource.com/13919
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-26 20:25:55 +00:00
David Crawshaw
905c19f8c0 internal/mobileinit: remove format string warning
Change-Id: I9b0e9680395dcfdf0e6c03a5847ea619e570a2ed
Reviewed-on: https://go-review.googlesource.com/13918
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-25 16:39:13 +00:00
Hyang-Ah (Hana) Kim
da28dd9045 bind/objc: fix error return type handling
Fixes golang/go#12307.

Change-Id: I5560b616a3cd51c536d9e5529745681effe26e9a
Reviewed-on: https://go-review.googlesource.com/13913
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-25 15:22:55 +00:00
Hana Kim
979ebcea99 cmd/gomobile: make test pass in windows.
Change-Id: I189524ddf853b9fd0c5510878cfb2cf33b973345
Reviewed-on: https://go-review.googlesource.com/13875
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-24 21:39:25 +00:00
Hana Kim
49a82fefe3 all: support go get golang.org/x/mobile/... on Windows
Fixes golang/go#12212
Workaround for golang/go#12261 until golang/go#9306 is fixed.

Change-Id: I51c1bcfc92c1553fe2132586a0234b1c1af6aeb1
Reviewed-on: https://go-review.googlesource.com/13745
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-24 21:09:04 +00:00
David Crawshaw
48bd7cbbc7 bind: adjust invalid java package names
Updates golang/go#12273

Change-Id: I8eac3e84d5a473e9ffe45705cea88537573aef61
Reviewed-on: https://go-review.googlesource.com/13873
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-24 21:08:09 +00:00
David Crawshaw
8bf23706cf cmd/gomobile: only install app pkgs on darwin
Unfortunately GLES is not a common package for a linux desktop
to have installed. To avoid bind-based users having to jump
through the hoop of installing GL, disable this performance
optimization on linux for now.

Change-Id: Ic00baef6237dca360f191ec291b6c165eda7ad6e
Reviewed-on: https://go-review.googlesource.com/13874
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-24 21:04:37 +00:00
David Crawshaw
128f53db6d cmd/gomobile: install common dev packages
I often forget to do this. I can't be the only one.

Change-Id: Ia5dfaa6811242758f996de614f80cb42badf327b
Reviewed-on: https://go-review.googlesource.com/13742
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-24 16:01:42 +00:00
Hyang-Ah Hana Kim
f9f0ffafe3 cmd/gomobile: reset readonly bits of downloaded files in Windows
os.Rename in init fails in Windows for various reasons. One of them
is the temporary files extracted from NDK, OpenAL archives. For
some reason, some of them have read-only properties.
(golang/go#12212)

> gomobile init
gomobile: rename
 C:\Users\foo\pkg\gomobile\work-427911983\openal\include\AL
 C:\Users\foo\pkg\gomobile\android-ndk-r10e\arm\sysroot\usr\include\AL:
 Access is denied.

We reset the read-only bits of all the extracted files.

Change-Id: Ib958cbedf1b7527ecb5b9318f23fe9437dc7c241
Reviewed-on: https://go-review.googlesource.com/12970
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-24 13:08:21 +00:00
Nigel Tao
f4bcb3cc2e exp/sensor: fix nsec to usec conversion.
Also remove an unnecessary constant type conversion.

Change-Id: Iff466553fac450bd531785f4fb4e2be97a991a52
Reviewed-on: https://go-review.googlesource.com/13715
Reviewed-by: Burcu Dogan <jbd@google.com>
2015-08-21 01:49:41 +00:00
Nigel Tao
3a0fcd575e event/key: make Event implement fmt.Stringer.
Change-Id: I453bed283767e0adf5efd271b329a469c0073d69
Reviewed-on: https://go-review.googlesource.com/13733
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-21 01:21:32 +00:00
David Crawshaw
ab223cffc9 internal/mobileinit: send iOS logs to ASL
Fixes golang/go#12194

Change-Id: I9ff771336996c19ca43da56e3f8944e79c980a2b
Reviewed-on: https://go-review.googlesource.com/13703
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-20 14:33:19 +00:00
Nigel Tao
e959dea03d event/key: implement Code.String, via stringer.
Change-Id: I4acf4f351a30ee64192ed9f896ca31d29fe0397f
Reviewed-on: https://go-review.googlesource.com/13712
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-19 23:59:47 +00:00
Tim Cooijmans
78ac81ee2f cmd/gomobile: Fix issue in init when downloading full NDK.
Fixes an issue where the full NDK could not be downloaded due to a missing execute permission.

Fixes golang/go#12208

Change-Id: I6f432b5021b082693a02a293f50caf6da4d4e379
Reviewed-on: https://go-review.googlesource.com/13669
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-19 19:55:24 +00:00
David Crawshaw
9308ad61ea app: android key code mapping to USB HID codes
Change-Id: I1225f51fd06a5f9a9f0fdf09096982df761b5a51
Reviewed-on: https://go-review.googlesource.com/13678
Reviewed-by: Nigel Tao <nigeltao@golang.org>
2015-08-19 14:09:33 +00:00
David Crawshaw
b5d916ab12 exp/gl/glutil: extra context error checking
Hoping to learn more so I can debug or replicate the darwin/amd64
builder failure, which is not creating a GL context.

Change-Id: I9f2fe54fbd9a072c65cd37c3b711554d4c71171f
Reviewed-on: https://go-review.googlesource.com/13693
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-18 19:25:21 +00:00
David Crawshaw
da78c710f3 bind/testdata: update golden files
Tests now pass on OS X.

Change-Id: Id2e6c5bd9ddd4070962ff9bc121d7902e8c9a647
Reviewed-on: https://go-review.googlesource.com/13694
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-18 17:57:47 +00:00
David Crawshaw
377063dfa4 app: plumbing for physical android key events
This is only the first half of physical key event mapping. The
modifiers and hardware key codes will be in a followup CL. I'm
splitting this out because it covers two other parts of the problem:
first is maintaining a JNIEnv pointer for the main routine, the
second is access to the Android unicode key map. The NDK does not have
a method to give us the key mapping, so we get to it via
GoNativeActivity.

Tested with a USB keyboard. I'll attempt an abd-based unit test later,
but I suspect it will be difficult to set a device ID.

Change-Id: Ie93700d1f2a5d382a9b17cdd668cb4acaa6e4bcc
Reviewed-on: https://go-review.googlesource.com/13649
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-18 13:10:55 +00:00
David Crawshaw
0cfb79fc77 app: test painting using a screenshot
Also catches any bugs that cause painting to lock up after
rotation (of which there have been many).

Change-Id: I3783030efd2c342afebf2b861e9e9dc32e96f659
Reviewed-on: https://go-review.googlesource.com/13616
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-17 16:26:32 +00:00
David Crawshaw
99aacab40d app: attach main thread to the JNI
Ran into this while working on keyboard events. I'm a little surprised
this hasn't been a problem so far -- my understanding of the NDK
functions for working with a NativeActivity is that the require you
hold a valid JNI context before calling them.

Change-Id: Ifd322ef5e8406df648d1a8f667e5ce08ffef954d
Reviewed-on: https://go-review.googlesource.com/13648
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-17 14:38:43 +00:00
Burcu Dogan
bb4db21edc readme: link to Mobile wiki page
Change-Id: Iaf87969a9d9c3d324349fa7b3b668c820d5d73ae
Reviewed-on: https://go-review.googlesource.com/13635
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-15 00:05:54 +00:00
Burcu Dogan
25faf494e1 exp/sensor: use a better prefix in C not to pollute the namespace
Change-Id: Iac80d3ca61812ece64ae5127e4b5d1f8c54ff5b3
Reviewed-on: https://go-review.googlesource.com/13620
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-13 17:46:42 +00:00
Burcu Dogan
6ba2a15710 gitignore: ignore builds and IDE configuration files
Change-Id: Ie86cab2161e296471a1b9eb1232b69f360d3240e
Reviewed-on: https://go-review.googlesource.com/13583
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-13 17:32:33 +00:00
Nigel Tao
f632204bcc event/config: rename to event/size.
Change-Id: I908b5f0818da32b2b040f430ebcc3762eb6f7570
Reviewed-on: https://go-review.googlesource.com/13601
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-13 13:31:00 +00:00
Burcu Dogan
b5583e233e exp/sensor: reorg package to create space for darwin/arm,arm64 impl
Change-Id: I41e4088a92fff2f411dd82102fc3c421d2679c21
Reviewed-on: https://go-review.googlesource.com/13582
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-12 22:18:05 +00:00
David Crawshaw
df7e121d2f cmd/gomobile: cleanup and link to wiki docs
Change-Id: Iaaa5208c663f8d1ff8acf1a632b5fe05976d86a4
Reviewed-on: https://go-review.googlesource.com/13610
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-12 16:21:55 +00:00
David Crawshaw
ec91477003 app: mention wiki docs in app package docs
Change-Id: I5fc7fe86f47e117e2b09dd16d7a588374b32dd66
Reviewed-on: https://go-review.googlesource.com/13611
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-12 16:21:36 +00:00
Nigel Tao
4ee6e2bd6d app: fix s/spaces/tabs/.
Change-Id: I795a82a8549d250fb9ca33134248fb4ff12bd0a0
Reviewed-on: https://go-review.googlesource.com/13491
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-12 04:16:58 +00:00
David Crawshaw
c2f4676407 app: fix X11 build
Change-Id: Ida7cd57eefac66bcff89720ac5c82015d1d37f00
Reviewed-on: https://go-review.googlesource.com/13540
Reviewed-by: Jeffrey Regan <jregan@google.com>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-11 19:16:57 +00:00
Hyang-Ah (Hana) Kim
5c55c26446 bind/objc: don't expose internal class types mapped to Go interface.
For interface binding, we need only protocols.

Change-Id: I377ec9c8de0a3414d48272892b169fb94823e8ff
Reviewed-on: https://go-review.googlesource.com/13541
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-11 19:16:10 +00:00
Hyang-Ah (Hana) Kim
73792b1db2 bind: update doc to include objective-C interface type support.
Also mention the current limitation in byte slice binding.
golang/go#12113.

Change-Id: Ie75780c2d203431ca26a188dfdb8f000f6805c18
Reviewed-on: https://go-review.googlesource.com/13531
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-11 16:37:26 +00:00
David Crawshaw
0f9ce16152 app: plumb through android orientation
While I'm here, make pixelsPerPt local on android and darwin/amd64.
The one place where it's global is darwin/arm, which has another
similar global (screenScale).

Change-Id: I5897e7e5341afca1976fdf0215fb4f6fe2f411be
Reviewed-on: https://go-review.googlesource.com/13446
Reviewed-by: Nigel Tao <nigeltao@golang.org>
2015-08-11 15:19:09 +00:00
David Crawshaw
354679495a app: always send paint event when bumping gen
When the generation number is bumped, the <-endPaint case will drop
any old paints. So if a new paint isn't sent to replace it, the app
locks up.

This is a bug that looks like it crept into cl/12533 just before it
was submitted. (Sorry.) I'm working on tests as part of adding
android orientation support.

Change-Id: I6b62bdc6774e090b67a5577c3eae7355e3937894
Reviewed-on: https://go-review.googlesource.com/13445
Reviewed-by: Nigel Tao <nigeltao@golang.org>
2015-08-11 14:52:42 +00:00
Hyang-Ah (Hana) Kim
2a7a6f0949 cmd/gomobile: use the app names as bundle id in ios.
This fixes the bug - all apps built with gomobile build had the same
bundle id (org.golang.todo.main).

As part of this fix, rfc1034Label function is used to sanitize the app
name (in a similar way of 'rfc1034identifier' formatter). We use this
for Android app package name as well.

Change-Id: Iae1985614a55771bf1849fe66180c4ac736497d7
Reviewed-on: https://go-review.googlesource.com/13041
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-11 14:39:38 +00:00
Hyang-Ah (Hana) Kim
9e2563f3e7 asset: warn asset.Open must not be called from init.
Currently there is no easy way to fix golang/go#12077
so we document it.

Fixes golang/go#12077

Change-Id: I6b37ae375673c055152dad5b93e180d9831aef76
Reviewed-on: https://go-review.googlesource.com/13430
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-10 19:12:52 +00:00
David Crawshaw
ea3ef0580c gl: handle zero length in GetAttachedShaders
Fixes golang/go#11980

Change-Id: I914234bfd3c39e2832db49d8f389305d919e6045
Reviewed-on: https://go-review.googlesource.com/13090
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-10 17:41:14 +00:00
David Crawshaw
d382b23901 app: plumb through iOS orientation
Change-Id: I9cfaf23219a8e7e15727bd7338503b9fbc4634a2
Reviewed-on: https://go-review.googlesource.com/13444
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-10 17:11:20 +00:00
David Crawshaw
a1723d5d95 cmd/gomobile: add SHA256 hashes for downloads
Change-Id: I063870b65be136f95d44c5c00c3be89015717c08
Reviewed-on: https://go-review.googlesource.com/13443
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-10 17:06:08 +00:00
David Crawshaw
51384a9898 event/config: add Orientation
There are several variations on orientation. iOS expposes a little
more orientation information through its basic enum than Android
does, but the more powerful Android API gives you degrees around a
circle, which while strictly more powerful, doesn't tell you easily
where the status bar is.

What I'm thinking with this is the primary use of an orientation
concept is to decide whether or not to lay out a UI for a wide screen.
This gives you that.

Later I hope the sensor API will give far more information about the
physical orientation of the device.

Change-Id: I00ff598853c7ed618cde266729d8d05e1a02a601
Reviewed-on: https://go-review.googlesource.com/13361
Reviewed-by: Nigel Tao <nigeltao@golang.org>
2015-08-10 12:46:05 +00:00
David Crawshaw
fa69a4e270 cmd/gomobile: better AndroidManifest errors
Before:
	gomobile: EOF
After:
	gomobile: error parsing /Users/crawshaw/src/golang.org/x/mobile/example/basic/AndroidManifest.xml: EOF

Change-Id: I5e890e3ede5eef04c0a9f26a894bf450da19b3d9
Reviewed-on: https://go-review.googlesource.com/13442
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-10 12:29:32 +00:00
Nigel Tao
1df827c65a app: merge android.go with loop_android.go.
There's no need for more than one Android .go file.

Change-Id: I75f5ced5680088b0ddbe5c700981b9a595d9e321
Reviewed-on: https://go-review.googlesource.com/13343
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-07 12:48:53 +00:00
Nigel Tao
fa181effb8 event/config: add a Bounds method.
This is analogous to the image.Image's Bounds method.

Change-Id: I2be927f21008107b535cb79e231149cb8d4e8e36
Reviewed-on: https://go-review.googlesource.com/13152
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-07 00:14:21 +00:00
Hyang-Ah (Hana) Kim
50f2c0f60e bind/objc: update test.bash to run gobind.
Change-Id: I38379d6f1a6bbaa13234060b52edc8206b750644
Reviewed-on: https://go-review.googlesource.com/13028
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-05 20:02:56 +00:00
Nigel Tao
8fffdfa9fd event/{mouse,touch}: work in float32 pixels, not geom.Pt.
Higher-level widget or animation libraries should probably work in
geom.Pt, but pixels instead of (1/72s of) inches seems a better fit for
lower-level event libraries. Needlessly converting from (float32) pixels
to (float32) points and back can be lossy and lead to off-by-one errors.

Change-Id: I68102e36f2574b07b44c6a1b7281f4f27f9174cf
Reviewed-on: https://go-review.googlesource.com/13002
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-08-04 07:35:09 +00:00
Burcu Dogan
1f62208640 example/bind/android: GOMOBILE gradle setting is optional
Fixes golang/go#11998.

Change-Id: I418a7cd5507c59244eef2be39e0074a82adb4c97
Reviewed-on: https://go-review.googlesource.com/13067
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-03 18:28:18 +00:00
Burcu Dogan
99196c8691 example/bind/ios: remove the failing build step
Regenerating the package from Xcode is not required, demo
should focus on building with a .framework bundle.

Removing the genhello.bash invoking build step to fix the Xcode
builds.

Change-Id: I793b7e1f5373a287432a0a605df0bde54b1daa84
Reviewed-on: https://go-review.googlesource.com/13036
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-08-01 23:05:44 +00:00
Hyang-Ah (Hana) Kim
9865dd0755 bind: implement objective-C interface binding code generation.
Depends on cl/12389 progress.

Change-Id: I044b0cf7c4df1d84b9ee158a4ceb3fdb13bf7645
Reviewed-on: https://go-review.googlesource.com/12410
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-07-31 20:12:37 +00:00