From 2cc3d841ed842fa136d995d2c3cfc990276c89ed Mon Sep 17 00:00:00 2001 From: Finn M Glas Date: Thu, 28 May 2020 20:16:37 +0200 Subject: [PATCH] Display app icons of selected apps Closes #32 - 2 Days after I opened it, not bad ^^ However, further improvements are necessary --- .../launcher/settings/SettingsFragmentApps.kt | 123 ++++++++++++++++-- .../res/layout/fragment_settings_apps.xml | 40 +++--- app/src/main/res/values/dimens.xml | 3 + 3 files changed, 140 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/finnmglas/launcher/settings/SettingsFragmentApps.kt b/app/src/main/java/com/finnmglas/launcher/settings/SettingsFragmentApps.kt index 380a1c6..bd785d5 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/SettingsFragmentApps.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/SettingsFragmentApps.kt @@ -6,16 +6,17 @@ import android.content.Intent import android.content.SharedPreferences import android.net.Uri import android.os.Bundle -import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast +import androidx.fragment.app.Fragment import com.finnmglas.launcher.ChooseActivity import com.finnmglas.launcher.R import com.finnmglas.launcher.extern.* import kotlinx.android.synthetic.main.fragment_settings_apps.* + /** The 'Apps' Tab associated Fragment in Settings */ class SettingsFragmentApps : Fragment() { @@ -48,15 +49,117 @@ class SettingsFragmentApps : Fragment() { setButtonColor(fragment_settings_apps_install_btn, vibrantColor) } - // Action - selecting buttons - fragment_settings_apps_choose_up_btn.setOnClickListener{ chooseApp("upApp") } - fragment_settings_apps_choose_down_btn.setOnClickListener{ chooseApp("downApp") } - fragment_settings_apps_choose_left_btn.setOnClickListener{ chooseApp("leftApp") } - fragment_settings_apps_choose_right_btn.setOnClickListener{ chooseApp("rightApp") } - fragment_settings_apps_choose_vol_up_btn.setOnClickListener{ chooseApp("volumeUpApp")} - fragment_settings_apps_choose_vol_down_btn.setOnClickListener{ chooseApp("volumeDownApp")} - fragment_settings_apps_choose_double_click_btn.setOnClickListener { chooseApp("doubleClickApp") } - fragment_settings_apps_choose_long_click_btn.setOnClickListener { chooseApp("longClickApp") } + /* TODO: Simplify and put all this repetitive stuff in a loop */ + + if (upApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(upApp) + fragment_settings_apps_up_icon.setImageDrawable(appIcon) + + fragment_settings_apps_up_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_up_btn.visibility = View.GONE + + fragment_settings_apps_up_icon.setOnClickListener{ chooseApp("upApp") } + } else { + fragment_settings_apps_choose_up_btn.setOnClickListener{ chooseApp("upApp") } + } + + if (upApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(upApp) + fragment_settings_apps_up_icon.setImageDrawable(appIcon) + + fragment_settings_apps_up_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_up_btn.visibility = View.GONE + + fragment_settings_apps_up_icon.setOnClickListener{ chooseApp("upApp") } + } else { + fragment_settings_apps_choose_up_btn.setOnClickListener{ chooseApp("upApp") } + } + + if (downApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(downApp) + fragment_settings_apps_down_icon.setImageDrawable(appIcon) + + fragment_settings_apps_down_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_down_btn.visibility = View.GONE + + fragment_settings_apps_down_icon.setOnClickListener{ chooseApp("downApp") } + } else { + fragment_settings_apps_choose_down_btn.setOnClickListener{ chooseApp("downApp") } + } + + if (leftApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(leftApp) + fragment_settings_apps_left_icon.setImageDrawable(appIcon) + + fragment_settings_apps_left_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_left_btn.visibility = View.GONE + + fragment_settings_apps_left_icon.setOnClickListener{ chooseApp("leftApp") } + } else { + fragment_settings_apps_choose_left_btn.setOnClickListener{ chooseApp("leftApp") } + } + + if (rightApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(rightApp) + fragment_settings_apps_right_icon.setImageDrawable(appIcon) + + fragment_settings_apps_right_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_right_btn.visibility = View.GONE + + fragment_settings_apps_right_icon.setOnClickListener{ chooseApp("rightApp") } + } else { + fragment_settings_apps_choose_right_btn.setOnClickListener{ chooseApp("rightApp") } + } + + if (volumeUpApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(volumeUpApp) + fragment_settings_apps_vol_up_icon.setImageDrawable(appIcon) + + fragment_settings_apps_vol_up_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_vol_up_btn.visibility = View.GONE + + fragment_settings_apps_vol_up_icon.setOnClickListener{ chooseApp("volumeUpApp") } + } else { + fragment_settings_apps_choose_vol_up_btn.setOnClickListener{ chooseApp("volumeUpApp") } + } + + if (volumeDownApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(volumeDownApp) + fragment_settings_apps_vol_down_icon.setImageDrawable(appIcon) + + fragment_settings_apps_vol_down_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_vol_down_btn.visibility = View.GONE + + fragment_settings_apps_vol_down_icon.setOnClickListener{ chooseApp("volumeDownApp") } + } else { + fragment_settings_apps_choose_vol_down_btn.setOnClickListener{ chooseApp("volumeDownApp") } + } + + if (doubleClickApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(doubleClickApp) + fragment_settings_apps_double_click_icon.setImageDrawable(appIcon) + + fragment_settings_apps_double_click_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_double_click_btn.visibility = View.GONE + + fragment_settings_apps_double_click_icon.setOnClickListener{ chooseApp("doubleClickApp") } + } else { + fragment_settings_apps_choose_double_click_btn.setOnClickListener{ chooseApp("doubleClickApp") } + } + + if (longClickApp != "") { + val appIcon = context!!.packageManager.getApplicationIcon(longClickApp) + fragment_settings_apps_long_click_icon.setImageDrawable(appIcon) + + fragment_settings_apps_long_click_icon.visibility = View.VISIBLE + fragment_settings_apps_choose_long_click_btn.visibility = View.GONE + + fragment_settings_apps_long_click_icon.setOnClickListener{ chooseApp("longClickApp") } + } else { + fragment_settings_apps_choose_long_click_btn.setOnClickListener{ chooseApp("longClickApp") } + } + + /* TODO * End * */ // App management buttons fragment_settings_apps_btn.setOnClickListener{ diff --git a/app/src/main/res/layout/fragment_settings_apps.xml b/app/src/main/res/layout/fragment_settings_apps.xml index 686dc45..57cd391 100644 --- a/app/src/main/res/layout/fragment_settings_apps.xml +++ b/app/src/main/res/layout/fragment_settings_apps.xml @@ -25,7 +25,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -56,7 +57,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -86,7 +88,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -115,7 +118,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -145,7 +149,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -174,7 +179,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -204,7 +210,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> @@ -234,7 +241,8 @@ + android:gravity="center" + android:minHeight="@dimen/app_action_height"> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 1927bee..bdf620a 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -5,4 +5,7 @@ 16dp 16dp 8dp + + 40dip + 48dip