AdGuard v3.6.45版本的 MD5 值为:ce30a13dcef92cf942973fffcc6d20fb

以下内容为反编译后的 YoutubeActivity.java 源代码,内容仅作参考


package com.adguard.android.ui;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.Lifecycle;
import androidx.palette.graphics.Palette;
import com.adguard.android.R;
import com.adguard.android.a.i;
import com.adguard.android.a.q;
import com.adguard.android.a.t;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.PlayerConstants;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import kotlin.b.b.j;
import kotlin.o;
import kotlin.text.h;
public final class YoutubeActivity extends ThemedActivity implements t.a {
    public static final a f473a = new a((byte) 0);
    private static final Pattern o = Pattern.compile(q.d);
    private static final org.slf4j.c p = org.slf4j.d.a(YoutubeActivity.class);
    private String b;
    private String c;
    private String d;
    private Bitmap f;
    private YouTubePlayerView g;
    private PlaybackReceiver h;
    private com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a i;
    private final i j = new i(this, new View[0]);
    private PlayerConstants.PlayerState k = PlayerConstants.PlayerState.UNKNOWN;
    private int l;
    private float m;
    private float n;

    public static final class PlaybackReceiver extends BroadcastReceiver {
        public static final a b = new a((byte) 0);
        final YoutubeActivity f474a;

        public static final class a {
            private a() {
            }

            public a(byte b) {
                this();
            }
        }

        public PlaybackReceiver(YoutubeActivity youtubeActivity) {
            j.b(youtubeActivity, "activity");
            this.f474a = youtubeActivity;
        }

        @Override
        public final void onReceive(Context context, Intent intent) {
            if (j.a((Object) "com.adguard.youtube.TOGGLE_PLAYBACK", (Object) (intent != null ? intent.getAction() : null))) {
                this.f474a.c();
                return;
            }
            if (j.a((Object) "com.adguard.youtube.STOP_PLAYBACK", (Object) (intent != null ? intent.getAction() : null))) {
                com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar = this.f474a.i;
                if (aVar != null) {
                    aVar.pause();
                }
                this.f474a.finish();
            }
        }
    }

    public static final class a {
        private a() {
        }

        public a(byte b) {
            this();
        }
    }

    public static final class b extends com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a.a {
        b() {
        }

        @Override
        public final void onCurrentSecond(com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar, float f) {
            j.b(aVar, "youTubePlayer");
            super.onCurrentSecond(aVar, f);
            YoutubeActivity.this.m = f;
        }

        @Override
        public final void onError(com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar, PlayerConstants.PlayerError playerError) {
            j.b(aVar, "youTubePlayer");
            j.b(playerError, "error");
            org.slf4j.c cVar = YoutubeActivity.p;
            cVar.warn("Error playing video " + YoutubeActivity.this.b + ": " + playerError);
        }

        @Override
        public final void onStateChange(com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar, PlayerConstants.PlayerState playerState) {
            j.b(aVar, "youTubePlayer");
            j.b(playerState, "state");
            YoutubeActivity.this.k = playerState;
            if (playerState == PlayerConstants.PlayerState.ENDED) {
                YoutubeActivity youtubeActivity = YoutubeActivity.this;
                youtubeActivity.a(youtubeActivity.l);
            } else {
                YoutubeActivity youtubeActivity2 = YoutubeActivity.this;
                youtubeActivity2.a(youtubeActivity2.c, YoutubeActivity.this.d, YoutubeActivity.this.f, playerState == PlayerConstants.PlayerState.PLAYING);
            }
            YoutubeActivity.this.invalidateOptionsMenu();
        }

        @Override
        public final void onVideoDuration(com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar, float f) {
            j.b(aVar, "youTubePlayer");
            super.onVideoDuration(aVar, f);
            YoutubeActivity.this.n = f;
        }
    }

    public static final class c implements com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a.c {
        private int b;

        c() {
        }

        @Override
        public final void a() {
            this.b = YoutubeActivity.this.getRequestedOrientation();
            YoutubeActivity.this.j.a();
            if (YoutubeActivity.a()) {
                YoutubeActivity.this.setRequestedOrientation(0);
            }
            ActionBar supportActionBar = YoutubeActivity.this.getSupportActionBar();
            if (supportActionBar != null) {
                supportActionBar.hide();
            }
        }

        @Override
        public final void b() {
            if (YoutubeActivity.a()) {
                YoutubeActivity.this.setRequestedOrientation(1);
            }
            YoutubeActivity.this.j.b();
            ActionBar supportActionBar = YoutubeActivity.this.getSupportActionBar();
            if (supportActionBar != null) {
                supportActionBar.show();
            }
        }
    }

