A few related fixes

+ Prevent opening app when clicking close to 3 dots icon
+ Enable dark popup background on older APIs
+ Prevent closing `ChooseActivity` when app is uninstalled
This commit is contained in:
Finn M Glas 2020-05-30 01:23:05 +02:00
parent 2399f35cc1
commit d74783a3fd
No known key found for this signature in database
GPG key ID: 25037A2E81AB459C
4 changed files with 19 additions and 3 deletions

View file

@ -12,6 +12,8 @@ import com.finnmglas.launcher.choose.AppsRecyclerAdapter
import com.finnmglas.launcher.extern.* import com.finnmglas.launcher.extern.*
import kotlinx.android.synthetic.main.activity_choose.* import kotlinx.android.synthetic.main.activity_choose.*
var intendedChoosePause = false // know when to close
class ChooseActivity : AppCompatActivity() { class ChooseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
@ -63,11 +65,12 @@ class ChooseActivity : AppCompatActivity() {
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
intendedSettingsPause = false intendedSettingsPause = false
finish() if(!intendedChoosePause) finish()
} }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
intendedChoosePause = false
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {

View file

@ -17,6 +17,7 @@ import com.finnmglas.launcher.extern.FontAwesome
import com.finnmglas.launcher.extern.REQUEST_CHOOSE_APP import com.finnmglas.launcher.extern.REQUEST_CHOOSE_APP
import com.finnmglas.launcher.extern.REQUEST_UNINSTALL import com.finnmglas.launcher.extern.REQUEST_UNINSTALL
import com.finnmglas.launcher.extern.openAppSettings import com.finnmglas.launcher.extern.openAppSettings
import com.finnmglas.launcher.intendedChoosePause
class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forApp: String?): class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forApp: String?):
RecyclerView.Adapter<AppsRecyclerAdapter.ViewHolder>() { RecyclerView.Adapter<AppsRecyclerAdapter.ViewHolder>() {
@ -70,6 +71,7 @@ class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forAp
popup.setOnMenuItemClickListener { popup.setOnMenuItemClickListener {
when (it.itemId) { when (it.itemId) {
R.id.app_menu_delete -> { // delete R.id.app_menu_delete -> { // delete
intendedChoosePause = true
val intent = Intent(Intent.ACTION_UNINSTALL_PACKAGE) val intent = Intent(Intent.ACTION_UNINSTALL_PACKAGE)
intent.data = Uri.parse("package:$appPackageName") intent.data = Uri.parse("package:$appPackageName")
intent.putExtra(Intent.EXTRA_RETURN_RESULT, true) intent.putExtra(Intent.EXTRA_RETURN_RESULT, true)
@ -78,6 +80,7 @@ class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forAp
true true
} }
R.id.app_menu_info -> { // open app settings R.id.app_menu_info -> { // open app settings
intendedChoosePause = true
openAppSettings(appPackageName, activity) openAppSettings(appPackageName, activity)
true true
} }

View file

@ -33,8 +33,8 @@
<com.finnmglas.launcher.extern.FontAwesome <com.finnmglas.launcher.extern.FontAwesome
android:id="@+id/choose_row_app_menu" android:id="@+id/choose_row_app_menu"
android:layout_width="20sp" android:layout_width="30sp"
android:layout_height="wrap_content" android:layout_height="0dp"
android:gravity="center" android:gravity="center"
android:text="@string/fas_three_dots" android:text="@string/fas_three_dots"
android:textSize="20sp" android:textSize="20sp"

View file

@ -12,6 +12,8 @@
<item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item> <item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item>
<item name="colorButtonNormal">@color/finnmglasTheme_accent_color</item> <item name="colorButtonNormal">@color/finnmglasTheme_accent_color</item>
<item name="android:popupMenuStyle">@style/PopupMenuCustom</item>
<item name="android:windowDisablePreview">true</item> <item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/WindowFadeTransition</item> <item name="android:windowAnimationStyle">@style/WindowFadeTransition</item>
</style> </style>
@ -27,6 +29,8 @@
<item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item> <item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item>
<item name="colorButtonNormal">@color/darkTheme_accent_color</item> <item name="colorButtonNormal">@color/darkTheme_accent_color</item>
<item name="android:popupMenuStyle">@style/PopupMenuCustom</item>
<item name="android:windowDisablePreview">true</item> <item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/WindowFadeTransition</item> <item name="android:windowAnimationStyle">@style/WindowFadeTransition</item>
</style> </style>
@ -37,10 +41,16 @@
<item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item> <item name="android:buttonStyle">@style/Widget.AppCompat.Button.Colored</item>
<item name="colorButtonNormal">#252827</item> <item name="colorButtonNormal">#252827</item>
<item name="android:popupMenuStyle">@style/PopupMenuCustom</item>
<item name="android:windowDisablePreview">true</item> <item name="android:windowDisablePreview">true</item>
<item name="android:windowAnimationStyle">@style/WindowFadeTransition</item> <item name="android:windowAnimationStyle">@style/WindowFadeTransition</item>
</style> </style>
<style name="PopupMenuCustom" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">#252827</item>
</style>
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert"> <style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:textColor">#000000</item> <item name="android:textColor">#000000</item>
</style> </style>