正在查看: Brevistay v5.8.2 应用的 FirebaseMessagingServiceProxy.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Brevistay v5.8.2 应用的 FirebaseMessagingServiceProxy.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.brevistay.app.view;
import android.content.Context;
import android.util.Log;
import com.clevertap.android.sdk.pushnotification.fcm.CTFcmMessageHandler;
import com.clevertap.android.sdk.pushnotification.fcm.FcmMessageListenerService;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class FirebaseMessagingServiceProxy extends FirebaseMessagingService {
private List<FirebaseMessagingService> messagingServices;
interface GCAction1<T> {
void run(T t);
}
public FirebaseMessagingServiceProxy() {
ArrayList arrayList = new ArrayList(2);
this.messagingServices = arrayList;
arrayList.add(new FcmMessageListenerService());
}
public void onNewToken(final String s) {
delegate(new GCAction1() {
@Override
public final void run(Object obj) {
FirebaseMessagingServiceProxy.this.lambda$onNewToken$0(s, (FirebaseMessagingService) obj);
}
});
getSharedPreferences("_", 0).edit().putString("fb", s).apply();
Log.d("adjusttoken", s);
}
public void lambda$onNewToken$0(String str, FirebaseMessagingService firebaseMessagingService) {
injectContext(firebaseMessagingService);
firebaseMessagingService.onNewToken(str);
}
public static String getToken(Context context) {
return context.getSharedPreferences("_", 0).getString("fb", "empty");
}
public void onMessageReceived(final RemoteMessage remoteMessage) {
delegate(new GCAction1() {
@Override
public final void run(Object obj) {
FirebaseMessagingServiceProxy.this.lambda$onMessageReceived$1(remoteMessage, (FirebaseMessagingService) obj);
}
});
new CTFcmMessageHandler().createNotification(getApplicationContext(), remoteMessage);
Log.d("CT_onMessageReceived", "onMessageReceived: working");
}
public void lambda$onMessageReceived$1(RemoteMessage remoteMessage, FirebaseMessagingService firebaseMessagingService) {
injectContext(firebaseMessagingService);
firebaseMessagingService.onMessageReceived(remoteMessage);
}
private void delegate(GCAction1<FirebaseMessagingService> action) {
Iterator<FirebaseMessagingService> it = this.messagingServices.iterator();
while (it.hasNext()) {
action.run(it.next());
}
}
private void injectContext(FirebaseMessagingService service) {
setField(service, "mBase", this);
}
private boolean setField(Object targetObject, String fieldName, Object fieldValue) {
Field field;
try {
field = targetObject.getClass().getDeclaredField(fieldName);
} catch (NoSuchFieldException unused) {
field = null;
}
Class<? super Object> superclass = targetObject.getClass().getSuperclass();
while (field == null && superclass != null) {
try {
field = superclass.getDeclaredField(fieldName);
} catch (NoSuchFieldException unused2) {
superclass = superclass.getSuperclass();
}
}
if (field == null) {
return false;
}
field.setAccessible(true);
try {
field.set(targetObject, fieldValue);
return true;
} catch (IllegalAccessException unused3) {
return false;
}
}
}