@@ -120,9 +120,19 @@ private void setupViews() {
120120 startActivity (new Intent (DashboardActivity .this , InternalSettingsActivity .class ));
121121 return true ;
122122 });
123- binding .deviceIdTextView .setOnClickListener (view -> {
124- copyToClipboard (binding .deviceIdTextView .getText ().toString ().trim ());
125- });
123+ String deviceToken = CustomerIO .instance ().getRegisteredDeviceToken ();
124+ if (deviceToken != null && !deviceToken .isEmpty ()) {
125+ binding .deviceIdTextView .setClickable (true );
126+ binding .deviceIdTextView .setFocusable (true );
127+ binding .deviceIdTextView .setText (deviceToken );
128+ binding .deviceIdTextView .setOnClickListener (view -> {
129+ copyToClipboard (binding .deviceIdTextView .getText ().toString ().trim ());
130+ });
131+ } else {
132+ binding .deviceIdTextView .setClickable (false );
133+ binding .deviceIdTextView .setFocusable (false );
134+ binding .deviceIdTextView .setText (R .string .device_token_not_registered );
135+ }
126136 binding .sendRandomEventButton .setOnClickListener (view -> {
127137 sendRandomEvent ();
128138 });
@@ -149,7 +159,6 @@ private void setupObservers() {
149159 });
150160 authViewModel .getUserDataObservable ().observe (this , user -> {
151161 binding .userEmailTextView .setText (user .getEmail ());
152- binding .deviceIdTextView .setText (CustomerIO .instance ().getRegisteredDeviceToken ());
153162 });
154163 authViewModel .getUserLoggedInStateObservable ().observe (this , isLoggedIn -> {
155164 if (isLoggedIn ) {
@@ -245,6 +254,9 @@ private void showPushPermissionDeniedAlert(@StringRes int messageResId) {
245254 }
246255
247256 private void copyToClipboard (String text ) {
257+ if (text .isEmpty ()) {
258+ return ;
259+ }
248260 ClipboardManager clipboard = (ClipboardManager ) getSystemService (Context .CLIPBOARD_SERVICE );
249261 ClipData clip = ClipData .newPlainText (getString (R .string .device_token ), text );
250262 clipboard .setPrimaryClip (clip );
0 commit comments