package com.huawei.hms.api; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.view.KeyEvent; import com.huawei.hms.activity.BridgeActivity; import com.huawei.hms.activity.IBridgeActivityDelegate; import com.huawei.hms.common.internal.BindResolveClients; import com.huawei.hms.support.log.HMSLog; import com.huawei.hms.ui.AbstractDialog; import com.huawei.hms.ui.AbstractPromptDialog; import com.huawei.hms.utils.HMSPackageManager; import com.huawei.hms.utils.ResourceLoaderUtil; import com.huawei.hms.utils.UIUtil; import com.huawei.hms.utils.Util; import com.meizu.cloud.pushsdk.constants.PushConstants; public class BindingFailedResolution implements ServiceConnection, IBridgeActivityDelegate { private static final Object f = new Object(); private Activity a; private boolean b = true; private d c; private Handler d = null; private Handler e = null; /* access modifiers changed from: package-private */ public class a implements Handler.Callback { a() { } public boolean handleMessage(Message message) { if (message == null || message.what != 3) { return false; } BindingFailedResolution.this.a((BindingFailedResolution) 8); return true; } } /* access modifiers changed from: package-private */ public class b implements Handler.Callback { b() { } public boolean handleMessage(Message message) { if (message == null || message.what != 2) { return false; } HMSLog.e("BindingFailedResolution", "In connect, bind core try timeout"); BindingFailedResolution.this.a((BindingFailedResolution) false); return true; } } /* access modifiers changed from: package-private */ public class c implements AbstractDialog.Callback { c() { } @Override // com.huawei.hms.ui.AbstractDialog.Callback public void onCancel(AbstractDialog abstractDialog) { BindingFailedResolution.this.c = null; BindResolveClients.getInstance().unRegisterAll(); BindingFailedResolution.this.a((BindingFailedResolution) 8); } @Override // com.huawei.hms.ui.AbstractDialog.Callback public void onDoWork(AbstractDialog abstractDialog) { BindingFailedResolution.this.c = null; BindResolveClients.getInstance().unRegisterAll(); BindingFailedResolution.this.a((BindingFailedResolution) 8); } } /* access modifiers changed from: private */ public static class d extends AbstractPromptDialog { private d() { } /* access modifiers changed from: protected */ @Override // com.huawei.hms.ui.AbstractDialog public String onGetMessageString(Context context) { return ResourceLoaderUtil.getString("hms_bindfaildlg_message", Util.getAppName(context, null), Util.getAppName(context, HMSPackageManager.getInstance(context).getHMSPackageName())); } /* access modifiers changed from: protected */ @Override // com.huawei.hms.ui.AbstractDialog public String onGetPositiveButtonString(Context context) { return ResourceLoaderUtil.getString("hms_confirm"); } /* synthetic */ d(a aVar) { this(); } } private void b() { synchronized (f) { if (this.d != null) { this.d.removeMessages(2); this.d = null; } } } private void c() { Handler handler = this.d; if (handler != null) { handler.removeMessages(2); } else { this.d = new Handler(Looper.getMainLooper(), new b()); } this.d.sendEmptyMessageDelayed(2, 5000); } private void d() { Handler handler = this.e; if (handler != null) { handler.removeMessages(3); } else { this.e = new Handler(Looper.getMainLooper(), new a()); } this.e.sendEmptyMessageDelayed(3, 4000); } private void e() { Activity activity = getActivity(); if (activity != null && !activity.isFinishing()) { d dVar = this.c; if (dVar == null) { this.c = new d(null); } else { dVar.dismiss(); } HMSLog.i("BindingFailedResolution", "showPromptdlg to resolve conn error"); this.c.show(activity, new c()); } } /* access modifiers changed from: protected */ public Activity getActivity() { return this.a; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public int getRequestCode() { return PushConstants.NOTIFICATION_SERVICE_SEND_MESSAGE; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onBridgeActivityCreate(Activity activity) { this.a = activity; a.b.a(this.a); d(); a(activity); } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onBridgeActivityDestroy() { b(); a.b.b(this.a); this.a = null; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public boolean onBridgeActivityResult(int i, int i2, Intent intent) { if (i != getRequestCode()) { return false; } HMSLog.i("BindingFailedResolution", "onBridgeActivityResult"); Handler handler = this.e; if (handler != null) { handler.removeMessages(3); this.e = null; } a(); return true; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onBridgeConfigurationChanged() { if (this.c != null) { HMSLog.i("BindingFailedResolution", "re show prompt dialog"); e(); } } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onKeyUp(int i, KeyEvent keyEvent) { HMSLog.i("BindingFailedResolution", "On key up when resolve conn error"); } public void onServiceConnected(ComponentName componentName, IBinder iBinder) { b(); a(true); Activity activity = getActivity(); if (activity != null) { Util.unBindServiceCatchException(activity, this); HMSLog.i("BindingFailedResolution", "test connect success, try to reConnect and reply message"); BindResolveClients.getInstance().notifyClientReconnect(); } } public void onServiceDisconnected(ComponentName componentName) { } /* access modifiers changed from: protected */ public void onStartResult(boolean z) { if (getActivity() != null) { if (z) { a(0); } else { e(); } } } private void a(Activity activity) { Intent intent = new Intent(); intent.putExtra(BridgeActivity.EXTRA_IS_FULLSCREEN, UIUtil.isActivityFullscreen(activity)); intent.setClassName(HMSPackageManager.getInstance(activity.getApplicationContext()).getHMSPackageName(), HuaweiApiAvailability.ACTIVITY_NAME); HMSLog.i("BindingFailedResolution", "onBridgeActivityCreate:try to start HMS"); try { activity.startActivityForResult(intent, getRequestCode()); } catch (Throwable th) { HMSLog.e("BindingFailedResolution", "ActivityNotFoundException:" + th.getMessage()); Handler handler = this.e; if (handler != null) { handler.removeMessages(3); this.e = null; } a(); } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void a(boolean z) { if (this.b) { this.b = false; onStartResult(z); } } private void a() { Activity activity = getActivity(); if (activity == null) { HMSLog.e("BindingFailedResolution", "In connect, bind core try fail"); a(false); return; } Intent intent = new Intent("com.huawei.hms.core.aidlservice"); intent.setPackage(HMSPackageManager.getInstance(activity.getApplicationContext()).getHMSPackageName()); synchronized (f) { if (activity.bindService(intent, this, 1)) { c(); return; } HMSLog.e("BindingFailedResolution", "In connect, bind core try fail"); a(false); } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void a(int i) { Activity activity = getActivity(); if (activity != null && !activity.isFinishing()) { HMSLog.i("BindingFailedResolution", "finishBridgeActivity:" + i); Intent intent = new Intent(); intent.putExtra(BridgeActivity.EXTRA_RESULT, i); activity.setResult(-1, intent); activity.finish(); } } }