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.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.viewpager.widget.ViewPager
|
import androidx.viewpager.widget.ViewPager
|
||||||
import com.finnmglas.launcher.extern.*
|
import com.finnmglas.launcher.extern.*
|
||||||
|
@ -67,7 +66,6 @@ class SettingsActivity : AppCompatActivity() {
|
||||||
val value = data?.getStringExtra("value")
|
val value = data?.getStringExtra("value")
|
||||||
val forApp = data?.getStringExtra("forApp") ?: return
|
val forApp = data?.getStringExtra("forApp") ?: return
|
||||||
|
|
||||||
Toast.makeText(this, forApp, Toast.LENGTH_LONG).show()
|
|
||||||
// Save the new App to Preferences
|
// Save the new App to Preferences
|
||||||
val sharedPref = this.getSharedPreferences(
|
val sharedPref = this.getSharedPreferences(
|
||||||
getString(R.string.preference_file_key), Context.MODE_PRIVATE)
|
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.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.SharedPreferences
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.core.app.ActivityCompat.startActivityForResult
|
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.finnmglas.launcher.ChooseActivity
|
import com.finnmglas.launcher.ChooseActivity
|
||||||
import com.finnmglas.launcher.R
|
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 textView: TextView = itemView.findViewById(R.id.row_action_name)
|
||||||
var img: ImageView = itemView.findViewById(R.id.row_app_icon) as ImageView
|
var img: ImageView = itemView.findViewById(R.id.row_app_icon) as ImageView
|
||||||
var chooseButton: Button = itemView.findViewById(R.id.row_choose_button)
|
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) {
|
override fun onClick(v: View) {
|
||||||
val pos = adapterPosition
|
val pos = adapterPosition
|
||||||
|
@ -41,16 +42,31 @@ class ActionsRecyclerAdapter(val activity: Activity):
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) {
|
override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) {
|
||||||
val actionName = actionsList[i].actionName
|
|
||||||
val actionText = actionsList[i].actionText
|
val actionText = actionsList[i].actionText
|
||||||
|
val actionName = actionsList[i].actionName
|
||||||
val content = actionsList[i].content
|
val content = actionsList[i].content
|
||||||
|
|
||||||
viewHolder.textView.text = actionText
|
viewHolder.textView.text = actionText
|
||||||
try {
|
try {
|
||||||
viewHolder.img.setImageDrawable(activity.packageManager.getApplicationIcon(content.toString()))
|
viewHolder.img.setImageDrawable(activity.packageManager.getApplicationIcon(content.toString()))
|
||||||
viewHolder.img.setOnClickListener{ chooseApp(actionName.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) {
|
} catch (e : Exception) {
|
||||||
viewHolder.img.visibility = View.INVISIBLE
|
viewHolder.img.visibility = View.INVISIBLE
|
||||||
|
viewHolder.removeAction.visibility = View.GONE
|
||||||
viewHolder.chooseButton.visibility = View.VISIBLE
|
viewHolder.chooseButton.visibility = View.VISIBLE
|
||||||
viewHolder.chooseButton.setOnClickListener{ chooseApp(actionName.toString()) }
|
viewHolder.chooseButton.setOnClickListener{ chooseApp(actionName.toString()) }
|
||||||
}
|
}
|
||||||
|
@ -81,7 +97,6 @@ class ActionsRecyclerAdapter(val activity: Activity):
|
||||||
val intent = Intent(activity, ChooseActivity::class.java)
|
val intent = Intent(activity, ChooseActivity::class.java)
|
||||||
intent.putExtra("action", "pick")
|
intent.putExtra("action", "pick")
|
||||||
intent.putExtra("forApp", forAction) // for which action we choose the app
|
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)
|
activity.startActivityForResult(intent, REQUEST_CHOOSE_APP)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,16 +19,6 @@
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="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
|
<Button
|
||||||
android:id="@+id/row_choose_button"
|
android:id="@+id/row_choose_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -40,4 +30,26 @@
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="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>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -11,6 +11,7 @@
|
||||||
<string name="fas_donate" translatable="false"></string>
|
<string name="fas_donate" translatable="false"></string>
|
||||||
<string name="fas_share" translatable="false"></string>
|
<string name="fas_share" translatable="false"></string>
|
||||||
<string name="fas_trash" 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" -->
|
<!-- icons that can be used with type="brands" -->
|
||||||
<string name="fab_apple" translatable="false"></string>
|
<string name="fab_apple" translatable="false"></string>
|
||||||
|
|
Loading…
Add table
Reference in a new issue