6.6.3 - Alpha2 - 已忽略更新记录及客户端模式连接地址记录支持清空操作
This commit is contained in:
@@ -12,6 +12,7 @@ import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.CheckBox
|
||||
import androidx.preference.PreferenceViewHolder
|
||||
import com.afollestad.materialdialogs.DialogAction
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import org.autojs.autojs.theme.preference.LongClickablePreferenceLike
|
||||
import org.autojs.autojs.ui.explorer.ExplorerView
|
||||
@@ -30,12 +31,11 @@ object DialogUtils {
|
||||
val context = dialog.context
|
||||
if (!isActivityContext(context)) {
|
||||
val window = dialog.window
|
||||
val type = when (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
true -> WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
|
||||
else -> {
|
||||
@Suppress("DEPRECATION")
|
||||
WindowManager.LayoutParams.TYPE_PHONE
|
||||
}
|
||||
val type = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
WindowManager.LayoutParams.TYPE_PHONE
|
||||
}
|
||||
window?.setType(type)
|
||||
}
|
||||
@@ -64,6 +64,10 @@ object DialogUtils {
|
||||
}
|
||||
}
|
||||
|
||||
fun toggleActionButtonAbilityByItems(dialog: MaterialDialog, actionButton: DialogAction) {
|
||||
dialog.getActionButton(actionButton)?.isEnabled = !dialog.items.isNullOrEmpty()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun adaptToExplorer(dialog: MaterialDialog, explorerView: ExplorerView): MaterialDialog {
|
||||
val time = object : Any() {
|
||||
|
||||
@@ -4,9 +4,11 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.text.InputFilter
|
||||
import android.view.KeyEvent
|
||||
import com.afollestad.materialdialogs.DialogAction
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import org.autojs.autojs.app.DialogUtils
|
||||
import org.autojs.autojs.core.pref.Pref
|
||||
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||
import org.autojs.autojs.pluginclient.JsonSocketClient
|
||||
import org.autojs.autojs.ui.main.drawer.DrawerMenuDisposableItem
|
||||
import org.autojs.autojs.util.Observers
|
||||
@@ -98,20 +100,47 @@ class JsonSocketClientTool(context: Context) : AbstractJsonSocketTool(context) {
|
||||
it.remove(text)
|
||||
dHistories.notifyItemsChanged()
|
||||
DialogUtils.toggleContentViewByItems(dHistories)
|
||||
DialogUtils.toggleActionButtonAbilityByItems(dHistories, DialogAction.NEUTRAL)
|
||||
}
|
||||
}
|
||||
.show()
|
||||
}
|
||||
}
|
||||
.negativeText(R.string.dialog_button_cancel)
|
||||
.negativeColorRes(R.color.dialog_button_default)
|
||||
.onNegative { dHistories, _ -> dHistories.dismiss() }
|
||||
.neutralText(R.string.dialog_button_clear_items)
|
||||
.neutralColorRes(R.color.dialog_button_warn)
|
||||
.onNeutral { dHistories, _ ->
|
||||
MaterialDialog.Builder(context)
|
||||
.title(R.string.text_prompt)
|
||||
.content(R.string.text_confirm_to_clear_all_histories)
|
||||
.negativeText(R.string.dialog_button_cancel)
|
||||
.negativeColorRes(R.color.dialog_button_default)
|
||||
.positiveText(R.string.dialog_button_confirm)
|
||||
.positiveColorRes(R.color.dialog_button_caution)
|
||||
.onPositive { _, _ ->
|
||||
JsonSocketClient.clearAllHistories()
|
||||
dHistories.items?.let {
|
||||
it.clear()
|
||||
dHistories.notifyItemsChanged()
|
||||
DialogUtils.toggleContentViewByItems(dHistories)
|
||||
DialogUtils.toggleActionButtonAbilityByItems(dHistories, DialogAction.NEUTRAL)
|
||||
}
|
||||
ViewUtils.showSnack(dHistories.view, R.string.text_all_histories_cleared)
|
||||
}
|
||||
.show()
|
||||
}
|
||||
.positiveText(R.string.dialog_button_back)
|
||||
.positiveColorRes(R.color.dialog_button_default)
|
||||
.onPositive { dHistories, _ -> dHistories.dismiss() }
|
||||
.autoDismiss(false)
|
||||
.show()
|
||||
.also { DialogUtils.toggleContentViewByItems(it) }
|
||||
.also {
|
||||
DialogUtils.toggleContentViewByItems(it)
|
||||
DialogUtils.toggleActionButtonAbilityByItems(it, DialogAction.NEUTRAL)
|
||||
}
|
||||
}
|
||||
.negativeText(R.string.text_cancel)
|
||||
.onNegative { dialog, _ -> dialog.dismiss() }
|
||||
.positiveText(R.string.dialog_button_confirm)
|
||||
.autoDismiss(false)
|
||||
.dismissListener(onConnectionDialogDismissed)
|
||||
.show()
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.net.toUri
|
||||
import com.afollestad.materialdialogs.DialogAction
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import org.autojs.autojs.app.DialogUtils
|
||||
import org.autojs.autojs.core.pref.Pref
|
||||
@@ -85,16 +86,42 @@ object UpdateUtils {
|
||||
.onNeutral { dVersionInfo, _ ->
|
||||
showRemoveIgnoredVersionPrompt(context, dialog, dVersionInfo, text)
|
||||
}
|
||||
.positiveText(R.string.dialog_button_cancel)
|
||||
.positiveText(R.string.dialog_button_back)
|
||||
.onPositive { dVersionInfo, _ -> dVersionInfo.dismiss() }
|
||||
.autoDismiss(false)
|
||||
.show()
|
||||
}
|
||||
.neutralText(R.string.dialog_button_clear_items)
|
||||
.neutralColorRes(R.color.dialog_button_warn)
|
||||
.onNeutral { dialogParent, _ ->
|
||||
MaterialDialog.Builder(context)
|
||||
.title(R.string.text_prompt)
|
||||
.content(R.string.text_confirm_to_clear_all_items)
|
||||
.negativeText(R.string.dialog_button_cancel)
|
||||
.negativeColorRes(R.color.dialog_button_default)
|
||||
.positiveText(R.string.dialog_button_confirm)
|
||||
.positiveColorRes(R.color.dialog_button_caution)
|
||||
.onPositive { _, _ ->
|
||||
clearIgnoredVersions()
|
||||
dialogParent.items?.let {
|
||||
it.clear()
|
||||
dialogParent.notifyItemsChanged()
|
||||
DialogUtils.toggleContentViewByItems(dialogParent)
|
||||
DialogUtils.toggleActionButtonAbilityByItems(dialogParent, DialogAction.NEUTRAL)
|
||||
}
|
||||
ViewUtils.showSnack(dialogParent.view, R.string.text_all_items_cleared)
|
||||
}
|
||||
.show()
|
||||
}
|
||||
.positiveText(R.string.dialog_button_dismiss)
|
||||
.positiveColorRes(R.color.dialog_button_default)
|
||||
.onPositive { dialog, _ -> dialog.dismiss() }
|
||||
.autoDismiss(false)
|
||||
.build()
|
||||
.also { DialogUtils.toggleContentViewByItems(it) }
|
||||
.also {
|
||||
DialogUtils.toggleContentViewByItems(it)
|
||||
DialogUtils.toggleActionButtonAbilityByItems(it, DialogAction.NEUTRAL)
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
||||
@@ -131,6 +158,11 @@ object UpdateUtils {
|
||||
Pref.putLinkedHashSet(R.string.key_ignored_updates, ignoredVersions)
|
||||
}
|
||||
|
||||
private fun clearIgnoredVersions() {
|
||||
ignoredVersions.clear()
|
||||
Pref.putLinkedHashSet(R.string.key_ignored_updates, ignoredVersions)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@JvmOverloads
|
||||
fun autoCheckForUpdatesIfNeededWithSnackbar(activity: AppCompatActivity, snackbarViewIdRes: Int = android.R.id.content) {
|
||||
|
||||
Reference in New Issue
Block a user