正在查看: Namma Yatri v3.3.7 应用的 ReelsPlayerView.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Namma Yatri v3.3.7 应用的 ReelsPlayerView.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package in.juspay.mobility.app;
import android.media.AudioAttributes;
import android.media.AudioFocusRequest;
import android.media.AudioManager;
import android.os.Build;
import android.os.Bundle;
import in.juspay.mobility.app.reels.ReelController;
import java.util.Locale;
public class ReelsPlayerView extends androidx.appcompat.app.d {
private AudioManager audioManager;
private Bundle bundle;
private AudioFocusRequest mFocusRequest;
private AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener;
private ReelController reelController;
private boolean isAudioFocusLossed = false;
private boolean isAudioFocusGranted = false;
private boolean isActivityVisible = true;
private void abandonAudioFocus() {
android.util.Log.i("REEL_AUDIO_FOCUS", "Abandoning the audio focus for reels");
try {
if (Build.VERSION.SDK_INT >= 26) {
H0.j.a(this.audioManager, this.mFocusRequest);
} else {
this.audioManager.abandonAudioFocus(this.onAudioFocusChangeListener);
}
this.isAudioFocusGranted = false;
} catch (Exception e) {
android.util.Log.e("REEL_AUDIO_FOCUS", e.toString());
}
}
private void initializeReelController() {
this.reelController = new ReelController(this, this, new ReelController.OnResumeExoplayerListener() {
@Override
public final void getAudioFocusToResumeExoplayer() {
ReelsPlayerView.this.lambda$initializeReelController$1();
}
}, new ReelController.OnPauseExoplayerListener() {
@Override
public final void abandonAudioFocusWhilePausingExoplayer() {
ReelsPlayerView.this.lambda$initializeReelController$2();
}
});
Bundle bundle = this.bundle;
if (bundle != null) {
this.reelController.initializeReelsView(bundle.getString("reelsJSONData"), this.bundle.getInt("index"), this.bundle.getString("callback"));
}
}
public void lambda$getAudioFocus$0(int i) {
android.util.Log.i("REEL_AUDIO_FOCUS_CHANGED", i + "");
if (this.isAudioFocusGranted || !this.isActivityVisible) {
if (i != -1) {
if (i != 1) {
return;
}
this.isAudioFocusLossed = false;
this.reelController.resumeExoplayer();
return;
}
android.util.Log.i("REEL", "isAudioFocusLossed changed changeListener " + this.isAudioFocusLossed);
this.isAudioFocusLossed = true;
this.reelController.pauseExoplayers(Boolean.FALSE, true);
}
}
public void lambda$initializeReelController$1() {
if (this.isAudioFocusGranted) {
return;
}
this.isAudioFocusGranted = true;
getAudioFocus();
}
public void lambda$initializeReelController$2() {
android.util.Log.i("REEL", "isAudioFocusLossed changed abandon " + this.isAudioFocusLossed);
this.isAudioFocusLossed = false;
abandonAudioFocus();
}
public void getAudioFocus() {
int requestAudioFocus;
AudioFocusRequest.Builder acceptsDelayedFocusGain;
android.util.Log.i("REEL_AUDIO_FOCUS", "Getting the audio focus for reels");
AudioAttributes build = new AudioAttributes.Builder().setUsage(1).setContentType(1).build();
AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() {
@Override
public final void onAudioFocusChange(int i) {
ReelsPlayerView.this.lambda$getAudioFocus$0(i);
}
};
this.onAudioFocusChangeListener = onAudioFocusChangeListener;
if (Build.VERSION.SDK_INT >= 26) {
acceptsDelayedFocusGain = H0.e.a(H0.b.a(1), build).setAcceptsDelayedFocusGain(true);
AudioFocusRequest a = H0.h.a(H0.g.a(H0.f.a(acceptsDelayedFocusGain, true), this.onAudioFocusChangeListener));
this.mFocusRequest = a;
requestAudioFocus = H0.i.a(this.audioManager, a);
} else {
requestAudioFocus = this.audioManager.requestAudioFocus(onAudioFocusChangeListener, 3, 1);
}
if (requestAudioFocus == 1) {
this.isAudioFocusGranted = true;
} else {
abandonAudioFocus();
}
}
public void onCreate(Bundle bundle) {
super/*androidx.fragment.app.FragmentActivity*/.onCreate(bundle);
this.bundle = getIntent().getExtras();
setContentView(R.layout.reels_player_view);
getWindow().addFlags(128);
this.audioManager = (AudioManager) getSystemService("audio");
if (!this.isAudioFocusGranted) {
getAudioFocus();
}
initializeReelController();
}
public void onDestroy() {
android.util.Log.i("NEW_ACTIVITY", "destroyed");
Locale locale = Locale.ENGLISH;
ReelController reelController = this.reelController;
this.reelController.sendJsCallback(String.format(locale, "window.callUICallback('%s','%s', '%s', %s, %s);", reelController.callback, "ACTION", "DESTROY_REEL", reelController.getCurrentReelVideoConfig(), null));
try {
this.reelController.stopAndReleaseExoplayers();
} catch (Exception unused) {
android.util.Log.e("REEL_ERROR", "error in stopping and releasing exoplayers");
}
abandonAudioFocus();
ReelController.deRegisterCallbacks();
super.onDestroy();
}
public void onPause() {
try {
this.reelController.pauseExoplayers(Boolean.FALSE, true);
} catch (Exception e) {
android.util.Log.e("REEL_ON_PAUSE", e.toString());
}
this.reelController.sendPauseActivityCallback();
this.isActivityVisible = false;
super/*androidx.fragment.app.FragmentActivity*/.onPause();
}
public void onResume() {
try {
this.reelController.resumeExoplayer();
} catch (Exception e) {
android.util.Log.e("REEL_ON_RESUME", e.toString());
}
this.reelController.sendResumeActivityCallback();
this.isActivityVisible = true;
if (!this.isAudioFocusGranted) {
getAudioFocus();
}
super/*androidx.fragment.app.FragmentActivity*/.onResume();
}
}