Finished shortcut renaming functionality

This commit is contained in:
ottoptj 2024-11-02 07:24:57 +02:00
commit d3401eb9d5
2 changed files with 38 additions and 40 deletions

View file

@ -91,6 +91,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
private var dateElements = mutableListOf<String>() private var dateElements = mutableListOf<String>()
private lateinit var menuView: ViewSwitcher private lateinit var menuView: ViewSwitcher
private lateinit var menuTitle: TextInputEditText
private lateinit var appRecycler: RecyclerView private lateinit var appRecycler: RecyclerView
private lateinit var contactRecycler: RecyclerView private lateinit var contactRecycler: RecyclerView
private lateinit var searchSwitcher: ImageView private lateinit var searchSwitcher: ImageView
@ -183,6 +184,8 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
dateElements = mutableListOf(dateText.format12Hour.toString(), dateText.format24Hour.toString(), "", "") dateElements = mutableListOf(dateText.format12Hour.toString(), dateText.format24Hour.toString(), "", "")
menuTitle = binding.menuTitle
searchView = binding.searchView searchView = binding.searchView
menuView = binding.menuView menuView = binding.menuView
@ -236,11 +239,14 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
} }
ViewCompat.addAccessibilityAction(textView, getString(R.string.accessibility_set_shortcut)) { _, _ -> ViewCompat.addAccessibilityAction(textView, getString(R.string.accessibility_set_shortcut)) { _, _ ->
uiUtils.setMenuTitleAlignment(binding.menuTitle) uiUtils.setMenuTitleAlignment(menuTitle)
uiUtils.setMenuTitleSize(binding.menuTitle) uiUtils.setMenuTitleSize(menuTitle)
binding.menuTitle.hint = textView.text menuTitle.hint = textView.text
binding.menuTitle.setText(textView.text) menuTitle.setText(textView.text)
binding.menuTitle.visibility = View.VISIBLE menuTitle.visibility = View.VISIBLE
if (savedView != null) {
setRenameShortcutListener(textView, savedView)
}
appAdapter?.shortcutTextView = textView appAdapter?.shortcutTextView = textView
toAppMenu() toAppMenu()
@ -258,11 +264,11 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
} }
textView.setOnLongClickListener { textView.setOnLongClickListener {
uiUtils.setMenuTitleAlignment(binding.menuTitle) uiUtils.setMenuTitleAlignment(menuTitle)
uiUtils.setMenuTitleSize(binding.menuTitle) uiUtils.setMenuTitleSize(menuTitle)
binding.menuTitle.hint = textView.text menuTitle.hint = textView.text
binding.menuTitle.setText(textView.text) menuTitle.setText(textView.text)
binding.menuTitle.visibility = View.VISIBLE menuTitle.visibility = View.VISIBLE
if (savedView != null) { if (savedView != null) {
setRenameShortcutListener(textView, savedView) setRenameShortcutListener(textView, savedView)
} }
@ -275,17 +281,17 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
} }
private fun setRenameShortcutListener(textView: TextView, savedView: List<String>) { private fun setRenameShortcutListener(textView: TextView, savedView: List<String>) {
binding.menuTitle.setOnEditorActionListener { _, actionId, _ -> menuTitle.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) { if (actionId == EditorInfo.IME_ACTION_DONE) {
if (binding.menuTitle.text.isNullOrBlank()) { if (menuTitle.text.isNullOrBlank()) {
Toast.makeText(this@MainActivity, getString(R.string.empty_rename), Toast.LENGTH_SHORT).show() Toast.makeText(this@MainActivity, getString(R.string.empty_rename), Toast.LENGTH_SHORT).show()
return@setOnEditorActionListener true return@setOnEditorActionListener true
} }
val imm = val imm =
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(binding.menuTitle.windowToken, 0) imm.hideSoftInputFromWindow(menuTitle.windowToken, 0)
textView.text = binding.menuTitle.text textView.text = menuTitle.text
try { try {
sharedPreferenceManager.setShortcut( sharedPreferenceManager.setShortcut(
textView, textView,
@ -364,13 +370,11 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
uiUtils.setTextFont(binding.homeView) uiUtils.setTextFont(binding.homeView)
uiUtils.setFont(searchView) uiUtils.setFont(searchView)
uiUtils.setFont(binding.menuTitle) uiUtils.setFont(menuTitle)
uiUtils.setTextColors(binding.homeView) uiUtils.setTextColors(binding.homeView)
uiUtils.setStatusBarColor(window) uiUtils.setStatusBarColor(window)
uiUtils.setMenuItemColors(binding.menuTitle, "A9")
uiUtils.setClockVisibility(clock) uiUtils.setClockVisibility(clock)
uiUtils.setDateVisibility(dateText) uiUtils.setDateVisibility(dateText)
uiUtils.setSearchVisibility(searchView, binding.searchLayout, binding.searchReplacement) uiUtils.setSearchVisibility(searchView, binding.searchLayout, binding.searchReplacement)
@ -389,6 +393,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
handler.postDelayed({ handler.postDelayed({
uiUtils.setStatusBar(window) uiUtils.setStatusBar(window)
uiUtils.setMenuItemColors(searchView) uiUtils.setMenuItemColors(searchView)
uiUtils.setMenuItemColors(menuTitle, "A9")
}, 100) }, 100)
clockApp = gestureUtils.getSwipeInfo(launcherApps, "clock") clockApp = gestureUtils.getSwipeInfo(launcherApps, "clock")
@ -497,7 +502,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
private fun openAppMenu() { private fun openAppMenu() {
appAdapter?.shortcutTextView = null appAdapter?.shortcutTextView = null
binding.menuTitle.visibility = View.GONE menuTitle.visibility = View.GONE
uiUtils.setContactsVisibility(searchSwitcher, binding.searchLayout, binding.searchReplacement) uiUtils.setContactsVisibility(searchSwitcher, binding.searchLayout, binding.searchReplacement)
toAppMenu() toAppMenu()
} }
@ -514,20 +519,20 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
uiUtils.setTextColors(binding.homeView) uiUtils.setTextColors(binding.homeView)
uiUtils.setStatusBarColor(window) uiUtils.setStatusBarColor(window)
uiUtils.setMenuItemColors(searchView) uiUtils.setMenuItemColors(searchView)
uiUtils.setMenuItemColors(binding.menuTitle, "A9") uiUtils.setMenuItemColors(menuTitle, "A9")
uiUtils.setImageColor(searchSwitcher) uiUtils.setImageColor(searchSwitcher)
} }
"textFont" -> { "textFont" -> {
uiUtils.setTextFont(binding.homeView) uiUtils.setTextFont(binding.homeView)
uiUtils.setFont(searchView) uiUtils.setFont(searchView)
uiUtils.setFont(binding.menuTitle) uiUtils.setFont(menuTitle)
} }
"textStyle" -> { "textStyle" -> {
uiUtils.setTextFont(binding.homeView) uiUtils.setTextFont(binding.homeView)
uiUtils.setFont(searchView) uiUtils.setFont(searchView)
uiUtils.setFont(binding.menuTitle) uiUtils.setFont(menuTitle)
} }
"clockEnabled" -> { "clockEnabled" -> {
@ -892,7 +897,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
if (bottom - top > oldBottom - oldTop) { if (bottom - top > oldBottom - oldTop) {
// If keyboard is closed, remove cursor from the search bar // If keyboard is closed, remove cursor from the search bar
searchView.clearFocus() searchView.clearFocus()
binding.menuTitle.clearFocus() menuTitle.clearFocus()
} else if (bottom - top < oldBottom - oldTop && isInitialOpen) { } else if (bottom - top < oldBottom - oldTop && isInitialOpen) {
isInitialOpen = false isInitialOpen = false
appRecycler.scrollToPosition(0) appRecycler.scrollToPosition(0)

View file

@ -21,19 +21,14 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="60dp" /> android:layout_height="60dp" />
<FrameLayout <com.google.android.material.textfield.TextInputEditText
android:id="@+id/menuTitleLayout" android:id="@+id/menuTitle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingLeft="40dp" android:paddingLeft="40dp"
android:paddingTop="20dp" android:paddingTop="20dp"
android:paddingRight="40dp" android:paddingRight="40dp"
android:paddingBottom="20dp"> android:paddingBottom="20dp"
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/menuTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:clickable="false" android:clickable="false"
android:gravity="start" android:gravity="start"
@ -43,8 +38,6 @@
android:textSize="36sp" android:textSize="36sp"
app:drawableStartCompat="@drawable/edit_24px" /> app:drawableStartCompat="@drawable/edit_24px" />
</FrameLayout>
<ViewSwitcher <ViewSwitcher
android:id="@+id/menuView" android:id="@+id/menuView"
android:layout_width="match_parent" android:layout_width="match_parent"