wallet: clean up files and fix README

This commit is contained in:
darkfi
2024-09-04 14:36:40 +02:00
parent 1a4916323d
commit 2b6eef49f0
4 changed files with 22 additions and 464 deletions

Binary file not shown.

View File

@@ -1,29 +0,0 @@
```
podman system service
podman build -t apk .
```
```
# This command gives an interactive terminal (useful for debugging):
#podman run -v $(pwd):/root/dw -it apk bash
podman run -v $(pwd):/root/dw -w /root/dw -t apk cargo quad-apk build
```
Enable USB debugging in developer options and run the following commands:
```
adb install -r target/android-artifacts/debug/apk/darkwallet.apk
# Clear the log
adb logcat -c
adb logcat -s darkfi
```
# Debugging Missing Symbols (note to self)
```
"hb_ft_font_create_referenced"
nm libharfbuzz_rs-5d6b743170eb0207.rlib | grep hb_ | less
```

View File

@@ -1,4 +1,24 @@
`cargo run` then `python client.py`
# Linux
docker run --rm -v $(pwd)":/root/src" -w /root/src cargo-quad-apk cargo quad-apk build
```
make
```
# Android
Make sure you have podman installed. Then run `make android`.
To debug any issues, you can enter an interactive terminal using:
```
podman run -v $(pwd):/root/dw -it apk bash
```
# Debugging Missing Symbols (note to self)
```
"hb_ft_font_create_referenced"
nm libharfbuzz_rs-5d6b743170eb0207.rlib | grep hb_ | less
```

View File

