CrackMe.apk

Download file
    package expo.modules.av.video;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.SeekBar;
import android.widget.TextView;
import expo.modules.av.R;
import expo.modules.av.player.PlayerDataControl;
import java.lang.ref.WeakReference;
import java.util.Formatter;
import java.util.Locale;

public class MediaController extends FrameLayout {
    private static final int FADE_OUT = 1;
    private static final int SHOW_PROGRESS = 2;
    private static final int sDefaultTimeout = 3000;
    private ViewGroup mAnchor;
    private Context mContext;
    /* access modifiers changed from: private */
    public TextView mCurrentTime;
    /* access modifiers changed from: private */
    public boolean mDragging;
    private TextView mEndTime;
    private ImageButton mFastForwardButton;
    private View.OnClickListener mFfwdListener;
    private StringBuilder mFormatBuilder;
    private Formatter mFormatter;
    private boolean mFromXml;
    private ImageButton mFullscreenButton;
    private View.OnClickListener mFullscreenListener;
    /* access modifiers changed from: private */
    public Handler mHandler;
    private boolean mListenersSet;
    private ImageButton mNextButton;
    private View.OnClickListener mNextListener;
    private ImageButton mPauseButton;
    private View.OnClickListener mPauseListener;
    /* access modifiers changed from: private */
    public PlayerDataControl mPlayer;
    private ImageButton mPrevButton;
    private View.OnClickListener mPrevListener;
    private ProgressBar mProgress;
    private View.OnClickListener mRewListener;
    private ImageButton mRewindButton;
    private View mRoot;
    private SeekBar.OnSeekBarChangeListener mSeekListener;
    /* access modifiers changed from: private */
    public boolean mShowing;
    private boolean mUseFastForward;

    public MediaController(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
        this.mHandler = new MessageHandler(this);
        this.mPauseListener = new View.OnClickListener() {
            public void onClick(View view) {
                MediaController.this.show(3000);
                MediaController.this.doPauseResume();
            }
        };
        this.mFullscreenListener = new View.OnClickListener() {
            public void onClick(View view) {
                MediaController.this.show(3000);
                MediaController.this.doToggleFullscreen();
            }
        };
        this.mSeekListener = new SeekBar.OnSeekBarChangeListener() {
            public void onStartTrackingTouch(SeekBar seekBar) {
                MediaController.this.show(3600000);
                MediaController.this.mDragging = true;
                MediaController.this.mHandler.removeMessages(2);
            }

            public void onProgressChanged(SeekBar seekBar, int i, boolean z) {
                if (MediaController.this.mPlayer != null && z) {
                    int duration = (int) ((((long) MediaController.this.mPlayer.getDuration()) * ((long) i)) / 1000);
                    MediaController.this.mPlayer.seekTo(duration);
                    if (MediaController.this.mCurrentTime != null) {
                        MediaController.this.mCurrentTime.setText(MediaController.this.stringForTime(duration));
                    }
                }
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                MediaController.this.mDragging = false;
                int unused = MediaController.this.setProgress();
                MediaController.this.updatePausePlay();
                MediaController.this.show(3000);
                MediaController.this.mHandler.sendEmptyMessage(2);
            }
        };
        this.mRewListener = new View.OnClickListener() {
            public void onClick(View view) {
                if (MediaController.this.mPlayer != null) {
                    MediaController.this.mPlayer.seekTo(MediaController.this.mPlayer.getCurrentPosition() - 5000);
                    int unused = MediaController.this.setProgress();
                    MediaController.this.show(3000);
                }
            }
        };
        this.mFfwdListener = new View.OnClickListener() {
            public void onClick(View view) {
                if (MediaController.this.mPlayer != null) {
                    MediaController.this.mPlayer.seekTo(MediaController.this.mPlayer.getCurrentPosition() + 15000);
                    int unused = MediaController.this.setProgress();
                    MediaController.this.show(3000);
                }
            }
        };
        this.mRoot = null;
        this.mContext = context;
        this.mUseFastForward = true;
        this.mFromXml = true;
    }

