diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SubEditActivity.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SubEditActivity.kt index 2a62f42e..7045aa2c 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SubEditActivity.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/ui/SubEditActivity.kt @@ -4,6 +4,9 @@ import android.os.Bundle import android.text.TextUtils import android.view.Menu import android.view.MenuItem +import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView +import android.widget.ImageButton import androidx.appcompat.app.AlertDialog import androidx.lifecycle.lifecycleScope import com.v2ray.ang.AppConfig @@ -33,6 +36,7 @@ class SubEditActivity : BaseActivity() { //setContentView(binding.root) setContentViewWithToolbar(binding.root, showHomeAsUp = true, title = getString(R.string.title_sub_setting)) + setupProfileRemarkInputs() SettingsChangeManager.makeSetupGroupTab() val subItem = MmkvManager.decodeSubscription(editSubId) if (subItem != null) { @@ -73,6 +77,34 @@ class SubEditActivity : BaseActivity() { return true } + private fun setupProfileRemarkInputs() { + val suggestions = MmkvManager.decodeAllServerList() + .mapNotNull { id -> MmkvManager.decodeServerConfig(id)?.remarks } + .filter { it.isNotBlank() } + .distinct() + + setupProfileRemarkInput(binding.etPreProfile, binding.btnPreProfileDropdown, suggestions) + setupProfileRemarkInput(binding.etNextProfile, binding.btnNextProfileDropdown, suggestions) + } + + private fun setupProfileRemarkInput( + input: AutoCompleteTextView, + dropdownButton: ImageButton, + suggestions: List + ) { + val adapter = ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, suggestions) + input.setAdapter(adapter) + input.threshold = 0 + + dropdownButton.setOnClickListener { + input.requestFocus() + input.showDropDown() + } + input.setOnClickListener { + input.showDropDown() + } + } + /** * save server config */ diff --git a/V2rayNG/app/src/main/res/layout/activity_sub_edit.xml b/V2rayNG/app/src/main/res/layout/activity_sub_edit.xml index 0ac5f9fa..242d5eda 100644 --- a/V2rayNG/app/src/main/res/layout/activity_sub_edit.xml +++ b/V2rayNG/app/src/main/res/layout/activity_sub_edit.xml @@ -209,12 +209,33 @@ android:layout_height="wrap_content" android:text="@string/sub_setting_pre_profile" /> - + android:layout_marginTop="@dimen/padding_spacing_dp8" + android:layout_marginBottom="@dimen/padding_spacing_dp8"> + + + + + + @@ -229,12 +250,33 @@ android:layout_height="wrap_content" android:text="@string/sub_setting_next_profile" /> - + android:layout_marginTop="@dimen/padding_spacing_dp8" + android:layout_marginBottom="@dimen/padding_spacing_dp8"> + + + + + +