private void updateChirpWolfBox(final CacheDetailActivity activity) {
            final Intent chirpWolf = ProcessUtils.getLaunchIntent(getString(R.string.package_chirpwolf));
            final String compare = CacheAttribute.WIRELESSBEACON.getValue(true);
            boolean isEnabled = false;
            for (String current : cache.getAttributes()) {
                if (StringUtils.equals(current, compare)) {
                    isEnabled = true;
                    break;
                }
            }
            binding.chirpBox.setVisibility(isEnabled ? View.VISIBLE : View.GONE);
            binding.chirpText.setText(chirpWolf != null ? R.string.cache_chirpwolf_start : R.string.cache_chirpwolf_install);
            if (isEnabled) {
                binding.sendToChirp.setOnClickListener(v -> {
                    // re-check installation state, might have changed since creating the view
                    final Intent chirpWolf2 = ProcessUtils.getLaunchIntent(getString(R.string.package_chirpwolf));
                    if (chirpWolf2 != null) {
                        chirpWolf2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        activity.startActivity(chirpWolf2);
                    } else {
                        ProcessUtils.openMarket(activity, getString(R.string.package_chirpwolf));
                    }
                });
            }
        }
Show/hide buttons, set text in favorite line and box
main/src/main/java/cgeo/geocaching/CacheDetailActivity.java