<NME> DecryptTextClickListener.java
<BEF> package cgeo.geocaching.ui;

import cgeo.geocaching.utils.CryptUtils;

import android.text.Spannable;
import android.view.View;
import android.widget.TextView;

public class DecryptTextClickListener implements View.OnClickListener {

    @Override
    public void onClick(View view) {
        if (view == null) {
            return;
        }

        try {
            final TextView logView = (TextView) view;

            // do not run the click listener if a link was clicked
            if (logView.getSelectionStart() != -1 || logView.getSelectionEnd() != -1) {
                return;
            }

            CharSequence text = logView.getText();
            if (text instanceof Spannable) {
                Spannable span = (Spannable) text;
                logView.setText(CryptUtils.rot13(span));
            }
            else {
                String string = (String) text;
                logView.setText(CryptUtils.rot13(string));
            }
        } catch (RuntimeException e) {
            // nothing
    }
}

<MSG> fix #3241: Make hint box clickable
<DFF> @@ -2,34 +2,36 @@ package cgeo.geocaching.ui;
 
 import cgeo.geocaching.utils.CryptUtils;
 
+import org.eclipse.jdt.annotation.NonNull;
+
 import android.text.Spannable;
 import android.view.View;
 import android.widget.TextView;
 
 public class DecryptTextClickListener implements View.OnClickListener {
 
-    @Override
-    public void onClick(View view) {
-        if (view == null) {
-            return;
-        }
+    @NonNull private final TextView targetView;
 
-        try {
-            final TextView logView = (TextView) view;
+    public DecryptTextClickListener(@NonNull final TextView targetView) {
+        this.targetView = targetView;
+    }
 
+    @Override
+    public final void onClick(final View view) {
+        try {
             // do not run the click listener if a link was clicked
-            if (logView.getSelectionStart() != -1 || logView.getSelectionEnd() != -1) {
+            if (targetView.getSelectionStart() != -1 || targetView.getSelectionEnd() != -1) {
                 return;
             }
 
-            CharSequence text = logView.getText();
+            CharSequence text = targetView.getText();
             if (text instanceof Spannable) {
                 Spannable span = (Spannable) text;
-                logView.setText(CryptUtils.rot13(span));
+                targetView.setText(CryptUtils.rot13(span));
             }
             else {
                 String string = (String) text;
-                logView.setText(CryptUtils.rot13(string));
+                targetView.setText(CryptUtils.rot13(string));
             }
         } catch (RuntimeException e) {
             // nothing

fix #3241: Make hint box clickable