    public MediaController(Context context, boolean z) {
        super(context);
        this.mHandler = new MessageHandler(this);
        this.mPauseListener = new View.OnClickListener() {
            public void onClick(View view) {
                MediaController.this.show(3000);
                MediaController.this.doPauseResume();
            }
        };
        this.mFullscreenListener = new View.OnClickListener() {
            public void onClick(View view) {
                MediaController.this.show(3000);
                MediaController.this.doToggleFullscreen();
            }
        };
        this.mSeekListener = new SeekBar.OnSeekBarChangeListener() {
            public void onStartTrackingTouch(SeekBar seekBar) {
                MediaController.this.show(3600000);
                MediaController.this.mDragging = true;
                MediaController.this.mHandler.removeMessages(2);
            }

            public void onProgressChanged(SeekBar seekBar, int i, boolean z) {
                if (MediaController.this.mPlayer != null && z) {
                    int duration = (int) ((((long) MediaController.this.mPlayer.getDuration()) * ((long) i)) / 1000);
                    MediaController.this.mPlayer.seekTo(duration);
                    if (MediaController.this.mCurrentTime != null) {
                        MediaController.this.mCurrentTime.setText(MediaController.this.stringForTime(duration));
                    }
                }
            }

            public void onStopTrackingTouch(SeekBar seekBar) {
                MediaController.this.mDragging = false;
                int unused = MediaController.this.setProgress();
                MediaController.this.updatePausePlay();
                MediaController.this.show(3000);
                MediaController.this.mHandler.sendEmptyMessage(2);
            }
        };
        this.mRewListener = new View.OnClickListener() {
            public void onClick(View view) {
                if (MediaController.this.mPlayer != null) {
                    MediaController.this.mPlayer.seekTo(MediaController.this.mPlayer.getCurrentPosition() - 5000);
                    int unused = MediaController.this.setProgress();
                    MediaController.this.show(3000);
                }
            }
        };
        this.mFfwdListener = new View.OnClickListener() {
            public void onClick(View view) {
                if (MediaController.this.mPlayer != null) {
                    MediaController.this.mPlayer.seekTo(MediaController.this.mPlayer.getCurrentPosition() + 15000);
                    int unused = MediaController.this.setProgress();
                    MediaController.this.show(3000);
                }
            }
        };
        this.mContext = context;
        this.mUseFastForward = z;
    }

    public MediaController(Context context) {
        this(context, true);
    }

    public void onFinishInflate() {
        View view = this.mRoot;
        if (view != null) {
            initControllerView(view);
        }
        super.onFinishInflate();
    }

    public void setMediaPlayer(PlayerDataControl playerDataControl) {
        this.mPlayer = playerDataControl;
        updateControls();
    }

    public void updateControls() {
        setProgress();
        updatePausePlay();
        updateFullScreen();
    }

    public void setAnchorView(ViewGroup viewGroup) {
        this.mAnchor = viewGroup;
        if (this.mRoot == null) {
            FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(-1, -2, 80);
            removeAllViews();
            addView(makeControllerView(), layoutParams);
        }
    }

    /* access modifiers changed from: protected */
    public View makeControllerView() {
        View inflate = ((LayoutInflater) this.mContext.getSystemService("layout_inflater")).inflate(R.layout.expo_media_controller, (ViewGroup) null);
        this.mRoot = inflate;
        initControllerView(inflate);
        return this.mRoot;
    }

