mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-26 11:57:20 +00:00
Implement share public key button
This commit is contained in:
parent
bb180ff2d5
commit
7d24ab12a2
@ -1529,5 +1529,8 @@
|
|||||||
<string name="activity_key_pair_copy_button_title">Copy</string>
|
<string name="activity_key_pair_copy_button_title">Copy</string>
|
||||||
<string name="activity_key_pair_mnemonic_copied_message">Copied to Clipboard</string>
|
<string name="activity_key_pair_mnemonic_copied_message">Copied to Clipboard</string>
|
||||||
<string name="activity_key_pair_register_button_title">Register</string>
|
<string name="activity_key_pair_register_button_title">Register</string>
|
||||||
|
<!-- Settings -->
|
||||||
|
<string name="activity_settings_share_public_key_button_title">Share Public Key</string>
|
||||||
|
<string name="activity_settings_public_key_copied_message">Copied to Clipboard</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -33,4 +33,8 @@
|
|||||||
android:title="@string/preferences__advanced"
|
android:title="@string/preferences__advanced"
|
||||||
android:icon="@drawable/ic_advanced_24dp"/>
|
android:icon="@drawable/ic_advanced_24dp"/>
|
||||||
|
|
||||||
|
<Preference android:key="preference_category_public_key"
|
||||||
|
android:title="@string/activity_settings_share_public_key_button_title"
|
||||||
|
android:icon="@drawable/ic_textsms_24dp"/>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
package org.thoughtcrime.securesms;
|
package org.thoughtcrime.securesms;
|
||||||
|
|
||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
|
import android.content.ClipData;
|
||||||
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
@ -33,6 +35,7 @@ import android.support.v4.app.FragmentTransaction;
|
|||||||
import android.support.v4.content.ContextCompat;
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.support.v4.graphics.drawable.DrawableCompat;
|
import android.support.v4.graphics.drawable.DrawableCompat;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.preferences.AdvancedPreferenceFragment;
|
import org.thoughtcrime.securesms.preferences.AdvancedPreferenceFragment;
|
||||||
import org.thoughtcrime.securesms.preferences.AppProtectionPreferenceFragment;
|
import org.thoughtcrime.securesms.preferences.AppProtectionPreferenceFragment;
|
||||||
@ -68,6 +71,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
|
|||||||
private static final String PREFERENCE_CATEGORY_CHATS = "preference_category_chats";
|
private static final String PREFERENCE_CATEGORY_CHATS = "preference_category_chats";
|
||||||
private static final String PREFERENCE_CATEGORY_DEVICES = "preference_category_devices";
|
private static final String PREFERENCE_CATEGORY_DEVICES = "preference_category_devices";
|
||||||
private static final String PREFERENCE_CATEGORY_ADVANCED = "preference_category_advanced";
|
private static final String PREFERENCE_CATEGORY_ADVANCED = "preference_category_advanced";
|
||||||
|
private static final String PREFERENCE_CATEGORY_PUBLIC_KEY = "preference_category_public_key";
|
||||||
|
|
||||||
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||||
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
|
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
|
||||||
@ -154,6 +158,8 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
|
|||||||
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_DEVICES));
|
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_DEVICES));
|
||||||
this.findPreference(PREFERENCE_CATEGORY_ADVANCED)
|
this.findPreference(PREFERENCE_CATEGORY_ADVANCED)
|
||||||
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_ADVANCED));
|
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_ADVANCED));
|
||||||
|
this.findPreference(PREFERENCE_CATEGORY_PUBLIC_KEY)
|
||||||
|
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_PUBLIC_KEY));
|
||||||
|
|
||||||
if (VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
if (VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||||
tintIcons(getActivity());
|
tintIcons(getActivity());
|
||||||
@ -205,6 +211,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
|
|||||||
Drawable chats = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_forum_white_24dp));
|
Drawable chats = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_forum_white_24dp));
|
||||||
Drawable devices = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_laptop_white_24dp));
|
Drawable devices = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_laptop_white_24dp));
|
||||||
Drawable advanced = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_advanced_white_24dp));
|
Drawable advanced = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_advanced_white_24dp));
|
||||||
|
Drawable publicKey = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_share_white_24dp));
|
||||||
|
|
||||||
int[] tintAttr = new int[]{R.attr.pref_icon_tint};
|
int[] tintAttr = new int[]{R.attr.pref_icon_tint};
|
||||||
TypedArray typedArray = context.obtainStyledAttributes(tintAttr);
|
TypedArray typedArray = context.obtainStyledAttributes(tintAttr);
|
||||||
@ -226,6 +233,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
|
|||||||
this.findPreference(PREFERENCE_CATEGORY_CHATS).setIcon(chats);
|
this.findPreference(PREFERENCE_CATEGORY_CHATS).setIcon(chats);
|
||||||
this.findPreference(PREFERENCE_CATEGORY_DEVICES).setIcon(devices);
|
this.findPreference(PREFERENCE_CATEGORY_DEVICES).setIcon(devices);
|
||||||
this.findPreference(PREFERENCE_CATEGORY_ADVANCED).setIcon(advanced);
|
this.findPreference(PREFERENCE_CATEGORY_ADVANCED).setIcon(advanced);
|
||||||
|
this.findPreference(PREFERENCE_CATEGORY_PUBLIC_KEY).setIcon(publicKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CategoryClickListener implements Preference.OnPreferenceClickListener {
|
private class CategoryClickListener implements Preference.OnPreferenceClickListener {
|
||||||
@ -262,6 +270,12 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
|
|||||||
case PREFERENCE_CATEGORY_ADVANCED:
|
case PREFERENCE_CATEGORY_ADVANCED:
|
||||||
fragment = new AdvancedPreferenceFragment();
|
fragment = new AdvancedPreferenceFragment();
|
||||||
break;
|
break;
|
||||||
|
case PREFERENCE_CATEGORY_PUBLIC_KEY:
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||||
|
ClipData clip = ClipData.newPlainText("public key", "public key"); // TODO: Use actual public key
|
||||||
|
clipboard.setPrimaryClip(clip);
|
||||||
|
Toast.makeText(getContext(), R.string.activity_settings_public_key_copied_message, Toast.LENGTH_SHORT).show();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user