mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 06:21:31 +01:00
Make actions removable
by clicking a FontAwesome Times icon
This commit is contained in:
parent
0134665ee3
commit
60f8f781f0
4 changed files with 42 additions and 16 deletions
|
@ -4,7 +4,6 @@ import android.content.*
|
|||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import com.finnmglas.launcher.extern.*
|
||||
|
@ -67,7 +66,6 @@ class SettingsActivity : AppCompatActivity() {
|
|||
val value = data?.getStringExtra("value")
|
||||
val forApp = data?.getStringExtra("forApp") ?: return
|
||||
|
||||
Toast.makeText(this, forApp, Toast.LENGTH_LONG).show()
|
||||
// Save the new App to Preferences
|
||||
val sharedPref = this.getSharedPreferences(
|
||||
getString(R.string.preference_file_key), Context.MODE_PRIVATE)
|
||||
|
|
|
@ -3,14 +3,13 @@ package com.finnmglas.launcher.settings.actions
|
|||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.Button
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.core.app.ActivityCompat.startActivityForResult
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.finnmglas.launcher.ChooseActivity
|
||||
import com.finnmglas.launcher.R
|
||||
|
@ -29,6 +28,8 @@ class ActionsRecyclerAdapter(val activity: Activity):
|
|||
var textView: TextView = itemView.findViewById(R.id.row_action_name)
|
||||
var img: ImageView = itemView.findViewById(R.id.row_app_icon) as ImageView
|
||||
var chooseButton: Button = itemView.findViewById(R.id.row_choose_button)
|
||||
var removeAction: FontAwesome = itemView.findViewById(R.id.row_remove_action)
|
||||
|
||||
|
||||
override fun onClick(v: View) {
|
||||
val pos = adapterPosition
|
||||
|
@ -41,16 +42,31 @@ class ActionsRecyclerAdapter(val activity: Activity):
|
|||
}
|
||||
|
||||
override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) {
|
||||
val actionName = actionsList[i].actionName
|
||||
val actionText = actionsList[i].actionText
|
||||
val actionName = actionsList[i].actionName
|
||||
val content = actionsList[i].content
|
||||
|
||||
viewHolder.textView.text = actionText
|
||||
try {
|
||||
viewHolder.img.setImageDrawable(activity.packageManager.getApplicationIcon(content.toString()))
|
||||
viewHolder.img.setOnClickListener{ chooseApp(actionName.toString()) }
|
||||
viewHolder.removeAction.setOnClickListener{
|
||||
val sharedPref = activity.getSharedPreferences(
|
||||
activity.getString(R.string.preference_file_key), Context.MODE_PRIVATE)
|
||||
|
||||
val editor : SharedPreferences.Editor = sharedPref.edit()
|
||||
editor.putString("action_$actionName", "") // clear it
|
||||
editor.apply()
|
||||
|
||||
viewHolder.img.visibility = View.INVISIBLE
|
||||
viewHolder.removeAction.visibility = View.GONE
|
||||
viewHolder.chooseButton.visibility = View.VISIBLE
|
||||
viewHolder.chooseButton.setOnClickListener{ chooseApp(actionName.toString()) }
|
||||
}
|
||||
|
||||
} catch (e : Exception) {
|
||||
viewHolder.img.visibility = View.INVISIBLE
|
||||
viewHolder.removeAction.visibility = View.GONE
|
||||
viewHolder.chooseButton.visibility = View.VISIBLE
|
||||
viewHolder.chooseButton.setOnClickListener{ chooseApp(actionName.toString()) }
|
||||
}
|
||||
|
@ -81,7 +97,6 @@ class ActionsRecyclerAdapter(val activity: Activity):
|
|||
val intent = Intent(activity, ChooseActivity::class.java)
|
||||
intent.putExtra("action", "pick")
|
||||
intent.putExtra("forApp", forAction) // for which action we choose the app
|
||||
Toast.makeText(activity, forAction, Toast.LENGTH_LONG).show()
|
||||
activity.startActivityForResult(intent, REQUEST_CHOOSE_APP)
|
||||
}
|
||||
}
|
|
@ -19,16 +19,6 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/row_app_icon"
|
||||
android:layout_width="@dimen/app_icon_side"
|
||||
android:layout_height="@dimen/app_icon_side"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@id/row_choose_button"
|
||||
app:layout_constraintStart_toStartOf="@+id/row_choose_button"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/row_choose_button"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -40,4 +30,26 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/row_app_icon"
|
||||
android:layout_width="@dimen/app_icon_side"
|
||||
android:layout_height="@dimen/app_icon_side"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@id/row_choose_button"
|
||||
app:layout_constraintHorizontal_bias="0.2"
|
||||
app:layout_constraintStart_toStartOf="@+id/row_choose_button"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<com.finnmglas.launcher.extern.FontAwesome
|
||||
android:id="@+id/row_remove_action"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8sp"
|
||||
android:text="@string/fas_times"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/row_app_icon"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -11,6 +11,7 @@
|
|||
<string name="fas_donate" translatable="false"></string>
|
||||
<string name="fas_share" translatable="false"></string>
|
||||
<string name="fas_trash" translatable="false"></string>
|
||||
<string name="fas_times" translatable="false"></string>
|
||||
|
||||
<!-- icons that can be used with type="brands" -->
|
||||
<string name="fab_apple" translatable="false"></string>
|
||||
|
|
Loading…
Add table
Reference in a new issue