package com.bytedance.pangle.c; import android.os.Handler; import android.os.Looper; import com.bytedance.pangle.log.ZeusLogger; import com.bytedance.pangle.util.MethodUtils; public class a { private static Class a; private static Object b; public static final Object a() { if (b == null) { try { synchronized (a.class) { if (b == null) { if (a == null) { a = Class.forName("android.app.ActivityThread"); } b = MethodUtils.invokeStaticMethod(a, "currentActivityThread", new Object[0]); } if (b == null && Looper.myLooper() != Looper.getMainLooper()) { final Object obj = new Object(); new Handler(Looper.getMainLooper()).post(new Runnable() { /* class com.bytedance.pangle.c.a.AnonymousClass1 */ public final void run() { try { Object unused = a.b = MethodUtils.invokeStaticMethod(a.a, "currentActivityThread", new Object[0]); synchronized (obj) { obj.notify(); } } catch (Exception e) { try { ZeusLogger.e(ZeusLogger.TAG, "ActivityThreadHelper main looper invoke currentActivityThread failed.", e); synchronized (obj) { obj.notify(); } } catch (Throwable th) { synchronized (obj) { obj.notify(); throw th; } } } } }); if (b == null) { synchronized (obj) { try { obj.wait(5000); } catch (InterruptedException e) { ZeusLogger.e(ZeusLogger.TAG, "ActivityThreadHelper currentActivityThread interruptedException failed.", e); } } } } } } catch (Exception e2) { ZeusLogger.e(ZeusLogger.TAG, "ActivityThreadHelper currentActivityThread failed.", e2); } } return b; } }