    private void initControllerView(View view) {
        ImageButton imageButton = (ImageButton) view.findViewById(R.id.play_button);
        this.mPauseButton = imageButton;
        if (imageButton != null) {
            imageButton.requestFocus();
            this.mPauseButton.setOnClickListener(this.mPauseListener);
        }
        ImageButton imageButton2 = (ImageButton) view.findViewById(R.id.fullscreen_mode_button);
        this.mFullscreenButton = imageButton2;
        if (imageButton2 != null) {
            imageButton2.requestFocus();
            this.mFullscreenButton.setOnClickListener(this.mFullscreenListener);
        }
        ImageButton imageButton3 = (ImageButton) view.findViewById(R.id.fast_forward_button);
        this.mFastForwardButton = imageButton3;
        int i = 0;
        if (imageButton3 != null) {
            imageButton3.setOnClickListener(this.mFfwdListener);
            if (!this.mFromXml) {
                this.mFastForwardButton.setVisibility(this.mUseFastForward ? 0 : 8);
            }
        }
        ImageButton imageButton4 = (ImageButton) view.findViewById(R.id.rewind_button);
        this.mRewindButton = imageButton4;
        if (imageButton4 != null) {
            imageButton4.setOnClickListener(this.mRewListener);
            if (!this.mFromXml) {
                ImageButton imageButton5 = this.mRewindButton;
                if (!this.mUseFastForward) {
                    i = 8;
                }
                imageButton5.setVisibility(i);
            }
        }
        ImageButton imageButton6 = (ImageButton) view.findViewById(R.id.skip_next_button);
        this.mNextButton = imageButton6;
        if (imageButton6 != null && !this.mFromXml && !this.mListenersSet) {
            imageButton6.setVisibility(8);
        }
        ImageButton imageButton7 = (ImageButton) view.findViewById(R.id.skip_previous_button);
        this.mPrevButton = imageButton7;
        if (imageButton7 != null && !this.mFromXml && !this.mListenersSet) {
            imageButton7.setVisibility(8);
        }
        ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.seek_bar);
        this.mProgress = progressBar;
        if (progressBar != null) {
            if (progressBar instanceof SeekBar) {
                ((SeekBar) progressBar).setOnSeekBarChangeListener(this.mSeekListener);
            }
            this.mProgress.setMax(1000);
        }
        this.mEndTime = (TextView) view.findViewById(R.id.end_time_text);
        this.mCurrentTime = (TextView) view.findViewById(R.id.current_time_text);
        this.mFormatBuilder = new StringBuilder();
        this.mFormatter = new Formatter(this.mFormatBuilder, Locale.getDefault());
        installPrevNextListeners();
    }

    public void show() {
        show(3000);
    }

    private void disableUnsupportedButtons() {
        PlayerDataControl playerDataControl = this.mPlayer;
        if (playerDataControl != null) {
            try {
                if (this.mPauseButton != null && !playerDataControl.canPause()) {
                    this.mPauseButton.setEnabled(false);
                }
                if (this.mRewindButton != null && !this.mPlayer.canSeekBackward()) {
                    this.mRewindButton.setEnabled(false);
                }
                if (this.mFastForwardButton != null && !this.mPlayer.canSeekForward()) {
                    this.mFastForwardButton.setEnabled(false);
                }
            } catch (IncompatibleClassChangeError unused) {
            }
        }
    }

    public void show(int i) {
        if (!this.mShowing && this.mAnchor != null) {
            setProgress();
            ImageButton imageButton = this.mPauseButton;
            if (imageButton != null) {
                imageButton.requestFocus();
            }
            disableUnsupportedButtons();
            this.mAnchor.addView(this, new FrameLayout.LayoutParams(-1, -1));
            this.mShowing = true;
        }
        updateControls();
        this.mHandler.sendEmptyMessage(2);
        Message obtainMessage = this.mHandler.obtainMessage(1);
        if (i != 0) {
            this.mHandler.removeMessages(1);
            this.mHandler.sendMessageDelayed(obtainMessage, (long) i);
        }
    }

    public boolean isShowing() {
        return this.mShowing;
    }

    public void hide() {
        ViewGroup viewGroup = this.mAnchor;
        if (viewGroup != null) {
            try {
                viewGroup.removeView(this);
                this.mHandler.removeMessages(2);
            } catch (IllegalArgumentException unused) {
                Log.w("MediaController", "already removed");
            }
            this.mShowing = false;
        }
    }

    /* access modifiers changed from: private */
    public String stringForTime(int i) {
        int i2 = i / 1000;
        int i3 = i2 % 60;
        int i4 = (i2 / 60) % 60;
        int i5 = i2 / 3600;
        this.mFormatBuilder.setLength(0);
        if (i5 > 0) {
            return this.mFormatter.format("%d:%02d:%02d", new Object[]{Integer.valueOf(i5), Integer.valueOf(i4), Integer.valueOf(i3)}).toString();
        }
        return this.mFormatter.format("%02d:%02d", new Object[]{Integer.valueOf(i4), Integer.valueOf(i3)}).toString();
    }

    /* access modifiers changed from: private */
    public int setProgress() {
        PlayerDataControl playerDataControl = this.mPlayer;
        if (playerDataControl == null || this.mDragging) {
            return 0;
        }
        int currentPosition = playerDataControl.getCurrentPosition();
        int duration = this.mPlayer.getDuration();
        ProgressBar progressBar = this.mProgress;
        if (progressBar != null) {
            if (duration > 0) {
                progressBar.setProgress((int) ((((long) currentPosition) * 1000) / ((long) duration)));
            }
            this.mProgress.setSecondaryProgress(this.mPlayer.getBufferPercentage() * 10);
        }
        TextView textView = this.mEndTime;
        if (textView != null) {
            textView.setText(stringForTime(duration));
        }
        TextView textView2 = this.mCurrentTime;
        if (textView2 != null) {
            textView2.setText(stringForTime(currentPosition));
        }
        return currentPosition;
    }

    public boolean onTouchEvent(MotionEvent motionEvent) {
        if (!isEnabled()) {
            return true;
        }
        show(3000);
        return true;
    }

    public boolean onTrackballEvent(MotionEvent motionEvent) {
        if (!isEnabled()) {
            return false;
        }
        show(3000);
        return false;
    }

    public boolean dispatchKeyEvent(KeyEvent keyEvent) {
        if (this.mPlayer != null && isEnabled()) {
            int keyCode = keyEvent.getKeyCode();
            boolean z = keyEvent.getRepeatCount() == 0 && keyEvent.getAction() == 0;
            if (keyCode == 79 || keyCode == 85 || keyCode == 62) {
                if (z) {
                    doPauseResume();
                    show(3000);
                    ImageButton imageButton = this.mPauseButton;
                    if (imageButton != null) {
                        imageButton.requestFocus();
                    }
                }
            } else if (keyCode == 126) {
                if (z && !this.mPlayer.isPlaying()) {
                    this.mPlayer.start();
                    updatePausePlay();
                    show(3000);
                }
                return true;
            } else if (keyCode == 86 || keyCode == 127) {
                if (z && this.mPlayer.isPlaying()) {
                    this.mPlayer.pause();
                    updatePausePlay();
                    show(3000);
                }
                return true;
            } else if (keyCode == 25 || keyCode == 24 || keyCode == 164) {
                return super.dispatchKeyEvent(keyEvent);
            } else {
                if (keyCode == 4 || keyCode == 82) {
                    if (z) {
                        hide();
                    }
                    return true;
                }
                show(3000);
                return super.dispatchKeyEvent(keyEvent);
            }
        }
        return true;
    }

    public void updatePausePlay() {
        PlayerDataControl playerDataControl;
        if (this.mRoot != null && this.mPauseButton != null && (playerDataControl = this.mPlayer) != null) {
            if (playerDataControl.isPlaying()) {
                this.mPauseButton.setImageResource(R.drawable.exo_controls_pause);
            } else {
                this.mPauseButton.setImageResource(R.drawable.exo_controls_play);
            }
        }
    }

    public void updateFullScreen() {
        PlayerDataControl playerDataControl;
        if (this.mRoot != null && this.mFullscreenButton != null && (playerDataControl = this.mPlayer) != null) {
            if (playerDataControl.isFullscreen()) {
                this.mFullscreenButton.setImageResource(R.drawable.ic_fullscreen_exit_32dp);
            } else {
                this.mFullscreenButton.setImageResource(R.drawable.ic_fullscreen_32dp);
            }
        }
    }

    /* access modifiers changed from: private */
    public void doPauseResume() {
        PlayerDataControl playerDataControl = this.mPlayer;
        if (playerDataControl != null) {
            if (playerDataControl.isPlaying()) {
                this.mPlayer.pause();
            } else {
                this.mPlayer.start();
            }
            updatePausePlay();
        }
    }

    /* access modifiers changed from: private */
    public void doToggleFullscreen() {
        PlayerDataControl playerDataControl = this.mPlayer;
        if (playerDataControl != null) {
            playerDataControl.toggleFullscreen();
        }
    }

    public void setEnabled(boolean z) {
        ImageButton imageButton = this.mPauseButton;
        if (imageButton != null) {
            imageButton.setEnabled(z);
        }
        ImageButton imageButton2 = this.mFastForwardButton;
        if (imageButton2 != null) {
            imageButton2.setEnabled(z);
        }
        ImageButton imageButton3 = this.mRewindButton;
        if (imageButton3 != null) {
            imageButton3.setEnabled(z);
        }
        ImageButton imageButton4 = this.mNextButton;
        boolean z2 = true;
        if (imageButton4 != null) {
            imageButton4.setEnabled(z && this.mNextListener != null);
        }
        ImageButton imageButton5 = this.mPrevButton;
        if (imageButton5 != null) {
            if (!z || this.mPrevListener == null) {
                z2 = false;
            }
            imageButton5.setEnabled(z2);
        }
        ProgressBar progressBar = this.mProgress;
        if (progressBar != null) {
            progressBar.setEnabled(z);
        }
        disableUnsupportedButtons();
        super.setEnabled(z);
    }

    public void onInitializeAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
        super.onInitializeAccessibilityEvent(accessibilityEvent);
        accessibilityEvent.setClassName(MediaController.class.getName());
    }

    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) {
        super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo);
        accessibilityNodeInfo.setClassName(MediaController.class.getName());
    }

    private void installPrevNextListeners() {
        ImageButton imageButton = this.mNextButton;
        boolean z = true;
        if (imageButton != null) {
            imageButton.setOnClickListener(this.mNextListener);
            this.mNextButton.setEnabled(this.mNextListener != null);
        }
        ImageButton imageButton2 = this.mPrevButton;
        if (imageButton2 != null) {
            imageButton2.setOnClickListener(this.mPrevListener);
            ImageButton imageButton3 = this.mPrevButton;
            if (this.mPrevListener == null) {
                z = false;
            }
            imageButton3.setEnabled(z);
        }
    }

    public void setPrevNextListeners(View.OnClickListener onClickListener, View.OnClickListener onClickListener2) {
        this.mNextListener = onClickListener;
        this.mPrevListener = onClickListener2;
        this.mListenersSet = true;
        if (this.mRoot != null) {
            installPrevNextListeners();
            ImageButton imageButton = this.mNextButton;
            if (imageButton != null && !this.mFromXml) {
                imageButton.setVisibility(0);
            }
            ImageButton imageButton2 = this.mPrevButton;
            if (imageButton2 != null && !this.mFromXml) {
                imageButton2.setVisibility(0);
            }
        }
    }

    private static class MessageHandler extends Handler {
        private final WeakReference<MediaController> mView;

        MessageHandler(MediaController mediaController) {
            this.mView = new WeakReference<>(mediaController);
        }

        public void handleMessage(Message message) {
            MediaController mediaController = (MediaController) this.mView.get();
            if (mediaController != null && mediaController.mPlayer != null) {
                int i = message.what;
                if (i == 1) {
                    mediaController.hide();
                } else if (i == 2) {
                    int r4 = mediaController.setProgress();
                    if (!mediaController.mDragging && mediaController.mShowing && mediaController.mPlayer.isPlaying()) {
                        sendMessageDelayed(obtainMessage(2), (long) (1000 - (r4 % 1000)));
                    }
                }
            }
        }
    }
}
    
Download file