what-the-bank/sources/io/flutter/embedding/engine/systemchannels/RestorationChannel.java

117 lines
4.6 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package io.flutter.embedding.engine.systemchannels;
import io.flutter.Log;
import io.flutter.embedding.engine.dart.DartExecutor;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.StandardMethodCodec;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes.dex */
public class RestorationChannel {
private static final String TAG = "RestorationChannel";
private MethodChannel channel;
private boolean engineHasProvidedData;
private boolean frameworkHasRequestedData;
private final MethodChannel.MethodCallHandler handler;
private MethodChannel.Result pendingFrameworkRestorationChannelRequest;
private byte[] restorationData;
public final boolean waitForRestorationData;
public void clearData() {
this.restorationData = null;
}
public byte[] getRestorationData() {
return this.restorationData;
}
public RestorationChannel(DartExecutor dartExecutor, boolean z) {
this(new MethodChannel(dartExecutor, "flutter/restoration", StandardMethodCodec.INSTANCE), z);
}
RestorationChannel(MethodChannel methodChannel, boolean z) {
this.engineHasProvidedData = false;
this.frameworkHasRequestedData = false;
MethodChannel.MethodCallHandler methodCallHandler = new MethodChannel.MethodCallHandler(this) { // from class: io.flutter.embedding.engine.systemchannels.RestorationChannel.2
final RestorationChannel this$0;
{
this.this$0 = this;
}
@Override // io.flutter.plugin.common.MethodChannel.MethodCallHandler
public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
String str = methodCall.method;
Object obj = methodCall.arguments;
str.hashCode();
if (!str.equals("get")) {
if (str.equals("put")) {
this.this$0.restorationData = (byte[]) obj;
result.success(null);
return;
}
result.notImplemented();
return;
}
this.this$0.frameworkHasRequestedData = true;
if (this.this$0.engineHasProvidedData || !this.this$0.waitForRestorationData) {
RestorationChannel restorationChannel = this.this$0;
result.success(restorationChannel.packageData(restorationChannel.restorationData));
} else {
this.this$0.pendingFrameworkRestorationChannelRequest = result;
}
}
};
this.handler = methodCallHandler;
this.channel = methodChannel;
this.waitForRestorationData = z;
methodChannel.setMethodCallHandler(methodCallHandler);
}
public void setRestorationData(byte[] bArr) {
this.engineHasProvidedData = true;
MethodChannel.Result result = this.pendingFrameworkRestorationChannelRequest;
if (result != null) {
result.success(packageData(bArr));
this.pendingFrameworkRestorationChannelRequest = null;
this.restorationData = bArr;
} else if (this.frameworkHasRequestedData) {
this.channel.invokeMethod("push", packageData(bArr), new MethodChannel.Result(this, bArr) { // from class: io.flutter.embedding.engine.systemchannels.RestorationChannel.1
final RestorationChannel this$0;
final byte[] val$data;
@Override // io.flutter.plugin.common.MethodChannel.Result
public void notImplemented() {
}
{
this.this$0 = this;
this.val$data = bArr;
}
@Override // io.flutter.plugin.common.MethodChannel.Result
public void success(Object obj) {
this.this$0.restorationData = this.val$data;
}
@Override // io.flutter.plugin.common.MethodChannel.Result
public void error(String str, String str2, Object obj) {
Log.e(RestorationChannel.TAG, "Error " + str + " while sending restoration data to framework: " + str2);
}
});
} else {
this.restorationData = bArr;
}
}
/* JADX INFO: Access modifiers changed from: private */
public Map<String, Object> packageData(byte[] bArr) {
HashMap hashMap = new HashMap();
hashMap.put("enabled", true);
hashMap.put("data", bArr);
return hashMap;
}
}