Commit log

501e27f Switch to guava Optional for older Android

Stephen Paul Weber created

095343a NPE from context menu

Stephen Paul Weber created

9292bd1 Merge branch 'bob1'

Click to expand commit body
* bob1:
  Preliminary support for bits-of-binary

Stephen Paul Weber created

34dd66c Preliminary support for bits-of-binary

Click to expand commit body
https://xmpp.org/extensions/xep-0231.html

When a CID URI is received as part of an OOB, use bob to fetch from the sender.

This does not verify the hash at this time, nor does it "cache" for a future
send since our storage is not content-addressable yet.

Stephen Paul Weber created

18e81af Merge branch 'commands'

Click to expand commit body
* commands: (50 commits)
  Tell the server we have a UI that can handle up to 1000 items
  For very long lists, use a searchable list view
  Use a list item background that can handle being selected
  Allow nested scrolling of ListView and WebView
  NPE
  Show any commands pushed along with a message
  Allow oob webview to move the execution forward
  Spinner when loading list of commands
  Show spinner when loading if it takes awhile
  Menu item to refresh features for a contact
  Order cells by reported order
  Look more like a real web browser
  Don't submit the form when cancelling
  We can still proceed with no form, just don't send a form
  Validate presence of required fields
  DRY up common patterns for fields
  Refactor to bind to an Item container, not just a raw Element
  Use more features of the TextInputLayout
  Support more text field types
  Support reported/item tables
  ...

Stephen Paul Weber created

4cc7069 Tell the server we have a UI that can handle up to 1000 items

Stephen Paul Weber created

99a92ca For very long lists, use a searchable list view

Stephen Paul Weber created

dce0d82 Use a list item background that can handle being selected

Stephen Paul Weber created

5ea0c8c Allow nested scrolling of ListView and WebView

Stephen Paul Weber created

69ce46f NPE

Stephen Paul Weber created

eb8b8d6 Show any commands pushed along with a message

Stephen Paul Weber created

9dc579d Allow oob webview to move the execution forward

Stephen Paul Weber created

c5e8ca4 Spinner when loading list of commands

Stephen Paul Weber created

4ba4e7a Show spinner when loading if it takes awhile

Stephen Paul Weber created

2142fed Menu item to refresh features for a contact

Click to expand commit body
Shouldn't be needed in general, so hidden under a sub-menu, but for advanced use
cases and especially services without caps, can enable features that normally
would not be detected.

Stephen Paul Weber created

d751f11 Order cells by reported order

Click to expand commit body
Instead of assuming all items are in the same order as reported

Stephen Paul Weber created

9b1828b Look more like a real web browser

Stephen Paul Weber created

5c20049 Don't submit the form when cancelling

Click to expand commit body
It's at best a waste of bytes and at worst confusing to the server.

Stephen Paul Weber created

5f31128 We can still proceed with no form, just don't send a form

Stephen Paul Weber created

2a013c7 Validate presence of required fields

Stephen Paul Weber created

71cc967 DRY up common patterns for fields

Stephen Paul Weber created

388e5f2 Refactor to bind to an Item container, not just a raw Element

Click to expand commit body
Gets rid of the Column extends Element hack and paves the way for error messages
and other things.

Stephen Paul Weber created

ad22cdd Use more features of the TextInputLayout

Stephen Paul Weber created

62d7cf4 Support more text field types

Stephen Paul Weber created

24694f2 Support reported/item tables

Click to expand commit body
Right now renders using a GridLayout which means all columns are the same width.
No horizontal scrolling or becoming not-a-table for many columns, so big tables
will be a disaster.  Does render and work though.

The strategy here is to actually make each cell an "item" in the RecyclerView
instead of each row being an item.  Then the layout manager takes care of it.
This means that the end-of-row-ness is just because of column count, and not
actually enforced at all.  It also means that as currently built if any row has
a missing field it'll mess up the whole thing.

No type directed rendering or anything yet, just dump it out.

Stephen Paul Weber created

c0d8905 Allow copying result form fields to clipboard

Stephen Paul Weber created

d963e8c If we get send a form of type submit or cancel, ignore it

Click to expand commit body
These don't make any sense to send to us, but in practise biboumi does and
expects us to ignore it.

Stephen Paul Weber created

d087141 Default action if there are none

Click to expand commit body
Spec says that actions must be specified if there are any.  In practise, at
least biboumi violates this and sends back no actions at all but is in
"executing" state meaning it expects a next stage.  So in this case we should do
something smarter than assuming we're all done.  Put up a button for the
execute/default action.

Stephen Paul Weber created

2932d60 Instruction spacing

Stephen Paul Weber created

977b0b4 Fix snackbar position

Stephen Paul Weber created

4f29829 Hide pager when there are no commands

Click to expand commit body
And really hide it, even swipe should not work to get to the blank page

Stephen Paul Weber created

bf4e741 Only setup the command pager when not already set up

Click to expand commit body
Otherwise it gets confused and blanks itself out.

Stephen Paul Weber created

8c706c9 Use radio buttons + EditText for list-single + open

Stephen Paul Weber created

a026647 Use radio buttons when there is no existing value

Stephen Paul Weber created

63e14cd Fix NPE

Stephen Paul Weber created

240735a Default to a spinner for list-single

Stephen Paul Weber created

2f99467 Fix two NPE

Stephen Paul Weber created

2717177 End a session that is over with nothing to say

Click to expand commit body
If status is completed or canceled and there are no children, then there's
nothing more to say so just remove the session.

Stephen Paul Weber created

cea8698 Show all available actions

Click to expand commit body
Instead of a single "done" button, show all available actions in the footer,
each in a different color (generated the same as avatar backgrounds, etc) with
the action name translated if a translation is available.

The pseudo-action "close" is for when a command is already completed.  In this
case, the execute() call will see that the session is already completed and it
will be removed without actually checking the action string at all.

Stephen Paul Weber created

2a2bc81 Support boolean fields with checkboxes

Stephen Paul Weber created

1d8b94c Clean up spacing

Click to expand commit body
The RecyclerView doesn't put consistent space between our elements, so we need
to make sure to but consistent bottom padding on them.

Stephen Paul Weber created

1c5a37e Fix crash on rotation

Click to expand commit body
Depending on the fragment lifecycle, onCreateView and onStart may both be called
before the backend is connected, and so there will be no conversation yet.
Instead, do the conversation-needing initialization here in reInit where we know
we have it.

Stephen Paul Weber created

1f1d0d9 Initial datatype helpers for text fields

Stephen Paul Weber created

f668794 Add padding to the top of every command page

Stephen Paul Weber created

8434f84 Support editing text fields and submitting the form

Stephen Paul Weber created

e60d861 Support result field <desc/>

Stephen Paul Weber created

a0975ab Render result form fields

Click to expand commit body
Does not handle reported/item tables yet, or fillable forms.

Stephen Paul Weber created

1b1c1ca If there is an OOB element that takes precedence, render it in a WebView

Stephen Paul Weber created

f04c75b Only scroll the recyclerview if it has multiple items

Click to expand commit body
Otherwise assume the single item can handle scrolling itself.  Otherwise
single-item view with a scrollable child breaks.

Stephen Paul Weber created

eba8c4f Choose a child of command to actually render

Click to expand commit body
The first element that we support. In this case, the first note.

Stephen Paul Weber created