    static final class d implements Runnable {
        final String b;

        d(String str) {
            this.b = str;
        }

        @Override
        public final void run() {
            ActionBar supportActionBar = YoutubeActivity.this.getSupportActionBar();
            if (supportActionBar != null) {
                supportActionBar.setTitle(this.b);
            }
        }
    }

    public static final class e implements com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a.b {
        e() {
        }

        @Override
        public final void a(com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar) {
            j.b(aVar, "youTubePlayer");
            YoutubeActivity.this.i = aVar;
            String str = YoutubeActivity.this.b;
            if (str != null) {
                Lifecycle lifecycle = YoutubeActivity.this.getLifecycle();
                j.a((Object) lifecycle, "lifecycle");
                j.b(aVar, "$this$loadOrCueVideo");
                j.b(lifecycle, "lifecycle");
                j.b(str, "videoId");
                com.pierfrancescosoffritti.androidyoutubeplayer.core.player.utils.e.a(aVar, lifecycle.getCurrentState() == Lifecycle.State.RESUMED, str, 0.0f);
            }
        }
    }

    public final int a(String str, String str2, Bitmap bitmap, boolean z) {
        if (str != null && str2 != null) {
            YoutubeActivity youtubeActivity = this;
            int color = ContextCompat.getColor(youtubeActivity, 17170444);
            if (bitmap != null) {
                color = Palette.from(bitmap).generate().getDominantColor(color);
            }
            com.adguard.android.b a2 = com.adguard.android.b.a(youtubeActivity);
            j.a((Object) a2, "ServiceLocator.getInstance(this@YoutubeActivity)");
            return a2.t.a(str, str2, bitmap, color, z);
        }
        p.warn("Some meta info is null, not showing notification");
        return 0;
    }

    public final void a(int i) {
        com.adguard.android.b a2 = com.adguard.android.b.a(this);
        j.a((Object) a2, "ServiceLocator.getInstance(this@YoutubeActivity)");
        a2.t.a(i);
    }

    public static boolean a() {
        return Build.VERSION.SDK_INT != 26;
    }

    public final void c() {
        if (this.k == PlayerConstants.PlayerState.PLAYING) {
            com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar = this.i;
            if (aVar != null) {
                aVar.pause();
            }
            a(this.c, this.d, this.f, false);
            return;
        }
        com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar2 = this.i;
        if (aVar2 != null) {
            aVar2.play();
        }
        a(this.c, this.d, this.f, true);
    }

    @Override
    public final void a(Exception exc) {
        p.warn("Unable to load video meta info\n", (Throwable) exc);
    }

    @Override
    public final void a(String str, String str2, Bitmap bitmap) {
        if (str != null && str2 != null) {
            this.c = str;
            this.d = str2;
            this.f = bitmap;
            runOnUiThread(new d(str));
            this.l = a(str, str2, bitmap, this.k == PlayerConstants.PlayerState.PLAYING);
            return;
        }
        p.warn("Some meta info is null!!!");
    }

    @Override
    public final void onConfigurationChanged(Configuration configuration) {
        j.b(configuration, "newConfig");
        super.onConfigurationChanged(configuration);
        if (configuration.orientation == 2) {
            this.j.a();
        } else {
            this.j.b();
        }
    }

