package com.huawei.hms.api; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; import com.huawei.hms.activity.IBridgeActivityDelegate; import com.huawei.hms.activity.internal.BusResponseCallback; import com.huawei.hms.activity.internal.ForegroundBusResponseMgr; import com.huawei.hms.support.log.HMSLog; import com.meizu.cloud.pushsdk.constants.PushConstants; import java.lang.ref.WeakReference; public class ResolutionDelegate implements IBridgeActivityDelegate { public static final String CALLBACK_METHOD = "CALLBACK_METHOD"; private WeakReference<Activity> a; private void a() { Activity b = b(); if (b != null && !b.isFinishing()) { b.finish(); } } private Activity b() { WeakReference<Activity> weakReference = this.a; if (weakReference == null) { return null; } return weakReference.get(); } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public int getRequestCode() { return PushConstants.PUSHSERVICE_INFO_SEND_MESSAGE_BY_NOTIFICATION_SERVICE_ERROR; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onBridgeActivityCreate(Activity activity) { this.a = new WeakReference<>(activity); Bundle extras = activity.getIntent().getExtras(); if (extras != null) { activity.startActivityForResult((Intent) extras.getParcelable("resolution"), PushConstants.PUSHSERVICE_INFO_SEND_MESSAGE_BY_NOTIFICATION_SERVICE_ERROR); } } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onBridgeActivityDestroy() { this.a = null; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public boolean onBridgeActivityResult(int i, int i2, Intent intent) { if (i != getRequestCode()) { return false; } BusResponseCallback a2 = a(CALLBACK_METHOD); int isHuaweiMobileServicesAvailable = HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(this.a.get(), 30000000); if (i2 == -1 && isHuaweiMobileServicesAvailable == 0) { HMSLog.i("ResolutionDelegate", "Make service available success."); } else { a2.innerError(this.a.get(), i2, "Make service available failed."); } a(); return true; } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onBridgeConfigurationChanged() { } @Override // com.huawei.hms.activity.IBridgeActivityDelegate public void onKeyUp(int i, KeyEvent keyEvent) { } private BusResponseCallback a(String str) { return ForegroundBusResponseMgr.getInstance().get(str); } }