导航菜单

页面标题

页面副标题

Namma Yatri v3.3.7 - ReelsPlayerView.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();
    }
}