Added copy button for Log

This commit is contained in:
Frank Morgner
2014-10-01 00:11:32 +02:00
parent 66370d2bbc
commit f056eca72a
9 changed files with 60 additions and 16 deletions

View File

@@ -21,6 +21,8 @@ package com.vsmartcard.remotesmartcardreader.app;
import android.app.Activity; import android.app.Activity;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.nfc.NfcAdapter; import android.nfc.NfcAdapter;
@@ -32,12 +34,16 @@ import android.text.Editable;
import android.text.Layout; import android.text.Layout;
import android.text.method.ScrollingMovementMethod; import android.text.method.ScrollingMovementMethod;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import com.vsmartcard.remotesmartcardreader.app.screaders.DummyReader; import com.vsmartcard.remotesmartcardreader.app.screaders.DummyReader;
import com.vsmartcard.remotesmartcardreader.app.screaders.NFCReader; import com.vsmartcard.remotesmartcardreader.app.screaders.NFCReader;
@@ -147,6 +153,31 @@ public class MainActivity extends Activity {
updateLabels(); updateLabels();
} }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_copy:
// Code to Copy the content of Text View to the Clip board.
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("simple text", textViewVPCDStatus.getText());
clipboard.setPrimaryClip(clip);
Toast.makeText(getApplicationContext(), "Log copied to clipboard.",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private static String saved_status_key = "textViewVPCDStatus"; private static String saved_status_key = "textViewVPCDStatus";
@Override @Override
public void onRestoreInstanceState(Bundle savedInstanceState) { public void onRestoreInstanceState(Bundle savedInstanceState) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

View File

@@ -58,17 +58,23 @@
android:layout_alignRight="@+id/buttonDisConnect" android:layout_alignRight="@+id/buttonDisConnect"
android:layout_alignEnd="@+id/buttonDisConnect" /> android:layout_alignEnd="@+id/buttonDisConnect" />
<TextView <HorizontalScrollView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/textViewLog"
android:typeface="monospace"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
android:layout_below="@+id/editTextHostname" /> android:layout_below="@+id/editTextHostname" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/textViewLog"
android:typeface="monospace" />
</HorizontalScrollView>
</RelativeLayout> </RelativeLayout>

View File

@@ -13,6 +13,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:scrollHorizontally="true"
android:text="@string/vpcd_config_info" android:text="@string/vpcd_config_info"
android:id="@+id/textViewInfo" android:id="@+id/textViewInfo"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
@@ -59,18 +60,21 @@
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/buttonDisConnect" /> android:layout_alignTop="@+id/buttonDisConnect" />
<TextView <HorizontalScrollView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/textViewLog"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
android:typeface="monospace" android:layout_below="@+id/buttonDisConnect" >
android:textIsSelectable="true" <TextView
android:layout_below="@+id/buttonDisConnect" /> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/textViewLog"
android:typeface="monospace" />
</HorizontalScrollView>
</RelativeLayout> </RelativeLayout>

View File

@@ -2,9 +2,10 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
tools:context="com.vsmartcard.remotesmartcardreader.app.MainActivity" > tools:context="com.vsmartcard.remotesmartcardreader.app.MainActivity" >
<item android:id="@+id/action_settings" <item android:id="@+id/action_copy"
android:title="@string/action_settings" android:title="@string/action_copy"
android:orderInCategory="100" android:icon="@drawable/ic_action_copy"
app:showAsAction="never" /> app:showAsAction="ifRoom" />
</menu> </menu>

View File

@@ -26,6 +26,8 @@
<string name="status_default_port">Using default port</string> <string name="status_default_port">Using default port</string>
<string name="action_settings">Settings</string> <string name="action_settings">Settings</string>
<string name="action_copy">Copy Log</string>
<string name="verbose">Verbose logging</string> <string name="verbose">Verbose logging</string>
<string name="error_tag_lost">Data transmission failed. Is the card still present?</string> <string name="error_tag_lost">Data transmission failed. Is the card still present?</string>