Update version to 1.0.55

This commit is contained in:
2022-03-18 23:36:10 +08:00
parent dc0d89fab9
commit eac9707b75
7 changed files with 522 additions and 12 deletions

View File

@@ -2,7 +2,7 @@
![Eclipse Marketplace](https://img.shields.io/badge/build-passing-brightgreen) ![Eclipse Marketplace](https://img.shields.io/badge/build-passing-brightgreen)
![Eclipse Marketplace](https://img.shields.io/badge/license-MIT-blue) ![Eclipse Marketplace](https://img.shields.io/badge/license-MIT-blue)
![Eclipse Marketplace](https://img.shields.io/badge/version-v1.0.5.2-green) ![Eclipse Marketplace](https://img.shields.io/badge/version-v1.0.55-green)
[![Telegram](https://img.shields.io/static/v1?label=Telegram&message=交流讨论&color=0088cc)](https://t.me/XiaofangInternet) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=交流讨论&color=0088cc)](https://t.me/XiaofangInternet)
<br/><br/> <br/><br/>
<img src="https://github.com/fankes/YuKiHookAPI/blob/master/img-src/icon.png" width = "100" height = "100"/> <img src="https://github.com/fankes/YuKiHookAPI/blob/master/img-src/icon.png" width = "100" height = "100"/>
@@ -150,10 +150,10 @@ class MainHook : YukiHookXposedInitProxy {
新增 `by` 方法来设置 Hook 的时机和条件;<br/> 新增 `by` 方法来设置 Hook 的时机和条件;<br/>
`YukiHookModulePrefs` 新增可控制的键值缓存,可在宿主运行时模块动态更新数据;<br/> `YukiHookModulePrefs` 新增可控制的键值缓存,可在宿主运行时模块动态更新数据;<br/>
修复了一些可能存在的 BUG。<br/><br/> 修复了一些可能存在的 BUG。<br/><br/>
- 1.0.5.1 <br/> - 1.0.55 <br/>
修正一处注释错误;<br/> 修正一处注释错误;<br/>
临时修复一个 BUG<br/><br/> 临时修复一个 BUG<br/>
- 1.0.5.2 <br/> 增加了 `type` 中的大量 `android` 类型以及少量 `java` 类型;<br/>
修复新版与旧版 Kotlin APIs 的兼容性问题。 修复新版与旧版 Kotlin APIs 的兼容性问题。
# Cooperations # Cooperations

View File

@@ -10,7 +10,7 @@ ext {
devUser = "fankesyooni" devUser = "fankesyooni"
userEmail = "qzmmcn@163.com" userEmail = "qzmmcn@163.com"
groupId = "com.highcapable.yukihookapi" groupId = "com.highcapable.yukihookapi"
apiVersion = "1.0.5.2" apiVersion = "1.0.55"
repoName = "YukiHookAPI" repoName = "YukiHookAPI"
repoDescription = "An efficient Kotlin version of the Xposed Hook API." repoDescription = "An efficient Kotlin version of the Xposed Hook API."
licenceName = "MIT License" licenceName = "MIT License"

View File

@@ -65,10 +65,10 @@ object YukiHookAPI {
private var isXposedInitialized = false private var isXposedInitialized = false
/** 获取当前 [YukiHookAPI] 的版本 */ /** 获取当前 [YukiHookAPI] 的版本 */
const val API_VERSION_NAME = "1.0.5.2" const val API_VERSION_NAME = "1.0.55"
/** 获取当前 [YukiHookAPI] 的版本号 */ /** 获取当前 [YukiHookAPI] 的版本号 */
const val API_VERSION_CODE = 8 const val API_VERSION_CODE = 9
/** /**
* 模块是否装载了 Xposed 回调方法 * 模块是否装载了 Xposed 回调方法

View File

@@ -30,21 +30,36 @@
package com.highcapable.yukihookapi.hook.type.android package com.highcapable.yukihookapi.hook.type.android
import android.app.* import android.app.*
import android.appwidget.AppWidgetHost
import android.appwidget.AppWidgetManager
import android.appwidget.AppWidgetProvider
import android.appwidget.AppWidgetProviderInfo
import android.content.* import android.content.*
import android.content.Intent.ShortcutIconResource
import android.content.pm.*
import android.content.pm.LauncherApps.ShortcutQuery
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.content.res.Configuration
import android.content.res.Resources import android.content.res.Resources
import android.content.res.TypedArray
import android.database.sqlite.SQLiteDatabase
import android.graphics.drawable.* import android.graphics.drawable.*
import android.icu.text.SimpleDateFormat import android.icu.text.SimpleDateFormat
import android.media.MediaPlayer import android.media.MediaPlayer
import android.os.* import android.os.*
import android.provider.Settings
import android.service.notification.StatusBarNotification import android.service.notification.StatusBarNotification
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.TextUtils
import android.util.* import android.util.*
import android.view.Display import android.view.*
import android.view.Window import android.view.accessibility.AccessibilityEvent
import android.view.WindowManager import android.view.accessibility.AccessibilityManager
import android.view.accessibility.AccessibilityNodeInfo
import android.widget.Toast import android.widget.Toast
import com.highcapable.yukihookapi.hook.factory.classOf import com.highcapable.yukihookapi.hook.factory.classOf
import org.w3c.dom.UserDataHandler
import java.awt.Component
/** /**
* 获得 [android.R] 类型 * 获得 [android.R] 类型
@@ -184,6 +199,18 @@ val BaseBundleClass get() = BaseBundle::class.java
*/ */
val ResourcesClass get() = Resources::class.java val ResourcesClass get() = Resources::class.java
/**
* 获得 [Configuration] 类型
* @return [Class]
*/
val ConfigurationClass get() = Configuration::class.java
/**
* 获得 [ConfigurationInfo] 类型
* @return [Class]
*/
val ConfigurationInfoClass get() = ConfigurationInfo::class.java
/** /**
* 获得 [ContentResolver] 类型 * 获得 [ContentResolver] 类型
* @return [Class] * @return [Class]
@@ -196,6 +223,66 @@ val ContentResolverClass get() = ContentResolver::class.java
*/ */
val ContentProviderClass get() = ContentProvider::class.java val ContentProviderClass get() = ContentProvider::class.java
/**
* 获得 [Settings] 类型
* @return [Class]
*/
val SettingsClass get() = Settings::class.java
/**
* 获得 [Settings.System] 类型
* @return [Class]
*/
val Settings_SystemClass get() = Settings.System::class.java
/**
* 获得 [Settings.Secure] 类型
* @return [Class]
*/
val Settings_SecureClass get() = Settings.Secure::class.java
/**
* 获得 [TypedArray] 类型
* @return [Class]
*/
val TypedArrayClass get() = TypedArray::class.java
/**
* 获得 [TypedValue] 类型
* @return [Class]
*/
val TypedValueClass get() = TypedValue::class.java
/**
* 获得 [SparseArray] 类型
* @return [Class]
*/
val SparseArrayClass get() = SparseArray::class.java
/**
* 获得 [SparseIntArray] 类型
* @return [Class]
*/
val SparseIntArrayClass get() = SparseIntArray::class.java
/**
* 获得 [SparseBooleanArray] 类型
* @return [Class]
*/
val SparseBooleanArrayClass get() = SparseBooleanArray::class.java
/**
* 获得 [SparseLongArray] 类型
* @return [Class]
*/
val SparseLongArrayClass get() = SparseLongArray::class.java
/**
* 获得 [LongSparseArray] 类型
* @return [Class]
*/
val LongSparseArrayClass get() = LongSparseArray::class.java
/** /**
* 获得 [ArrayMap] 类型 * 获得 [ArrayMap] 类型
* @return [Class] * @return [Class]
@@ -260,12 +347,40 @@ val SimpleDateFormatClass_Android get() = SimpleDateFormat::class.java
*/ */
val Base64Class_Android get() = Base64::class.java val Base64Class_Android get() = Base64::class.java
/**
* 获得 [TextUtils] 类型
* @return [Class]
*/
val TextUtilsClass get() = TextUtils::class.java
/** /**
* 获得 [Window] 类型 * 获得 [Window] 类型
* @return [Class] * @return [Class]
*/ */
val WindowClass get() = Window::class.java val WindowClass get() = Window::class.java
/**
* 获得 [WindowMetrics] 类型
*
* ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val WindowMetricsClass get() = WindowMetrics::class.java
/**
* 获得 [WindowInsets] 类型
* @return [Class]
*/
val WindowInsetsClass get() = WindowInsets::class.java
/**
* 获得 [WindowInsets.Type] 类型
*
* ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val WindowInsets_TypeClass get() = WindowInsets.Type::class.java
/** /**
* 获得 [WindowManager] 类型 * 获得 [WindowManager] 类型
* @return [Class] * @return [Class]
@@ -326,6 +441,24 @@ val ToastClass get() = Toast::class.java
*/ */
val IntentClass get() = Intent::class.java val IntentClass get() = Intent::class.java
/**
* 获得 [Component] 类型
* @return [Class]
*/
val ComponentClass get() = Component::class.java
/**
* 获得 [ComponentInfo] 类型
* @return [Class]
*/
val ComponentInfoClass get() = ComponentInfo::class.java
/**
* 获得 [ComponentName] 类型
* @return [Class]
*/
val ComponentNameClass get() = ComponentName::class.java
/** /**
* 获得 [PendingIntent] 类型 * 获得 [PendingIntent] 类型
* @return [Class] * @return [Class]
@@ -490,4 +623,142 @@ val PowerManagerClass get() = PowerManager::class.java
* 获得 [PowerManager.WakeLock] 类型 * 获得 [PowerManager.WakeLock] 类型
* @return [Class] * @return [Class]
*/ */
val PowerManager_WakeLockClass get() = PowerManager.WakeLock::class.java val PowerManager_WakeLockClass get() = PowerManager.WakeLock::class.java
/**
* 获得 [UserHandle] 类型
* @return [Class]
*/
val UserHandleClass get() = UserHandle::class.java
/**
* 获得 [UserDataHandler] 类型
* @return [Class]
*/
val UserDataHandlerClass get() = UserDataHandler::class.java
/**
* 获得 [ShortcutInfo] 类型
*
* ❗在 Android N_MR1 (25) 及以上系统加入
* @return [Class]
*/
val ShortcutInfoClass get() = ShortcutInfo::class.java
/**
* 获得 [ShortcutManager] 类型
*
* ❗在 Android R (30) 及以上系统加入
* @return [Class]
*/
val ShortcutManagerClass get() = ShortcutManager::class.java
/**
* 获得 [ShortcutQuery] 类型
*
* ❗在 Android N_MR1 (25) 及以上系统加入
* @return [Class]
*/
val ShortcutQueryClass get() = ShortcutQuery::class.java
/**
* 获得 [KeyboardShortcutInfo] 类型
* @return [Class]
*/
val KeyboardShortcutInfoClass get() = KeyboardShortcutInfo::class.java
/**
* 获得 [KeyboardShortcutGroup] 类型
* @return [Class]
*/
val KeyboardShortcutGroupClass get() = KeyboardShortcutGroup::class.java
/**
* 获得 [ShortcutIconResource] 类型
* @return [Class]
*/
val ShortcutIconResourceClass get() = ShortcutIconResource::class.java
/**
* 获得 [AppWidgetManager] 类型
* @return [Class]
*/
val AppWidgetManagerClass get() = AppWidgetManager::class.java
/**
* 获得 [AppWidgetProvider] 类型
* @return [Class]
*/
val AppWidgetProviderClass get() = AppWidgetProvider::class.java
/**
* 获得 [AppWidgetProviderInfo] 类型
* @return [Class]
*/
val AppWidgetProviderInfoClass get() = AppWidgetProviderInfo::class.java
/**
* 获得 [AppWidgetHost] 类型
* @return [Class]
*/
val AppWidgetHostClass get() = AppWidgetHost::class.java
/**
* 获得 [ActivityInfo] 类型
* @return [Class]
*/
val ActivityInfoClass get() = ActivityInfo::class.java
/**
* 获得 [ResolveInfo] 类型
* @return [Class]
*/
val ResolveInfoClass get() = ResolveInfo::class.java
/**
* 获得 [Property] 类型
* @return [Class]
*/
val PropertyClass get() = Property::class.java
/**
* 获得 [IntProperty] 类型
* @return [Class]
*/
val IntPropertyClass get() = IntProperty::class.java
/**
* 获得 [FloatProperty] 类型
* @return [Class]
*/
val FloatPropertyClass get() = FloatProperty::class.java
/**
* 获得 [SQLiteDatabase] 类型
* @return [Class]
*/
val SQLiteDatabaseClass get() = SQLiteDatabase::class.java
/**
* 获得 [StrictMode] 类型
* @return [Class]
*/
val StrictModeClass get() = StrictMode::class.java
/**
* 获得 [AccessibilityManager] 类型
* @return [Class]
*/
val AccessibilityManagerClass get() = AccessibilityManager::class.java
/**
* 获得 [AccessibilityEvent] 类型
* @return [Class]
*/
val AccessibilityEventClass get() = AccessibilityEvent::class.java
/**
* 获得 [AccessibilityNodeInfo] 类型
* @return [Class]
*/
val AccessibilityNodeInfoClass get() = AccessibilityNodeInfo::class.java

View File

@@ -32,6 +32,8 @@ package com.highcapable.yukihookapi.hook.type.android
import android.graphics.* import android.graphics.*
import android.graphics.drawable.* import android.graphics.drawable.*
import android.text.* import android.text.*
import android.util.Size
import android.util.SizeF
/** /**
* 获得 [Typeface] 类型 * 获得 [Typeface] 类型
@@ -83,12 +85,30 @@ val ColorDrawableClass get() = ColorDrawable::class.java
*/ */
val BitmapDrawableClass get() = BitmapDrawable::class.java val BitmapDrawableClass get() = BitmapDrawable::class.java
/**
* 获得 [Size] 类型
* @return [Class]
*/
val SizeClass get() = Size::class.java
/**
* 获得 [SizeF] 类型
* @return [Class]
*/
val SizeFClass get() = SizeF::class.java
/** /**
* 获得 [Rect] 类型 * 获得 [Rect] 类型
* @return [Class] * @return [Class]
*/ */
val RectClass get() = Rect::class.java val RectClass get() = Rect::class.java
/**
* 获得 [RectF] 类型
* @return [Class]
*/
val RectFClass get() = RectF::class.java
/** /**
* 获得 [NinePatch] 类型 * 获得 [NinePatch] 类型
* @return [Class] * @return [Class]
@@ -119,6 +139,30 @@ val CanvasClass get() = Canvas::class.java
*/ */
val PointClass get() = Point::class.java val PointClass get() = Point::class.java
/**
* 获得 [PointF] 类型
* @return [Class]
*/
val PointFClass get() = PointF::class.java
/**
* 获得 [Matrix] 类型
* @return [Class]
*/
val MatrixClass get() = Matrix::class.java
/**
* 获得 [ColorMatrix] 类型
* @return [Class]
*/
val ColorMatrixClass get() = ColorMatrix::class.java
/**
* 获得 [ColorMatrixColorFilter] 类型
* @return [Class]
*/
val ColorMatrixColorFilterClass get() = ColorMatrixColorFilter::class.java
/** /**
* 获得 [Editable] 类型 * 获得 [Editable] 类型
* @return [Class] * @return [Class]

View File

@@ -29,9 +29,17 @@
package com.highcapable.yukihookapi.hook.type.android package com.highcapable.yukihookapi.hook.type.android
import android.animation.*
import android.appwidget.AppWidgetHostView
import android.util.AttributeSet import android.util.AttributeSet
import android.view.* import android.view.*
import android.view.animation.AlphaAnimation
import android.view.animation.Animation
import android.view.animation.TranslateAnimation
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.* import android.widget.*
import android.widget.RemoteViews.RemoteView
/** /**
* 获得 [View] 类型 * 获得 [View] 类型
@@ -39,12 +47,72 @@ import android.widget.*
*/ */
val ViewClass get() = View::class.java val ViewClass get() = View::class.java
/**
* 获得 [Surface] 类型
* @return [Class]
*/
val SurfaceClass get() = Surface::class.java
/**
* 获得 [SurfaceView] 类型
* @return [Class]
*/
val SurfaceViewClass get() = SurfaceView::class.java
/**
* 获得 [TextureView] 类型
* @return [Class]
*/
val TextureViewClass get() = TextureView::class.java
/**
* 获得 [WebView] 类型
* @return [Class]
*/
val WebViewClass get() = WebView::class.java
/**
* 获得 [WebViewClient] 类型
* @return [Class]
*/
val WebViewClientClass get() = WebViewClient::class.java
/**
* 获得 [ViewStructure] 类型
* @return [Class]
*/
val ViewStructureClass get() = ViewStructure::class.java
/** /**
* 获得 [ViewGroup] 类型 * 获得 [ViewGroup] 类型
* @return [Class] * @return [Class]
*/ */
val ViewGroupClass get() = ViewGroup::class.java val ViewGroupClass get() = ViewGroup::class.java
/**
* 获得 [ViewParent] 类型
* @return [Class]
*/
val ViewParentClass get() = ViewParent::class.java
/**
* 获得 [AppWidgetHostView] 类型
* @return [Class]
*/
val AppWidgetHostViewClass get() = AppWidgetHostView::class.java
/**
* 获得 [RemoteViews] 类型
* @return [Class]
*/
val RemoteViewsClass get() = RemoteViews::class.java
/**
* 获得 [RemoteView] 类型
* @return [Class]
*/
val RemoteViewClass get() = RemoteView::class.java
/** /**
* 获得 [TextView] 类型 * 获得 [TextView] 类型
* @return [Class] * @return [Class]
@@ -57,6 +125,12 @@ val TextViewClass get() = TextView::class.java
*/ */
val ImageViewClass get() = ImageView::class.java val ImageViewClass get() = ImageView::class.java
/**
* 获得 [ImageButton] 类型
* @return [Class]
*/
val ImageButtonClass get() = ImageButton::class.java
/** /**
* 获得 [EditText] 类型 * 获得 [EditText] 类型
* @return [Class] * @return [Class]
@@ -99,6 +173,24 @@ val ListViewClass get() = ListView::class.java
*/ */
val LayoutInflaterClass get() = LayoutInflater::class.java val LayoutInflaterClass get() = LayoutInflater::class.java
/**
* 获得 [LayoutInflater.Filter] 类型
* @return [Class]
*/
val LayoutInflater_FilterClass get() = LayoutInflater.Filter::class.java
/**
* 获得 [LayoutInflater.Factory] 类型
* @return [Class]
*/
val LayoutInflater_FactoryClass get() = LayoutInflater.Factory::class.java
/**
* 获得 [LayoutInflater.Factory2] 类型
* @return [Class]
*/
val LayoutInflater_Factory2Class get() = LayoutInflater.Factory2::class.java
/** /**
* 获得 [ListAdapter] 类型 * 获得 [ListAdapter] 类型
* @return [Class] * @return [Class]
@@ -165,6 +257,12 @@ val FrameLayout_LayoutParamsClass get() = FrameLayout.LayoutParams::class.java
*/ */
val TextClockClass get() = TextClock::class.java val TextClockClass get() = TextClock::class.java
/**
* 获得 [MotionEvent] 类型
* @return [Class]
*/
val MotionEventClass get() = MotionEvent::class.java
/** /**
* 获得 [View.OnClickListener] 类型 * 获得 [View.OnClickListener] 类型
* @return [Class] * @return [Class]
@@ -223,4 +321,94 @@ val ProgressBarClass get() = ProgressBar::class.java
* 获得 [AttributeSet] 类型 * 获得 [AttributeSet] 类型
* @return [Class] * @return [Class]
*/ */
val AttributeSetClass get() = AttributeSet::class.java val AttributeSetClass get() = AttributeSet::class.java
/**
* 获得 [Animation] 类型
* @return [Class]
*/
val AnimationClass get() = Animation::class.java
/**
* 获得 [Animation.AnimationListener] 类型
* @return [Class]
*/
val Animation_AnimationListenerClass get() = Animation.AnimationListener::class.java
/**
* 获得 [TranslateAnimation] 类型
* @return [Class]
*/
val TranslateAnimationClass get() = TranslateAnimation::class.java
/**
* 获得 [AlphaAnimation] 类型
* @return [Class]
*/
val AlphaAnimationClass get() = AlphaAnimation::class.java
/**
* 获得 [Animator] 类型
* @return [Class]
*/
val AnimatorClass get() = Animator::class.java
/**
* 获得 [Animator.AnimatorListener] 类型
* @return [Class]
*/
val Animator_AnimatorListenerClass get() = Animator.AnimatorListener::class.java
/**
* 获得 [ObjectAnimator] 类型
* @return [Class]
*/
val ObjectAnimatorClass get() = ObjectAnimator::class.java
/**
* 获得 [ValueAnimator] 类型
* @return [Class]
*/
val ValueAnimatorClass get() = ValueAnimator::class.java
/**
* 获得 [ValueAnimator.AnimatorUpdateListener] 类型
* @return [Class]
*/
val ValueAnimator_AnimatorUpdateListenerClass get() = ValueAnimator.AnimatorUpdateListener::class.java
/**
* 获得 [ViewAnimator] 类型
* @return [Class]
*/
val ViewAnimatorClass get() = ViewAnimator::class.java
/**
* 获得 [AnimatorSet] 类型
* @return [Class]
*/
val AnimatorSetClass get() = AnimatorSet::class.java
/**
* 获得 [AnimatorSet.Builder] 类型
* @return [Class]
*/
val AnimatorSet_BuilderClass get() = AnimatorSet.Builder::class.java
/**
* 获得 [PropertyValuesHolder] 类型
* @return [Class]
*/
val PropertyValuesHolderClass get() = PropertyValuesHolder::class.java
/**
* 获得 [ViewPropertyAnimator] 类型
* @return [Class]
*/
val ViewPropertyAnimatorClass get() = ViewPropertyAnimator::class.java
/**
* 获得 [View.MeasureSpec] 类型
* @return [Class]
*/
val View_MeasureSpecClass get() = View.MeasureSpec::class.java

View File

@@ -44,6 +44,7 @@ import java.net.http.HttpClient
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean
import java.util.function.Supplier
import java.util.zip.ZipEntry import java.util.zip.ZipEntry
import java.util.zip.ZipFile import java.util.zip.ZipFile
import java.util.zip.ZipInputStream import java.util.zip.ZipInputStream
@@ -424,6 +425,12 @@ val HttpClientClass get() = HttpClient::class.java
*/ */
val AtomicBooleanClass get() = AtomicBoolean::class.java val AtomicBooleanClass get() = AtomicBoolean::class.java
/**
* 获得 [Supplier] 类型
* @return [Class]
*/
val SupplierClass get() = Supplier::class.java
/** /**
* 获得 [Class] 类型 * 获得 [Class] 类型
* @return [Class] * @return [Class]