    @Override
    public final void onCreate(Bundle bundle) {
        String stringExtra;
        Matcher matcher;
        String country;
        String str;
        super.onCreate(bundle);
        setContentView(R.g.youtube_player_layout);
        Window window = getWindow();
        if (window != null) {
            window.addFlags(Integer.MIN_VALUE);
            window.clearFlags(67108864);
            window.setStatusBarColor(ContextCompat.getColor(this, 17170444));
        }
        setSupportActionBar((Toolbar) findViewById(R.f.main_toolbar));
        ActionBar supportActionBar = getSupportActionBar();
        if (supportActionBar != null) {
            supportActionBar.setDisplayHomeAsUpEnabled(true);
            supportActionBar.setHomeAsUpIndicator(com.adguard.android.a.a.a(this) ? R.drawable.ic_close_focusable : R.drawable.ic_close_white);
        }
        View findViewById = findViewById(R.f.player_view);
        j.a((Object) findViewById, "findViewById(R.id.player_view)");
        this.g = (YouTubePlayerView) findViewById;
        PlaybackReceiver playbackReceiver = new PlaybackReceiver(this);
        IntentFilter intentFilter = new IntentFilter("com.adguard.youtube.TOGGLE_PLAYBACK");
        intentFilter.addAction("com.adguard.youtube.STOP_PLAYBACK");
        playbackReceiver.f474a.registerReceiver(playbackReceiver, intentFilter);
        this.h = playbackReceiver;
        Intent intent = getIntent();
        j.a((Object) intent, "intent");
        String str2 = null;
        String valueOf = intent.getData() != null ? String.valueOf(intent.getData()) : (intent.getStringExtra("android.intent.extra.TEXT") == null || (stringExtra = intent.getStringExtra("android.intent.extra.TEXT")) == null || (matcher = o.matcher(stringExtra)) == null || !matcher.find()) ? null : matcher.group();
        if (valueOf != null) {
            if (h.b(valueOf, "https://youtu.be/", false)) {
                if (valueOf == null) {
                    throw new o("null cannot be cast to non-null type java.lang.String");
                }
                str2 = valueOf.substring(17);
                j.a((Object) str2, "(this as java.lang.String).substring(startIndex)");
            }
            this.b = str2;
            p.info("Opened video: " + this.b);
            String str3 = this.b;
            if (str3 == null) {
                p.warn("Trying to open empty video!");
                return;
            }
            Locale locale = Locale.getDefault();
            StringBuilder sb = new StringBuilder();
            j.a((Object) locale, "it");
            sb.append(locale.getLanguage());
            j.a((Object) locale.getCountry(), "it.country");
            if (!h.a((CharSequence) country)) {
                str = "-" + locale.getCountry();
            } else {
                str = "";
            }
            sb.append(str);
            t.a(str3, sb.toString(), this);
            YouTubePlayerView youTubePlayerView = this.g;
            if (youTubePlayerView == null) {
                j.a("youTubePlayerView");
            }
            youTubePlayerView.getYouTubePlayerWhenReady(new e());
            YouTubePlayerView youTubePlayerView2 = this.g;
            if (youTubePlayerView2 == null) {
                j.a("youTubePlayerView");
            }
            youTubePlayerView2.getPlayerUiController().e(false).d().c();
            YouTubePlayerView youTubePlayerView3 = this.g;
            if (youTubePlayerView3 == null) {
                j.a("youTubePlayerView");
            }
            youTubePlayerView3.enableBackgroundPlayback(true);
            YouTubePlayerView youTubePlayerView4 = this.g;
            if (youTubePlayerView4 == null) {
                j.a("youTubePlayerView");
            }
            youTubePlayerView4.addYouTubePlayerListener(new b());
            YouTubePlayerView youTubePlayerView5 = this.g;
            if (youTubePlayerView5 == null) {
                j.a("youTubePlayerView");
            }
            youTubePlayerView5.addFullScreenListener(new c());
            Lifecycle lifecycle = getLifecycle();
            YouTubePlayerView youTubePlayerView6 = this.g;
            if (youTubePlayerView6 == null) {
                j.a("youTubePlayerView");
            }
            lifecycle.addObserver(youTubePlayerView6);
        }
    }

    @Override
    public final boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.h.menu_youtube, menu);
        return true;
    }

    @Override
    public final void onDestroy() {
        super.onDestroy();
        PlaybackReceiver playbackReceiver = this.h;
        if (playbackReceiver == null) {
            j.a("playbackReceiver");
        }
        playbackReceiver.f474a.unregisterReceiver(playbackReceiver);
        a(this.l);
    }

    @Override
    public final boolean onOptionsItemSelected(MenuItem menuItem) {
        j.b(menuItem, "item");
        int itemId = menuItem.getItemId();
        boolean z = true & true;
        if (itemId == R.f.jump_back) {
            com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar = this.i;
            if (aVar != null) {
                aVar.seekTo(Math.max(this.m - 15.0f, 0.0f));
            }
            return true;
        } else if (itemId == R.f.jump_forward) {
            com.pierfrancescosoffritti.androidyoutubeplayer.core.player.a aVar2 = this.i;
            if (aVar2 != null) {
                aVar2.seekTo(Math.min(this.m + 15.0f, this.n));
            }
            return true;
        } else if (itemId == R.f.play_pause) {
            c();
            return true;
        } else {
            return super.onOptionsItemSelected(menuItem);
        }
    }

    @Override
    public final boolean onPrepareOptionsMenu(Menu menu) {
        if (menu != null) {
            menu.findItem(R.f.play_pause).setIcon(this.k == PlayerConstants.PlayerState.PLAYING ? R.drawable.ic_youtube_pause : R.drawable.ic_youtube_play);
        }
        return super.onPrepareOptionsMenu(menu);
    }
}