diff --git a/app/build.gradle b/app/build.gradle
index 81ca77c..34935da 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,14 +1,15 @@
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
android {
- compileSdkVersion 26
+ compileSdkVersion 29
defaultConfig {
applicationId "org.gallonyin.weworkhk"
- minSdkVersion 15
- targetSdkVersion 22
- versionCode 2
- versionName "1.1"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ minSdkVersion 26
+ targetSdkVersion 29
+ versionCode 3
+ versionName "1.2"
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
@@ -20,15 +21,20 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
- implementation 'com.android.support.constraint:constraint-layout:1.0.2'
+ implementation 'androidx.appcompat:appcompat:1.3.1'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
// implementation 'com.zzti.fengyongge:imagepicker:1.3.0'
implementation project(':imagepicker')
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:0.5'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
- compileOnly 'de.robv.android.xposed:api:53'
- compileOnly 'de.robv.android.xposed:api:53:sources'
- compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+ compileOnly 'de.robv.android.xposed:api:82'
+ compileOnly 'de.robv.android.xposed:api:82:sources'
+ implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'
implementation files('libs/TencentMapSDK_Raster_v_1.2.8.1.c02ec64.jar')
+ implementation "androidx.core:core-ktx:1.6.0"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+}
+repositories {
+ mavenCentral()
}
diff --git a/app/src/androidTest/java/org/example/gallon2/wechathk/ExampleInstrumentedTest.java b/app/src/androidTest/java/org/example/gallon2/wechathk/ExampleInstrumentedTest.java
index 9788cff..7a62f80 100644
--- a/app/src/androidTest/java/org/example/gallon2/wechathk/ExampleInstrumentedTest.java
+++ b/app/src/androidTest/java/org/example/gallon2/wechathk/ExampleInstrumentedTest.java
@@ -1,8 +1,8 @@
package org.example.gallon2.weworkhk;
import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 21198f3..c19987b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -57,7 +57,7 @@
diff --git a/app/src/main/assets/xposed_init b/app/src/main/assets/xposed_init
index 6ccece3..ae08698 100644
--- a/app/src/main/assets/xposed_init
+++ b/app/src/main/assets/xposed_init
@@ -1 +1 @@
-org.gallonyin.weworkhk.Main
\ No newline at end of file
+org.gallonyin.weworkhk.Hook
\ No newline at end of file
diff --git a/app/src/main/java/org/gallonyin/weworkhk/Hook.kt b/app/src/main/java/org/gallonyin/weworkhk/Hook.kt
new file mode 100644
index 0000000..b3b6cf9
--- /dev/null
+++ b/app/src/main/java/org/gallonyin/weworkhk/Hook.kt
@@ -0,0 +1,33 @@
+package org.gallonyin.weworkhk
+
+import android.util.Log
+import de.robv.android.xposed.IXposedHookLoadPackage
+import de.robv.android.xposed.XC_MethodHook
+import de.robv.android.xposed.XC_MethodHook.MethodHookParam
+import de.robv.android.xposed.XposedBridge
+import de.robv.android.xposed.XposedHelpers
+import de.robv.android.xposed.callbacks.XC_LoadPackage
+
+class Hook : IXposedHookLoadPackage {
+ override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam?) {
+ Log.d("Main", "handleLoadPackage")
+ XposedBridge.log("handleLoadPackage: " + lpparam!!.packageName + " " + lpparam.processName)
+ if (lpparam.packageName == "com.tencent.wework") {
+ Log.d("Main", "wework")
+ WeWork().start(lpparam.classLoader)
+ }
+ if (lpparam.packageName == "org.gallonyin.weworkhk") {
+ Log.d("Main", "weworkhk")
+ XposedHelpers.findAndHookMethod(
+ "org.gallonyin.weworkhk.MainActivity",
+ lpparam.classLoader,
+ "confirm",
+ object : XC_MethodHook() {
+ @Throws(Throwable::class)
+ override fun afterHookedMethod(param: MethodHookParam) {
+ param.result = true
+ }
+ })
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/gallonyin/weworkhk/Main.java b/app/src/main/java/org/gallonyin/weworkhk/Main.java
index d27ab04..7c38e5a 100644
--- a/app/src/main/java/org/gallonyin/weworkhk/Main.java
+++ b/app/src/main/java/org/gallonyin/weworkhk/Main.java
@@ -18,8 +18,9 @@
public class Main implements IXposedHookLoadPackage {
@Override
- public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
+ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) {
try {
+ Log.d("Main", "handleLoadPackage");
XposedBridge.log("handleLoadPackage: " + lpparam.packageName + " " + lpparam.processName);
if (lpparam.packageName.equals("com.tencent.wework")) {
@@ -36,6 +37,7 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
});
}
} catch (Exception e) {
+ Log.w("Main", "handleLoadPackage catch Exception");
e.printStackTrace();
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
diff --git a/app/src/main/java/org/gallonyin/weworkhk/MainActivity.java b/app/src/main/java/org/gallonyin/weworkhk/MainActivity.java
index 43c8124..12bd4f1 100644
--- a/app/src/main/java/org/gallonyin/weworkhk/MainActivity.java
+++ b/app/src/main/java/org/gallonyin/weworkhk/MainActivity.java
@@ -12,8 +12,8 @@
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.IBinder;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
diff --git a/app/src/main/java/org/gallonyin/weworkhk/TencentMapActivity.java b/app/src/main/java/org/gallonyin/weworkhk/TencentMapActivity.java
index 05e4335..bffea90 100644
--- a/app/src/main/java/org/gallonyin/weworkhk/TencentMapActivity.java
+++ b/app/src/main/java/org/gallonyin/weworkhk/TencentMapActivity.java
@@ -4,7 +4,7 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
import android.widget.Toast;
import com.tencent.mapsdk.raster.model.BitmapDescriptorFactory;
diff --git a/build.gradle b/build.gradle
index e6b32bc..5c1d341 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,14 +1,17 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
-
+ ext.kotlin_version = '1.5.20'
+
repositories {
google()
+ mavenCentral()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.0.1'
-
+ classpath 'com.android.tools.build:gradle:7.0.2'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -18,6 +21,7 @@ buildscript {
allprojects {
repositories {
google()
+ mavenCentral()
jcenter()
}
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 477e789..eb6dfec 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sat Jun 02 15:45:31 CST 2018
+#Wed Sep 29 21:01:35 CST 2021
distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
+zipStoreBase=GRADLE_USER_HOME
diff --git a/imagepicker/build.gradle b/imagepicker/build.gradle
index 356bbc3..54853ef 100644
--- a/imagepicker/build.gradle
+++ b/imagepicker/build.gradle
@@ -1,14 +1,14 @@
apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
android {
- compileSdkVersion 23
- buildToolsVersion '25.0.0'
+ compileSdkVersion 29
defaultConfig {
- minSdkVersion 15
- targetSdkVersion 22
- versionCode 2
- versionName "1.1"
+ minSdkVersion 26
+ targetSdkVersion 29
+ versionCode 3
+ versionName "1.2"
}
buildTypes {
release {
@@ -19,11 +19,16 @@ android {
}
dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:23.4.0'
- compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
- compile 'pub.devrel:easypermissions:0.2.1'
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ testImplementation 'junit:junit:4.13.2'
+ implementation 'androidx.appcompat:appcompat:1.3.1'
+ implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
+ implementation 'pub.devrel:easypermissions:0.2.1'
+ implementation "androidx.core:core-ktx:1.6.0"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
+repositories {
+ mavenCentral()
+}
diff --git a/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/BasePhotoPreviewActivity.java b/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/BasePhotoPreviewActivity.java
index 9743843..3af7945 100644
--- a/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/BasePhotoPreviewActivity.java
+++ b/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/BasePhotoPreviewActivity.java
@@ -2,8 +2,8 @@
import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.view.PagerAdapter;
-import android.support.v4.view.ViewPager;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
diff --git a/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/util/FileProviderUtil.java b/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/util/FileProviderUtil.java
index fdf4cd9..c2a7368 100644
--- a/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/util/FileProviderUtil.java
+++ b/imagepicker/src/main/java/com/zzti/fengyongge/imagepicker/util/FileProviderUtil.java
@@ -1,12 +1,10 @@
package com.zzti.fengyongge.imagepicker.util;
-import android.content.ContentValues;
import android.content.Context;
-import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
-import android.provider.MediaStore;
-import android.support.v4.content.FileProvider;
+
+import androidx.core.content.FileProvider;
import java.io.File;
diff --git a/imagepicker/src/main/res/layout/activity_photopreview.xml b/imagepicker/src/main/res/layout/activity_photopreview.xml
index 11aaf5c..f983403 100644
--- a/imagepicker/src/main/res/layout/activity_photopreview.xml
+++ b/imagepicker/src/main/res/layout/activity_photopreview.xml
@@ -4,7 +4,7 @@
android:layout_height="match_parent"
android:background="@android:color/black" >
-