mirror of
				https://github.com/yggdrasil-network/yggdrasil-android.git
				synced 2025-11-04 11:15:08 +03:00 
			
		
		
		
	Added a note about not configured peers. Changed all dialog buttons to greenish color.
This commit is contained in:
		
							parent
							
								
									ff23d3418e
								
							
						
					
					
						commit
						1701045abc
					
				
					 9 changed files with 42 additions and 7 deletions
				
			
		| 
						 | 
					@ -57,7 +57,7 @@ class DnsActivity : AppCompatActivity() {
 | 
				
			||||||
        addServerButton.setOnClickListener {
 | 
					        addServerButton.setOnClickListener {
 | 
				
			||||||
            val view = inflater.inflate(R.layout.dialog_add_dns_server, null)
 | 
					            val view = inflater.inflate(R.layout.dialog_add_dns_server, null)
 | 
				
			||||||
            val input = view.findViewById<TextInputEditText>(R.id.addDnsInput)
 | 
					            val input = view.findViewById<TextInputEditText>(R.id.addDnsInput)
 | 
				
			||||||
            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
            builder.setTitle(getString(R.string.dns_add_server_dialog_title))
 | 
					            builder.setTitle(getString(R.string.dns_add_server_dialog_title))
 | 
				
			||||||
            builder.setView(view)
 | 
					            builder.setView(view)
 | 
				
			||||||
            builder.setPositiveButton(getString(R.string.add)) { _, _ ->
 | 
					            builder.setPositiveButton(getString(R.string.add)) { _, _ ->
 | 
				
			||||||
| 
						 | 
					@ -128,7 +128,7 @@ class DnsActivity : AppCompatActivity() {
 | 
				
			||||||
                    view.findViewById<ImageButton>(R.id.deletePeerButton).tag = i
 | 
					                    view.findViewById<ImageButton>(R.id.deletePeerButton).tag = i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    view.findViewById<ImageButton>(R.id.deletePeerButton).setOnClickListener { button ->
 | 
					                    view.findViewById<ImageButton>(R.id.deletePeerButton).setOnClickListener { button ->
 | 
				
			||||||
                        val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					                        val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
                        builder.setTitle(getString(R.string.dns_remove_title, server))
 | 
					                        builder.setTitle(getString(R.string.dns_remove_title, server))
 | 
				
			||||||
                        builder.setPositiveButton(getString(R.string.remove)) { dialog, _ ->
 | 
					                        builder.setPositiveButton(getString(R.string.remove)) { dialog, _ ->
 | 
				
			||||||
                            servers.removeAt(button.tag as Int)
 | 
					                            servers.removeAt(button.tag as Int)
 | 
				
			||||||
| 
						 | 
					@ -176,7 +176,7 @@ class DnsActivity : AppCompatActivity() {
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            view.setOnLongClickListener {
 | 
					            view.setOnLongClickListener {
 | 
				
			||||||
                val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					                val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
                builder.setTitle(getString(R.string.dns_server_info_dialog_title))
 | 
					                builder.setTitle(getString(R.string.dns_server_info_dialog_title))
 | 
				
			||||||
                builder.setMessage("${infoPair.first}\n\n${infoPair.second}")
 | 
					                builder.setMessage("${infoPair.first}\n\n${infoPair.second}")
 | 
				
			||||||
                builder.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
 | 
					                builder.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ import androidx.core.app.NotificationCompat
 | 
				
			||||||
import androidx.preference.PreferenceManager
 | 
					import androidx.preference.PreferenceManager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const val PREF_KEY_ENABLED = "enabled"
 | 
					const val PREF_KEY_ENABLED = "enabled"
 | 
				
			||||||
 | 
					const val PREF_KEY_PEERS_NOTE = "peers_note"
 | 
				
			||||||
const val MAIN_CHANNEL_ID = "Yggdrasil Service"
 | 
					const val MAIN_CHANNEL_ID = "Yggdrasil Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class GlobalApplication: Application(), YggStateReceiver.StateReceiver {
 | 
					class GlobalApplication: Application(), YggStateReceiver.StateReceiver {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,12 @@
 | 
				
			||||||
package eu.neilalexander.yggdrasil
 | 
					package eu.neilalexander.yggdrasil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import android.app.Activity
 | 
					import android.app.Activity
 | 
				
			||||||
 | 
					import android.app.AlertDialog
 | 
				
			||||||
import android.content.*
 | 
					import android.content.*
 | 
				
			||||||
import android.graphics.Color
 | 
					import android.graphics.Color
 | 
				
			||||||
import android.net.VpnService
 | 
					import android.net.VpnService
 | 
				
			||||||
import android.os.Bundle
 | 
					import android.os.Bundle
 | 
				
			||||||
 | 
					import android.view.ContextThemeWrapper
 | 
				
			||||||
import android.widget.Switch
 | 
					import android.widget.Switch
 | 
				
			||||||
import android.widget.TextView
 | 
					import android.widget.TextView
 | 
				
			||||||
import android.widget.Toast
 | 
					import android.widget.Toast
 | 
				
			||||||
| 
						 | 
					@ -161,6 +163,7 @@ class MainActivity : AppCompatActivity() {
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    enabledLabel.text = if (intent.getBooleanExtra("started", false)) {
 | 
					                    enabledLabel.text = if (intent.getBooleanExtra("started", false)) {
 | 
				
			||||||
 | 
					                        showPeersNoteIfNeeded(peerState.length())
 | 
				
			||||||
                        if (count == 0) {
 | 
					                        if (count == 0) {
 | 
				
			||||||
                            enabledLabel.setTextColor(Color.RED)
 | 
					                            enabledLabel.setTextColor(Color.RED)
 | 
				
			||||||
                            getString(R.string.main_no_connectivity)
 | 
					                            getString(R.string.main_no_connectivity)
 | 
				
			||||||
| 
						 | 
					@ -188,4 +191,26 @@ class MainActivity : AppCompatActivity() {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private fun showPeersNoteIfNeeded(peerCount: Int) {
 | 
				
			||||||
 | 
					        if (peerCount > 0) return
 | 
				
			||||||
 | 
					        val preferences = PreferenceManager.getDefaultSharedPreferences(this@MainActivity.baseContext)
 | 
				
			||||||
 | 
					        if (!preferences.getBoolean(PREF_KEY_PEERS_NOTE, false)) {
 | 
				
			||||||
 | 
					            this@MainActivity.runOnUiThread {
 | 
				
			||||||
 | 
					                val builder: AlertDialog.Builder =
 | 
				
			||||||
 | 
					                    AlertDialog.Builder(ContextThemeWrapper(this@MainActivity, R.style.YggdrasilDialogs))
 | 
				
			||||||
 | 
					                builder.setTitle(getString(R.string.main_add_some_peers_title))
 | 
				
			||||||
 | 
					                builder.setMessage(getString(R.string.main_add_some_peers_message))
 | 
				
			||||||
 | 
					                builder.setPositiveButton(getString(R.string.ok)) { dialog, _ ->
 | 
				
			||||||
 | 
					                    dialog.dismiss()
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                builder.show()
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            // Mark this note as shown
 | 
				
			||||||
 | 
					            preferences.edit().apply {
 | 
				
			||||||
 | 
					                putBoolean(PREF_KEY_PEERS_NOTE, true)
 | 
				
			||||||
 | 
					                commit()
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -99,7 +99,7 @@ class PeersActivity : AppCompatActivity() {
 | 
				
			||||||
        addPeerButton.setOnClickListener {
 | 
					        addPeerButton.setOnClickListener {
 | 
				
			||||||
            val view = inflater.inflate(R.layout.dialog_addpeer, null)
 | 
					            val view = inflater.inflate(R.layout.dialog_addpeer, null)
 | 
				
			||||||
            val input = view.findViewById<TextInputEditText>(R.id.addPeerInput)
 | 
					            val input = view.findViewById<TextInputEditText>(R.id.addPeerInput)
 | 
				
			||||||
            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
            builder.setTitle(getString(R.string.peers_add_peer))
 | 
					            builder.setTitle(getString(R.string.peers_add_peer))
 | 
				
			||||||
            builder.setView(view)
 | 
					            builder.setView(view)
 | 
				
			||||||
            builder.setPositiveButton(getString(R.string.peers_add)) { dialog, _ ->
 | 
					            builder.setPositiveButton(getString(R.string.peers_add)) { dialog, _ ->
 | 
				
			||||||
| 
						 | 
					@ -153,7 +153,7 @@ class PeersActivity : AppCompatActivity() {
 | 
				
			||||||
                    view.findViewById<ImageButton>(R.id.deletePeerButton).tag = i
 | 
					                    view.findViewById<ImageButton>(R.id.deletePeerButton).tag = i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    view.findViewById<ImageButton>(R.id.deletePeerButton).setOnClickListener { button ->
 | 
					                    view.findViewById<ImageButton>(R.id.deletePeerButton).setOnClickListener { button ->
 | 
				
			||||||
                        val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					                        val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
                        builder.setTitle(getString(R.string.peers_remove_title, peer))
 | 
					                        builder.setTitle(getString(R.string.peers_remove_title, peer))
 | 
				
			||||||
                        builder.setPositiveButton(getString(R.string.peers_remove)) { dialog, _ ->
 | 
					                        builder.setPositiveButton(getString(R.string.peers_remove)) { dialog, _ ->
 | 
				
			||||||
                            config.updateJSON { json ->
 | 
					                            config.updateJSON { json ->
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ class SettingsActivity : AppCompatActivity() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        resetConfigurationRow.setOnClickListener {
 | 
					        resetConfigurationRow.setOnClickListener {
 | 
				
			||||||
            val view = inflater.inflate(R.layout.dialog_resetconfig, null)
 | 
					            val view = inflater.inflate(R.layout.dialog_resetconfig, null)
 | 
				
			||||||
            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
            builder.setTitle(getString(R.string.settings_warning_title))
 | 
					            builder.setTitle(getString(R.string.settings_warning_title))
 | 
				
			||||||
            builder.setView(view)
 | 
					            builder.setView(view)
 | 
				
			||||||
            builder.setPositiveButton(getString(R.string.settings_reset)) { dialog, _ ->
 | 
					            builder.setPositiveButton(getString(R.string.settings_reset)) { dialog, _ ->
 | 
				
			||||||
| 
						 | 
					@ -92,7 +92,7 @@ class SettingsActivity : AppCompatActivity() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        findViewById<View>(R.id.setKeysRow).setOnClickListener {
 | 
					        findViewById<View>(R.id.setKeysRow).setOnClickListener {
 | 
				
			||||||
            val view = inflater.inflate(R.layout.dialog_set_keys, null)
 | 
					            val view = inflater.inflate(R.layout.dialog_set_keys, null)
 | 
				
			||||||
            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.Theme_MaterialComponents_DayNight_Dialog))
 | 
					            val builder: AlertDialog.Builder = AlertDialog.Builder(ContextThemeWrapper(this, R.style.YggdrasilDialogs))
 | 
				
			||||||
            val privateKey = view.findViewById<EditText>(R.id.private_key)
 | 
					            val privateKey = view.findViewById<EditText>(R.id.private_key)
 | 
				
			||||||
            builder.setTitle(getString(R.string.set_keys))
 | 
					            builder.setTitle(getString(R.string.set_keys))
 | 
				
			||||||
            builder.setView(view)
 | 
					            builder.setView(view)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,8 @@
 | 
				
			||||||
    <string name="main_no_peers">Нет пиров</string>
 | 
					    <string name="main_no_peers">Нет пиров</string>
 | 
				
			||||||
    <string name="main_one_peer">1 пир</string>
 | 
					    <string name="main_one_peer">1 пир</string>
 | 
				
			||||||
    <string name="main_many_peers">%d пира/пиров</string>
 | 
					    <string name="main_many_peers">%d пира/пиров</string>
 | 
				
			||||||
 | 
					    <string name="main_add_some_peers_title">Внимание</string>
 | 
				
			||||||
 | 
					    <string name="main_add_some_peers_message">Кажется, вы не добавили ни одного пира. Зайдите в раздел пиров и подключите один из списка публичных, чтобы подключиться к сети.</string>
 | 
				
			||||||
    <string name="peers_add_peer">Добавить пира в конфиг</string>
 | 
					    <string name="peers_add_peer">Добавить пира в конфиг</string>
 | 
				
			||||||
    <string name="peers_add">Добавить</string>
 | 
					    <string name="peers_add">Добавить</string>
 | 
				
			||||||
    <string name="peers_remove_title">Убрать %s?</string>
 | 
					    <string name="peers_remove_title">Убрать %s?</string>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@
 | 
				
			||||||
    <color name="purple_700">#FF3700B3</color>
 | 
					    <color name="purple_700">#FF3700B3</color>
 | 
				
			||||||
    <color name="teal_200">#FF03DAC5</color>
 | 
					    <color name="teal_200">#FF03DAC5</color>
 | 
				
			||||||
    <color name="teal_700">#FF018786</color>
 | 
					    <color name="teal_700">#FF018786</color>
 | 
				
			||||||
 | 
					    <color name="green">#5FBF9F</color>
 | 
				
			||||||
    <color name="black">#FF000000</color>
 | 
					    <color name="black">#FF000000</color>
 | 
				
			||||||
    <color name="white">#FFFFFFFF</color>
 | 
					    <color name="white">#FFFFFFFF</color>
 | 
				
			||||||
    <color name="hintlight">#F2F1F5</color>
 | 
					    <color name="hintlight">#F2F1F5</color>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,8 @@
 | 
				
			||||||
    <string name="main_no_peers">No peers</string>
 | 
					    <string name="main_no_peers">No peers</string>
 | 
				
			||||||
    <string name="main_one_peer">1 peer</string>
 | 
					    <string name="main_one_peer">1 peer</string>
 | 
				
			||||||
    <string name="main_many_peers">%d peers</string>
 | 
					    <string name="main_many_peers">%d peers</string>
 | 
				
			||||||
 | 
					    <string name="main_add_some_peers_title">Note</string>
 | 
				
			||||||
 | 
					    <string name="main_add_some_peers_message">It seems that you didn\'t configure any peers. Go to peers section and add one from public list to get connected.</string>
 | 
				
			||||||
    <string name="peers_add_peer">Add Configured Peer</string>
 | 
					    <string name="peers_add_peer">Add Configured Peer</string>
 | 
				
			||||||
    <string name="peers_add">Add</string>
 | 
					    <string name="peers_add">Add</string>
 | 
				
			||||||
    <string name="peers_remove_title">Remove %s?</string>
 | 
					    <string name="peers_remove_title">Remove %s?</string>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,4 +18,8 @@
 | 
				
			||||||
        <item name="tableBackgroundColor">@color/white</item>
 | 
					        <item name="tableBackgroundColor">@color/white</item>
 | 
				
			||||||
        <item name="textDefault">@color/black</item>
 | 
					        <item name="textDefault">@color/black</item>
 | 
				
			||||||
    </style>
 | 
					    </style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <style name="YggdrasilDialogs" parent="@style/Theme.MaterialComponents.DayNight.Dialog">
 | 
				
			||||||
 | 
					        <item name="colorPrimary">@color/green</item>
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
</resources>
 | 
					</resources>
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue