p : param.entrySet()) {
- appIntent.putExtra(p.getKey(), p.getValue());
- }
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, appIntent, PendingIntent.FLAG_UPDATE_CURRENT);
- builder.setContentIntent(pendingIntent);
- } else {
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, new Intent(), PendingIntent.FLAG_ONE_SHOT);
- builder.setContentIntent(pendingIntent);
- }
-
- Notification notification = new Notification.BigTextStyle(builder)
- .bigText(content).build();
- this.mNotificationManager.notify(appId, notification);
+ Notification notification = new Notification.BigTextStyle(builder).bigText(content).build();
+ mNotificationManager.notify(appId, notification);
}
@RequiresApi(api = 26)
@@ -194,7 +98,6 @@ private void deleteNoNumberNotification(NotificationManager nm, String newChanne
}
}
}
-
}
}
diff --git a/app/src/main/java/com/raincat/dolby_beta/helper/ScriptHelper.java b/app/src/main/java/com/raincat/dolby_beta/helper/ScriptHelper.java
index 32a563cf..fd706115 100644
--- a/app/src/main/java/com/raincat/dolby_beta/helper/ScriptHelper.java
+++ b/app/src/main/java/com/raincat/dolby_beta/helper/ScriptHelper.java
@@ -1,9 +1,10 @@
package com.raincat.dolby_beta.helper;
import android.content.Context;
-import android.os.Build;
+import android.content.Intent;
import android.text.TextUtils;
+import com.raincat.dolby_beta.Hook;
import com.raincat.dolby_beta.net.HTTPSTrustManager;
import com.raincat.dolby_beta.utils.Tools;
@@ -24,8 +25,6 @@
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
-import de.robv.android.xposed.XposedBridge;
-
/**
*
* author : RainCat
@@ -125,6 +124,7 @@ public static void startScript(Context context) {
scriptList.add("-o");
scriptList.addAll(Arrays.asList(origin));
startNodeWithArguments(scriptList.toArray(new String[0]));
+ ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_STATUS, "0");
}).start();
}
}
@@ -135,11 +135,12 @@ public static void startScript(Context context) {
* @param level 日志级别
*/
private static void getLogcatInfo(int level, String tag, String text) {
- if (level == 4 && (text.contains("mERROR ") || text.contains("Port ") || text.contains("Please "))) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
- NotificationHelper.getInstance(neteaseContext).sendUnLockNotification(neteaseContext, 0x08, false, false, "UnblockNeteaseMusic产生错误", "UnblockNeteaseMusic产生错误", text, 0);
- else
- XposedBridge.log("UnblockNeteaseMusic产生错误:" + text);
+ if (level != 4 || text.contains("lock"))
+ return;
+ if (text.contains("Error:") || text.contains("Port ") || text.contains("Please ")) {
+ Intent intent = new Intent(Hook.msg_send_notification);
+ intent.putExtra("content", text);
+ neteaseContext.sendBroadcast(intent);
} else if (text.contains("HTTP Server running")) {
ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_STATUS, "1");
Tools.showToastOnLooper(neteaseContext, "UnblockNeteaseMusic运行成功");
diff --git a/app/src/main/java/com/raincat/dolby_beta/helper/UserHelper.java b/app/src/main/java/com/raincat/dolby_beta/helper/UserHelper.java
index e79a948d..fccbab97 100644
--- a/app/src/main/java/com/raincat/dolby_beta/helper/UserHelper.java
+++ b/app/src/main/java/com/raincat/dolby_beta/helper/UserHelper.java
@@ -26,6 +26,6 @@ public static void getUserInfo() {
String userInfo = new Http("GET", "https://music.163.com/api/nuser/account/get", headers, (String) null).getResult();
Gson gson = new Gson();
UserInfoBean userInfoBean = gson.fromJson(userInfo, UserInfoBean.class);
- ExtraHelper.setExtraDate(ExtraHelper.USER_ID, userInfoBean.getProfile().getUserId() + "");
+ ExtraHelper.setExtraDate(ExtraHelper.USER_ID, userInfoBean.getProfile().getUserId());
}
}
diff --git a/app/src/main/java/com/raincat/dolby_beta/hook/ProxyHook.java b/app/src/main/java/com/raincat/dolby_beta/hook/ProxyHook.java
index df6df201..2b977799 100644
--- a/app/src/main/java/com/raincat/dolby_beta/hook/ProxyHook.java
+++ b/app/src/main/java/com/raincat/dolby_beta/hook/ProxyHook.java
@@ -1,12 +1,12 @@
package com.raincat.dolby_beta.hook;
import android.content.Context;
-import android.content.Intent;
import android.os.Bundle;
import com.raincat.dolby_beta.helper.ExtraHelper;
import com.raincat.dolby_beta.helper.ScriptHelper;
import com.raincat.dolby_beta.helper.SettingHelper;
+import com.raincat.dolby_beta.utils.Tools;
import java.lang.reflect.Field;
import java.net.InetSocketAddress;
@@ -86,11 +86,16 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
});
if (isPlayProcess)
- findAndHookMethod("com.netease.cloudmusic.service.PlayService", context.getClassLoader(), "onStartCommand", Intent.class, int.class, int.class, new XC_MethodHook() {
+ findAndHookMethod("com.netease.cloudmusic.service.PlayService", context.getClassLoader(), "onCreate", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
- ScriptHelper.initScript(context, false);
- ScriptHelper.startScript(context);
+ int retry = Integer.parseInt(ExtraHelper.getExtraDate(ExtraHelper.SCRIPT_RETRY));
+ if (retry > 0) {
+ ScriptHelper.initScript(context, false);
+ ScriptHelper.startScript(context);
+ ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_RETRY, --retry);
+ } else
+ Tools.showToastOnLooper(context, "重试次数过多,UnblockNeteaseMusic运行失败!");
}
});
@@ -99,6 +104,7 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_STATUS, "0");
+ ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_RETRY, "3");
}
});
}
diff --git a/app/src/main/java/com/raincat/dolby_beta/hook/SettingHook.java b/app/src/main/java/com/raincat/dolby_beta/hook/SettingHook.java
index 655ddb41..e30f86af 100644
--- a/app/src/main/java/com/raincat/dolby_beta/hook/SettingHook.java
+++ b/app/src/main/java/com/raincat/dolby_beta/hook/SettingHook.java
@@ -186,7 +186,7 @@ else if (dialogProxyRoot.getChildAt(i) instanceof BaseDialogInputItem)
private void showSettingDialog(final Context context) {
dialogRoot = new BaseDialogItem(context);
dialogRoot.setOrientation(LinearLayout.VERTICAL);
- ScrollView scrollView=new ScrollView(context);
+ ScrollView scrollView = new ScrollView(context);
scrollView.setOverScrollMode(ScrollView.OVER_SCROLL_NEVER);
scrollView.setVerticalScrollBarEnabled(false);
scrollView.addView(dialogRoot);
@@ -254,6 +254,8 @@ private void showProxyDialog(final Context context) {
}
private void restartApplication(Context context) {
+ ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_STATUS, "0");
+ ExtraHelper.setExtraDate(ExtraHelper.SCRIPT_RETRY, "3");
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List runningAppProcessInfoListist = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcessInfoListist) {
diff --git a/app/src/main/java/com/raincat/dolby_beta/hook/UserProfileHook.java b/app/src/main/java/com/raincat/dolby_beta/hook/UserProfileHook.java
index 80dc6210..bf92f91c 100644
--- a/app/src/main/java/com/raincat/dolby_beta/hook/UserProfileHook.java
+++ b/app/src/main/java/com/raincat/dolby_beta/hook/UserProfileHook.java
@@ -36,7 +36,7 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
if (nickName.equals("未登录") || nickName.length() == 0)
return;
if ((boolean) XposedHelpers.callMethod(param.thisObject, "isMe") && ExtraHelper.getExtraDate(ExtraHelper.USER_ID).equals("-1"))
- ExtraHelper.setExtraDate(ExtraHelper.USER_ID, XposedHelpers.callMethod(param.thisObject, "getUserId") + "");
+ ExtraHelper.setExtraDate(ExtraHelper.USER_ID, XposedHelpers.callMethod(param.thisObject, "getUserId"));
}
});
}