From ea8e270df6f0d1de5a86a1294e2d1cce3da50de8 Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Thu, 19 Mar 2020 15:16:50 +0800 Subject: [PATCH] add auto activity name detect --- .../com/github/kr328/clash/ApkBrokenActivity.kt | 3 --- .../java/com/github/kr328/clash/BaseActivity.kt | 17 +++++++++++------ .../github/kr328/clash/CreateProfileActivity.kt | 3 --- .../com/github/kr328/clash/LogViewerActivity.kt | 3 --- .../java/com/github/kr328/clash/LogsActivity.kt | 3 --- .../java/com/github/kr328/clash/MainActivity.kt | 2 -- .../com/github/kr328/clash/PackagesActivity.kt | 2 -- .../github/kr328/clash/ProfileEditActivity.kt | 2 -- .../com/github/kr328/clash/ProfilesActivity.kt | 3 --- .../com/github/kr328/clash/ProxiesActivity.kt | 3 --- .../com/github/kr328/clash/SettingsActivity.kt | 3 --- .../kr328/clash/SettingsBehaviorActivity.kt | 3 --- .../kr328/clash/SettingsInterfaceActivity.kt | 3 --- .../kr328/clash/SettingsNetworkActivity.kt | 3 --- .../com/github/kr328/clash/SupportActivity.kt | 3 --- 15 files changed, 11 insertions(+), 45 deletions(-) diff --git a/app/src/main/java/com/github/kr328/clash/ApkBrokenActivity.kt b/app/src/main/java/com/github/kr328/clash/ApkBrokenActivity.kt index 16f0e06..3696037 100644 --- a/app/src/main/java/com/github/kr328/clash/ApkBrokenActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ApkBrokenActivity.kt @@ -65,7 +65,4 @@ class ApkBrokenActivity : BaseActivity() { override fun shouldDisplayHomeAsUpEnabled(): Boolean { return false } - - override val activityLabel: CharSequence - get() = getText(R.string.application_broken) } \ No newline at end of file diff --git a/app/src/main/java/com/github/kr328/clash/BaseActivity.kt b/app/src/main/java/com/github/kr328/clash/BaseActivity.kt index d914bc5..7cf6e7a 100644 --- a/app/src/main/java/com/github/kr328/clash/BaseActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/BaseActivity.kt @@ -109,6 +109,8 @@ abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() resetDarkMode() resetLightNavigationBar() + + title = resolveActivityTitle() } override fun onStart() { @@ -148,10 +150,6 @@ abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() supportActionBar?.apply { setDisplayHomeAsUpEnabled(shouldDisplayHomeAsUpEnabled()) - - activityLabel?.let { - title = it - } } } @@ -159,8 +157,6 @@ abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() return true } - abstract val activityLabel: CharSequence? - override fun onSupportNavigateUp(): Boolean { this.onBackPressed() @@ -213,4 +209,13 @@ abstract class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope() window.navigationBarColor = getColor(R.color.backgroundColor) } + + private fun resolveActivityTitle(): CharSequence { + val info = packageManager.getActivityInfo(componentName, 0) + + if ( info.labelRes <= 0 ) + return title + + return resources.getText(info.labelRes) + } } \ No newline at end of file diff --git a/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt b/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt index 89239b3..66e9466 100644 --- a/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt @@ -66,9 +66,6 @@ class CreateProfileActivity : BaseActivity() { } } - override val activityLabel: CharSequence - get() = getText(R.string.create_profile) - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) return finish() diff --git a/app/src/main/java/com/github/kr328/clash/LogViewerActivity.kt b/app/src/main/java/com/github/kr328/clash/LogViewerActivity.kt index cf539ba..4c0bf01 100644 --- a/app/src/main/java/com/github/kr328/clash/LogViewerActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/LogViewerActivity.kt @@ -63,9 +63,6 @@ class LogViewerActivity : BaseActivity() { } } - override val activityLabel: CharSequence - get() = getText(R.string.log_viewer) - override fun onStart() { super.onStart() diff --git a/app/src/main/java/com/github/kr328/clash/LogsActivity.kt b/app/src/main/java/com/github/kr328/clash/LogsActivity.kt index 7741cc6..7707142 100644 --- a/app/src/main/java/com/github/kr328/clash/LogsActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/LogsActivity.kt @@ -92,9 +92,6 @@ class LogsActivity : BaseActivity() { refreshList() } - override val activityLabel: CharSequence - get() = getText(R.string.logs) - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == REQUEST_CODE) { if (resultCode == Activity.RESULT_OK) { diff --git a/app/src/main/java/com/github/kr328/clash/MainActivity.kt b/app/src/main/java/com/github/kr328/clash/MainActivity.kt index 9541ceb..4502a62 100644 --- a/app/src/main/java/com/github/kr328/clash/MainActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/MainActivity.kt @@ -84,8 +84,6 @@ class MainActivity : BaseActivity() { stopBandwidthPolling() } - override val activityLabel: CharSequence? = null - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == REQUEST_CODE) { if (resultCode == Activity.RESULT_OK) diff --git a/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt b/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt index 829d7a0..032e73f 100644 --- a/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/PackagesActivity.kt @@ -15,8 +15,6 @@ import kotlinx.coroutines.channels.Channel import kotlin.streams.toList class PackagesActivity : BaseActivity() { - override val activityLabel: CharSequence? - get() = getText(R.string.access_control_packages) private val activity: PackagesActivity get() = this private val adapter: PackagesAdapter? diff --git a/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt b/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt index 481b685..07e9c45 100644 --- a/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt @@ -178,8 +178,6 @@ class ProfileEditActivity : BaseActivity() { } } - override val activityLabel: CharSequence? = null - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == REQUEST_CODE) { if (resultCode != Activity.RESULT_OK || data == null) diff --git a/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt b/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt index 9a93c8e..6de2f8d 100644 --- a/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ProfilesActivity.kt @@ -62,9 +62,6 @@ class ProfilesActivity : BaseActivity(), ProfileAdapter.Callback, ProfilesMenu.C backgroundJob = null } - override val activityLabel: CharSequence? - get() = getText(R.string.profiles) - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == EDITOR_REQUEST_CODE) { launch { diff --git a/app/src/main/java/com/github/kr328/clash/ProxiesActivity.kt b/app/src/main/java/com/github/kr328/clash/ProxiesActivity.kt index 362a12d..8200b8a 100644 --- a/app/src/main/java/com/github/kr328/clash/ProxiesActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ProxiesActivity.kt @@ -161,9 +161,6 @@ class ProxiesActivity : BaseActivity(), ScrollBinding.Callback { return true } - override val activityLabel: CharSequence? - get() = getText(R.string.proxy) - override suspend fun onClashStopped(reason: String?) { finish() } diff --git a/app/src/main/java/com/github/kr328/clash/SettingsActivity.kt b/app/src/main/java/com/github/kr328/clash/SettingsActivity.kt index 37d3a32..fc86e64 100644 --- a/app/src/main/java/com/github/kr328/clash/SettingsActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/SettingsActivity.kt @@ -43,7 +43,4 @@ class SettingsActivity : BaseActivity() { } } } - - override val activityLabel: CharSequence? - get() = getText(R.string.settings) } \ No newline at end of file diff --git a/app/src/main/java/com/github/kr328/clash/SettingsBehaviorActivity.kt b/app/src/main/java/com/github/kr328/clash/SettingsBehaviorActivity.kt index 1470f89..a550b9a 100644 --- a/app/src/main/java/com/github/kr328/clash/SettingsBehaviorActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/SettingsBehaviorActivity.kt @@ -14,7 +14,4 @@ class SettingsBehaviorActivity : BaseActivity() { .replace(R.id.fragment, BehaviorFragment()) .commit() } - - override val activityLabel: CharSequence? - get() = getText(R.string.behavior) } \ No newline at end of file diff --git a/app/src/main/java/com/github/kr328/clash/SettingsInterfaceActivity.kt b/app/src/main/java/com/github/kr328/clash/SettingsInterfaceActivity.kt index 7981633..6f7f4cd 100644 --- a/app/src/main/java/com/github/kr328/clash/SettingsInterfaceActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/SettingsInterfaceActivity.kt @@ -14,7 +14,4 @@ class SettingsInterfaceActivity : BaseActivity() { .replace(R.id.fragment, InterfaceFragment()) .commit() } - - override val activityLabel: CharSequence? - get() = getText(R.string.interface_) } \ No newline at end of file diff --git a/app/src/main/java/com/github/kr328/clash/SettingsNetworkActivity.kt b/app/src/main/java/com/github/kr328/clash/SettingsNetworkActivity.kt index 23f75a3..02f7637 100644 --- a/app/src/main/java/com/github/kr328/clash/SettingsNetworkActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/SettingsNetworkActivity.kt @@ -26,7 +26,4 @@ class SettingsNetworkActivity : BaseActivity() { override suspend fun onClashStarted() { recreate() } - - override val activityLabel: CharSequence? - get() = getText(R.string.network) } diff --git a/app/src/main/java/com/github/kr328/clash/SupportActivity.kt b/app/src/main/java/com/github/kr328/clash/SupportActivity.kt index 1d8f86b..adf060f 100644 --- a/app/src/main/java/com/github/kr328/clash/SupportActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/SupportActivity.kt @@ -10,9 +10,6 @@ import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.activity_support.* class SupportActivity : BaseActivity() { - override val activityLabel: CharSequence? - get() = getText(R.string.support) - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)