mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-12 10:17:45 +00:00
Add persistent upgrade Session ID button for V1 users
This commit is contained in:
@@ -159,23 +159,6 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="@string/activity_settings_chats_button_title" />
|
android:text="@string/activity_settings_chats_button_title" />
|
||||||
|
|
||||||
<View
|
|
||||||
android:id="@+id/linkedDevicesButtonTopSeparator"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="1px"
|
|
||||||
android:background="?android:dividerHorizontal" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/linkedDevicesButton"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="@dimen/setting_button_height"
|
|
||||||
android:background="@drawable/setting_button_background"
|
|
||||||
android:textColor="@color/text"
|
|
||||||
android:textSize="@dimen/medium_font_size"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/activity_settings_devices_button_title" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1px"
|
android:layout_height="1px"
|
||||||
@@ -193,7 +176,23 @@
|
|||||||
android:text="Invite" />
|
android:text="Invite" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/seedButtonTopSeparator"
|
android:id="@+id/upgradeSessionIDButtonTopSeparator"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1px"
|
||||||
|
android:background="?android:dividerHorizontal" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/upgradeSessionIDButton"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/setting_button_height"
|
||||||
|
android:background="@drawable/setting_button_background"
|
||||||
|
android:textColor="@color/text"
|
||||||
|
android:textSize="@dimen/medium_font_size"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="Upgrade Session ID" />
|
||||||
|
|
||||||
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1px"
|
android:layout_height="1px"
|
||||||
android:background="?android:dividerHorizontal" />
|
android:background="?android:dividerHorizontal" />
|
||||||
|
@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.loki.activities
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
|
import android.app.AlertDialog
|
||||||
import android.content.ClipData
|
import android.content.ClipData
|
||||||
import android.content.ClipboardManager
|
import android.content.ClipboardManager
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -33,10 +34,7 @@ import org.thoughtcrime.securesms.database.DatabaseFactory
|
|||||||
import org.thoughtcrime.securesms.loki.dialogs.ChangeUiModeDialog
|
import org.thoughtcrime.securesms.loki.dialogs.ChangeUiModeDialog
|
||||||
import org.thoughtcrime.securesms.loki.dialogs.ClearAllDataDialog
|
import org.thoughtcrime.securesms.loki.dialogs.ClearAllDataDialog
|
||||||
import org.thoughtcrime.securesms.loki.dialogs.SeedDialog
|
import org.thoughtcrime.securesms.loki.dialogs.SeedDialog
|
||||||
import org.thoughtcrime.securesms.loki.utilities.UiModeUtilities
|
import org.thoughtcrime.securesms.loki.utilities.*
|
||||||
import org.thoughtcrime.securesms.loki.utilities.fadeIn
|
|
||||||
import org.thoughtcrime.securesms.loki.utilities.fadeOut
|
|
||||||
import org.thoughtcrime.securesms.loki.utilities.push
|
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp
|
import org.thoughtcrime.securesms.mms.GlideApp
|
||||||
import org.thoughtcrime.securesms.mms.GlideRequests
|
import org.thoughtcrime.securesms.mms.GlideRequests
|
||||||
import org.thoughtcrime.securesms.permissions.Permissions
|
import org.thoughtcrime.securesms.permissions.Permissions
|
||||||
@@ -85,18 +83,18 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() {
|
|||||||
publicKeyTextView.text = hexEncodedPublicKey
|
publicKeyTextView.text = hexEncodedPublicKey
|
||||||
copyButton.setOnClickListener { copyPublicKey() }
|
copyButton.setOnClickListener { copyPublicKey() }
|
||||||
shareButton.setOnClickListener { sharePublicKey() }
|
shareButton.setOnClickListener { sharePublicKey() }
|
||||||
val isMasterDevice = (TextSecurePreferences.getMasterHexEncodedPublicKey(this) == null)
|
|
||||||
linkedDevicesButtonTopSeparator.visibility = View.GONE
|
|
||||||
linkedDevicesButton.visibility = View.GONE
|
|
||||||
if (!isMasterDevice) {
|
|
||||||
seedButtonTopSeparator.visibility = View.GONE
|
|
||||||
seedButton.visibility = View.GONE
|
|
||||||
}
|
|
||||||
privacyButton.setOnClickListener { showPrivacySettings() }
|
privacyButton.setOnClickListener { showPrivacySettings() }
|
||||||
notificationsButton.setOnClickListener { showNotificationSettings() }
|
notificationsButton.setOnClickListener { showNotificationSettings() }
|
||||||
chatsButton.setOnClickListener { showChatSettings() }
|
chatsButton.setOnClickListener { showChatSettings() }
|
||||||
// linkedDevicesButton.setOnClickListener { showLinkedDevices() }
|
|
||||||
sendInvitationButton.setOnClickListener { sendInvitation() }
|
sendInvitationButton.setOnClickListener { sendInvitation() }
|
||||||
|
if (!KeyPairUtilities.hasV2KeyPair(this)) {
|
||||||
|
upgradeSessionIDButtonTopSeparator.visibility = View.VISIBLE
|
||||||
|
upgradeSessionIDButton.setOnClickListener { upgradeSessionID() }
|
||||||
|
upgradeSessionIDButton.visibility = View.VISIBLE
|
||||||
|
} else {
|
||||||
|
upgradeSessionIDButtonTopSeparator.visibility = View.GONE
|
||||||
|
upgradeSessionIDButton.visibility = View.GONE
|
||||||
|
}
|
||||||
seedButton.setOnClickListener { showSeed() }
|
seedButton.setOnClickListener { showSeed() }
|
||||||
clearAllDataButton.setOnClickListener { clearAllData() }
|
clearAllDataButton.setOnClickListener { clearAllData() }
|
||||||
versionTextView.text = String.format(getString(R.string.version_s), "${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})")
|
versionTextView.text = String.format(getString(R.string.version_s), "${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})")
|
||||||
@@ -302,6 +300,19 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() {
|
|||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun upgradeSessionID() {
|
||||||
|
val applicationContext = this.applicationContext as ApplicationContext
|
||||||
|
val dialog = AlertDialog.Builder(this)
|
||||||
|
dialog.setMessage("You’re upgrading to a new Session ID. This will give you improved privacy and security, but it will clear ALL app data. Contacts and conversations will be lost. Proceed?")
|
||||||
|
dialog.setPositiveButton(R.string.yes) { _, _ ->
|
||||||
|
applicationContext.clearAllData()
|
||||||
|
}
|
||||||
|
dialog.setNegativeButton(R.string.cancel) { _, _ ->
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
dialog.create().show()
|
||||||
|
}
|
||||||
|
|
||||||
private fun showSeed() {
|
private fun showSeed() {
|
||||||
SeedDialog().show(supportFragmentManager, "Recovery Phrase Dialog")
|
SeedDialog().show(supportFragmentManager, "Recovery Phrase Dialog")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user