Closed kathanshah closed 3 years ago
Yes, I am facing the same issue.
Is there a fix for this issue?
Yeah, there is fix for this issue. I removed the BankFragment code from the SdkWebViewActivityNew.java and migrate BankFragment code as a new class and made changes appropriately in SdkWebViewActivityNew.java in order to access BankFragment object. I hope this will help you.
import android.content.BroadcastReceiver;
import android.content.IntentFilter;
import android.view.View;
import com.payUMoney.sdk.R;
import com.payu.custombrowser.Bank;
public class BankFragment extends Bank{
BroadcastReceiver mReceiver;
@Override
public void registerBroadcast(BroadcastReceiver broadcastReceiver, IntentFilter filter) {
mReceiver = broadcastReceiver;
getActivity().registerReceiver(broadcastReceiver, filter);
}
@Override
public void unregisterBroadcast(BroadcastReceiver broadcastReceiver) {
if (mReceiver != null) {
getActivity().unregisterReceiver(mReceiver);
mReceiver = null;
}
}
@Override
public void onHelpUnavailable() {
getActivity().findViewById(R.id.parent).setVisibility(View.GONE);
getActivity().findViewById(R.id.trans_overlay).setVisibility(View.GONE);
}
@Override
public void onBankError() {
getActivity().findViewById(R.id.parent).setVisibility(View.GONE);
getActivity().findViewById(R.id.trans_overlay).setVisibility(View.GONE);
}
@Override
public void onHelpAvailable() {
getActivity().findViewById(R.id.parent).setVisibility(View.VISIBLE);
}
}
Thank you saved me
Using API 25 and have expend Bank class as bellow and made changes as bellow to PaymentsActivity
also i have attached the files.
Class.forName("com.payu.custombrowser.Bank"); final MyBank bank = new MyBank() { @Override public void registerBroadcast(BroadcastReceiver broadcastReceiver, IntentFilter filter) { mReceiver = broadcastReceiver; getActivity().registerReceiver(broadcastReceiver, filter); }
public static class MyBank extends Bank{ @Override public void registerBroadcast(BroadcastReceiver broadcastReceiver, IntentFilter filter) { mReceiver = broadcastReceiver; getActivity().registerReceiver(broadcastReceiver, filter); }
}
please check the error log bellow V/FA: onActivityCreated I/WebViewFactory: Loading com.google.android.webview version 54.0.2840.85 (code 284008500) I/art: Rejecting re-init on previously-failed class java.lang.Class
I/art: Rejecting re-init on previously-failed class java.lang.Class
I/art: Rejecting re-init on previously-failed class java.lang.Class
I/art: Rejecting re-init on previously-failed class java.lang.Class
I/cr_LibraryLoader: Time to load native libraries: 4 ms (timestamps 4879-4883)
I/cr_LibraryLoader: Expected native library version number "54.0.2840.85", actual native library version number "54.0.2840.85"
I/cr_LibraryLoader: Expected native library version number "54.0.2840.85", actual native library version number "54.0.2840.85"
I/chromium: [INFO:library_loader_hooks.cc(151)] Chromium logging enabled: level = 0, default verbosity = 0
I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
W/System.err: java.lang.IllegalStateException: Fragment null must be a public static class to be properly recreated from instance state.
W/System.err: at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:435)
W/System.err: at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:420)
W/System.err: at com.payu.payuui.PaymentsActivity.onCreate(PaymentsActivity.java:166)
W/System.err: at android.app.Activity.performCreate(Activity.java:6259)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
W/System.err: at android.app.ActivityThread.-wrap11(ActivityThread.java)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:148)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5443)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
I/cr_Ime: ImeThread is enabled.
W/cr_media: Requires BLUETOOTH permission
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 2
E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)
V/FA: Activity resumed, time: 257615170
W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
W/Utils: could not parse long range '367-367 '
W/VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
D/OpenGLRenderer: endAllActiveAnimators on 0xb7b5c610 (RippleDrawable) with handle 0xb7a99230
I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 14252
I/chromium: [INFO:CONSOLE(5)] "The value "device-width;" for key "width" is invalid, and has been ignored.", source: https://secure.payu.in/_payment (5)
I/chromium: [INFO:CONSOLE(5)] "The value "1.0;" for key "initial-scale" was truncated to its numeric prefix.", source: https://secure.payu.in/_payment (5)
I/chromium: [INFO:CONSOLE(5)] "The value "1.0;" for key "maximum-scale" was truncated to its numeric prefix.", source: https://secure.payu.in/_payment (5)
I/chromium: [INFO:CONSOLE(5)] "The value "0;" for key "user-scalable" was truncated to its numeric prefix.", source: https://secure.payu.in/_payment (5)
I/chromium: [INFO:CONSOLE(5)] "Error parsing a meta element's content: ';' is not a valid key-value pair separator. Please use ',' instead.", source: https://secure.payu.in/_payment (5)
E/chromium: [ERROR:interface_registry.cc(99)] Failed to locate a binder for interface: autofill::mojom::AutofillDriver
D/AndroidRuntime: Shutting down VM
E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.app.Activity.findViewById(int)' on a null object reference
at com.payu.custombrowser.Bank.onPageFinishWebclient(Bank.java:694)
at com.payu.custombrowser.PayUWebViewClient.onPageFinished(PayUWebViewClient.java:73)
at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:531)
at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:188)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
D/FA: Logging event (FE): _ae, Bundle[{_o=crash, _sc=PaymentActivity, _si=9078936444052808819, timestamp=1480494916596, fatal=1}]
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.cattechsol.skillhome, PID: 14252
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.app.Activity.findViewById(int)' on a null object reference
at com.payu.custombrowser.Bank.onPageFinishWebclient(Bank.java:694)
at com.payu.custombrowser.PayUWebViewClient.onPageFinished(PayUWebViewClient.java:73)
at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:531)
at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:188)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Application terminated.
PaymentsActivity.zip
PaymentsActivity.zip