@ -1,6 +1,8 @@
package org.thoughtcrime.securesms.preferences.widgets ;
package org.thoughtcrime.securesms.preferences.widgets ;
import android.content.ClipData ;
import android.content.ClipboardManager ;
import android.content.Context ;
import android.content.Context ;
import android.graphics.Outline ;
import android.graphics.Outline ;
import android.os.Build ;
import android.os.Build ;
@ -14,15 +16,18 @@ import android.view.ViewOutlineProvider;
import android.view.ViewTreeObserver ;
import android.view.ViewTreeObserver ;
import android.widget.ImageView ;
import android.widget.ImageView ;
import android.widget.TextView ;
import android.widget.TextView ;
import android.widget.Toast ;
import com.lelloman.identicon.drawable.ClassicIdenticonDrawable ;
import com.lelloman.identicon.drawable.ClassicIdenticonDrawable ;
import network.loki.messenger.R ;
import org.thoughtcrime.securesms.database.Address ;
import org.thoughtcrime.securesms.database.Address ;
import org.thoughtcrime.securesms.util.TextSecurePreferences ;
import org.thoughtcrime.securesms.util.TextSecurePreferences ;
import network.loki.messenger.R ;
public class ProfilePreference extends Preference {
public class ProfilePreference extends Preference {
private View containerView ;
private ImageView avatarView ;
private ImageView avatarView ;
private TextView profileNameView ;
private TextView profileNameView ;
private TextView profileNumberView ;
private TextView profileNumberView ;
@ -55,6 +60,8 @@ public class ProfilePreference extends Preference {
@Override
@Override
public void onBindViewHolder ( PreferenceViewHolder viewHolder ) {
public void onBindViewHolder ( PreferenceViewHolder viewHolder ) {
super . onBindViewHolder ( viewHolder ) ;
super . onBindViewHolder ( viewHolder ) ;
containerView = viewHolder . itemView ;
avatarView = ( ImageView ) viewHolder . findViewById ( R . id . avatar ) ;
avatarView = ( ImageView ) viewHolder . findViewById ( R . id . avatar ) ;
profileNameView = ( TextView ) viewHolder . findViewById ( R . id . profile_name ) ;
profileNameView = ( TextView ) viewHolder . findViewById ( R . id . profile_name ) ;
profileNumberView = ( TextView ) viewHolder . findViewById ( R . id . number ) ;
profileNumberView = ( TextView ) viewHolder . findViewById ( R . id . number ) ;
@ -69,6 +76,15 @@ public class ProfilePreference extends Preference {
final Address localAddress = Address . fromSerialized ( userHexEncodedPublicKey ) ;
final Address localAddress = Address . fromSerialized ( userHexEncodedPublicKey ) ;
final String profileName = TextSecurePreferences . getProfileName ( getContext ( ) ) ;
final String profileName = TextSecurePreferences . getProfileName ( getContext ( ) ) ;
Context context = getContext ( ) ;
containerView . setOnLongClickListener ( v - > {
ClipboardManager clipboard = ( ClipboardManager ) context . getSystemService ( Context . CLIPBOARD_SERVICE ) ;
ClipData clip = ClipData . newPlainText ( "Public Key" , userHexEncodedPublicKey ) ;
clipboard . setPrimaryClip ( clip ) ;
Toast . makeText ( context , R . string . activity_settings_public_key_copied_message , Toast . LENGTH_SHORT ) . show ( ) ;
return true ;
} ) ;
avatarView . setOutlineProvider ( new ViewOutlineProvider ( ) {
avatarView . setOutlineProvider ( new ViewOutlineProvider ( ) {
@Override
@Override