From e14eb149b212a72527935704a975c1a8f1989564 Mon Sep 17 00:00:00 2001 From: ottoptj Date: Fri, 10 May 2024 07:34:55 +0300 Subject: [PATCH] Alignment is finally fixed holy shit --- .../eu/ottop/yamlauncher/AppActionMenu.kt | 21 ++-- .../eu/ottop/yamlauncher/AppMenuActivity.kt | 25 ++-- app/src/main/res/layout/app_action_menu.xml | 69 ----------- app/src/main/res/layout/app_item_layout.xml | 113 +++++++++++++++++- app/src/main/res/layout/rename_view.xml | 39 ------ app/src/main/res/values/ids.xml | 2 +- 6 files changed, 136 insertions(+), 133 deletions(-) delete mode 100644 app/src/main/res/layout/app_action_menu.xml delete mode 100644 app/src/main/res/layout/rename_view.xml diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt b/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt index c069e45..b553532 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt @@ -49,7 +49,7 @@ class AppActionMenu { ) } - actionMenu.visibility = View.GONE + actionMenu.visibility = View.INVISIBLE textView.visibility = View.VISIBLE } @@ -59,23 +59,22 @@ class AppActionMenu { intent.putExtra(Intent.EXTRA_USER, userHandle) activity.startActivity(intent) - actionMenu.visibility = View.GONE + actionMenu.visibility = View.INVISIBLE textView.visibility = View.VISIBLE } actionMenu.findViewById(R.id.rename).setOnClickListener { - textView.visibility = View.GONE + textView.visibility = View.INVISIBLE editLayout.visibility = View.VISIBLE - actionMenu.visibility = View.GONE - val editText = editLayout.findViewById(R.id.app_name) - searchView.visibility = View.GONE + actionMenu.visibility = View.INVISIBLE + val editText = editLayout.findViewById(R.id.app_name_edit) + searchView.visibility = View.INVISIBLE editText.requestFocus() val handler = Handler(Looper.getMainLooper()) handler.postDelayed({ val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT) - //binding.appList.scrollToDescendant(textView) }, 100) binding.root.addOnLayoutChangeListener { @@ -83,7 +82,7 @@ class AppActionMenu { if (bottom - top > oldBottom - oldTop) { editLayout.clearFocus() - editLayout.visibility = View.GONE + editLayout.visibility = View.INVISIBLE textView.visibility = View.VISIBLE searchView.visibility = View.VISIBLE } @@ -106,12 +105,12 @@ class AppActionMenu { actionMenu.findViewById(R.id.hide).setOnClickListener { sharedPreferenceManager.setAppHidden(activity, appInfo.packageName, workProfile, true) - actionMenu.visibility = View.GONE - textView.visibility = View.GONE + actionMenu.visibility = View.INVISIBLE + textView.visibility = View.INVISIBLE } actionMenu.findViewById(R.id.close).setOnClickListener { - actionMenu.visibility = View.GONE + actionMenu.visibility = View.INVISIBLE textView.visibility = View.VISIBLE } } diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppMenuActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/AppMenuActivity.kt index 39ef5ba..13d9970 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppMenuActivity.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppMenuActivity.kt @@ -5,9 +5,13 @@ import android.content.pm.LauncherActivityInfo import android.content.pm.LauncherApps import android.os.Bundle import android.os.UserHandle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.view.ViewTreeObserver +import android.widget.EditText +import android.widget.FrameLayout import android.widget.LinearLayout import android.widget.SearchView import android.widget.TextView @@ -69,7 +73,7 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, editView: LinearLayout ) { // Handle the long click action here, for example, show additional options or information about the app - textView.visibility = View.GONE + textView.visibility = View.INVISIBLE actionMenuLayout.visibility = View.VISIBLE val mainActivity = launcherApps.getActivityList(appInfo.applicationInfo.packageName, userHandle).firstOrNull() appActionMenu.setActionListeners(this@AppMenuActivity, CoroutineScope(Dispatchers.Main), binding, textView, editView, actionMenuLayout, searchView, appInfo.applicationInfo, userHandle, userProfile, launcherApps, mainActivity) @@ -150,18 +154,12 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, } inner class AppViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { - val textView: TextView = itemView.findViewById(R.id.app_name) + private val listItem: FrameLayout = itemView.findViewById(R.id.list_item) + val textView: TextView = listItem.findViewById(R.id.app_name) + val actionMenuLayout: LinearLayout = listItem.findViewById(R.id.action_menu) + val editView: LinearLayout = listItem.findViewById(R.id.rename_view) init { - val actionMenuLayout = LayoutInflater.from(itemView.context) - .inflate(R.layout.app_action_menu, itemView.findViewById(R.id.list_item), false) as LinearLayout - val editView = LayoutInflater.from(itemView.context) - .inflate(R.layout.rename_view, itemView.findViewById(R.id.list_item), false) as LinearLayout - val parentLayout: ViewGroup = itemView.findViewById(R.id.list_item) - parentLayout.addView(actionMenuLayout) - parentLayout.addView(editView) - actionMenuLayout.visibility = View.GONE - editView.visibility = View.GONE itemView.setOnClickListener { val position = bindingAdapterPosition if (position != RecyclerView.NO_POSITION) { @@ -190,6 +188,11 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, val app = apps[position] val appInfo = app.first.activityInfo.applicationInfo holder.textView.text = appInfo.loadLabel(holder.itemView.context.packageManager) + holder.editView.findViewById(R.id.app_name_edit).setText(holder.textView.text) + holder.actionMenuLayout.viewTreeObserver.addOnGlobalLayoutListener { + Log.d("Yooo", position.toString()) + // Perform any action you want here + } } override fun getItemCount(): Int { diff --git a/app/src/main/res/layout/app_action_menu.xml b/app/src/main/res/layout/app_action_menu.xml deleted file mode 100644 index 39ed877..0000000 --- a/app/src/main/res/layout/app_action_menu.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/app_item_layout.xml b/app/src/main/res/layout/app_item_layout.xml index e7f3ab3..fc8016b 100644 --- a/app/src/main/res/layout/app_item_layout.xml +++ b/app/src/main/res/layout/app_item_layout.xml @@ -1,12 +1,52 @@ - + + + + + + + - + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/rename_view.xml b/app/src/main/res/layout/rename_view.xml deleted file mode 100644 index 27939cc..0000000 --- a/app/src/main/res/layout/rename_view.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index e64085c..710ce93 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file