Repository Analysis

yuliskov/SmartTube

Browse media content with your own rules on Android TV

0.5 Likely human-written View on GitHub
0.5
Adjusted Score
0.5
Raw Score
100%
Time Factor
2026-05-30
Last Push
30,279
Stars
Java
Language
467,619
Lines of Code
2556
Files
115
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 9HIGH 0MEDIUM 11LOW 95

Pattern Findings

115 matches across 5 categories. Click a row to expand file-level details.

Hallucination Indicators9 hits · 120 pts
SeverityFileLineSnippet
CRITICAL…kovsoft/smartyoutubetv2/tv/ui/main/SplashActivity.java52 // NullPointerException: Attempt to invoke virtual method 'void com.android.server.wm.DisplayContent.moveSta
CRITICAL…layerglue/tooltips/ControlButtonPresenterSelector.java101 // Used inside: com.liskovsoft.smartyoutubetv2.tv.ui.mod.leanback.playerglue.tweaks.ControlBarPresenter.ViewHold
CRITICAL…layerglue/tooltips/ControlButtonPresenterSelector.java102 // Restore focus: com.liskovsoft.smartyoutubetv2.tv.ui.mod.leanback.playerglue.tweaks.ControlBar.onRequestFocusI
CRITICAL…artyoutubetv2/tv/presenter/ChannelHeaderPresenter.java296 com.liskovsoft.sharedutils.mylogger.Log.i(TAG, "speech recognition is now active");
CRITICAL…artyoutubetv2/tv/presenter/ChannelHeaderPresenter.java302 com.liskovsoft.sharedutils.mylogger.Log.d(TAG, "rms is now: " + value);
CRITICAL…artyoutubetv2/tv/presenter/ChannelHeaderPresenter.java313 com.liskovsoft.sharedutils.mylogger.Log.i(TAG, "partial result: " + result);
CRITICAL…artyoutubetv2/tv/presenter/ChannelHeaderPresenter.java321 com.liskovsoft.sharedutils.mylogger.Log.i(TAG, "result: " + result);
CRITICAL…artyoutubetv2/tv/presenter/ChannelHeaderPresenter.java328 com.liskovsoft.sharedutils.mylogger.Log.e(TAG, "Speech recognition is not available on this device!");
CRITICAL…le/android/exoplayer2/offline/DownloadManagerTest.java765 this.blocker = new com.google.android.exoplayer2.util.ConditionVariable();
Over-Commented Block91 hits · 91 pts
SeverityFileLineSnippet
LOW…tyoutubetv2/tv/ui/playback/actions/TwoStateAction.java81 mBoundAction = boundAction;
LOW…ovsoft/smartyoutubetv2/tv/ui/main/MainApplication.java41 // fix ipv6 infinite video buffering???
LOW…nback/preference/LeanbackPreferenceDialogFragment.java41 // super.onCreate(savedInstanceState);
LOW…m/google/android/exoplayer2/ExoPlayerImplInternal.java1601 RendererConfiguration oldConfig = oldTrackSelectorResult.rendererConfigurations[i];
LOW…/android/exoplayer2/video/MediaCodecVideoRenderer.java1461 } else {
LOW…ndroid/exoplayer2/source/ConcatenatingMediaSource.java781 DeferredTimeline.createWithRealTimeline(timeline, DeferredTimeline.DUMMY_ID);
LOW…/android/exoplayer2/source/ProgressiveMediaPeriod.java781 return true;
LOW…le/android/exoplayer2/source/sabr/SabrMediaSource.java521 com.google.android.exoplayer2.source.sabr.manifest.Period period =
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java221 // Segments are aligned across representations, so any segment index will do.
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java281 // long firstAvailableSegmentNum =
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java341 // representationHolder.getLastAvailableSegmentNum(manifest, periodIndex, nowUnixTimeUs);
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java361 // out.endOfStream = periodEnded;
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java401 InitializationChunk initializationChunk = (InitializationChunk) chunk;
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java481 // ? previousChunk.getNextChunkIndex()
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java501 RangedUri indexUri) {
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java601 firstSegmentNum,
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java621 // segmentUri = mergedSegmentUri;
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java641 // //segmentUri.start,
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java701 return new FormatSelector("selected_video", false, selectedFormat);
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java721 // public RepresentationSegmentIterator(
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java741 // checkInBounds();
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java801 /* package */ RepresentationHolder copyWithNewRepresentation(
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java821 //}
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java841 // newSegmentNumShift += oldIndexLastSegmentNum + 1 - newIndexFirstSegmentNum;
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java861
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java881 // return getSegmentStartTimeUs(segmentNum)
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java901 // long liveEdgeTimeInPeriodUs = liveEdgeTimeUs - periodStartUs;
LOW…oid/exoplayer2/source/sabr/DefaultSabrChunkSource.java941 String containerMimeType = representation.format.containerMimeType;
LOW…id/exoplayer2/source/sabr/manifest/Representation.java221 @Override
LOW…id/exoplayer2/source/sabr/manifest/Representation.java241 //}
LOW…droid/exoplayer2/source/sabr/parser/SabrProcessor.java141 //
LOW…droid/exoplayer2/source/sabr/parser/SabrProcessor.java321 // if (segment.contentLengthEstimated) {
LOW…roid/exoplayer2/source/sabr/parser/ump/UMPDecoder.java61 return result;
LOW…roid/exoplayer2/source/sabr/parser/ump/UMPDecoder.java81 // int shift = payloadBits;
LOW….6/extensions/opus/src/main/jni/convert_android_asm.sh1#!/bin/bash
LOW…ns/vp9/src/main/jni/generate_libvpx_android_configs.sh1#!/bin/bash
LOW…/main/java/androidx/fragment/app/FragmentActivity.java101 // request index (see above). Unfortunately we can't just call
LOW…in/java/androidx/fragment/app/FragmentManagerImpl.java221 && isPrimaryNavigation(parentFragmentManager.mParent);
LOW…va/androidx/leanback/widget/VerticalGridPresenter.java61 }
LOW…in/java/androidx/leanback/widget/ListRowPresenter.java261 ibh.mItem, mRowViewHolder, (ListRow) mRowViewHolder.mRow);
LOW…n/java/androidx/leanback/widget/GridLayoutManager.java2341 // IllegalArgumentException: VideoCardPresenter$1 is not a direct child of HorizontalGridView
LOW…artyoutubetv2/common/misc/BackupAndRestoreManager.java161 //if (mSharedPrefsDir.isDirectory() && !FileHelpers.isEmpty(mSharedPrefsDir)) {
LOW…/models/playback/controllers/ErrorFixerController.java141 } else if (type == PlayerEventListener.ERROR_TYPE_SOURCE && rendererIndex == PlayerEventListener.RENDERER_INDEX_
LOW…/app/models/playback/controllers/RemoteController.java441 //if (getActivity() != null && mRemoteControlData.isFinishOnDisconnectEnabled()) {
LOW…/models/playback/controllers/VideoStateController.java201 @Override
LOW…t/smartyoutubetv2/common/app/models/data/Playlist.java161 }
LOW…n/app/presenters/settings/PlayerSettingsPresenter.java401 options.add(UiOptionItem.from(getContext().getString(R.string.player_disable_suggestions),
LOW…/app/presenters/settings/GeneralSettingsPresenter.java501 }
LOW…app/presenters/settings/SubtitleSettingsPresenter.java41 // String subtitlesDisabled = getContext().getString(R.string.subtitles_disabled);
LOW…common/app/presenters/dialogs/BootDialogPresenter.java41 }
LOW…on/app/presenters/dialogs/menu/VideoMenuPresenter.java881 // MessageHelpers.showMessage(getContext(),
LOW…utubetv2/common/autoframerate/AutoFrameRateHelper.java221 // return;
LOW…youtubetv2/common/exoplayer/ExoMediaSourceFactory.java321
LOW…youtubetv2/common/exoplayer/ExoMediaSourceFactory.java421 // boolean dynamic,
LOW…youtubetv2/common/exoplayer/ExoMediaSourceFactory.java441 // utcTiming,
LOW…v2/common/exoplayer/selector/TrackSelectorManager.java161 // Won't help: renderer.sortedTracks = Collections.synchronizedSortedSet(new TreeSet<>(new MediaTrackFormatCompa
LOW…v2/common/exoplayer/selector/TrackSelectorManager.java261 }
LOW…v2/common/exoplayer/selector/TrackSelectorManager.java621 //for (MediaTrack[] trackGroup : trackGroupList) {
LOW…v2/common/exoplayer/selector/TrackSelectorManager.java641 // if (originTracks == null) {
LOW…ubetv2/common/exoplayer/selector/track/VideoTrack.java201
31 more matches not shown…
AI Slop Vocabulary12 hits · 34 pts
SeverityFileLineSnippet
MEDIUM…betv2/tv/ui/channeluploads/ChannelUploadsFragment.java43 // Not robust. Because tab content often changed after reloading.
MEDIUM…oft/smartyoutubetv2/tv/ui/channel/ChannelFragment.java68 // Not robust. Because tab content often changed after reloading.
MEDIUM…/java/com/google/android/exoplayer2/ui/PlayerView.java498 // surface is attached. This is significantly more efficient and achieves a more seamless
LOW…gle/android/exoplayer2/audio/DefaultAudioSinkTest.java38 * data (i.e., the {@link android.media.AudioTrack#write} methods just return 0), so these tests are
MEDIUM…xoplayer2/trackselection/DefaultTrackSelectorTest.java1503 // Should do non-seamless adaptiveness by default, so expect an adaptive selection.
MEDIUM…xoplayer2/trackselection/DefaultTrackSelectorTest.java1516 // If we explicitly disable non-seamless adaptiveness, expect a fixed selection.
MEDIUM…m/google/android/exoplayer2/ExoPlayerImplInternal.java1605 // be seamless.
MEDIUM…m/google/android/exoplayer2/decoder/SimpleDecoder.java226 // This can occur if a sample is malformed in a way that the decoder is not robust against.
MEDIUM…t/smartyoutubetv2/common/misc/MediaServiceManager.java143 // NOTE: Load suggestions from mediaItem isn't robust. Because playlistId may be initialized from RemoteControlM
MEDIUM…models/playback/controllers/SuggestionsController.java254 // NOTE: Load suggestions from mediaItem isn't robust. Because playlistId may be initialized from RemoteControlM
MEDIUM…app/presenters/settings/SubtitleSettingsPresenter.java29 // Can't work properly. There is no robust language detection.
MEDIUM…ubetv2/common/exoplayer/selector/track/AudioTrack.java41 // Compare by language isn't robust since language set may not contain target language
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippet
LOW…m/google/android/exoplayer2/drm/DefaultDrmSession.java462 private class PostResponseHandler extends Handler {
LOW…m/google/android/exoplayer2/drm/DefaultDrmSession.java490 private class PostRequestHandler extends Handler {
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippet
LOW…rtyoutubetv2/tv/presenter/base/LongClickPresenter.java17 * Don't forget to call this method in descendants!