Skip to content

Commit 733dabf

Browse files
committed
Wrapping Toolbar, Menu, MenuItem and OnMenuItemClickListener
1 parent 39e4c84 commit 733dabf

File tree

5 files changed

+1017
-2
lines changed

5 files changed

+1017
-2
lines changed

Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/Menu.swift

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
//
2+
// Menu.swift
3+
// Android
4+
//
5+
// Created by Marco Estrella on 8/28/18.
6+
//
7+
8+
import Foundation
9+
import java_swift
10+
import JNI
11+
12+
public extension Android.View {
13+
14+
public typealias MenuForward = AndroidMenuForward
15+
}
16+
17+
open class AndroidMenuForward: JavaObject {
18+
19+
public required init(javaObject: jobject?) {
20+
super.init(javaObject: javaObject)
21+
}
22+
23+
public convenience init?( casting object: JavaObject, _ file: StaticString = #file, _ line: Int = #line ) {
24+
self.init( javaObject: nil )
25+
object.withJavaObject {
26+
self.javaObject = $0
27+
}
28+
}
29+
}
30+
31+
public extension AndroidMenuForward {
32+
33+
public func add(titleRes: Int) -> Android.View.MenuItemForward {
34+
35+
var __locals = [jobject]()
36+
37+
var __args = [jvalue]( repeating: jvalue(), count: 1 )
38+
39+
__args[0] = jvalue(i: jint(titleRes))
40+
41+
let __return = JNIMethod.CallObjectMethod(
42+
object: javaObject,
43+
methodName: "add",
44+
methodSig: "(I)Landroid/view/MenuItem;",
45+
methodCache: &MenuJNICache.MethodID.add1,
46+
args: &__args,
47+
locals: &__locals )
48+
49+
return AndroidMenuItemForward(javaObject: __return)
50+
}
51+
52+
public func add(_ title: String?) -> Android.View.MenuItemForward {
53+
54+
var __locals = [jobject]()
55+
56+
var __args = [jvalue]( repeating: jvalue(), count: 1 )
57+
58+
__args[0] = JNIType.toJava(value: title, locals: &__locals)
59+
60+
let __return = JNIMethod.CallObjectMethod(
61+
object: javaObject,
62+
methodName: "add",
63+
methodSig: "(Ljava/lang/CharSecuence;)Landroid/view/MenuItem;",
64+
methodCache: &MenuJNICache.MethodID.add2,
65+
args: &__args,
66+
locals: &__locals )
67+
68+
return AndroidMenuItemForward(javaObject: __return)
69+
}
70+
71+
public func add(groupId: Int, itemId: Int, order: Int, titleRes: Int) -> Android.View.MenuItemForward {
72+
73+
var __locals = [jobject]()
74+
75+
var __args = [jvalue]( repeating: jvalue(), count: 4 )
76+
77+
__args[0] = jvalue(i: jint(groupId))
78+
__args[1] = jvalue(i: jint(itemId))
79+
__args[2] = jvalue(i: jint(order))
80+
__args[3] = jvalue(i: jint(titleRes))
81+
82+
let __return = JNIMethod.CallObjectMethod(
83+
object: javaObject,
84+
methodName: "add",
85+
methodSig: "(IIII)Landroid/view/MenuItem;",
86+
methodCache: &MenuJNICache.MethodID.add3,
87+
args: &__args,
88+
locals: &__locals )
89+
90+
return AndroidMenuItemForward(javaObject: __return)
91+
}
92+
93+
public func add(groupId: Int, itemId: Int, order: Int, title: String) -> Android.View.MenuItemForward {
94+
95+
var __locals = [jobject]()
96+
97+
var __args = [jvalue]( repeating: jvalue(), count: 4 )
98+
99+
__args[0] = jvalue(i: jint(groupId))
100+
__args[1] = jvalue(i: jint(itemId))
101+
__args[2] = jvalue(i: jint(order))
102+
__args[0] = JNIType.toJava(value: title, locals: &__locals)
103+
104+
let __return = JNIMethod.CallObjectMethod(
105+
object: javaObject,
106+
methodName: "add",
107+
methodSig: "(IIILjava/lang/CharSecuence;)Landroid/view/MenuItem;",
108+
methodCache: &MenuJNICache.MethodID.add4,
109+
args: &__args,
110+
locals: &__locals )
111+
112+
return AndroidMenuItemForward(javaObject: __return)
113+
}
114+
115+
}
116+
117+
internal extension AndroidMenuForward {
118+
119+
/// JNI Cache
120+
struct MenuJNICache {
121+
122+
static let classSignature = Android.View.className(["Menu"])
123+
124+
/// JNI Java class name
125+
static let className = classSignature.rawValue
126+
127+
/// JNI Java class
128+
static var jniClass: jclass?
129+
130+
/// JNI Method ID cache
131+
struct MethodID {
132+
133+
static var add1: jmethodID?
134+
static var add2: jmethodID?
135+
static var add3: jmethodID?
136+
static var add4: jmethodID?
137+
}
138+
}
139+
}

0 commit comments

Comments
 (0)