mirror of
https://github.com/SnapEnhance/scripting-docs.git
synced 2026-08-31 04:32:30 +00:00
chore: new examples
This commit is contained in:
39
examples/alert_dialog.js
Normal file
39
examples/alert_dialog.js
Normal file
@@ -0,0 +1,39 @@
|
||||
// ==SE_module==
|
||||
// name: alert_dialog
|
||||
// displayName: Alert Dialog test
|
||||
// version: 1.0
|
||||
// author: John Doe
|
||||
// ==/SE_module==
|
||||
|
||||
var interfaces = require('java-interfaces')
|
||||
var im = require('interface-manager')
|
||||
|
||||
function getMyUserId(context) {
|
||||
var database = context.openOrCreateDatabase("arroyo.db", 0, null)
|
||||
var cursor = database.rawQuery("SELECT value FROM required_values WHERE key = 'USERID'", null)
|
||||
var userId = null
|
||||
|
||||
try {
|
||||
if (cursor.moveToFirst()) {
|
||||
userId = cursor.getString(0)
|
||||
}
|
||||
} finally {
|
||||
cursor.close()
|
||||
database.close()
|
||||
}
|
||||
|
||||
return userId
|
||||
}
|
||||
|
||||
|
||||
module.onSnapMainActivityCreate = activity => {
|
||||
var myUserId = getMyUserId(activity)
|
||||
|
||||
activity.runOnUiThread(interfaces.runnable(() => {
|
||||
var myDialog = im.createAlertDialog(activity, (builder, dialog) => {
|
||||
builder.text("My User Id is : " + myUserId)
|
||||
})
|
||||
|
||||
myDialog.show()
|
||||
}))
|
||||
}
|
||||
23
examples/friend_feed_context_menu.js
Normal file
23
examples/friend_feed_context_menu.js
Normal file
@@ -0,0 +1,23 @@
|
||||
// ==SE_module==
|
||||
// name: friend_feed_context_menu
|
||||
// displayName: Friend Feed Contex Menu Test
|
||||
// version: 1.0
|
||||
// author: John Doe
|
||||
// ==/SE_module==
|
||||
|
||||
var im = require("interface-manager")
|
||||
var config = require('config')
|
||||
|
||||
module.onSnapMainActivityCreate = () => {
|
||||
im.create("friendFeedContextMenu", (builder, args) => {
|
||||
builder.text("conversationId: " + args["conversationId"])
|
||||
builder.text("userId: " + args["userId"])
|
||||
|
||||
builder.row(builder => {
|
||||
builder.text("My Switch")
|
||||
builder.switch(config.getBoolean("myBoolean", false), value => {
|
||||
config.setBoolean("myBoolean", value, true)
|
||||
})
|
||||
}).arrangement("spaceBetween").fillMaxWidth().padding(4)
|
||||
})
|
||||
}
|
||||
26
examples/unsafe_classloader.js
Normal file
26
examples/unsafe_classloader.js
Normal file
@@ -0,0 +1,26 @@
|
||||
// ==SE_module==
|
||||
// name: unsafe_classloader
|
||||
// displayName: Unsafe classloader
|
||||
// version: 1.0
|
||||
// author: John Doe
|
||||
// permissions: unsafe-classloader
|
||||
// ==/SE_module==
|
||||
|
||||
var interfaces = require('java-interfaces')
|
||||
|
||||
module.onSnapMainActivityCreate = () => {
|
||||
type("java.lang.Thread").newInstance(
|
||||
interfaces.runnable(() => {
|
||||
try {
|
||||
var okHttpClient = type("okhttp3.OkHttpClient$Builder", true).newInstance()
|
||||
.followRedirects(false)
|
||||
.build()
|
||||
|
||||
var response = okHttpClient.newCall(type("okhttp3.Request$Builder", true).newInstance().url("https://github.com/").build()).execute()
|
||||
logInfo("response: " + response.body().string())
|
||||
} catch (e) {
|
||||
logError(e)
|
||||
}
|
||||
})
|
||||
).start()
|
||||
}
|
||||
Reference in New Issue
Block a user