@@ -1,433 +0,0 @@
#!/usr/bin/python
from gui import *
def create_layer(name):
win_id = api.lookup_node_id("/window")
node_id = api.add_node(name, SceneNodeType.RENDER_LAYER)
prop = Property(
"is_visible", PropertyType.BOOL, PropertySubType.NULL,
None,
"Is Visible", "Visibility of this layer",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"rect", PropertyType.UINT32, PropertySubType.PIXEL,
None,
"Rectangle", "The position and size within the layer",
False, True, 4, None, None, []
)
api.add_property(node_id, prop)
api.link_node(node_id, win_id)
return node_id
def create_mesh(name, layer_id):
node_id = api.add_node(name, SceneNodeType.RENDER_MESH)
prop = Property(
"data", PropertyType.BUFFER, PropertySubType.NULL,
None,
"Mesh Data", "The face and vertex data for the mesh",
False, False, 2, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"rect", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Rectangle", "The position and size within the layer",
False, True, 4, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"z_index", PropertyType.UINT32, PropertySubType.NULL,
None,
"Z-index", "Z-index: values greater than zero are deferred draws",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
#prop = Property(
# "is_visible", PropertyType.UINT32, PropertySubType.NULL,
# None,
# "Is Visible", "Visibility of this object",
# False, False, 1, None, None, []
#)
#api.add_property(node_id, prop)
api.link_node(node_id, layer_id)
return node_id
def create_text(name, layer_id):
node_id = api.add_node(name, SceneNodeType.RENDER_TEXT)
prop = Property(
"rect", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Rectangle", "The position and size within the layer",
False, True, 4, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"baseline", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Baseline", "Y offset of baseline inside rect",
False, True, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"font_size", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Font Size", "Font Size",
False, True, 1, 0.0, None, []
)
api.add_property(node_id, prop)
prop = Property(
"text", PropertyType.STR, PropertySubType.NULL,
None,
"Text", "Text",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"color", PropertyType.FLOAT32, PropertySubType.COLOR,
None,
"Color", "Color of the text",
False, False, 4, 0, 1, []
)
api.add_property(node_id, prop)
prop = Property(
"z_index", PropertyType.UINT32, PropertySubType.NULL,
None,
"Z-index", "Z-index: values greater than zero are deferred draws",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"debug", PropertyType.BOOL, PropertySubType.NULL,
None,
"Debug", "Draw debug outlines",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
api.link_node(node_id, layer_id)
return node_id
def create_editbox(name, layer_id):
node_id = api.add_node("editz", SceneNodeType.EDIT_BOX)
prop = Property(
"is_active", PropertyType.BOOL, PropertySubType.NULL,
None,
"Is Active", "Whether the editbox is active",
False, True, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"rect", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Rectangle", "The position and size within the layer",
False, True, 4, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"baseline", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Baseline", "Y offset of baseline inside rect",
False, True, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"scroll", PropertyType.FLOAT32, PropertySubType.NULL,
None,
"Scroll", "Current scroll",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"cursor_pos", PropertyType.UINT32, PropertySubType.NULL,
None,
"Cursor Position", "Cursor position within the text",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"font_size", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Font Size", "Font Size",
False, True, 1, 0.0, None, []
)
api.add_property(node_id, prop)
prop = Property(
"text", PropertyType.STR, PropertySubType.NULL,
None,
"Text", "Text",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"text_color", PropertyType.FLOAT32, PropertySubType.COLOR,
None,
"Text Color", "Color of the text",
False, False, 4, 0, 1, []
)
api.add_property(node_id, prop)
prop = Property(
"cursor_color", PropertyType.FLOAT32, PropertySubType.COLOR,
None,
"Cursor Color", "Color of the cursor",
False, False, 4, 0, 1, []
)
api.add_property(node_id, prop)
prop = Property(
"hi_bg_color", PropertyType.FLOAT32, PropertySubType.COLOR,
None,
"Highlight Bg Color", "Background color for highlighted text",
False, False, 4, 0, 1, []
)
api.add_property(node_id, prop)
prop = Property(
"selected", PropertyType.UINT32, PropertySubType.NULL,
None,
"Selected", "Selected range",
True, False, 2, 0, None, []
)
api.add_property(node_id, prop)
prop = Property(
"z_index", PropertyType.UINT32, PropertySubType.NULL,
None,
"Z-index", "Z-index: values greater than zero are deferred draws",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"debug", PropertyType.BOOL, PropertySubType.NULL,
None,
"Debug", "Draw debug outlines",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
#win_id = api.lookup_node_id("/window")
#arg_data = bytearray()
#serial.write_u32(arg_data, node_id)
#api.call_method(win_id, "create_edit_box", arg_data)
#api.link_node(node_id, layer_id)
return node_id
def create_chatview(name, layer_id):
node_id = api.add_node(name, SceneNodeType.CHAT_VIEW)
prop = Property(
"rect", PropertyType.FLOAT32, PropertySubType.PIXEL,
None,
"Rectangle", "The position and size within the layer",
False, True, 4, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"debug", PropertyType.BOOL, PropertySubType.NULL,
None,
"Debug", "Draw debug outlines",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
prop = Property(
"z_index", PropertyType.UINT32, PropertySubType.NULL,
None,
"Z-index", "Z-index: values greater than zero are deferred draws",
False, False, 1, None, None, []
)
api.add_property(node_id, prop)
win_id = api.lookup_node_id("/window")
arg_data = bytearray()
serial.write_u32(arg_data, node_id)
api.call_method(win_id, "create_chat_view", arg_data)
api.link_node(node_id, layer_id)
return node_id
class Buffer:
def __init__(self):
self.verts = bytearray()
self.faces = bytearray()
self.verts_len = 0
def draw_box(self, rect=(0, 0, 1, 1), r=0, g=0, b=0):
x, y, w, h = rect
vert1 = vertex(x, y, r, g, b, 1, 0, 0)
vert2 = vertex(x + w, y, r, g, b, 1, 1, 0)
vert3 = vertex(x, y + h, r, g, b, 1, 0, 1)
vert4 = vertex(x + w, y + h, r, g, b, 1, 1, 1)
verts = vert1 + vert2 + vert3 + vert4
k = self.verts_len
faces = face(k, k + 2, k + 1) + face(k + 1, k + 2, k + 3)
self.verts_len += 4
self.verts += verts
self.faces += faces
def draw_outline(self, rect=(0, 0, 1, 1), r=0, g=0, b=0, pad=1, layer_dim=(0, 0)):
layer_w, layer_h = layer_dim
pad_x, pad_y = 1/layer_w, 1/layer_h
x, y, w, h = rect
# left side
self.draw_box((x, y, pad_x, h), r, g, b)
# top side
self.draw_box((x, y, w, pad_y), r, g, b)
# right side
rhs = x + w
self.draw_box((rhs - pad_x, y, pad_x, h), r, g, b)
# bottom side
bhs = y + h
self.draw_box((x, bhs - pad_y, w, pad_y), r, g, b)
def main():
layer_id = create_layer("view")
api.set_property_u32(layer_id, "rect", 0, 0)
api.set_property_u32(layer_id, "rect", 1, 0)
code = [["as_u32", ["load", "sw"]]]
api.set_property_expr(layer_id, "rect", 2, code)
code = [["as_u32", ["load", "sh"]]]
api.set_property_expr(layer_id, "rect", 3, code)
# Make the black background
# Maybe we should use a RenderPass for this instead
node_id = create_mesh("bg", layer_id)
api.set_property_f32(node_id, "rect", 0, 0)
api.set_property_f32(node_id, "rect", 1, 0)
code = [["load", "lw"]]
api.set_property_expr(node_id, "rect", 2, code)
code = [["load", "lh"]]
api.set_property_expr(node_id, "rect", 3, code)
buff = Buffer()
buff.draw_box(r=0.05, g=0.05, b=0.05)
api.set_property_buf(node_id, "data", 0, buff.verts)
api.set_property_buf(node_id, "data", 1, buff.faces)
# Make the chatedit bg
node_id = create_mesh("chateditbg", layer_id)
api.set_property_f32(node_id, "rect", 0, 100)
code = [["-", ["load", "lh"], ["f32", 50]]]
api.set_property_expr(node_id, "rect", 1, code)
code = [["-", ["load", "lw"], ["f32", 100]]]
api.set_property_expr(node_id, "rect", 2, code)
api.set_property_f32(node_id, "rect", 3, 50)
buff = Buffer()
buff.draw_box(r=0.0, g=0.13, b=0.08)
buff.draw_outline(r=0.22, g=0.22, b=0.22, pad=1, layer_dim=(1000, 50))
api.set_property_buf(node_id, "data", 0, buff.verts)
api.set_property_buf(node_id, "data", 1, buff.faces)
# Make the nicktext border
node_id = create_mesh("nickbg", layer_id)
api.set_property_f32(node_id, "rect", 0, 0)
code = [["-", ["load", "lh"], ["f32", 50]]]
api.set_property_expr(node_id, "rect", 1, code)
api.set_property_f32(node_id, "rect", 2, 100)
api.set_property_f32(node_id, "rect", 3, 50)
buff = Buffer()
buff.draw_outline(r=0.0, g=0.13, b=0.08, pad=1, layer_dim=(100, 50))
api.set_property_buf(node_id, "data", 0, buff.verts)
api.set_property_buf(node_id, "data", 1, buff.faces)
# The nickname
node_id = create_text("nick", layer_id)
api.set_property_f32(node_id, "rect", 0, 20)
code = [["-", ["load", "lh"], ["f32", 50]]]
api.set_property_expr(node_id, "rect", 1, code)
api.set_property_f32(node_id, "rect", 2, 100)
api.set_property_f32(node_id, "rect", 3, 50)
api.set_property_f32(node_id, "baseline", 0, 30)
api.set_property_f32(node_id, "font_size", 0, 20)
api.set_property_str(node_id, "text", 0, "anon1")
api.set_property_f32(node_id, "color", 0, 0)
api.set_property_f32(node_id, "color", 1, 1)
api.set_property_f32(node_id, "color", 2, 0)
api.set_property_f32(node_id, "color", 3, 1)
api.set_property_u32(node_id, "z_index", 0, 1)
# Make the text edit
node_id = create_editbox("editz", layer_id)
api.set_property_bool(node_id, "is_active", 0, True)
api.set_property_f32(node_id, "rect", 0, 100)
code = [["-", ["load", "lh"], ["f32", 50]]]
api.set_property_expr(node_id, "rect", 1, code)
code = [["-", ["load", "lw"], ["f32", 100]]]
api.set_property_expr(node_id, "rect", 2, code)
api.set_property_f32(node_id, "rect", 3, 50)
api.set_property_f32(node_id, "baseline", 0, 30)
api.set_property_f32(node_id, "font_size", 0, 20)
api.set_property_str(node_id, "text", 0, "hello king!😁🍆jelly 🍆1234")
api.set_property_f32(node_id, "text_color", 0, 1)
api.set_property_f32(node_id, "text_color", 1, 1)
api.set_property_f32(node_id, "text_color", 2, 1)
api.set_property_f32(node_id, "text_color", 3, 1)
api.set_property_f32(node_id, "cursor_color", 0, 1)
api.set_property_f32(node_id, "cursor_color", 1, 0.5)
api.set_property_f32(node_id, "cursor_color", 2, 0.5)
api.set_property_f32(node_id, "cursor_color", 3, 1)
api.set_property_f32(node_id, "hi_bg_color", 0, 1)
api.set_property_f32(node_id, "hi_bg_color", 1, 1)
api.set_property_f32(node_id, "hi_bg_color", 2, 1)
api.set_property_f32(node_id, "hi_bg_color", 3, 0.5)
api.set_property_null(node_id, "selected", 0)
api.set_property_null(node_id, "selected", 1)
api.set_property_u32(node_id, "z_index", 0, 1)
api.set_property_bool(node_id, "debug", 0, False)
win_id = api.lookup_node_id("/window")
arg_data = bytearray()
serial.write_u32(arg_data, node_id)
api.call_method(win_id, "create_edit_box", arg_data)
api.link_node(node_id, layer_id)
# Add the chatview
node_id = create_chatview("chatty", layer_id)
api.set_property_f32(node_id, "rect", 0, 0)
api.set_property_f32(node_id, "rect", 1, 0)
code = [["load", "lw"]]
api.set_property_expr(node_id, "rect", 2, code)
code = [["-", ["load", "lh"], ["f32", 50]]]
api.set_property_expr(node_id, "rect", 3, code)
#api.set_property_bool(node_id, "debug", 0, True)
api.set_property_u32(node_id, "z_index", 0, 1)
api.set_property_bool(layer_id, "is_visible", 0, True)
main()
print_tree()