Skip to content

Commit b1998fe

Browse files
committed
Manual connection: copy address by tapping on it
... or on the QR code Fixes #140
1 parent 9d6a8fc commit b1998fe

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

app/src/main/java/slowscript/warpinator/MainActivity.java

+14-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import android.Manifest;
44
import android.app.Activity;
55
import android.content.BroadcastReceiver;
6+
import android.content.ClipData;
7+
import android.content.ClipboardManager;
68
import android.content.Context;
79
import android.content.Intent;
810
import android.content.IntentFilter;
@@ -185,8 +187,18 @@ public boolean onOptionsItemSelected(MenuItem item) {
185187
.setNeutralButton(android.R.string.cancel, null)
186188
.create();
187189
String host = MainService.svc.lastIP + ":" + Server.current.authPort;
188-
((TextView)v.findViewById(R.id.txtHost)).setText(host);
189-
((ImageView)v.findViewById(R.id.imgQR)).setImageBitmap(Utils.getQRCodeBitmap("warpinator://"+host));
190+
String uri = "warpinator://"+host;
191+
View.OnClickListener copyListener = (s) -> {
192+
ClipData clip = ClipData.newPlainText("Device address", uri);
193+
((ClipboardManager)getSystemService(CLIPBOARD_SERVICE)).setPrimaryClip(clip);
194+
Toast.makeText(this, R.string.address_copied, Toast.LENGTH_SHORT).show();
195+
};
196+
var txtHost = ((TextView)v.findViewById(R.id.txtHost));
197+
txtHost.setText(host);
198+
txtHost.setOnClickListener(copyListener);
199+
var imgQR = ((ImageView)v.findViewById(R.id.imgQR));
200+
imgQR.setImageBitmap(Utils.getQRCodeBitmap(uri));
201+
imgQR.setOnClickListener(copyListener);
190202
dialog.show();
191203
} else if (itemID == R.id.conn_issues) {
192204
Intent helpIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(helpUrl));

app/src/main/res/values-cs/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<string name="not_connected_to_wifi">Nejste připojeni k WiFi ani k LAN. Pokud ani jedno není k dispozici,
1818
použijte hotspot. Až budete připojeni restartujte aplikaci.</string>
1919
<string name="devices_outside_group">Zařízení mimo vaši skupinu: %1$d</string>
20+
<string name="address_copied">Adresa zkopírována do schránky</string>
2021
<string name="waiting_for_permission">Čeká na přijetí…</string>
2122
<string name="files_overwritten_warning">(Soubory mohou být přepsány!)</string>
2223
<string name="remaining">zbývá</string>

app/src/main/res/values/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
Restart the application when you are connected.</string>
2323
<string name="changed_network">Network changed - restarting service…</string>
2424
<string name="devices_outside_group">Devices outside your group: %1$d</string>
25+
<string name="address_copied">Address copied to clipboard</string>
2526
<!-- Transfers activity -->
2627
<string name="waiting_for_permission">Waiting for permission…</string>
2728
<string name="files_overwritten_warning">(Files may be overwritten!)</string>

0 commit comments

Comments
 (0)