Public Access
Start port forwards on the phone, listed in a sheet off its terminal
The Android head skipped a host's forwards because it had nowhere to show what was listening. Its terminal bar now draws a ⇄ for a tab that has forwards, carrying the listening count in green and turning the danger colour when one failed, and it raises a sheet over the same rows the desktop sidebar lists: notation, route, state, failure reason and a tap to switch each off or on. MainWindowViewModel.StartForwards no longer returns early on Android. The sheet is shell state like the connect sheet: it collapses the renderer while up, is lowered by leaving the terminal, and the back gesture closes it first. Forwards ride the shell's keep-alive rather than holding the foreground service themselves, since a forward cannot outlive its shell. They only change the notification, which now counts ports forwarded beside shells connected, fed by a new ForwardsChanged event and ListeningForwardCount. The phone still has no editor for forwards; the More screen card, README and design-import-gaps now say they run here and are edited on the desktop.
This commit is contained in:
1 parent
f05deb4fbc
commit
c3dfa42108
13 files changed
+415
-56
No files matched your search
@@ -210,10 +210,14 @@ internal sealed partial class TerminalScreen : UserControl
|
||||
private void AdoptRenderer() => RendererFocus.Suppress(input.Acquire);
|
||||
|
||||
/// <summary>
|
||||
/// Puts the keyboard away on the way to the connect menu.
|
||||
/// Puts the keyboard away on the way to the connect menu or the forwards sheet.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// <para>
|
||||
/// One handler for both buttons in the terminal's bar that raise a sheet, since what follows is true of
|
||||
/// either: each is a panel at the bottom of the screen, which is where the keyboard is.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// A handler beside the button's command rather than something the command does, because the command is
|
||||
/// on the shared view model and this is a platform call: the desktop head has no software keyboard to
|
||||
/// put away, and a shell view model that knew about Android's input-method manager would be the first
|
||||
@@ -222,7 +226,7 @@ internal sealed partial class TerminalScreen : UserControl
|
||||
/// <para>
|
||||
/// <b>The keyboard is up in the ordinary case.</b> This button sits above a terminal somebody is typing
|
||||
/// into, so the sheet it raises would otherwise arrive underneath a keyboard covering half the display —
|
||||
/// and the three rows on it are the bottom half. Worse, the keyboard's inset shortens everything the
|
||||
/// and the rows on it are the bottom half. Worse, the keyboard's inset shortens everything the
|
||||
/// phone draws (see <c>PhoneShell.ApplyKeyboardInset</c>), so the sheet would be laid out into the
|
||||
/// remaining strip rather than merely hidden behind it.
|
||||
/// </para>
|
||||
@@ -231,7 +235,7 @@ internal sealed partial class TerminalScreen : UserControl
|
||||
/// what the other writes: this one talks to the platform and the command sets a flag, so they commute.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
private void OnConnectMenuRequested(object? sender, RoutedEventArgs e) => SoftKeyboard.Hide();
|
||||
private void OnSheetRequested(object? sender, RoutedEventArgs e) => SoftKeyboard.Hide();
|
||||
|
||||
/// <summary>
|
||||
/// Takes the browser gestures back off a surface that is not a web page.
|
||||
|
||||
Reference in new issue
Block a user