Mad Aces v1.2.2.3版本的 MD5 值为:f29ebd7c5808053d9f3f3722a5db1688
以下内容为反编译后的 FullScreenAdActivity.java 源代码,内容仅作参考
package com.vungle.publisher;
import android.R;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.view.KeyEvent;
import android.view.View;
import com.google.android.gms.drive.DriveFile;
import com.vungle.log.Logger;
import com.vungle.publisher.ad.AdManager;
import com.vungle.publisher.db.model.Ad;
import com.vungle.publisher.db.model.EventTracking;
import com.vungle.publisher.db.model.LocalAd;
import com.vungle.publisher.db.model.LocalArchive;
import com.vungle.publisher.db.model.LoggedException;
import com.vungle.publisher.db.model.Video;
import com.vungle.publisher.display.view.AdFragment;
import com.vungle.publisher.display.view.PostRollFragment;
import com.vungle.publisher.display.view.VideoFragment;
import com.vungle.publisher.env.SdkState;
import com.vungle.publisher.event.EventBus;
import com.vungle.publisher.inject.Injector;
import com.vungle.publisher.reporting.AdReportEventListener;
import com.vungle.publisher.util.IntentFactory;
import java.io.File;
import javax.inject.Inject;
import javax.inject.Singleton;
public class FullScreenAdActivity extends FragmentActivity {
public static final String AD_CONFIG_EXTRA_KEY = "adConfig";
public static final String AD_ID_EXTRA_KEY = "adId";
Ad a;
AdReportEventListener b;
@Inject
AdEventListener.Factory c;
@Inject
AdManager d;
@Inject
AdReportEventListener.Factory e;
@Inject
bt f;
@Inject
EventBus g;
@Inject
VideoFragment.Factory h;
@Inject
PostRollFragment.Factory i;
@Inject
SdkState j;
@Inject
IntentFactory k;
@Inject
LoggedException.Factory l;
private AdFragment m;
private PostRollFragment n;
private View o;
private VideoFragment p;
private AdEventListener q;
@Override
public void onCreate(Bundle savedInstanceState) {
int i;
LocalArchive u;
try {
Logger.d(Logger.AD_TAG, "interstital ad");
super.onCreate(savedInstanceState);
Injector.getInstance().a.inject(this);
Intent intent = getIntent();
a aVar = (a) intent.getParcelableExtra(AD_CONFIG_EXTRA_KEY);
String stringExtra = intent.getStringExtra(AD_ID_EXTRA_KEY);
AdManager adManager = this.d;
Ad<?, ?, ?> a = adManager.g.a(stringExtra);
if (a == null) {
a = adManager.n.a(stringExtra);
}
this.a = a;
if (a == null) {
Logger.w(Logger.AD_TAG, "no ad in activity");
this.g.a(new az());
finish();
return;
}
this.o = getWindow().getDecorView();
Video k = a.k();
this.q = this.c.getInstance(this);
AdReportEventListener.Factory factory = this.e;
factory.a.a(a);
this.b = factory.a;
this.q.registerOnce();
this.b.registerOnce();
boolean z = savedInstanceState != null;
if (!z) {
this.g.a(new ag(a, aVar));
}
VideoFragment.Factory factory2 = this.h;
VideoFragment a2 = VideoFragment.Factory.a(this);
if (a2 == null) {
a2 = factory2.a.get();
}
this.p = VideoFragment.Factory.a(a2, a, aVar);
if ((a instanceof LocalAd) && (u = ((LocalAd) a).u()) != null) {
String uri = new File(cc.a(u.j(), "index.html")).toURI().toString();
PostRollFragment.Factory factory3 = this.i;
PostRollFragment a3 = PostRollFragment.Factory.a(this);
if (a3 == null) {
a3 = factory3.a.get();
}
this.n = PostRollFragment.Factory.a(a3, uri);
}
a(aVar);
Orientation orientation = aVar.getOrientation();
switch (orientation) {
case autoRotate:
Logger.d(Logger.AD_TAG, "ad orientation " + orientation);
i = 10;
break;
default:
if (!((k.g == null || k.n == null || k.n.intValue() <= k.g.intValue()) ? false : true)) {
if (!((k.g == null || k.n == null || k.g.intValue() <= k.n.intValue()) ? false : true)) {
Logger.d(Logger.AD_TAG, "ad orientation " + orientation + " (unknown) --> auto-rotate");
i = 10;
break;
} else {
Logger.d(Logger.AD_TAG, "ad orientation " + orientation + " (portrait)");
i = 7;
break;
}
} else {
Logger.d(Logger.AD_TAG, "ad orientation " + orientation + " (landscape)");
i = 6;
break;
}
break;
}
setRequestedOrientation(i);
if ("postRollFragment".equals(z ? savedInstanceState.getString("currentFragment") : null)) {
a();
} else {
b();
}
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error playing ad", e);
a(false, false);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
try {
super.onSaveInstanceState(outState);
outState.putString("currentFragment", this.m.b());
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error in onSaveInstanceState", e);
}
}
final void a(final a aVar) {
if (this.f.a(br.KITKAT) && aVar.isImmersiveMode()) {
this.o.setSystemUiVisibility(5894);
this.o.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public final void onSystemUiVisibilityChange(int visibility) {
if ((visibility & 4) == 0) {
FullScreenAdActivity.this.a(aVar);
}
}
});
}
}
@Override
public void onResume() {
try {
super.onResume();
SdkState sdkState = this.j;
Logger.d(Logger.AD_TAG, "onAdActivityResume()");
sdkState.a(false);
sdkState.m = 0L;
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error in onResume()", e);
}
}
@Override
public void onPause() {
try {
super.onPause();
SdkState sdkState = this.j;
Logger.d(Logger.AD_TAG, "onAdActivityPause()");
sdkState.m = sdkState.f();
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error in onPause()", e);
}
}
@Override
public void onBackPressed() {
try {
Logger.v(Logger.AD_TAG, "back button pressed");
this.g.a(new d());
this.m.a();
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error in onBackPressed", e);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
this.m.a(keyCode);
return super.onKeyDown(keyCode, event);
}
final void a() {
if (this.n == null) {
a(true, false);
} else {
this.g.a(new z());
a(this.n);
}
}
final void b() {
if (this.p == null) {
a();
} else {
a(this.p);
}
}
final void a(boolean z, boolean z2) {
try {
this.g.a(z ? new be(this.a, z2) : new bd(this.a, z2));
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error exiting ad", e);
} finally {
finish();
}
}
private void a(AdFragment adFragment) {
if (adFragment != this.m) {
FragmentTransaction beginTransaction = getSupportFragmentManager().beginTransaction();
beginTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
this.m = adFragment;
beginTransaction.replace(R.id.content, adFragment, adFragment.b());
beginTransaction.commit();
}
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
try {
super.onWindowFocusChanged(hasFocus);
this.m.a(hasFocus);
} catch (Exception e) {
this.l.a(Logger.AD_TAG, "error in onWindowFocusChanged", e);
}
}
@Singleton
public static class AdEventListener extends by {
private FullScreenAdActivity a;
@Inject
public AdEventListener() {
}
public void onEvent(x xVar) {
Logger.v(Logger.EVENT_TAG, "postRoll.onCancel()");
this.a.a(true, false);
}
public void onEvent(g event) {
EventTracking.a aVar = event.a;
Logger.v(Logger.EVENT_TAG, "cta click event: " + aVar);
FullScreenAdActivity fullScreenAdActivity = this.a;
String str = null;
boolean z = false;
try {
str = fullScreenAdActivity.a.f();
Logger.v(Logger.AD_TAG, "call to action destination " + str);
if (str != null) {
Intent a = IntentFactory.a("android.intent.action.VIEW", Uri.parse(str));
a.addFlags(DriveFile.MODE_READ_ONLY);
fullScreenAdActivity.startActivity(a);
fullScreenAdActivity.g.a(new h(fullScreenAdActivity.a, aVar));
}
z = true;
} catch (Exception e) {
fullScreenAdActivity.l.a(Logger.AD_TAG, "error loading call-to-action URL " + str, e);
}
fullScreenAdActivity.a(z, true);
}
public void onEvent(y yVar) {
Logger.v(Logger.EVENT_TAG, "postRoll.onRepeat()");
this.a.b();
}
public void onEvent(ar arVar) {
this.a.a(false, false);
}
public void onEvent(al alVar) {
Logger.v(Logger.EVENT_TAG, "video.onCancel()");
this.a.a();
}
public void onEvent(am amVar) {
Logger.v(Logger.EVENT_TAG, "video.onNext()");
this.a.a();
}
public void onEvent(ac acVar) {
FullScreenAdActivity fullScreenAdActivity = this.a;
try {
Intent a = IntentFactory.a("android.intent.action.VIEW", Uri.parse("https://www.vungle.com/privacy/"));
a.addFlags(DriveFile.MODE_READ_ONLY);
fullScreenAdActivity.startActivity(a);
} catch (Exception e) {
fullScreenAdActivity.l.a(Logger.AD_TAG, "error loading privacy URL", e);
}
}
@Singleton
public static class Factory {
@Inject
AdEventListener a;
public AdEventListener getInstance(FullScreenAdActivity activity) {
this.a.a = activity;
return this.a;
}
}
}
}