From 0b2066e47047ab03d9362007ff5b3d17b82e0b03 Mon Sep 17 00:00:00 2001 From: selectee Date: Sat, 9 May 2020 20:37:00 +0300 Subject: [PATCH 01/24] Performance improvement --- .../dialogs/speed/SpeedDialogSource.java | 39 ++- .../parsers/ParserUtils.java | 28 +- .../RequestInterceptorProcessor.java | 3 +- .../interceptors/ads/AdAwayInterceptor.java | 8 +- .../interceptors/ads/BrowseInterceptor.java | 41 +-- .../interceptors/ads/JsonBrowseParser.java | 3 +- .../contentfilter/ReplacingInputStream.java | 274 +++++++++--------- .../misc/keyhandler/BrowserKeyTranslator.java | 25 +- .../keyhandler/MediaBrowserKeyTranslator.java | 53 ++-- .../ReplacingInputStreamTest.java | 4 +- 10 files changed, 246 insertions(+), 232 deletions(-) diff --git a/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/dialogs/speed/SpeedDialogSource.java b/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/dialogs/speed/SpeedDialogSource.java index aa0d29c73..3764ea755 100644 --- a/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/dialogs/speed/SpeedDialogSource.java +++ b/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/dialogs/speed/SpeedDialogSource.java @@ -1,6 +1,7 @@ package com.liskovsoft.smartyoutubetv.flavors.exoplayer.player.dialogs.speed; import android.content.Context; + import com.google.android.exoplayer2.SimpleExoPlayer; import com.liskovsoft.exoplayeractivity.R; import com.liskovsoft.sharedutils.dialogs.GenericSelectorDialog.CombinedDialogSource; @@ -12,31 +13,29 @@ public class SpeedDialogSource implements CombinedDialogSource { private final Context mContext; - private final SimpleExoPlayer mPlayer; - private final ArrayList mItems; - private final ExoPreferences mPrefs; + private final List mItems; public SpeedDialogSource(ExoPlayerFragment playerFragment) { mContext = playerFragment.getActivity(); - mPlayer = playerFragment.getPlayer(); - mPrefs = ExoPreferences.instance(mContext); + SimpleExoPlayer player = playerFragment.getPlayer(); + ExoPreferences preferences = ExoPreferences.instance(mContext); mItems = new ArrayList<>(); - mItems.add(new SaveSpeedDialogItem(mContext.getString(R.string.checkbox_save_speed), mPrefs)); - mItems.add(new SpeedDialogItem("0.25", "0.25", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("0.5", "0.5", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("0.75", "0.75", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem(mContext.getString(R.string.normal), "1.0", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("1.25", "1.25", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("1.5", "1.5", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("1.75", "1.75", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("2", "2.0", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("2.25", "2.25", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("2.5", "2.5", mPlayer, mPrefs)); - mItems.add(new SpeedDialogItem("2.75", "2.75", mPlayer, mPrefs)); - - if (mPlayer != null) { - SpeedDialogItem.sCurrentSpeed = String.valueOf(mPlayer.getPlaybackParameters().speed); + mItems.add(new SaveSpeedDialogItem(mContext.getString(R.string.checkbox_save_speed), preferences)); + mItems.add(new SpeedDialogItem("0.25", "0.25", player, preferences)); + mItems.add(new SpeedDialogItem("0.5", "0.5", player, preferences)); + mItems.add(new SpeedDialogItem("0.75", "0.75", player, preferences)); + mItems.add(new SpeedDialogItem(mContext.getString(R.string.normal), "1.0", player, preferences)); + mItems.add(new SpeedDialogItem("1.25", "1.25", player, preferences)); + mItems.add(new SpeedDialogItem("1.5", "1.5", player, preferences)); + mItems.add(new SpeedDialogItem("1.75", "1.75", player, preferences)); + mItems.add(new SpeedDialogItem("2", "2.0", player, preferences)); + mItems.add(new SpeedDialogItem("2.25", "2.25", player, preferences)); + mItems.add(new SpeedDialogItem("2.5", "2.5", player, preferences)); + mItems.add(new SpeedDialogItem("2.75", "2.75", player, preferences)); + + if (player != null) { + SpeedDialogItem.sCurrentSpeed = String.valueOf(player.getPlaybackParameters().speed); } } diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/parsers/ParserUtils.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/parsers/ParserUtils.java index b3afcc585..6246accbf 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/parsers/ParserUtils.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/parsers/ParserUtils.java @@ -1,6 +1,7 @@ package com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers; import android.net.Uri; + import com.google.gson.JsonArray; import com.google.gson.JsonSyntaxException; import com.jayway.jsonpath.Configuration; @@ -15,9 +16,18 @@ import java.io.InputStream; -public class ParserUtils { +public final class ParserUtils { + private static final String TAG = ParserUtils.class.getSimpleName(); + private static final Configuration JSON_PATH_CONFIGURATION = Configuration.builder() + .mappingProvider(new GsonMappingProvider()) + .jsonProvider(new GsonJsonProvider()) + .build(); + + private ParserUtils() { + } + public static String extractParam(String queryParam, String content) { Uri videoInfo = parseUri(content); String value = videoInfo.getQueryParameter(queryParam); @@ -52,19 +62,13 @@ public static DocumentContext createJsonInfoParser(T jsonInfo) { throw new IllegalStateException("Can't create parser. jsonInfo == null"); } - Configuration conf = Configuration - .builder() - .mappingProvider(new GsonMappingProvider()) - .jsonProvider(new GsonJsonProvider()) - .build(); - DocumentContext jsonPath; try { if (jsonInfo instanceof InputStream) { - jsonPath = JsonPath.using(conf).parse((InputStream) jsonInfo, "UTF-8"); + jsonPath = JsonPath.using(JSON_PATH_CONFIGURATION).parse((InputStream) jsonInfo); } else if (jsonInfo instanceof String) { - jsonPath = JsonPath.using(conf).parse((String) jsonInfo); + jsonPath = JsonPath.using(JSON_PATH_CONFIGURATION).parse((String) jsonInfo); } else { throw new IllegalStateException("Can't create parser. Unknown input type: " + jsonInfo.getClass().getSimpleName()); } @@ -110,8 +114,8 @@ private static T extractType(String jsonPath, DocumentContext parser) { return result; } - - public static void delete(String jsonPath, DocumentContext parser) { + + public static void delete(JsonPath jsonPath, DocumentContext parser) { try { parser.delete(jsonPath); } catch (PathNotFoundException e) { // NOTE: exception isn't thrown in some cases @@ -120,7 +124,7 @@ public static void delete(String jsonPath, DocumentContext parser) { } } - public static boolean exists(String jsonPath, DocumentContext parser) { + public static boolean exists(JsonPath jsonPath, DocumentContext parser) { boolean result; try { diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java index 63c59bac5..8a4162991 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java @@ -39,7 +39,8 @@ public WebResourceResponse process(String url) { WebResourceResponse result = null; - for (RequestInterceptor interceptor : mInterceptors) { + for (int i = 0; i < mInterceptors.size(); i++) { + RequestInterceptor interceptor = mInterceptors.get(i); if (interceptor.test(url)) { result = interceptor.intercept(url); diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/AdAwayInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/AdAwayInterceptor.java index 9b32dd217..704ac39f0 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/AdAwayInterceptor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/AdAwayInterceptor.java @@ -2,6 +2,7 @@ import android.content.Context; import android.webkit.WebResourceResponse; + import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.smartyoutubetv.CommonApplication; import com.liskovsoft.smartyoutubetv.interceptors.RequestInterceptor; @@ -29,11 +30,10 @@ public AdAwayInterceptor(Context context) { @Override public boolean test(String url) { - if (mClient.isAd(url)) { - return mAdBlockEnabled; - } else { - return false; + if (mAdBlockEnabled) { + return mClient.isAd(url); } + return false; } @Override diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/BrowseInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/BrowseInterceptor.java index 5601d218d..f4e834afb 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/BrowseInterceptor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/BrowseInterceptor.java @@ -3,11 +3,12 @@ import android.content.Context; import android.webkit.WebResourceResponse; +import com.liskovsoft.m3uparser.core.utils.Strings; import com.liskovsoft.sharedutils.helpers.AssetHelper; -import com.liskovsoft.sharedutils.helpers.Helpers; import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.smartyoutubetv.CommonApplication; import com.liskovsoft.smartyoutubetv.interceptors.RequestInterceptor; +import com.liskovsoft.smartyoutubetv.interceptors.ads.contentfilter.ReplacingInputStream; import com.liskovsoft.smartyoutubetv.misc.SmartUtils; import com.liskovsoft.smartyoutubetv.misc.UserAgentManager; import com.liskovsoft.smartyoutubetv.prefs.SmartPreferences; @@ -36,6 +37,7 @@ public class BrowseInterceptor extends RequestInterceptor { private boolean mIsXWalk; private boolean mIsAdBlockEnabled; private boolean mIsEnableVideoMenu; + private boolean mIsCompatibleSettings; public BrowseInterceptor(Context context) { super(context); @@ -44,6 +46,7 @@ public BrowseInterceptor(Context context) { mIsXWalk = SmartUtils.isXWalk(mContext); mIsAdBlockEnabled = mPrefs.isAdBlockEnabled(); mIsEnableVideoMenu = mPrefs.getEnableVideoMenu(); + mIsCompatibleSettings = mIsEnableVideoMenu || (mIsAdBlockEnabled && !mIsXWalk); initHeaders(); } @@ -57,7 +60,7 @@ private void initHeaders() { @Override public boolean test(String url) { - return url != null && url.contains(BROWSE_URL); + return mIsCompatibleSettings && (url != null && url.contains(BROWSE_URL)); } @Override @@ -82,7 +85,7 @@ private WebResourceResponse filterBannerData(String url) { String postData = mPrefs.getPostData(); - if (postData == null) { + if (Strings.isNullOrEmpty(postData)) { Log.e(TAG, "Post body is empty! Skipping url: " + url); return null; } @@ -97,34 +100,16 @@ private WebResourceResponse filterBannerData(String url) { InputStream urlData = postJsonData(url, postData, mHeaders); - WebResourceResponse response = null; - - if (Log.getLogType().equals(Log.LOG_TYPE_FILE) && urlData != null) { - String content = Helpers.toString(urlData); - Log.d(TAG, "Url: " + url + ". Post Data: " + postData + ". Response: " + content); - urlData = Helpers.toStream(content); - } - - if (urlData != null) { - Log.d(TAG, "Searching and removing tv masthead section..."); - JsonBrowseParser browseParser = JsonBrowseParser.parse(urlData); - - if (browseParser.removeMastHead()) { - Log.d(TAG, "Success. TV masthead has been removed."); - } else { - if (Log.getLogType().equals(Log.LOG_TYPE_FILE)) { - Log.d(TAG, "Oops. Response doesn't contain MustHead section. Url: " + url + ". Post Data: " + postData + ". Response: " + Helpers.toString(browseParser.toStream())); - } else { - Log.d(TAG, "Oops. Response doesn't contain MustHead section. Url: " + url + ". Post Data: " + postData); - } - } - - response = createResponse("application/json", null, browseParser.toStream()); - } else { + if (urlData == null) { Log.e(TAG, "Error. Response in empty. Url: " + url + ". Post Data: " + postData); + return null; } - return response; + Log.d(TAG, "Searching and removing tv masthead section..."); + + ReplacingInputStream replacingInputStream = new ReplacingInputStream(urlData, "tvMastheadRenderer", "broken-tvMastheadRend"); + + return createResponse("application/json", null, replacingInputStream); } private WebResourceResponse filterLongPressVideoMenu(String url) { diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/JsonBrowseParser.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/JsonBrowseParser.java index 81756d8c0..894e10ff5 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/JsonBrowseParser.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/JsonBrowseParser.java @@ -1,6 +1,7 @@ package com.liskovsoft.smartyoutubetv.interceptors.ads; import com.jayway.jsonpath.DocumentContext; +import com.jayway.jsonpath.JsonPath; import com.liskovsoft.sharedutils.helpers.Helpers; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.ParserUtils; @@ -9,7 +10,7 @@ public class JsonBrowseParser { // All objects with property 'tvMastheadRenderer' // ex: https://github.com/json-path/JsonPath - private static final String TV_MASTHEAD_SECTION_ANY = "$..[?(@.tvMastheadRenderer)]"; + private static final JsonPath TV_MASTHEAD_SECTION_ANY = JsonPath.compile("$..[?(@.tvMastheadRenderer)]"); private final DocumentContext mParser; diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStream.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStream.java index 257c1a681..7f699a8e3 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStream.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStream.java @@ -1,142 +1,63 @@ package com.liskovsoft.smartyoutubetv.interceptors.ads.contentfilter; -import androidx.core.util.Pair; -import com.liskovsoft.sharedutils.mylogger.Log; -import java.io.*; -import java.util.*; - -class ReplacingInputStream extends FilterInputStream { - private static final String TAG = ReplacingInputStream.class.getSimpleName(); - private LinkedList mInQueue = new LinkedList<>(); - private LinkedList mOutQueue = new LinkedList<>(); - private static String DEFAULT_ENCODING = "UTF-8"; - private final List mPairs; - - static class ReplacePair extends Pair { - public boolean matchFound; - - public ReplacePair(String first, String second) { - super(first, second); - } - } - - protected ReplacingInputStream(InputStream in, List pairs) { - super(in); - mPairs = pairs; - } - - private boolean isMatchFound() throws UnsupportedEncodingException { - Iterator inIter = mInQueue.iterator(); - - int maxLength = findMaxSearchLength(); - boolean matchFound = false; - - for (int i = 0; i < maxLength; i++) { - if (!inIter.hasNext()) { - break; - } - - Integer next = inIter.next(); - - for (ReplacePair pair : mPairs) { - if (i < pair.first.getBytes(DEFAULT_ENCODING).length && (pair.matchFound || i == 0)) { // NOTE: it's buggy because of different strings length - pair.matchFound = pair.first.getBytes(DEFAULT_ENCODING)[i] == next; - - if (pair.matchFound && (pair.first.getBytes(DEFAULT_ENCODING).length - 1) == i) { - matchFound = true; - break; - } - } - } - } - - return matchFound; - } - - private void readAhead() throws IOException { - // Work up some look-ahead. - int maxLength = findMaxSearchLength(); - while (mInQueue.size() < maxLength) { - int next = super.read(); - mInQueue.offer(next); - if (next == -1) { - break; - } - } - } - - private int findMaxSearchLength() throws UnsupportedEncodingException { - int length = 0; - - for (Pair pair : mPairs) { - if (pair.first.getBytes(DEFAULT_ENCODING).length > length) { - length = pair.first.getBytes(DEFAULT_ENCODING).length; - } - } - - return length; - } - - private int findMatchedSearchLength() throws UnsupportedEncodingException { - int length = 0; - - for (ReplacePair pair : mPairs) { - if (pair.matchFound) { - length = pair.first.getBytes(DEFAULT_ENCODING).length; - break; - } - } - - return length; - } - - private byte[] findReplacement() throws UnsupportedEncodingException { - byte[] result = null; - - for (ReplacePair pair : mPairs) { - if (pair.matchFound) { - result = pair.second.getBytes(DEFAULT_ENCODING); - break; - } - } - - return result; +import java.io.FilterInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; + +/** + * Simple FilterInputStream that can replace occurrances of bytes with something else. + */ +public class ReplacingInputStream extends FilterInputStream { + + // while matching, this is where the bytes go. + int[] buf = null; + int matchedIndex = 0; + int unbufferIndex = 0; + int replacedIndex = 0; + + private final byte[] pattern; + private final byte[] replacement; + private State state = State.NOT_MATCHED; + + // simple state machine for keeping track of what we are doing + private enum State { + NOT_MATCHED, + MATCHING, + REPLACING, + UNBUFFER } - @Override - public int read() throws IOException { - // Next byte already determined. - if (mOutQueue.isEmpty()) { - readAhead(); - - if (isMatchFound()) { - int matchedLength = findMatchedSearchLength(); - - for (int i = 0; i < matchedLength; i++) { - mInQueue.remove(); - } - - byte[] replacement = findReplacement(); - - for (byte b : replacement) { - mOutQueue.offer((int) b); - } - } else { - mOutQueue.add(mInQueue.remove()); - } - } - - return mOutQueue.remove(); + /** + * Replace occurances of pattern in the input. Note: input is assumed to be UTF-8 encoded. If not the case use byte[] based pattern and replacement. + * + * @param in input + * @param pattern pattern to replace. + * @param replacement the replacement or null + */ + public ReplacingInputStream(InputStream in, String pattern, String replacement) { + this(in, pattern.getBytes(StandardCharsets.UTF_8), replacement == null ? null : replacement.getBytes(StandardCharsets.UTF_8)); } - @Override - public int read(byte[] b) throws IOException { - return read(b, 0, b.length); + /** + * Replace occurances of pattern in the input. + * + * @param in input + * @param pattern pattern to replace + * @param replacement the replacement or null + */ + public ReplacingInputStream(InputStream in, byte[] pattern, byte[] replacement) { + super(in); + this.pattern = pattern; + this.replacement = replacement; + // we will never match more than the pattern length + buf = new int[pattern.length]; } @Override public int read(byte[] b, int off, int len) throws IOException { + // copy of parent logic; we need to call our own read() instead of super.read(), which delegates instead of calling our read if (b == null) { throw new NullPointerException(); } else if (off < 0 || len < 0 || len > b.length - off) { @@ -149,19 +70,108 @@ public int read(byte[] b, int off, int len) throws IOException { if (c == -1) { return -1; } - b[off] = (byte)c; + b[off] = (byte) c; int i = 1; try { - for (; i < len ; i++) { + for (; i < len; i++) { c = read(); if (c == -1) { break; } - b[off + i] = (byte)c; + b[off + i] = (byte) c; } } catch (IOException ee) { } return i; + } -} + + @Override + public int read(byte[] b) throws IOException { + // call our own read + return read(b, 0, b.length); + } + + @Override + public int read() throws IOException { + // use a simple state machine to figure out what we are doing + int next; + switch (state) { + case NOT_MATCHED: + // we are not currently matching, replacing, or unbuffering + next = super.read(); + if (pattern[0] == next) { + // clear whatever was there + buf = new int[pattern.length]; // clear whatever was there + // make sure we start at 0 + matchedIndex = 0; + + buf[matchedIndex++] = next; + if (pattern.length == 1) { + // edgecase when the pattern length is 1 we go straight to replacing + state = State.REPLACING; + // reset replace counter + replacedIndex = 0; + } else { + // pattern of length 1 + state = State.MATCHING; + } + // recurse to continue matching + return read(); + } else { + return next; + } + case MATCHING: + // the previous bytes matched part of the pattern + next = super.read(); + if (pattern[matchedIndex] == next) { + buf[matchedIndex++] = next; + if (matchedIndex == pattern.length) { + // we've found a full match! + if (replacement == null || replacement.length == 0) { + // the replacement is empty, go straight to NOT_MATCHED + state = State.NOT_MATCHED; + matchedIndex = 0; + } else { + // start replacing + state = State.REPLACING; + replacedIndex = 0; + } + } + } else { + // mismatch -> unbuffer + buf[matchedIndex++] = next; + state = State.UNBUFFER; + unbufferIndex = 0; + } + return read(); + case REPLACING: + // we've fully matched the pattern and are returning bytes from the replacement + next = replacement[replacedIndex++]; + if (replacedIndex == replacement.length) { + state = State.NOT_MATCHED; + replacedIndex = 0; + } + return next; + case UNBUFFER: + // we partially matched the pattern before encountering a non matching byte + // we need to serve up the buffered bytes before we go back to NOT_MATCHED + next = buf[unbufferIndex++]; + if (unbufferIndex == matchedIndex) { + state = State.NOT_MATCHED; + matchedIndex = 0; + } + return next; + + default: + throw new IllegalStateException("no such state " + state); + } + } + + @Override + public String toString() { + return state.name() + " " + matchedIndex + " " + replacedIndex + " " + unbufferIndex; + } + +} \ No newline at end of file diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/BrowserKeyTranslator.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/BrowserKeyTranslator.java index 333fb4497..a32b01268 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/BrowserKeyTranslator.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/BrowserKeyTranslator.java @@ -1,13 +1,28 @@ package com.liskovsoft.smartyoutubetv.misc.keyhandler; import android.view.KeyEvent; + import com.liskovsoft.smartyoutubetv.CommonApplication; import com.liskovsoft.smartyoutubetv.keytranslator.KeyTranslator; +import java.util.Collections; import java.util.HashMap; import java.util.Map; public class BrowserKeyTranslator extends KeyTranslator { + + private static Map KEY_MAPPING = new HashMap<>(); + + static { + KEY_MAPPING.put(KeyEvent.KEYCODE_BUTTON_B, KeyEvent.KEYCODE_ESCAPE); + KEY_MAPPING.put(KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_ESCAPE); + KEY_MAPPING.put(KeyEvent.KEYCODE_MENU, KeyEvent.KEYCODE_G); // menu to guide + KEY_MAPPING.put(KeyEvent.KEYCODE_NUMPAD_ENTER, KeyEvent.KEYCODE_ENTER); + KEY_MAPPING.put(KeyEvent.KEYCODE_BUTTON_A, KeyEvent.KEYCODE_ENTER); + KEY_MAPPING.put(KeyEvent.KEYCODE_BUTTON_Y, KeyEvent.KEYCODE_SEARCH); + KEY_MAPPING = Collections.unmodifiableMap(KEY_MAPPING); + } + public static KeyTranslator create() { if (CommonApplication.getPreferences().getAltPlayerMappingEnabled()) { return new AltMediaBrowserKeyTranslator(); @@ -18,14 +33,6 @@ public static KeyTranslator create() { @Override protected Map getKeyMapping() { - Map keyMapping = new HashMap<>(); - keyMapping.put(KeyEvent.KEYCODE_BUTTON_B, KeyEvent.KEYCODE_ESCAPE); - keyMapping.put(KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_ESCAPE); - keyMapping.put(KeyEvent.KEYCODE_MENU, KeyEvent.KEYCODE_G); // menu to guide - keyMapping.put(KeyEvent.KEYCODE_NUMPAD_ENTER, KeyEvent.KEYCODE_ENTER); - keyMapping.put(KeyEvent.KEYCODE_BUTTON_A, KeyEvent.KEYCODE_ENTER); - keyMapping.put(KeyEvent.KEYCODE_BUTTON_Y, KeyEvent.KEYCODE_SEARCH); - - return keyMapping; + return KEY_MAPPING; } } diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/MediaBrowserKeyTranslator.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/MediaBrowserKeyTranslator.java index 3297d486f..b0bac1596 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/MediaBrowserKeyTranslator.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/keyhandler/MediaBrowserKeyTranslator.java @@ -1,12 +1,42 @@ package com.liskovsoft.smartyoutubetv.misc.keyhandler; import android.view.KeyEvent; + import com.liskovsoft.smartyoutubetv.misc.SmartUtils; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; public class MediaBrowserKeyTranslator extends BrowserKeyTranslator { private static final String KEY_PRESS_MESSAGE = "key_press_message"; + private Map keyMapping; + + public MediaBrowserKeyTranslator() { + Map superkeyMapping = super.getKeyMapping(); + keyMapping = new HashMap<>(superkeyMapping); + // triggerEvent($('#watch'), 'keydown', 228); + // triggerEvent($('.scrubber'), 'keydown', 228); + + // FF + // triggerEvent($$('.focused'), 'keydown', 228); + + // P/P + // triggerEvent($$('.focused'), 'keyup', 179); + + // test + //keyMapping.put(KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_MEDIA_PLAY); + + // disable media keys + keyMapping.put(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, KeyEvent.KEYCODE_UNKNOWN); + keyMapping.put(KeyEvent.KEYCODE_MEDIA_PLAY, KeyEvent.KEYCODE_UNKNOWN); + keyMapping.put(KeyEvent.KEYCODE_MEDIA_STOP, KeyEvent.KEYCODE_UNKNOWN); + keyMapping.put(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD, KeyEvent.KEYCODE_UNKNOWN); + keyMapping.put(KeyEvent.KEYCODE_MEDIA_REWIND, KeyEvent.KEYCODE_UNKNOWN); + keyMapping.put(KeyEvent.KEYCODE_MEDIA_NEXT, KeyEvent.KEYCODE_UNKNOWN); + keyMapping.put(KeyEvent.KEYCODE_MEDIA_PREVIOUS, KeyEvent.KEYCODE_UNKNOWN); + keyMapping = Collections.unmodifiableMap(keyMapping); + } @Override public KeyEvent doTranslateKeys(KeyEvent event) { @@ -43,29 +73,6 @@ private void sendMessage(String keyCode, KeyEvent event) { @Override protected Map getKeyMapping() { - Map keyMapping = super.getKeyMapping(); - - // triggerEvent($('#watch'), 'keydown', 228); - // triggerEvent($('.scrubber'), 'keydown', 228); - - // FF - // triggerEvent($$('.focused'), 'keydown', 228); - - // P/P - // triggerEvent($$('.focused'), 'keyup', 179); - - // test - //keyMapping.put(KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_MEDIA_PLAY); - - // disable media keys - keyMapping.put(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, KeyEvent.KEYCODE_UNKNOWN); - keyMapping.put(KeyEvent.KEYCODE_MEDIA_PLAY, KeyEvent.KEYCODE_UNKNOWN); - keyMapping.put(KeyEvent.KEYCODE_MEDIA_STOP, KeyEvent.KEYCODE_UNKNOWN); - keyMapping.put(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD, KeyEvent.KEYCODE_UNKNOWN); - keyMapping.put(KeyEvent.KEYCODE_MEDIA_REWIND, KeyEvent.KEYCODE_UNKNOWN); - keyMapping.put(KeyEvent.KEYCODE_MEDIA_NEXT, KeyEvent.KEYCODE_UNKNOWN); - keyMapping.put(KeyEvent.KEYCODE_MEDIA_PREVIOUS, KeyEvent.KEYCODE_UNKNOWN); - return keyMapping; } } diff --git a/smartyoutubetv/src/test/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStreamTest.java b/smartyoutubetv/src/test/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStreamTest.java index a44563842..7d331277e 100644 --- a/smartyoutubetv/src/test/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStreamTest.java +++ b/smartyoutubetv/src/test/java/com/liskovsoft/smartyoutubetv/interceptors/ads/contentfilter/ReplacingInputStreamTest.java @@ -2,7 +2,7 @@ import com.liskovsoft.sharedutils.TestHelpers; import com.liskovsoft.sharedutils.helpers.Helpers; -import com.liskovsoft.smartyoutubetv.interceptors.ads.contentfilter.ReplacingInputStream.ReplacePair; + import org.junit.Before; import org.junit.Test; @@ -22,7 +22,7 @@ public void setUp() { @Test public void replacementTest() { - InputStream ris = new ReplacingInputStream(mMainJSOrigin, new ReplacePair("tvMastheadRenderer", "tvMastheadRendererOld")); + InputStream ris = new ReplacingInputStream(mMainJSOrigin, "tvMastheadRenderer".getBytes(), "tvMastheadRendererOld".getBytes()); assertEquals(TestHelpers.unescapeJavaString(Helpers.toString(mMainJSResult)), TestHelpers.unescapeJavaString(Helpers.toString(ris))); } } \ No newline at end of file From 551d2d5881b7a7fe6000a665783bcaf486373c40 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Sat, 9 May 2020 21:35:14 +0300 Subject: [PATCH 02/24] bump to 6.17.563 --- smartyoutubetv/build.gradle | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index 50ee21c1d..8bf5d2b1d 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1142 - versionName "6.17.562" + versionCode 1143 + versionName "6.17.563" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" @@ -88,6 +88,10 @@ android { orig { matchingFallbacks = ['lite'] } + experiments { + matchingFallbacks = ['lite'] + applicationIdSuffix ".experiments" + } // Vtesting { // matchingFallbacks = ['lite'] // applicationIdSuffix ".testing" @@ -170,6 +174,9 @@ android { orig { java.srcDirs('src/commonSrc/crashHandler/java') } + experiments { + java.srcDirs('src/commonSrc/crashHandler/java') + } // Vtesting { // java.srcDirs = commonDirs // } From c8ab284149fbc299ce677d313972626dd0d60a88 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Sat, 9 May 2020 22:21:43 +0300 Subject: [PATCH 03/24] bump to 6.17.564 --- common/src/main/assets/service.properties | 5 +---- smartyoutubetv/build.gradle | 4 ++-- smartyoutubetv/src/main/AndroidManifest.xml | 2 +- .../dialogtweaks/TweaksDialogSource.java | 4 ++-- .../res/mipmap-nodpi/ic_launcher_main.png | Bin 13219 -> 6727 bytes .../res/mipmap-nodpi/ic_launcher_main2.png | Bin 0 -> 13219 bytes smartyoutubetv/src/orig/AndroidManifest.xml | 2 +- 7 files changed, 7 insertions(+), 10 deletions(-) create mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png diff --git a/common/src/main/assets/service.properties b/common/src/main/assets/service.properties index 5a9294e1e..f02d916b7 100644 --- a/common/src/main/assets/service.properties +++ b/common/src/main/assets/service.properties @@ -5,7 +5,4 @@ music_page_url = https://www.youtube.com/tv#/surface?c=FEtopics¶ms=-gIFbXVza subscriptions_page_url = https://www.youtube.com/tv#/surface?c=FEsubscriptions history_page_url = https://www.youtube.com/tv#/surface?c=FEmy_youtube watch_later_page_url = https://www.youtube.com/tv#/surface?c=FEmy_youtube¶ms=cAc%253D&resume -stable_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/stable/smartyoutubetv.json -# drive links are broken because of virus protection on Android 8 -# stable_urls.gdrive = https://drive.google.com/uc?id=0ByORA7yiJiQXSGFqUURSUTlmVWc -beta_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/beta/smartyoutubetv.json \ No newline at end of file +stable_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/experiments/smartyoutubetv.json \ No newline at end of file diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index 8bf5d2b1d..68f52fd48 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1143 - versionName "6.17.563" + versionCode 1144 + versionName "6.17.564" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" diff --git a/smartyoutubetv/src/main/AndroidManifest.xml b/smartyoutubetv/src/main/AndroidManifest.xml index 738a63c29..14d19f46b 100644 --- a/smartyoutubetv/src/main/AndroidManifest.xml +++ b/smartyoutubetv/src/main/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main" + android:icon="@mipmap/ic_launcher_main2" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/bootstrap/dialogtweaks/TweaksDialogSource.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/bootstrap/dialogtweaks/TweaksDialogSource.java index 255a7a83f..1f4655498 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/bootstrap/dialogtweaks/TweaksDialogSource.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/bootstrap/dialogtweaks/TweaksDialogSource.java @@ -51,8 +51,8 @@ public TweaksDialogSource(Context context) { mItems = new ArrayList<>(); //mItems.add(new UseNewUIDialogItem(mContext)); mItems.add(new SaveSelectionDialogItem(mContext)); - mItems.add(new UpdateCheckDialogItem(mContext)); - mItems.add(new BetaUpdateCheckDialogItem(mContext)); + //mItems.add(new UpdateCheckDialogItem(mContext)); + //mItems.add(new BetaUpdateCheckDialogItem(mContext)); //mItems.add(new EndCardsDialogItem(mContext)); mItems.add(new LogToFileDialogItem(mContext)); //mItems.add(new UnplayableVideoFixDialogItem(mContext)); diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png index ff929cad14c752a15bd2f358a46e4536f5d8cb70..56630ab15600f99f282a68756f36addce914468e 100644 GIT binary patch literal 6727 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 literal 13219 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png new file mode 100644 index 0000000000000000000000000000000000000000..ff929cad14c752a15bd2f358a46e4536f5d8cb70 GIT binary patch literal 13219 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 literal 0 HcmV?d00001 diff --git a/smartyoutubetv/src/orig/AndroidManifest.xml b/smartyoutubetv/src/orig/AndroidManifest.xml index 60ce1b8c7..aa031cd21 100644 --- a/smartyoutubetv/src/orig/AndroidManifest.xml +++ b/smartyoutubetv/src/orig/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main" + android:icon="@mipmap/ic_launcher_main2" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" From a543bdcc5865ff169ce2a593833cdeb0915c5fd7 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Sat, 9 May 2020 22:27:55 +0300 Subject: [PATCH 04/24] bump to 6.17.565 --- smartyoutubetv/build.gradle | 4 +- .../src/experiments/AndroidManifest.xml | 189 ++++++++++++++++++ .../misc/appstatewatcher/AppStateWatcher.java | 33 +++ .../handlers/AdBlockPermissionsHandler.java | 56 ++++++ .../experiments/res/xml/smart_preferences.xml | 4 + .../src/experiments/res/xml/whisperplay.xml | 9 + .../misc/appstatewatcher/AppStateWatcher.java | 1 - 7 files changed, 293 insertions(+), 3 deletions(-) create mode 100644 smartyoutubetv/src/experiments/AndroidManifest.xml create mode 100644 smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java create mode 100644 smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/AdBlockPermissionsHandler.java create mode 100644 smartyoutubetv/src/experiments/res/xml/smart_preferences.xml create mode 100644 smartyoutubetv/src/experiments/res/xml/whisperplay.xml diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index 68f52fd48..74b49cea2 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1144 - versionName "6.17.564" + versionCode 1145 + versionName "6.17.565" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" diff --git a/smartyoutubetv/src/experiments/AndroidManifest.xml b/smartyoutubetv/src/experiments/AndroidManifest.xml new file mode 100644 index 000000000..aa031cd21 --- /dev/null +++ b/smartyoutubetv/src/experiments/AndroidManifest.xml @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java new file mode 100644 index 000000000..597d0b081 --- /dev/null +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -0,0 +1,33 @@ +package com.liskovsoft.smartyoutubetv.misc.appstatewatcher; + +import com.liskovsoft.smartyoutubetv.flavors.common.FragmentManagerActivity; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVYouTubeBridgeHandler; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AdBlockPermissionsHandler; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AmazonYouTubeBridgeHandler; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ApkUpdaterHandler; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.BackupAndRestoreHandler; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.CacheCleanHandler; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.LoadingCheckHandler; + +public class AppStateWatcher extends AppStateWatcherBase { + public AppStateWatcher(FragmentManagerActivity context) { + super(context); + + // Don't enable! Old ui may popup sometimes + //addHandler(new ForceNewUIHandler(context)); + + addHandler(new AdBlockPermissionsHandler(context, this)); + + addHandler(new ApkUpdaterHandler(context, this)); + + addHandler(new ATVYouTubeBridgeHandler(context, this)); + addHandler(new AmazonYouTubeBridgeHandler(context, this)); + + addHandler(new LoadingCheckHandler(context)); + + addHandler(new CacheCleanHandler(context)); + + addHandler(new BackupAndRestoreHandler(context, this)); + } + +} diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/AdBlockPermissionsHandler.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/AdBlockPermissionsHandler.java new file mode 100644 index 000000000..7749eddaf --- /dev/null +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/AdBlockPermissionsHandler.java @@ -0,0 +1,56 @@ +package com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import com.liskovsoft.sharedutils.dialogs.YesNoDialog; +import com.liskovsoft.smartyoutubetv.CommonApplication; +import com.liskovsoft.smartyoutubetv.R; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.AppStateWatcherBase; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.AppStateWatcherBase.StateHandler; +import com.liskovsoft.smartyoutubetv.prefs.SmartPreferences; + +public class AdBlockPermissionsHandler extends StateHandler implements OnClickListener { + private final SmartPreferences mPrefs; + private final Context mContext; + private final AppStateWatcherBase mAppStateWatcher; + + public AdBlockPermissionsHandler(Context context, AppStateWatcherBase appStateWatcher) { + mAppStateWatcher = appStateWatcher; + mPrefs = CommonApplication.getPreferences(); + mContext = context; + } + + @Override + public void onInit() { + mAppStateWatcher.addRunAfterLock(this::runDialog); + } + + private void runDialog() { + boolean undefined = SmartPreferences.AD_BLOCK_UNDEFINED.equals(mPrefs.getAdBlockStatus()); + if (undefined) { + showPermissionsDialog(); + } + } + + private void showPermissionsDialog() { + mAppStateWatcher.setLock(true); + YesNoDialog.create(mContext, R.string.ad_blocking_permissions, this, R.style.AppDialog); + } + + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: + //Yes button clicked + mPrefs.setAdBlockStatus(SmartPreferences.AD_BLOCK_ENABLED); + break; + + case DialogInterface.BUTTON_NEGATIVE: + //No button clicked + mPrefs.setAdBlockStatus(SmartPreferences.AD_BLOCK_DISABLED); + break; + } + mAppStateWatcher.setLock(false); + } +} diff --git a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml new file mode 100644 index 000000000..5f3f92fa8 --- /dev/null +++ b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/smartyoutubetv/src/experiments/res/xml/whisperplay.xml b/smartyoutubetv/src/experiments/res/xml/whisperplay.xml new file mode 100644 index 000000000..82840c9cf --- /dev/null +++ b/smartyoutubetv/src/experiments/res/xml/whisperplay.xml @@ -0,0 +1,9 @@ + + + + + YouTube + android.intent.action.MAIN + + + \ No newline at end of file diff --git a/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java index f9ff649a6..0921d09d5 100644 --- a/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java +++ b/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -1,7 +1,6 @@ package com.liskovsoft.smartyoutubetv.misc.appstatewatcher; import com.liskovsoft.smartyoutubetv.flavors.common.FragmentManagerActivity; -import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVChannelsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVYouTubeBridgeHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AdBlockPermissionsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AmazonYouTubeBridgeHandler; From 5ad01ac5d5c0049ed21dd6f75b532aadc499f4ba Mon Sep 17 00:00:00 2001 From: selectee Date: Sun, 10 May 2020 13:20:51 +0300 Subject: [PATCH 05/24] Remove multiple pattern compilation --- .../youtubeinfoparser/misc/DecipherUtils.java | 11 ++++---- .../mpd/OtfSegmentParser.java | 13 +++++---- .../mpd/SimpleMPDBuilder.java | 27 ++++++++++--------- .../LegacyMainScriptManagerInterceptor.java | 13 ++++++--- .../misc/myquerystring/MyPathQueryString.java | 5 +++- .../misc/appstatewatcher/AppStateWatcher.java | 2 +- 6 files changed, 40 insertions(+), 31 deletions(-) diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/misc/DecipherUtils.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/misc/DecipherUtils.java index c54a29c23..88092c09e 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/misc/DecipherUtils.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/misc/DecipherUtils.java @@ -12,17 +12,16 @@ */ public class DecipherUtils { // Don't remove var part! It is used inside the decipher function. - private static final String decipherPattern = - "var [_$A-Za-z]{2}=\\{.*\\n.*\\n.*\\nfunction [_$A-Za-z]{2}\\(a\\)\\{.*a\\.split\\(\"\"\\).*;return a\\.join\\(\"\"\\)\\}"; + private static final Pattern DECIPHER_PATTERN = Pattern.compile( + "var [_$A-Za-z]{2}=\\{.*\\n.*\\n.*\\nfunction [_$A-Za-z]{2}\\(a\\)\\{.*a\\.split\\(\"\"\\).*;return a\\.join\\(\"\"\\)\\}"); + private static final Pattern FUNCTION_PATTERN = Pattern.compile("function [_$A-Za-z]{2}"); public static String extractDecipherCode(InputStream is) { Scanner scanner = new Scanner(is); - Pattern regex = Pattern.compile(decipherPattern); - String jsCode = scanner.findWithinHorizon(regex, 0); + String jsCode = scanner.findWithinHorizon(DECIPHER_PATTERN, 0); if (jsCode == null) { return null; } - String cleaned = jsCode.replaceFirst("function [_$A-Za-z]{2}", "function decipherSignature"); - return cleaned; + return FUNCTION_PATTERN.matcher(jsCode).replaceFirst("function decipherSignature"); } } diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/OtfSegmentParser.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/OtfSegmentParser.java index d31c274fa..34e0a865c 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/OtfSegmentParser.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/OtfSegmentParser.java @@ -2,7 +2,6 @@ import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.sharedutils.okhttp.OkHttpHelpers; -import okhttp3.Response; import java.io.BufferedReader; import java.io.IOException; @@ -13,8 +12,12 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import okhttp3.Response; + public class OtfSegmentParser { private static final String TAG = OtfSegmentParser.class.getSimpleName(); + private static final Pattern SEGMENT_PATTERN = Pattern.compile("Segment-Durations-Ms: (.*)"); + private static final Pattern DIGIT_PATTERN = Pattern.compile("\\d+"); private final boolean mCached; private List mCachedSegments; private boolean mAlreadyParsed; @@ -77,12 +80,10 @@ private List parseInt(Reader stream) { BufferedReader bufferedReader = new BufferedReader(stream); - Pattern segmentPattern = Pattern.compile("Segment-Durations-Ms: (.*)"); - try { String currentLine; while ((currentLine = bufferedReader.readLine()) != null) { - Matcher segmentPatternMatcher = segmentPattern.matcher(currentLine); + Matcher segmentPatternMatcher = SEGMENT_PATTERN.matcher(currentLine); if (segmentPatternMatcher.matches()) { result = splitToSegments(segmentPatternMatcher.group(1)); break; @@ -107,10 +108,8 @@ private List splitToSegments(String rawString) { if (rawString != null) { String[] split = rawString.split(","); // Sample to match: '5120(r=192)' or '5120' - Pattern segmentPattern = Pattern.compile("\\d+"); - for (String item : split) { - Matcher segmentPatternMatcher = segmentPattern.matcher(item); + Matcher segmentPatternMatcher = DIGIT_PATTERN.matcher(item); int findNum = 0; OtfSegment segment = new OtfSegment(); diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/SimpleMPDBuilder.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/SimpleMPDBuilder.java index 6d6bd564c..b20d11886 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/SimpleMPDBuilder.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/youtubeinfoparser/mpd/SimpleMPDBuilder.java @@ -1,17 +1,19 @@ package com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.mpd; import android.util.Xml; + import com.liskovsoft.sharedutils.helpers.FileHelpers; +import com.liskovsoft.sharedutils.helpers.Helpers; import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.misc.ITag; -import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.mpd.OtfSegmentParser.OtfSegment; -import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.JsonInfoParser.Subtitle; -import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.YouTubeMediaParser.GenericInfo; -import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.JsonInfoParser.MediaItem; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.misc.MediaItemComparator; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.misc.MediaItemUtils; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.misc.SimpleYouTubeGenericInfo; -import com.liskovsoft.sharedutils.helpers.Helpers; +import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.mpd.OtfSegmentParser.OtfSegment; +import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.JsonInfoParser.MediaItem; +import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.JsonInfoParser.Subtitle; +import com.liskovsoft.smartyoutubetv.flavors.exoplayer.youtubeinfoparser.parsers.YouTubeMediaParser.GenericInfo; + import org.xmlpull.v1.XmlSerializer; import java.io.IOException; @@ -35,6 +37,7 @@ public class SimpleMPDBuilder implements MPDBuilder { private static final String NULL_INDEX_RANGE = "0-0"; private static final String NULL_CONTENT_LENGTH = "0"; private static final String TAG = SimpleMPDBuilder.class.getSimpleName(); + private static final Pattern CODECS_PATTERN = Pattern.compile(".*codecs=\\\"(.*)\\\""); private final GenericInfo mInfo; private final boolean mVLCFix; private XmlSerializer mXmlSerializer; @@ -299,7 +302,7 @@ private void writeMediaListPrologue(String id, String mimeType) { attribute("", "value", "main"); endTag("", "Role"); } - + private void writeMediaListPrologue(Subtitle sub) { String id = String.valueOf(mId++); @@ -374,7 +377,7 @@ private String extractMimeType(MediaItem item) { String codecs = extractCodecs(item); if (codecs.startsWith("vorbis") || - codecs.startsWith("opus")) { + codecs.startsWith("opus")) { return MIME_WEBM_AUDIO; } @@ -432,7 +435,7 @@ private void writeMediaItemTag(MediaItem item) { } else if (item.getSegmentUrlList() != null) { writeSegmentList(item); } else if (item.getIndex() != null && - !item.getIndex().equals(NULL_INDEX_RANGE)) { // json format fix: index is null + !item.getIndex().equals(NULL_INDEX_RANGE)) { // json format fix: index is null writeSegmentBase(item); } @@ -528,8 +531,7 @@ private XmlSerializer text(String url) { private String extractCodecs(MediaItem item) { // input example: video/mp4;+codecs="avc1.640033" - Pattern pattern = Pattern.compile(".*codecs=\\\"(.*)\\\""); - Matcher matcher = pattern.matcher(item.getType()); + Matcher matcher = CODECS_PATTERN.matcher(item.getType()); matcher.find(); return matcher.group(1); } @@ -541,6 +543,7 @@ private String extractCodecs(MediaItem item) { * "http://example.com?dur=544.99&key=val&key2=val2" *
* "http://example.com/dur/544.99/key/val/key2/val2" + * * @return duration as string */ private String extractDurationFromTrack() { @@ -627,7 +630,7 @@ private boolean isLive() { private boolean isLiveMedia(MediaItem item) { boolean isLive = item.getUrl().contains("live=1") || - item.getUrl().contains("yt_live_broadcast"); + item.getUrl().contains("yt_live_broadcast"); return isLive; } @@ -665,7 +668,7 @@ private void writeOtfSegmentTemplateOld(MediaItem item) { endTag("", "SegmentTemplate"); } - + private void writeOtfSegmentTemplate(MediaItem item) { // // diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/LegacyMainScriptManagerInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/LegacyMainScriptManagerInterceptor.java index ca3897adc..d85d4260c 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/LegacyMainScriptManagerInterceptor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/LegacyMainScriptManagerInterceptor.java @@ -1,15 +1,20 @@ package com.liskovsoft.smartyoutubetv.interceptors.scripts; import android.content.Context; + import com.liskovsoft.sharedutils.helpers.Helpers; +import java.util.regex.Pattern; + +import static java.util.regex.Pattern.compile; + /** - * Legacy devices + * Legacy devices */ public class LegacyMainScriptManagerInterceptor extends MainScriptManagerInterceptor { - private static final String[] BASE_SCRIPT_REGEX = {"youtube.com/s/_/kabuki_legacy/_/js/.*/m=base$"}; - private static final String[] MAIN_SCRIPT_REGEX = {"youtube.com/s/_/kabuki_legacy/_/js/.*/m=main$"}; - private static final String[] MAIN_STYLE_REGEX = {"youtube.com/s/_/kabuki_legacy/_/ss/.*"}; + private static final Pattern[] BASE_SCRIPT_REGEX = {compile("youtube.com/s/_/kabuki_legacy/_/js/.*/m=base$")}; + private static final Pattern[] MAIN_SCRIPT_REGEX = {compile("youtube.com/s/_/kabuki_legacy/_/js/.*/m=main$")}; + private static final Pattern[] MAIN_STYLE_REGEX = {compile("youtube.com/s/_/kabuki_legacy/_/ss/.*")}; public LegacyMainScriptManagerInterceptor(Context context) { super(context); diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/myquerystring/MyPathQueryString.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/myquerystring/MyPathQueryString.java index da0024397..30f52191a 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/myquerystring/MyPathQueryString.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/myquerystring/MyPathQueryString.java @@ -1,6 +1,7 @@ package com.liskovsoft.smartyoutubetv.misc.myquerystring; import androidx.annotation.NonNull; + import com.liskovsoft.sharedutils.helpers.Helpers; import java.util.regex.Matcher; @@ -11,6 +12,8 @@ * Regex: \/key\/([^\/]*) */ public class MyPathQueryString implements MyQueryString { + private static final Pattern VALIDATION_PATTERN_1 = Pattern.compile("^[^&=]*$"); + private static final Pattern VALIDATION_PATTERN_2 = Pattern.compile("\\/[^\\/]+\\/[^\\/]+"); private String mUrl; public MyPathQueryString(String url) { @@ -108,7 +111,7 @@ public boolean isValid() { return false; } - return Helpers.matchAll(mUrl, "^[^&=]*$", "\\/[^\\/]+\\/[^\\/]+"); + return Helpers.matchAll(mUrl, VALIDATION_PATTERN_1, VALIDATION_PATTERN_2); } @Override diff --git a/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java index 0921d09d5..677441588 100644 --- a/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java +++ b/smartyoutubetv/src/orig/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -1,13 +1,13 @@ package com.liskovsoft.smartyoutubetv.misc.appstatewatcher; import com.liskovsoft.smartyoutubetv.flavors.common.FragmentManagerActivity; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVChannelsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVYouTubeBridgeHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AdBlockPermissionsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AmazonYouTubeBridgeHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ApkUpdaterHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.BackupAndRestoreHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.CacheCleanHandler; -import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ForceNewUIHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.LoadingCheckHandler; public class AppStateWatcher extends AppStateWatcherBase { From 79d63de142e5e466eaaadf80dae41d574f306d50 Mon Sep 17 00:00:00 2001 From: selectee Date: Sun, 10 May 2020 14:05:39 +0300 Subject: [PATCH 06/24] Add state of loading scripts --- .../scripts/ScriptManagerInterceptor.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/ScriptManagerInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/ScriptManagerInterceptor.java index cb77b22b9..b40bfbdc4 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/ScriptManagerInterceptor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/scripts/ScriptManagerInterceptor.java @@ -13,6 +13,7 @@ import com.liskovsoft.smartyoutubetv.webscripts.ScriptManager; import java.io.InputStream; +import java.util.BitSet; import okhttp3.Response; import okhttp3.ResponseBody; @@ -22,6 +23,13 @@ public abstract class ScriptManagerInterceptor extends RequestInterceptor { private final ScriptManager mManager; private final ContentFilter mFilter; private boolean mFirstScriptDone; + private final BitSet mState = new BitSet(4); + private final static BitSet DONE_STATE = new BitSet(4); + private boolean mIsScriptsLoad = false; + + static { + DONE_STATE.set(1, 5); + } public ScriptManagerInterceptor(Context context) { super(context); @@ -32,6 +40,9 @@ public ScriptManagerInterceptor(Context context) { @Override public boolean test(String url) { + if (mIsScriptsLoad) { + return false; + } if (isFirstScript(url)) { return true; } @@ -69,6 +80,7 @@ public WebResourceResponse intercept(String url) { mFirstScriptDone = true; result = mFilter.filterFirstScript(result); } else if (isSecondScript(url)) { + syncState(4); result = mFilter.filterSecondScript(result); } else if (isLastScript(url)) { if (!mFirstScriptDone) { @@ -87,6 +99,7 @@ public WebResourceResponse intercept(String url) { @Nullable private InputStream applyInit(InputStream result) { + syncState(1); Log.d(TAG, "Begin onInitScripts"); InputStream onInitScripts = mManager.getOnInitScripts(); Log.d(TAG, "End onInitScripts"); @@ -96,6 +109,7 @@ private InputStream applyInit(InputStream result) { @Nullable private InputStream applyLoad(InputStream result) { + syncState(2); Log.d(TAG, "Begin onLoadScript"); InputStream onLoadScripts = mManager.getOnLoadScripts(); Log.d(TAG, "End onLoadScript"); @@ -105,6 +119,7 @@ private InputStream applyLoad(InputStream result) { @Nullable private InputStream applyStyles(InputStream result) { + syncState(3); Log.d(TAG, "Begin onStyles"); InputStream styles = mManager.getStyles(); Log.d(TAG, "End onStyles"); @@ -112,6 +127,13 @@ private InputStream applyStyles(InputStream result) { return result; } + private void syncState(int state) { + mState.set(state); + if (DONE_STATE.equals(mState)) { + mIsScriptsLoad = true; + } + } + protected abstract boolean isFirstScript(String url); protected abstract boolean isSecondScript(String url); From d88148d829b7b117b2fac31a5ecb0039dc46d631 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Sun, 10 May 2020 14:40:26 +0300 Subject: [PATCH 07/24] repo sync --- SharedUtils | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SharedUtils b/SharedUtils index bb45ca575..01eaf49c4 160000 --- a/SharedUtils +++ b/SharedUtils @@ -1 +1 @@ -Subproject commit bb45ca575228dab0909f81f434793ed553379c67 +Subproject commit 01eaf49c4c58a83d0e99eb7f8d360c702efe0a7e From dcaa5d20cae4616ae61de2ce3b189381f7fa6405 Mon Sep 17 00:00:00 2001 From: Wagg13 <57603689+WaggBR@users.noreply.github.com> Date: Sun, 10 May 2020 15:19:16 -0300 Subject: [PATCH 08/24] Update languages.xml --- common/src/main/res/values/languages.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/common/src/main/res/values/languages.xml b/common/src/main/res/values/languages.xml index 3b5fe66f7..32a9c9b24 100644 --- a/common/src/main/res/values/languages.xml +++ b/common/src/main/res/values/languages.xml @@ -10,6 +10,7 @@ Arabic|ar Hebrew|he Spanish|es + Português Brasileiro|pt_BR Français|fr Nederlands|nl Czech|cs From bda4790798a76498c69f0c261b9ea2b35662a00a Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 17:12:34 -0700 Subject: [PATCH 09/24] experiments icon fix --- .../src/experiments/AndroidManifest.xml | 2 +- smartyoutubetv/src/main/AndroidManifest.xml | 2 +- .../res/mipmap-nodpi/ic_banner_main_new.png | Bin 11963 -> 0 bytes .../res/mipmap-nodpi/ic_banner_main_old1.png | Bin 13181 -> 0 bytes .../main/res/mipmap-nodpi/ic_launcher_main2.png | Bin 13219 -> 0 bytes .../res/mipmap-nodpi/ic_launcher_main_old1.png | Bin 25672 -> 0 bytes smartyoutubetv/src/orig/AndroidManifest.xml | 2 +- 7 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_new.png delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_old1.png delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main_old1.png diff --git a/smartyoutubetv/src/experiments/AndroidManifest.xml b/smartyoutubetv/src/experiments/AndroidManifest.xml index aa031cd21..60ce1b8c7 100644 --- a/smartyoutubetv/src/experiments/AndroidManifest.xml +++ b/smartyoutubetv/src/experiments/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main2" + android:icon="@mipmap/ic_launcher_main" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" diff --git a/smartyoutubetv/src/main/AndroidManifest.xml b/smartyoutubetv/src/main/AndroidManifest.xml index 14d19f46b..738a63c29 100644 --- a/smartyoutubetv/src/main/AndroidManifest.xml +++ b/smartyoutubetv/src/main/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main2" + android:icon="@mipmap/ic_launcher_main" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_new.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_new.png deleted file mode 100644 index 9bf9a38d4394ef8d559db208d0661331681b0bb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11963 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_old1.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_old1.png deleted file mode 100644 index 9d3ccd49310b91d97bf8e7b823eb064aca8e7282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13181 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png deleted file mode 100644 index ff929cad14c752a15bd2f358a46e4536f5d8cb70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13219 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main_old1.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main_old1.png deleted file mode 100644 index 0d8111e1c45b553284b4f9043155cda4b8585d6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25672 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 diff --git a/smartyoutubetv/src/orig/AndroidManifest.xml b/smartyoutubetv/src/orig/AndroidManifest.xml index aa031cd21..60ce1b8c7 100644 --- a/smartyoutubetv/src/orig/AndroidManifest.xml +++ b/smartyoutubetv/src/orig/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main2" + android:icon="@mipmap/ic_launcher_main" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" From c489180b66908693b80d922991dbd843e6347914 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 17:15:24 -0700 Subject: [PATCH 10/24] experiments default settings --- .../misc/appstatewatcher/AppStateWatcher.java | 6 ------ .../src/experiments/res/xml/smart_preferences.xml | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java index 597d0b081..6dc8c1fe7 100644 --- a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -13,16 +13,10 @@ public class AppStateWatcher extends AppStateWatcherBase { public AppStateWatcher(FragmentManagerActivity context) { super(context); - // Don't enable! Old ui may popup sometimes - //addHandler(new ForceNewUIHandler(context)); - addHandler(new AdBlockPermissionsHandler(context, this)); addHandler(new ApkUpdaterHandler(context, this)); - addHandler(new ATVYouTubeBridgeHandler(context, this)); - addHandler(new AmazonYouTubeBridgeHandler(context, this)); - addHandler(new LoadingCheckHandler(context)); addHandler(new CacheCleanHandler(context)); diff --git a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml index 5f3f92fa8..ee3a31f25 100644 --- a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml +++ b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file From 3e0e9a334c49c677d35f56ee67d548f3235db0c2 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 17:18:16 -0700 Subject: [PATCH 11/24] experiments icon fix2 --- .../res/mipmap-nodpi/ic_banner_main.png | Bin 0 -> 11013 bytes .../res/mipmap-nodpi/ic_launcher_main.png | Bin 0 -> 6727 bytes .../res/mipmap-nodpi/ic_launcher_main.png | Bin 6727 -> 4294 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png create mode 100644 smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_launcher_main.png diff --git a/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png b/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png new file mode 100644 index 0000000000000000000000000000000000000000..aca9436ab6d90804b0da6d72766802e2d8d0dcd1 GIT binary patch literal 11013 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 V#0z!|{I3;ER#HKtO3cvz{{ZBvOYr~z literal 0 HcmV?d00001 diff --git a/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_launcher_main.png new file mode 100644 index 0000000000000000000000000000000000000000..56630ab15600f99f282a68756f36addce914468e GIT binary patch literal 6727 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 literal 0 HcmV?d00001 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png index 56630ab15600f99f282a68756f36addce914468e..141081f8631624f6825de421072ff17b1301421a 100644 GIT binary patch literal 4294 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 literal 6727 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 From 8f219dbe402bba05b17925b6df4bac9c7c3cede1 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 18:21:13 -0700 Subject: [PATCH 12/24] experiments icon fix: fin --- .../res/mipmap-nodpi/ic_banner_main.png | Bin 11013 -> 7065 bytes .../src/experiments/res/values/strings.xml | 3 +++ .../res/mipmap-nodpi/ic_launcher_main.png | Bin 4294 -> 13219 bytes 3 files changed, 3 insertions(+) create mode 100644 smartyoutubetv/src/experiments/res/values/strings.xml diff --git a/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png b/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png index aca9436ab6d90804b0da6d72766802e2d8d0dcd1..04baba37339e092e8cd0838cf3103cf6c2c08472 100644 GIT binary patch literal 7065 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 literal 11013 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 V#0z!|{I3;ER#HKtO3cvz{{ZBvOYr~z diff --git a/smartyoutubetv/src/experiments/res/values/strings.xml b/smartyoutubetv/src/experiments/res/values/strings.xml new file mode 100644 index 000000000..554ac81ad --- /dev/null +++ b/smartyoutubetv/src/experiments/res/values/strings.xml @@ -0,0 +1,3 @@ + + Experiments YouTube TV + diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png index 141081f8631624f6825de421072ff17b1301421a..ff929cad14c752a15bd2f358a46e4536f5d8cb70 100644 GIT binary patch literal 13219 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 literal 4294 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 From dc36e8247c8cb115b00f8cf5377072b326c6c0e0 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 18:39:04 -0700 Subject: [PATCH 13/24] bump to 6.17.566 --- smartyoutubetv/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index 74b49cea2..ffa891aa1 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1145 - versionName "6.17.565" + versionCode 1146 + versionName "6.17.566" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" From 9901274678e9c648300e3230ec78641d8d3373d1 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 19:04:02 -0700 Subject: [PATCH 14/24] bump to 6.17.568 --- MyVideoTube | 2 +- smartyoutubetv/build.gradle | 5 ++-- .../misc/appstatewatcher/AppStateWatcher.java | 4 ++++ .../handlers/ATVChannelsHandler.java | 23 +++++++++++++++++++ 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java diff --git a/MyVideoTube b/MyVideoTube index 3a6240ee1..545f6d1d2 160000 --- a/MyVideoTube +++ b/MyVideoTube @@ -1 +1 @@ -Subproject commit 3a6240ee11232f4fdea3ce88b9681e75c7bd5d68 +Subproject commit 545f6d1d2240d5f0a2c5909f99398b57bc1104ad diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index ffa891aa1..2b031f305 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1146 - versionName "6.17.566" + versionCode 1148 + versionName "6.17.568" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" @@ -227,6 +227,7 @@ dependencies { // ATV INSTALL_FAILED_CONFLICTING_PROVIDER fix origImplementation project(path: ':leanbackassistant') + experimentsImplementation project(path: ':leanbackassistant') implementation project(path: ':common') diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java index 6dc8c1fe7..edddd5ac0 100644 --- a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -1,6 +1,7 @@ package com.liskovsoft.smartyoutubetv.misc.appstatewatcher; import com.liskovsoft.smartyoutubetv.flavors.common.FragmentManagerActivity; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVChannelsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVYouTubeBridgeHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AdBlockPermissionsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AmazonYouTubeBridgeHandler; @@ -22,6 +23,9 @@ public AppStateWatcher(FragmentManagerActivity context) { addHandler(new CacheCleanHandler(context)); addHandler(new BackupAndRestoreHandler(context, this)); + + // update recommendations + addHandler(new ATVChannelsHandler(context)); } } diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java new file mode 100644 index 000000000..c61a217b8 --- /dev/null +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java @@ -0,0 +1,23 @@ +package com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers; + +import android.app.Activity; +import android.content.Intent; +import com.liskovsoft.leanbackassistant.channels.RunOnInstallReceiver; +import com.liskovsoft.sharedutils.helpers.Helpers; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.AppStateWatcherBase.StateHandler; + +public class ATVChannelsHandler extends StateHandler { + private final Activity mContext; + + public ATVChannelsHandler(Activity context) { + mContext = context; + } + + @Override + public void onLoad() { + if (Helpers.isATVChannelsSupported(mContext) || Helpers.isATVRecommendationsSupported(mContext)) { + Intent intent = new Intent(mContext, RunOnInstallReceiver.class); + mContext.sendBroadcast(intent); + } + } +} From 31544fe9b693d87469e00112c328fc39fcdbdf0a Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 12:55:21 -0700 Subject: [PATCH 15/24] refactor + logging --- common/src/main/assets/service.properties | 5 ++++- smartyoutubetv/src/experiments/assets/service.properties | 9 +++++++++ .../src/experiments/res/xml/smart_preferences.xml | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 smartyoutubetv/src/experiments/assets/service.properties diff --git a/common/src/main/assets/service.properties b/common/src/main/assets/service.properties index f02d916b7..5a9294e1e 100644 --- a/common/src/main/assets/service.properties +++ b/common/src/main/assets/service.properties @@ -5,4 +5,7 @@ music_page_url = https://www.youtube.com/tv#/surface?c=FEtopics¶ms=-gIFbXVza subscriptions_page_url = https://www.youtube.com/tv#/surface?c=FEsubscriptions history_page_url = https://www.youtube.com/tv#/surface?c=FEmy_youtube watch_later_page_url = https://www.youtube.com/tv#/surface?c=FEmy_youtube¶ms=cAc%253D&resume -stable_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/experiments/smartyoutubetv.json \ No newline at end of file +stable_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/stable/smartyoutubetv.json +# drive links are broken because of virus protection on Android 8 +# stable_urls.gdrive = https://drive.google.com/uc?id=0ByORA7yiJiQXSGFqUURSUTlmVWc +beta_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/beta/smartyoutubetv.json \ No newline at end of file diff --git a/smartyoutubetv/src/experiments/assets/service.properties b/smartyoutubetv/src/experiments/assets/service.properties new file mode 100644 index 000000000..4e65542a8 --- /dev/null +++ b/smartyoutubetv/src/experiments/assets/service.properties @@ -0,0 +1,9 @@ +# avoid resume playback after app exit +main_page_persistent = true +main_page_url = https://www.youtube.com/tv +music_page_url = https://www.youtube.com/tv#/surface?c=FEtopics¶ms=-gIFbXVzaWM%253D&resume +subscriptions_page_url = https://www.youtube.com/tv#/surface?c=FEsubscriptions +history_page_url = https://www.youtube.com/tv#/surface?c=FEmy_youtube +watch_later_page_url = https://www.youtube.com/tv#/surface?c=FEmy_youtube¶ms=cAc%253D&resume +stable_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/experiments/smartyoutubetv.json +beta_urls.github = https://github.com/yuliskov/SmartYouTubeTV/releases/download/experiments/smartyoutubetv.json \ No newline at end of file diff --git a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml index ee3a31f25..e39334a79 100644 --- a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml +++ b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml @@ -1,4 +1,5 @@ + \ No newline at end of file From 8fbdd4dd9186280a0cebca3c99e36f870033da41 Mon Sep 17 00:00:00 2001 From: selectee Date: Mon, 11 May 2020 23:15:16 +0300 Subject: [PATCH 16/24] Add interceptor for filtering PNG, JPG, ICO and TTF files. --- .../liskovsoft/browser/WebViewController.java | 13 ++++--- .../player/ExoPlayerBaseFragment.java | 6 ++-- .../interceptors/HistoryInterceptor.java | 6 ++-- .../interceptors/NewVideoInterceptor.java | 34 ------------------ .../FileExtensionInterceptor.java | 35 +++++++++++++++++++ .../RequestInterceptorProcessor.java | 6 +++- .../youtubeutils/YouTubeHistoryUpdater.java | 8 ++--- 7 files changed, 56 insertions(+), 52 deletions(-) delete mode 100644 smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/NewVideoInterceptor.java create mode 100644 smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/FileExtensionInterceptor.java diff --git a/browser/src/main/java/com/liskovsoft/browser/WebViewController.java b/browser/src/main/java/com/liskovsoft/browser/WebViewController.java index 79d01efe2..0f835df80 100644 --- a/browser/src/main/java/com/liskovsoft/browser/WebViewController.java +++ b/browser/src/main/java/com/liskovsoft/browser/WebViewController.java @@ -13,10 +13,7 @@ import android.webkit.ValueCallback; import android.webkit.WebChromeClient; import android.webkit.WebChromeClient.FileChooserParams; -import android.webkit.WebResourceRequest; -import android.webkit.WebResourceResponse; import android.webkit.WebView; -import android.webkit.WebViewClient; import java.util.Map; @@ -108,14 +105,20 @@ Tab openTab(String url, Tab parent, boolean setActive, boolean shouldCaptureThumbnails(); // My Custom Methods - + void setListener(Controller.EventListener listener); + void onControllerStart(); + void onSaveControllerState(Bundle state); + void onRestoreControllerState(Bundle state); + void setDefaultUrl(Uri url); + void setDefaultHeaders(Map headers); - Map getDefaultHeaders(); + + Map getDefaultHeaders(); // End My Custom Methods } diff --git a/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/ExoPlayerBaseFragment.java b/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/ExoPlayerBaseFragment.java index 6167895e4..8835474f6 100644 --- a/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/ExoPlayerBaseFragment.java +++ b/exoplayeractivity/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/player/ExoPlayerBaseFragment.java @@ -2,14 +2,14 @@ import android.content.Context; import android.content.Intent; -import android.net.Uri; import android.os.Bundle; import android.os.Handler; -import android.view.KeyEvent; import android.view.View; import android.widget.TextView; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; + import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.SimpleExoPlayer; @@ -21,7 +21,6 @@ import com.liskovsoft.sharedutils.dialogs.CombinedChoiceSelectorDialog; import com.liskovsoft.sharedutils.dialogs.SingleChoiceSelectorDialog; import com.liskovsoft.sharedutils.helpers.Helpers; -import com.liskovsoft.sharedutils.helpers.KeyHelpers; import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.player.dialogs.afr.AfrDialogSource; import com.liskovsoft.smartyoutubetv.flavors.exoplayer.player.dialogs.restrictcodec.RestrictFormatDialogSource; @@ -90,7 +89,6 @@ public abstract class ExoPlayerBaseFragment extends PlayerCoreFragment { private PlayerStateManager mStateManager; private VideoZoomManager mVideoZoomManager; private List mListeners; - private List mRestore; private boolean mIsAfrApplying; private boolean mPlaybackStopped; diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/HistoryInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/HistoryInterceptor.java index 2cac156a5..7371b4d43 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/HistoryInterceptor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/HistoryInterceptor.java @@ -1,8 +1,8 @@ package com.liskovsoft.smartyoutubetv.flavors.exoplayer.interceptors; import android.content.Context; -import android.os.Handler; import android.webkit.WebResourceResponse; + import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.smartyoutubetv.CommonApplication; import com.liskovsoft.smartyoutubetv.interceptors.RequestInterceptor; @@ -11,15 +11,13 @@ public class HistoryInterceptor extends RequestInterceptor { private static final String TAG = HistoryInterceptor.class.getSimpleName(); - private final Context mContext; private final YouTubeHistoryUpdater mTracker; private float mPosition; private String mUrl; public HistoryInterceptor(Context context) { super(context); - mContext = context; - mTracker = new YouTubeHistoryUpdater(mContext); + mTracker = new YouTubeHistoryUpdater(context); } @Override diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/NewVideoInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/NewVideoInterceptor.java deleted file mode 100644 index a07c6b85d..000000000 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/flavors/exoplayer/interceptors/NewVideoInterceptor.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.liskovsoft.smartyoutubetv.flavors.exoplayer.interceptors; - -import android.content.Context; -import android.webkit.WebResourceResponse; -import com.liskovsoft.smartyoutubetv.interceptors.RequestInterceptor; - -public class NewVideoInterceptor extends RequestInterceptor { - private final Context mContext; - private boolean mIsNewVideo; - - public NewVideoInterceptor(Context context) { - super(context); - mContext = context; - } - - @Override - public boolean test(String url) { - return true; - } - - @Override - public WebResourceResponse intercept(String url) { - mIsNewVideo = true; - return null; - } - - public boolean isNewVideo() { - return mIsNewVideo; - } - - public void reset() { - mIsNewVideo = false; - } -} diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/FileExtensionInterceptor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/FileExtensionInterceptor.java new file mode 100644 index 000000000..acb807d2f --- /dev/null +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/FileExtensionInterceptor.java @@ -0,0 +1,35 @@ +package com.liskovsoft.smartyoutubetv.interceptors; + +import android.content.Context; +import android.webkit.MimeTypeMap; +import android.webkit.WebResourceResponse; + +/** + * The {@link FileExtensionInterceptor} class represent request interceptor by file extensions. + *

+ * Attention! This class cannot be used in {@link RequestInterceptorProcessor} list, because + * return {@code null} as processing result. + */ +public class FileExtensionInterceptor extends RequestInterceptor { + + public FileExtensionInterceptor(Context context) { + super(context); + } + + @Override + public boolean test(String url) { + String ext = MimeTypeMap.getFileExtensionFromUrl(url); + if (ext.isEmpty()) { + return false; + } + return ext.equals("jpg") + || ext.equals("png") + || ext.equals("ico") + || ext.equals("ttf"); + } + + @Override + public WebResourceResponse intercept(String url) { + return null; + } +} diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java index 8a4162991..366db2a94 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/interceptors/RequestInterceptorProcessor.java @@ -17,8 +17,10 @@ public class RequestInterceptorProcessor { private static final String TAG = RequestInterceptorProcessor.class.getSimpleName(); private final List mInterceptors; + private final FileExtensionInterceptor mFileExtensionInterceptor; public RequestInterceptorProcessor(Context context) { + mFileExtensionInterceptor = new FileExtensionInterceptor(context); mInterceptors = new ArrayList<>(); mInterceptors.add(new AdAwayInterceptor(context)); mInterceptors.add(new BrowseInterceptor(context)); // impact performance @@ -38,7 +40,9 @@ public WebResourceResponse process(String url) { Log.d(TAG, "Intercepting url: " + url); WebResourceResponse result = null; - + if (mFileExtensionInterceptor.test(url)) { + return null; + } for (int i = 0; i < mInterceptors.size(); i++) { RequestInterceptor interceptor = mInterceptors.get(i); if (interceptor.test(url)) { diff --git a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/youtubeutils/YouTubeHistoryUpdater.java b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/youtubeutils/YouTubeHistoryUpdater.java index 5934708d5..ca140e9d2 100644 --- a/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/youtubeutils/YouTubeHistoryUpdater.java +++ b/smartyoutubetv/src/main/java/com/liskovsoft/smartyoutubetv/misc/youtubeutils/YouTubeHistoryUpdater.java @@ -1,27 +1,27 @@ package com.liskovsoft.smartyoutubetv.misc.youtubeutils; import android.content.Context; + import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.sharedutils.okhttp.OkHttpHelpers; import com.liskovsoft.smartyoutubetv.misc.HeaderManager; import com.liskovsoft.smartyoutubetv.misc.myquerystring.MyQueryString; import com.liskovsoft.smartyoutubetv.misc.myquerystring.MyQueryStringFactory; -import okhttp3.Response; import java.util.HashMap; +import okhttp3.Response; + public class YouTubeHistoryUpdater { private static final String TAG = YouTubeHistoryUpdater.class.getSimpleName(); private static final String LEN = "len"; private static final String CMT = "cmt"; private static final String ST = "st"; private static final String ET = "et"; - private final Context mContext; private final HeaderManager mManager; public YouTubeHistoryUpdater(Context context) { - mContext = context; - mManager = new HeaderManager(mContext); + mManager = new HeaderManager(context); } public void sync(String trackingUrl, float position, float length) { From 318bef582d23e93e53be34a625016c9357b127cb Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 17:12:34 -0700 Subject: [PATCH 17/24] experiments icon fix --- .../src/experiments/AndroidManifest.xml | 2 +- smartyoutubetv/src/main/AndroidManifest.xml | 2 +- .../res/mipmap-nodpi/ic_banner_main_new.png | Bin 11963 -> 0 bytes .../res/mipmap-nodpi/ic_banner_main_old1.png | Bin 13181 -> 0 bytes .../main/res/mipmap-nodpi/ic_launcher_main2.png | Bin 13219 -> 0 bytes .../res/mipmap-nodpi/ic_launcher_main_old1.png | Bin 25672 -> 0 bytes smartyoutubetv/src/orig/AndroidManifest.xml | 2 +- 7 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_new.png delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_old1.png delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png delete mode 100644 smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main_old1.png diff --git a/smartyoutubetv/src/experiments/AndroidManifest.xml b/smartyoutubetv/src/experiments/AndroidManifest.xml index aa031cd21..60ce1b8c7 100644 --- a/smartyoutubetv/src/experiments/AndroidManifest.xml +++ b/smartyoutubetv/src/experiments/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main2" + android:icon="@mipmap/ic_launcher_main" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" diff --git a/smartyoutubetv/src/main/AndroidManifest.xml b/smartyoutubetv/src/main/AndroidManifest.xml index 14d19f46b..738a63c29 100644 --- a/smartyoutubetv/src/main/AndroidManifest.xml +++ b/smartyoutubetv/src/main/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main2" + android:icon="@mipmap/ic_launcher_main" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_new.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_new.png deleted file mode 100644 index 9bf9a38d4394ef8d559db208d0661331681b0bb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11963 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_old1.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_banner_main_old1.png deleted file mode 100644 index 9d3ccd49310b91d97bf8e7b823eb064aca8e7282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13181 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main2.png deleted file mode 100644 index ff929cad14c752a15bd2f358a46e4536f5d8cb70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13219 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 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main_old1.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main_old1.png deleted file mode 100644 index 0d8111e1c45b553284b4f9043155cda4b8585d6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25672 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 diff --git a/smartyoutubetv/src/orig/AndroidManifest.xml b/smartyoutubetv/src/orig/AndroidManifest.xml index aa031cd21..60ce1b8c7 100644 --- a/smartyoutubetv/src/orig/AndroidManifest.xml +++ b/smartyoutubetv/src/orig/AndroidManifest.xml @@ -51,7 +51,7 @@ android:allowBackup="true" android:banner="@mipmap/ic_banner_main" android:hardwareAccelerated="true" - android:icon="@mipmap/ic_launcher_main2" + android:icon="@mipmap/ic_launcher_main" android:label="@string/app_name" android:theme="@style/AppTheme" android:largeHeap="true" From 2a62954558bd396f9a56208d8fa628a3b3a0e8cb Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 17:15:24 -0700 Subject: [PATCH 18/24] experiments default settings --- .../misc/appstatewatcher/AppStateWatcher.java | 6 ------ .../src/experiments/res/xml/smart_preferences.xml | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java index 597d0b081..6dc8c1fe7 100644 --- a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -13,16 +13,10 @@ public class AppStateWatcher extends AppStateWatcherBase { public AppStateWatcher(FragmentManagerActivity context) { super(context); - // Don't enable! Old ui may popup sometimes - //addHandler(new ForceNewUIHandler(context)); - addHandler(new AdBlockPermissionsHandler(context, this)); addHandler(new ApkUpdaterHandler(context, this)); - addHandler(new ATVYouTubeBridgeHandler(context, this)); - addHandler(new AmazonYouTubeBridgeHandler(context, this)); - addHandler(new LoadingCheckHandler(context)); addHandler(new CacheCleanHandler(context)); diff --git a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml index 5f3f92fa8..ee3a31f25 100644 --- a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml +++ b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file From d7ba02bdd95e57a884f98008b61cbdd494a9cc52 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 17:18:16 -0700 Subject: [PATCH 19/24] experiments icon fix2 --- .../res/mipmap-nodpi/ic_banner_main.png | Bin 0 -> 11013 bytes .../res/mipmap-nodpi/ic_launcher_main.png | Bin 0 -> 6727 bytes .../res/mipmap-nodpi/ic_launcher_main.png | Bin 6727 -> 4294 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png create mode 100644 smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_launcher_main.png diff --git a/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png b/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png new file mode 100644 index 0000000000000000000000000000000000000000..aca9436ab6d90804b0da6d72766802e2d8d0dcd1 GIT binary patch literal 11013 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 V#0z!|{I3;ER#HKtO3cvz{{ZBvOYr~z literal 0 HcmV?d00001 diff --git a/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_launcher_main.png new file mode 100644 index 0000000000000000000000000000000000000000..56630ab15600f99f282a68756f36addce914468e GIT binary patch literal 6727 zcmb_>hgVZiwDnC05~T$YRD=+eB1J%u5+GEODxmZd0Rd?uNbiIWqM*`Mn)H?+7?9qj zSAhspMS2lIdV81O`qujXfcLUil9@9zcg{U`_CEV0QQDfy)R&kq0RTX)s&elU06^r< z-|!2drT0xvA^3I8P07$r$LXn?r-h3(AaCXL#2TgQXklah$lAin`$eamTKnI#I&tZ611ffD@@rFCY{f5|OGO?cUzQa!*$0U-xD8JlJLG+Nim<|eBF0${XVe*{JZ1JfSzZVuf z_V#pk_TC|+#Pg(N`<7+=jbWgh{|B#Hj^BfhWN>7{3iVS_?XPqJfUpdQpjf^Fb!rFj z25))^+f3q+i5VlTyPp`6vZ~A6^~NyWLPz9sFQEeVHqo64k$CTF{pG@8_tw*DXVKZb zM|a{M(9}0obFEaH86blwP`$ivtOGk`_$zLy9#(p{c=m_eU>PO^t+5d!k_I-*eZGtq zu)?iZFRb{el3pmsYTI9G)@JqbkJ`xl%T|pX9Qm+&;Z0Ee0MV4hu)8VoYpM3c+>oWv z`s)XHLy>#$sA%Xe`3%HqmA5pa^Etci3Hp&Dpv2 z`$$z{Q%N&1-F*79fOpv?e;A!26S?B@8jkl4EE)9nxglwf~rqTAf_SmEf$DgAPH90vs zWwwJiE=IJ_N4FIpwy>R|eD^kT1|MFTro-7H9()i>klOgFc(}95&A_c0FMzEcF7Pxk zv$nP_^E+_i;pdMRY&d=-<~ZKk2S6hK*-q6~X{1W(eS3B7rudYXWmbLCyLa?Pbv{JD z{n?1EA$37jYimv^_!U^j4~UoHFZCx6hdD>)lg#i)uNjD*u5PyQAa}aole&iIlhvOa z^6xP+;B@PF#l;OUhf7&2Kb;!%9+%qmBNNio3C3S+n@+Rfaw|hcW(@)M?J=xf(Hgep zv=`+TAiqAP6ybGpHQvU`o*Me>ZLD{uTa16Pv#YulLM5AM2Q__FT+E+>@vV?P_#HQd zPxT~xAUaJy4yR@7qu~UCs_z(h^m6>}jN|q_wHeGZ_rc9*B8GcQDyMk=)F0tR8~SNA z0K93{J63gCME)4)zW^A9GN(AZMp!L`^t88wzPJui_hh!W97ky&Ch!OnqtGx z!KqXN!HttegnC|ba`M+(b-lqC+GE)&@k3&EL#@VKe3#WG=ZZ)KvwoWJur|ad8J9B+ zQrfmoES`*lrUQ?y=_4Pa6s$GBZDXAr&G2*u3E!)4*K4yKH z>$9_B-Md;8{p;70Yohk?&nBxASgDy5GX(fqZ`m*Oq^Lza44DYdZFzt>S}RwJ(C?bs z#zDx2gUKn29S!vKM)pqv_iCm;r}J!(=S~zkP1jS?`+-lTT;K9eG`9+wK+ix!VBpT_ z(Vv?7h?WRi6H4~dbROs%my+f0d3n;uj{{HKMZGp>zMN3`EEPX*IPnm580FV9HZJ7l zX#UQJ|8ZuC;eL~BINS# z^YZbHVD=^ye?Eet=3f&}9_3_bw@OYc*E~u=;xt0TbChF|JY$-AdI`kQDF;H`{j3{v zbT|p|1_8z%#mF934iJV~w%>DKPdK+w?@aZ9yZnBujLejm2b!h6y}r)vf3#b&=P~6q zN9~Zpg9AcsvhD4B6O*72c>kTf@lk`j%n5r_zOmn6kjNSGnOg5{tKRpbce&tlUh2F^ znt#8d1&7|CfZ5w6CY6b1$G@)ZOvM;sm_Z9q?+5XuzEmlauT+6)>17n~mg%iZYc&pn zz`;MBo*bF5!@(Ad>#5-9328athW2=cqxwx8a8Jl_;_KV{AQ;WZ%dFMaDlF4}UqIkC zFK<&#>0Xs|yY>1a6fyNA?W`!iaL*&)>}XnDQHu*2?|w zCSzF8H=>ztgL8XQQQqF(cW;5dM|g*~j}skq%1Z87epB)A5PN;T{_RWl(mPfi2=C*+ z?RMJWo-yS%{khLfzyJ`at_tDqlSAN6Kk9rdbwQk4nXLb;Ok(8I&;EVwCg|;jy}gDr zOb)GxaJNHmib%V$JtcV0e=ku|>QrO4lY2oX>TC=mvol5DI-WU!heNH>Cb#Y1#-xcp z-n0{Y1DrgzyD`aEq+g(bJ0vqfB_$=7e@hRUSyD1y0j=l-g${QT)`l8;J$P(`)pLSY-$^uHw&9i;%-*tw6O8I)B;6vvQDEeFMeLV{a(J;ZNK7G@MskLWtE-(aZwW>YJm0q` z6?Hy{JLxZ5)tgP%`|I7h{De*04rDgY#*w}0KtWoW{fv*2?!1oEt^*nJTL+8j-Sz%Q zR%<^#ufgt0^g%uuAMO3A%x!;##7H_$f1i*c1J-G{gEu2IWNs;g~uI4{C&!1Rw<8s@9l+xj~`ifDcbH{%}z4< zWj|T%F6{DK#crffZ@eM!`E$If`-q;)VydTciy5Ck*7cBaUpgy+7!@5BmhDxXhuT13S=kJL`NPBH& z9L@^{+Vx_srq9PJcyHa(Zfk41Mi=_C!chm~yKB{;Z3>h3N!G(o`K;bvZB|JVz!v-Z zURSU2SpN;uOcK|F_l6D#s3|OSNWac^PhS!t@=1KZN2I@0>sEN9t`8pzP0`Utjh5qB zS1JkQ+e3w*m)z)%}x${y=>&Exx7?&eKZQ7oYYMISM`>Ejp(v?ldojRB3PFb#|}) zO^a0p>Z711%v8)_MyvhOd_VYIM+$VfJG;BfH`X6SFx@sb)UgIXTVsIl=J`Dm%K0tY zphtNn+_s5(pVoOm*YC%t6b@x6(-H$t4!^)Mj7A+=Bk8_i+TQKk`VHFZdicXBL4&D-|K3cnlZ$Q zvqHThTdzKdFf3QN2xQpd&DoX`_cP|MsXAXh!s9wyr|?F(rv-(D??84oZ25(DUAWt^ zw=_;H>Pf?V_(mh)gVX&+8ZOYeo_!@hVzT&VhqPQD+9kIIXc$Ov(9S137a%f zM4BZs3hg-lCH}ceMCobl~wE zn;!3jbeYt-ARt>lSl4GMf1&q-fu+#pD_4p@(eiZoC;-efI?MqerGpYN$ujtS9up4K zw8RUo;Eds(6p@k8iww*=C--mAiCTW6O0fS^yG_$h22lYnlt_Yz$OANl7Jnx48-3c^ z-X6)24;eaqe6+Kg$HZ^=W^0p=hv%VznZM}&TaXrTxU5bS1LnrUD`tKVso7*qi6F9? zrYu2V3~%?#5@Oh7@yyMj5JxjXkvMiKKz3jxhVoaFd79sDWy8sX`>{wYVO>{WzpFqe z&uU|$s?2_bchz;lvb=PuDTG4M$9JI$xqy$Ut(6|E(?}6>G!DTOx~z_t2!r_G5fE6w z!SR3KjljzHyjb^X2Te`QkY|BMyX$2RBmoDPzs+HkO0=R5$3Ernx-DZdTp<*+70}Ym z#osA;9gLSRcYJWF?`)C-=yCFviLs!nQtRFmj;2a(EGSt_>Wk|5Am;dvT`}Bw^?JSK zp|4y-+ZzQ+b=9^`_XmDVVRuGLS2`NS@2zFO_( zy2jzQc%$FuZ7&(qsAbE)Hf5{E{YbhDQNbF6Y^E{kx7};MK2A)#D1&)rz!tEdN%Vpq zy#ZM~K7RQDBNNk8xBV3BG7a*+*f9gidMTDDTSfz$R5#?AX zxJ##(4p`lR4I6oQR7`+UVl+MQbUVGf)S_j`g+Qo^wghwN*5N9_B$|)ksO%mn0=j7A z{Xa8P3B2C8rbfbJ=SNMP5t(T;>rJsm+8_~Wf z@%B5fFR3r%_`?BIDO~RVmzwAHfXg=k2uzO&0!QU*GT?yV6{_=QA3fMC>!{=^LQW9;c7AG2}t^M=Y>{>c_+BE>o9C8YCtx<$0wqs!k%& z%dY2X^b498aQwY^H0SAtRWgBWzU_B=Fsx@0>s6$&DOwrPXdwmHS~IL?3 zonHdK@6@Hbf}1SRK3Ero|CF~4Z=RcXCpl2Jdl(*Y^QbV|5A) z!B1V>>ThyD8rA!j4h6B@>vWF8w*f@~>vt|8lMJ<;r&od6;q4E(s{{{jfu{z;XqYC| zi#RgvwX}>X;b#jyrg?l3V&D%lT;-=aBw3c5Kk`M6=`oGP*?AL6>aj`$ygHcF2y$ zOv)-_*QqN%4@^*k;%XV0fUY8(i^BZZM~j4$aT5b6?Af!uORnz3vWU*HH8z09d~4w= z_9^)h=PrVzVL$cs%>R3~#q(i09KL1d&CP+2kVP>LkAS{|vs9vZBD|~Hjrhek%zv#P zo%GXY-VP8|4UmqwSfxX6*3v(0r@Xgri_N?A8;t#9{fNlCHBrs z@lFz|x3Gm)9R<~PKbErjf#zEoB73E`{kQ5&kZ<`q2lVy=oNJywxNnA%dk2VHq^}M$ z&5x0lz?s8G-cWR2;}BrK>Uyy%-((4088^T6;E5_^!A~(N&CF$!Ga^@nDnT7Z?*rIh zrz>Pu7`P22r~|x77G(}VHF=!Ki`1Ycs>aBZ*B=+5SuV5L_ThDafcveFECF5C5^GGj zJIZ+i=zb15Tw%C?ZO{Dc(70f2&Yi<%0e0mXNWK%Q(B3Eb(E~w31)w{U`awOwU8=!A zhYklY-vHu#gFEY*4Mj0Z^A#oI;d#%4mYCe0vynuP;mW`jS4Knoi|ES!nt=2HC0LwE zW0*Z$6-pzgxC_lmY}6r!t+nm;DG+P*_t4DxN2dzIHPWD7{x`rRoiA!(`*0^|+VKv>ws|~zb^VMNMWJ!Kk-4TzN zW6o!AWp72RHz&<5F0wmsZAW#x`?tKH9*#P|7Q9(mgdTFiTV$r+M&)&~ecusl7uDuw zTb8sq+t~L>D^AaAk}&I4olK~HiLMA@PFOZ36cy|rAE!@8H1-*ki|nl&QnZU}XH~i} zb{_CG)lVR8i4Ziz51h+tdX+-D^y0vabccOvm>M|QPMJRi4POZn-|X*fmi@LI^Yc^twb)8h zJ#L=SLQ$D7(eE80FJkt2s8TZ*)!ov#>q~#+rV3zKl z-otLQA;3Q)#7mfYCtJpQq`5n$S&k|&gb7CsV|6`4d_kH!W~u;(`-@Z~?6(+$;B2tR z`7}+r_7^pvLV&!AR1*PHAAP{g_*)LnJPw3%{P*9-X8FL^KGp4oPp literal 0 HcmV?d00001 diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png index 56630ab15600f99f282a68756f36addce914468e..141081f8631624f6825de421072ff17b1301421a 100644 GIT binary patch literal 4294 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 literal 6727 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 From c92a729d70331f28975b111cd8d36d72fea56fcf Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 18:21:13 -0700 Subject: [PATCH 20/24] experiments icon fix: fin --- .../res/mipmap-nodpi/ic_banner_main.png | Bin 11013 -> 7065 bytes .../src/experiments/res/values/strings.xml | 3 +++ .../res/mipmap-nodpi/ic_launcher_main.png | Bin 4294 -> 13219 bytes 3 files changed, 3 insertions(+) create mode 100644 smartyoutubetv/src/experiments/res/values/strings.xml diff --git a/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png b/smartyoutubetv/src/experiments/res/mipmap-nodpi/ic_banner_main.png index aca9436ab6d90804b0da6d72766802e2d8d0dcd1..04baba37339e092e8cd0838cf3103cf6c2c08472 100644 GIT binary patch literal 7065 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 literal 11013 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 V#0z!|{I3;ER#HKtO3cvz{{ZBvOYr~z diff --git a/smartyoutubetv/src/experiments/res/values/strings.xml b/smartyoutubetv/src/experiments/res/values/strings.xml new file mode 100644 index 000000000..554ac81ad --- /dev/null +++ b/smartyoutubetv/src/experiments/res/values/strings.xml @@ -0,0 +1,3 @@ + + Experiments YouTube TV + diff --git a/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png b/smartyoutubetv/src/main/res/mipmap-nodpi/ic_launcher_main.png index 141081f8631624f6825de421072ff17b1301421a..ff929cad14c752a15bd2f358a46e4536f5d8cb70 100644 GIT binary patch literal 13219 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 literal 4294 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 From e51b0d4e7ad50cf24737a224dfa8305f3dc3d800 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 18:39:04 -0700 Subject: [PATCH 21/24] bump to 6.17.566 --- smartyoutubetv/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index 74b49cea2..ffa891aa1 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1145 - versionName "6.17.565" + versionCode 1146 + versionName "6.17.566" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" From be2e353a1519ad18b7de9f4db0b0157e75a57691 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 19:04:02 -0700 Subject: [PATCH 22/24] bump to 6.17.568 --- MyVideoTube | 2 +- smartyoutubetv/build.gradle | 5 ++-- .../misc/appstatewatcher/AppStateWatcher.java | 4 ++++ .../handlers/ATVChannelsHandler.java | 23 +++++++++++++++++++ 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java diff --git a/MyVideoTube b/MyVideoTube index 3a6240ee1..545f6d1d2 160000 --- a/MyVideoTube +++ b/MyVideoTube @@ -1 +1 @@ -Subproject commit 3a6240ee11232f4fdea3ce88b9681e75c7bd5d68 +Subproject commit 545f6d1d2240d5f0a2c5909f99398b57bc1104ad diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index ffa891aa1..2b031f305 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1146 - versionName "6.17.566" + versionCode 1148 + versionName "6.17.568" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" @@ -227,6 +227,7 @@ dependencies { // ATV INSTALL_FAILED_CONFLICTING_PROVIDER fix origImplementation project(path: ':leanbackassistant') + experimentsImplementation project(path: ':leanbackassistant') implementation project(path: ':common') diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java index 6dc8c1fe7..edddd5ac0 100644 --- a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/AppStateWatcher.java @@ -1,6 +1,7 @@ package com.liskovsoft.smartyoutubetv.misc.appstatewatcher; import com.liskovsoft.smartyoutubetv.flavors.common.FragmentManagerActivity; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVChannelsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.ATVYouTubeBridgeHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AdBlockPermissionsHandler; import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers.AmazonYouTubeBridgeHandler; @@ -22,6 +23,9 @@ public AppStateWatcher(FragmentManagerActivity context) { addHandler(new CacheCleanHandler(context)); addHandler(new BackupAndRestoreHandler(context, this)); + + // update recommendations + addHandler(new ATVChannelsHandler(context)); } } diff --git a/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java new file mode 100644 index 000000000..c61a217b8 --- /dev/null +++ b/smartyoutubetv/src/experiments/java/com/liskovsoft/smartyoutubetv/misc/appstatewatcher/handlers/ATVChannelsHandler.java @@ -0,0 +1,23 @@ +package com.liskovsoft.smartyoutubetv.misc.appstatewatcher.handlers; + +import android.app.Activity; +import android.content.Intent; +import com.liskovsoft.leanbackassistant.channels.RunOnInstallReceiver; +import com.liskovsoft.sharedutils.helpers.Helpers; +import com.liskovsoft.smartyoutubetv.misc.appstatewatcher.AppStateWatcherBase.StateHandler; + +public class ATVChannelsHandler extends StateHandler { + private final Activity mContext; + + public ATVChannelsHandler(Activity context) { + mContext = context; + } + + @Override + public void onLoad() { + if (Helpers.isATVChannelsSupported(mContext) || Helpers.isATVRecommendationsSupported(mContext)) { + Intent intent = new Intent(mContext, RunOnInstallReceiver.class); + mContext.sendBroadcast(intent); + } + } +} From aebae648e1394f90502a2fc9a6694928dafa6357 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 13:31:40 -0700 Subject: [PATCH 23/24] pull fix --- smartyoutubetv/src/experiments/res/xml/smart_preferences.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml index e39334a79..ee3a31f25 100644 --- a/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml +++ b/smartyoutubetv/src/experiments/res/xml/smart_preferences.xml @@ -1,5 +1,4 @@ - \ No newline at end of file From 87fbcf3f0c97d6d705b1a1331af3b416765f1c4f Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Mon, 11 May 2020 13:35:32 -0700 Subject: [PATCH 24/24] bump to 6.17.569 --- smartyoutubetv/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smartyoutubetv/build.gradle b/smartyoutubetv/build.gradle index 2b031f305..db1e10d66 100644 --- a/smartyoutubetv/build.gradle +++ b/smartyoutubetv/build.gradle @@ -38,8 +38,8 @@ android { minSdkVersion project.properties.minSdkVersion targetSdkVersion project.properties.targetSdkVersion applicationId "com.liskovsoft.videomanager" - versionCode 1148 - versionName "6.17.568" + versionCode 1149 + versionName "6.17.569" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L"