6.6.3 - Alpha2 - 已忽略更新记录及客户端模式连接地址记录支持清空操作
This commit is contained in:
@@ -21,6 +21,7 @@
|
|||||||
"improvement": [
|
"improvement": [
|
||||||
"关于应用与开发者页面增加水平布局及小屏布局适配",
|
"关于应用与开发者页面增加水平布局及小屏布局适配",
|
||||||
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
|
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",
|
||||||
|
"已忽略更新记录及客户端模式连接地址记录支持清空操作",
|
||||||
"版本更新信息支持多语言显示 (与当前显示语言同步)",
|
"版本更新信息支持多语言显示 (与当前显示语言同步)",
|
||||||
"使用异步加载方式一定程度提升文件管理器列表滑动流畅性"
|
"使用异步加载方式一定程度提升文件管理器列表滑动流畅性"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import android.view.View
|
|||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import android.widget.CheckBox
|
import android.widget.CheckBox
|
||||||
import androidx.preference.PreferenceViewHolder
|
import androidx.preference.PreferenceViewHolder
|
||||||
|
import com.afollestad.materialdialogs.DialogAction
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
import org.autojs.autojs.theme.preference.LongClickablePreferenceLike
|
import org.autojs.autojs.theme.preference.LongClickablePreferenceLike
|
||||||
import org.autojs.autojs.ui.explorer.ExplorerView
|
import org.autojs.autojs.ui.explorer.ExplorerView
|
||||||
@@ -30,12 +31,11 @@ object DialogUtils {
|
|||||||
val context = dialog.context
|
val context = dialog.context
|
||||||
if (!isActivityContext(context)) {
|
if (!isActivityContext(context)) {
|
||||||
val window = dialog.window
|
val window = dialog.window
|
||||||
val type = when (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
val type = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
true -> WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
|
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
|
||||||
else -> {
|
} else {
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
WindowManager.LayoutParams.TYPE_PHONE
|
WindowManager.LayoutParams.TYPE_PHONE
|
||||||
}
|
|
||||||
}
|
}
|
||||||
window?.setType(type)
|
window?.setType(type)
|
||||||
}
|
}
|
||||||
@@ -64,6 +64,10 @@ object DialogUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun toggleActionButtonAbilityByItems(dialog: MaterialDialog, actionButton: DialogAction) {
|
||||||
|
dialog.getActionButton(actionButton)?.isEnabled = !dialog.items.isNullOrEmpty()
|
||||||
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun adaptToExplorer(dialog: MaterialDialog, explorerView: ExplorerView): MaterialDialog {
|
fun adaptToExplorer(dialog: MaterialDialog, explorerView: ExplorerView): MaterialDialog {
|
||||||
val time = object : Any() {
|
val time = object : Any() {
|
||||||
|
|||||||
@@ -4,9 +4,11 @@ import android.annotation.SuppressLint
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.text.InputFilter
|
import android.text.InputFilter
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
|
import com.afollestad.materialdialogs.DialogAction
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
import org.autojs.autojs.app.DialogUtils
|
import org.autojs.autojs.app.DialogUtils
|
||||||
import org.autojs.autojs.core.pref.Pref
|
import org.autojs.autojs.core.pref.Pref
|
||||||
|
import org.autojs.autojs.extension.MaterialDialogExtensions.widgetThemeColor
|
||||||
import org.autojs.autojs.pluginclient.JsonSocketClient
|
import org.autojs.autojs.pluginclient.JsonSocketClient
|
||||||
import org.autojs.autojs.ui.main.drawer.DrawerMenuDisposableItem
|
import org.autojs.autojs.ui.main.drawer.DrawerMenuDisposableItem
|
||||||
import org.autojs.autojs.util.Observers
|
import org.autojs.autojs.util.Observers
|
||||||
@@ -98,20 +100,47 @@ class JsonSocketClientTool(context: Context) : AbstractJsonSocketTool(context) {
|
|||||||
it.remove(text)
|
it.remove(text)
|
||||||
dHistories.notifyItemsChanged()
|
dHistories.notifyItemsChanged()
|
||||||
DialogUtils.toggleContentViewByItems(dHistories)
|
DialogUtils.toggleContentViewByItems(dHistories)
|
||||||
|
DialogUtils.toggleActionButtonAbilityByItems(dHistories, DialogAction.NEUTRAL)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.negativeText(R.string.dialog_button_cancel)
|
.neutralText(R.string.dialog_button_clear_items)
|
||||||
.negativeColorRes(R.color.dialog_button_default)
|
.neutralColorRes(R.color.dialog_button_warn)
|
||||||
.onNegative { dHistories, _ -> dHistories.dismiss() }
|
.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)
|
.autoDismiss(false)
|
||||||
.show()
|
.show()
|
||||||
.also { DialogUtils.toggleContentViewByItems(it) }
|
.also {
|
||||||
|
DialogUtils.toggleContentViewByItems(it)
|
||||||
|
DialogUtils.toggleActionButtonAbilityByItems(it, DialogAction.NEUTRAL)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.negativeText(R.string.text_cancel)
|
.negativeText(R.string.text_cancel)
|
||||||
.onNegative { dialog, _ -> dialog.dismiss() }
|
.onNegative { dialog, _ -> dialog.dismiss() }
|
||||||
|
.positiveText(R.string.dialog_button_confirm)
|
||||||
.autoDismiss(false)
|
.autoDismiss(false)
|
||||||
.dismissListener(onConnectionDialogDismissed)
|
.dismissListener(onConnectionDialogDismissed)
|
||||||
.show()
|
.show()
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import android.content.Context
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
|
import com.afollestad.materialdialogs.DialogAction
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
import org.autojs.autojs.app.DialogUtils
|
import org.autojs.autojs.app.DialogUtils
|
||||||
import org.autojs.autojs.core.pref.Pref
|
import org.autojs.autojs.core.pref.Pref
|
||||||
@@ -85,16 +86,42 @@ object UpdateUtils {
|
|||||||
.onNeutral { dVersionInfo, _ ->
|
.onNeutral { dVersionInfo, _ ->
|
||||||
showRemoveIgnoredVersionPrompt(context, dialog, dVersionInfo, text)
|
showRemoveIgnoredVersionPrompt(context, dialog, dVersionInfo, text)
|
||||||
}
|
}
|
||||||
.positiveText(R.string.dialog_button_cancel)
|
.positiveText(R.string.dialog_button_back)
|
||||||
.onPositive { dVersionInfo, _ -> dVersionInfo.dismiss() }
|
.onPositive { dVersionInfo, _ -> dVersionInfo.dismiss() }
|
||||||
.autoDismiss(false)
|
.autoDismiss(false)
|
||||||
.show()
|
.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)
|
.positiveText(R.string.dialog_button_dismiss)
|
||||||
|
.positiveColorRes(R.color.dialog_button_default)
|
||||||
.onPositive { dialog, _ -> dialog.dismiss() }
|
.onPositive { dialog, _ -> dialog.dismiss() }
|
||||||
.autoDismiss(false)
|
.autoDismiss(false)
|
||||||
.build()
|
.build()
|
||||||
.also { DialogUtils.toggleContentViewByItems(it) }
|
.also {
|
||||||
|
DialogUtils.toggleContentViewByItems(it)
|
||||||
|
DialogUtils.toggleActionButtonAbilityByItems(it, DialogAction.NEUTRAL)
|
||||||
|
}
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,6 +158,11 @@ object UpdateUtils {
|
|||||||
Pref.putLinkedHashSet(R.string.key_ignored_updates, ignoredVersions)
|
Pref.putLinkedHashSet(R.string.key_ignored_updates, ignoredVersions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun clearIgnoredVersions() {
|
||||||
|
ignoredVersions.clear()
|
||||||
|
Pref.putLinkedHashSet(R.string.key_ignored_updates, ignoredVersions)
|
||||||
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
fun autoCheckForUpdatesIfNeededWithSnackbar(activity: AppCompatActivity, snackbarViewIdRes: Int = android.R.id.content) {
|
fun autoCheckForUpdatesIfNeededWithSnackbar(activity: AppCompatActivity, snackbarViewIdRes: Int = android.R.id.content) {
|
||||||
|
|||||||
Reference in New Issue
Block a user