1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-12-23 16:40:32 +00:00

Merge pull request #4929 from TacoTheDank/murder-all-the-annoying-lints

Various code improvements
This commit is contained in:
Tobias Groza 2020-11-20 15:53:37 +01:00 committed by GitHub
commit bbfa280e86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
52 changed files with 146 additions and 148 deletions

View File

@ -86,8 +86,8 @@ public abstract class FragmentStatePagerAdapterMenuWorkaround extends PagerAdapt
private final int mBehavior; private final int mBehavior;
private FragmentTransaction mCurTransaction = null; private FragmentTransaction mCurTransaction = null;
private ArrayList<Fragment.SavedState> mSavedState = new ArrayList<Fragment.SavedState>(); private final ArrayList<Fragment.SavedState> mSavedState = new ArrayList<Fragment.SavedState>();
private ArrayList<Fragment> mFragments = new ArrayList<Fragment>(); private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
private Fragment mCurrentPrimaryItem = null; private Fragment mCurrentPrimaryItem = null;
/** /**

View File

@ -50,8 +50,8 @@ public final class DownloaderImpl extends Downloader {
public static final String YOUTUBE_DOMAIN = "youtube.com"; public static final String YOUTUBE_DOMAIN = "youtube.com";
private static DownloaderImpl instance; private static DownloaderImpl instance;
private Map<String, String> mCookies; private final Map<String, String> mCookies;
private OkHttpClient client; private final OkHttpClient client;
private DownloaderImpl(final OkHttpClient.Builder builder) { private DownloaderImpl(final OkHttpClient.Builder builder) {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) { if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {

View File

@ -139,8 +139,7 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
if (getSupportFragmentManager() != null if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
&& getSupportFragmentManager().getBackStackEntryCount() == 0) {
initFragments(); initFragments();
} }

View File

@ -519,7 +519,7 @@ public class RouterActivity extends AppCompatActivity {
disposables.add(ExtractorHelper.getStreamInfo(currentServiceId, currentUrl, true) disposables.add(ExtractorHelper.getStreamInfo(currentServiceId, currentUrl, true)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe((@NonNull StreamInfo result) -> { .subscribe(result -> {
final List<VideoStream> sortedVideoStreams = ListHelper final List<VideoStream> sortedVideoStreams = ListHelper
.getSortedStreamVideosList(this, result.getVideoStreams(), .getSortedStreamVideosList(this, result.getVideoStreams(),
result.getVideoOnlyStreams(), false); result.getVideoOnlyStreams(), false);
@ -534,9 +534,8 @@ public class RouterActivity extends AppCompatActivity {
downloadDialog.show(fm, "downloadDialog"); downloadDialog.show(fm, "downloadDialog");
fm.executePendingTransactions(); fm.executePendingTransactions();
downloadDialog.requireDialog().setOnDismissListener(dialog -> finish()); downloadDialog.requireDialog().setOnDismissListener(dialog -> finish());
}, (@NonNull Throwable throwable) -> { }, throwable ->
showUnsupportedUrlDialog(currentUrl); showUnsupportedUrlDialog(currentUrl)));
}));
} }
@Override @Override

View File

@ -31,7 +31,7 @@ public class AboutActivity extends AppCompatActivity {
/** /**
* List of all software components. * List of all software components.
*/ */
private static final SoftwareComponent[] SOFTWARE_COMPONENTS = new SoftwareComponent[]{ private static final SoftwareComponent[] SOFTWARE_COMPONENTS = {
new SoftwareComponent("Giga Get", "2014 - 2015", "Peter Cai", new SoftwareComponent("Giga Get", "2014 - 2015", "Peter Cai",
"https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL3), "https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL3),
new SoftwareComponent("NewPipe Extractor", "2017 - 2020", "Christian Schabesberger", new SoftwareComponent("NewPipe Extractor", "2017 - 2020", "Christian Schabesberger",

View File

@ -23,7 +23,7 @@ public class License implements Parcelable, Serializable {
}; };
private final String abbreviation; private final String abbreviation;
private final String name; private final String name;
private String filename; private final String filename;
public License(final String name, final String abbreviation, final String filename) { public License(final String name, final String abbreviation, final String filename) {
if (name == null) { if (name == null) {

View File

@ -43,7 +43,7 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte
private SelectedTabsPagerAdapter pagerAdapter; private SelectedTabsPagerAdapter pagerAdapter;
private ScrollableTabLayout tabLayout; private ScrollableTabLayout tabLayout;
private List<Tab> tabsList = new ArrayList<>(); private final List<Tab> tabsList = new ArrayList<>();
private TabsManager tabsManager; private TabsManager tabsManager;
private boolean hasTabsChanged = false; private boolean hasTabsChanged = false;

View File

@ -14,12 +14,10 @@ public abstract class OnScrollBelowItemsListener extends RecyclerView.OnScrollLi
super.onScrolled(recyclerView, dx, dy); super.onScrolled(recyclerView, dx, dy);
if (dy > 0) { if (dy > 0) {
int pastVisibleItems = 0; int pastVisibleItems = 0;
final int visibleItemCount;
final int totalItemCount;
final RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); final RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
visibleItemCount = layoutManager.getChildCount(); final int visibleItemCount = layoutManager.getChildCount();
totalItemCount = layoutManager.getItemCount(); final int totalItemCount = layoutManager.getItemCount();
// Already covers the GridLayoutManager case // Already covers the GridLayoutManager case
if (layoutManager instanceof LinearLayoutManager) { if (layoutManager instanceof LinearLayoutManager) {

View File

@ -19,7 +19,6 @@ import android.view.ViewTreeObserver;
import androidx.core.text.HtmlCompat; import androidx.core.text.HtmlCompat;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import android.provider.Settings; import android.provider.Settings;
import android.text.Spanned;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.util.Linkify; import android.text.util.Linkify;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
@ -731,7 +730,7 @@ public final class VideoDetailFragment
} }
private View.OnTouchListener getOnControlsTouchListener() { private View.OnTouchListener getOnControlsTouchListener() {
return (View view, MotionEvent motionEvent) -> { return (view, motionEvent) -> {
if (!PreferenceManager.getDefaultSharedPreferences(activity) if (!PreferenceManager.getDefaultSharedPreferences(activity)
.getBoolean(getString(R.string.show_hold_to_append_key), true)) { .getBoolean(getString(R.string.show_hold_to_append_key), true)) {
return false; return false;
@ -948,7 +947,7 @@ public final class VideoDetailFragment
currentWorker = ExtractorHelper.getStreamInfo(serviceId, url, forceLoad) currentWorker = ExtractorHelper.getStreamInfo(serviceId, url, forceLoad)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe((@NonNull final StreamInfo result) -> { .subscribe(result -> {
isLoading.set(false); isLoading.set(false);
hideMainPlayer(); hideMainPlayer();
if (result.getAgeLimit() != NO_AGE_LIMIT && !prefs.getBoolean( if (result.getAgeLimit() != NO_AGE_LIMIT && !prefs.getBoolean(
@ -969,7 +968,7 @@ public final class VideoDetailFragment
openVideoPlayer(); openVideoPlayer();
} }
} }
}, (@NonNull final Throwable throwable) -> { }, throwable -> {
isLoading.set(false); isLoading.set(false);
onError(throwable); onError(throwable);
}); });
@ -1140,7 +1139,7 @@ public final class VideoDetailFragment
PlayQueue queue = playQueue; PlayQueue queue = playQueue;
// Size can be 0 because queue removes bad stream automatically when error occurs // Size can be 0 because queue removes bad stream automatically when error occurs
if (queue == null || queue.size() == 0) { if (queue == null || queue.isEmpty()) {
queue = new SinglePlayQueue(currentInfo); queue = new SinglePlayQueue(currentInfo);
} }
@ -1224,12 +1223,12 @@ public final class VideoDetailFragment
if (description.getType() == Description.HTML) { if (description.getType() == Description.HTML) {
disposables.add(Single.just(description.getContent()) disposables.add(Single.just(description.getContent())
.map((@NonNull final String descriptionText) -> .map(descriptionText ->
HtmlCompat.fromHtml(descriptionText, HtmlCompat.fromHtml(descriptionText,
HtmlCompat.FROM_HTML_MODE_LEGACY)) HtmlCompat.FROM_HTML_MODE_LEGACY))
.subscribeOn(Schedulers.computation()) .subscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe((@NonNull final Spanned spanned) -> { .subscribe(spanned -> {
videoDescriptionView.setText(spanned); videoDescriptionView.setText(spanned);
videoDescriptionView.setVisibility(View.VISIBLE); videoDescriptionView.setVisibility(View.VISIBLE);
})); }));
@ -1346,19 +1345,24 @@ public final class VideoDetailFragment
broadcastReceiver = new BroadcastReceiver() { broadcastReceiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(final Context context, final Intent intent) { public void onReceive(final Context context, final Intent intent) {
if (intent.getAction().equals(ACTION_SHOW_MAIN_PLAYER)) { switch (intent.getAction()) {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); case ACTION_SHOW_MAIN_PLAYER:
} else if (intent.getAction().equals(ACTION_HIDE_MAIN_PLAYER)) { bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); break;
} else if (intent.getAction().equals(ACTION_PLAYER_STARTED)) { case ACTION_HIDE_MAIN_PLAYER:
// If the state is not hidden we don't need to show the mini player bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN) { break;
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); case ACTION_PLAYER_STARTED:
} // If the state is not hidden we don't need to show the mini player
// Rebound to the service if it was closed via notification or mini player if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN) {
if (!PlayerHolder.bound) { bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
PlayerHolder.startService(App.getApp(), false, VideoDetailFragment.this); }
} // Rebound to the service if it was closed via notification or mini player
if (!PlayerHolder.bound) {
PlayerHolder.startService(
App.getApp(), false, VideoDetailFragment.this);
}
break;
} }
} }
}; };

View File

@ -204,7 +204,7 @@ public abstract class BaseListInfoFragment<I extends ListInfo>
name = result.getName(); name = result.getName();
setTitle(name); setTitle(name);
if (infoListAdapter.getItemsList().size() == 0) { if (infoListAdapter.getItemsList().isEmpty()) {
if (result.getRelatedItems().size() > 0) { if (result.getRelatedItems().size() > 0) {
infoListAdapter.addInfoItemList(result.getRelatedItems()); infoListAdapter.addInfoItemList(result.getRelatedItems());
showListFooter(hasMoreItems()); showListFooter(hasMoreItems());

View File

@ -24,7 +24,7 @@ import io.reactivex.Single;
import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.CompositeDisposable;
public class CommentsFragment extends BaseListInfoFragment<CommentsInfo> { public class CommentsFragment extends BaseListInfoFragment<CommentsInfo> {
private CompositeDisposable disposables = new CompositeDisposable(); private final CompositeDisposable disposables = new CompositeDisposable();
public static CommentsFragment getInstance(final int serviceId, final String url, public static CommentsFragment getInstance(final int serviceId, final String url,
final String name) { final String name) {

View File

@ -256,7 +256,7 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
if (!TextUtils.isEmpty(searchString)) { if (!TextUtils.isEmpty(searchString)) {
if (wasLoading.getAndSet(false)) { if (wasLoading.getAndSet(false)) {
search(searchString, contentFilter, sortFilter); search(searchString, contentFilter, sortFilter);
} else if (infoListAdapter.getItemsList().size() == 0) { } else if (infoListAdapter.getItemsList().isEmpty()) {
if (savedState == null) { if (savedState == null) {
search(searchString, contentFilter, sortFilter); search(searchString, contentFilter, sortFilter);
} else if (!isLoading.get() && !wasSearchFocused) { } else if (!isLoading.get() && !wasSearchFocused) {
@ -977,7 +977,7 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
lastSearchedString = searchString; lastSearchedString = searchString;
nextPage = result.getNextPage(); nextPage = result.getNextPage();
if (infoListAdapter.getItemsList().size() == 0) { if (infoListAdapter.getItemsList().isEmpty()) {
if (!result.getRelatedItems().isEmpty()) { if (!result.getRelatedItems().isEmpty()) {
infoListAdapter.addInfoItemList(result.getRelatedItems()); infoListAdapter.addInfoItemList(result.getRelatedItems());
} else { } else {

View File

@ -31,7 +31,7 @@ import io.reactivex.disposables.CompositeDisposable;
public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInfo> public class RelatedVideosFragment extends BaseListInfoFragment<RelatedStreamInfo>
implements SharedPreferences.OnSharedPreferenceChangeListener { implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String INFO_KEY = "related_info_key"; private static final String INFO_KEY = "related_info_key";
private CompositeDisposable disposables = new CompositeDisposable(); private final CompositeDisposable disposables = new CompositeDisposable();
private RelatedStreamInfo relatedStreamInfo; private RelatedStreamInfo relatedStreamInfo;
/*////////////////////////////////////////////////////////////////////////// /*//////////////////////////////////////////////////////////////////////////

View File

@ -371,7 +371,7 @@ public class InfoListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
}; };
} }
public class HFHolder extends RecyclerView.ViewHolder { public static class HFHolder extends RecyclerView.ViewHolder {
public View view; public View view;
HFHolder(final View v) { HFHolder(final View v) {

View File

@ -38,7 +38,7 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
private RecyclerView playlistRecyclerView; private RecyclerView playlistRecyclerView;
private LocalItemListAdapter playlistAdapter; private LocalItemListAdapter playlistAdapter;
private CompositeDisposable playlistDisposables = new CompositeDisposable(); private final CompositeDisposable playlistDisposables = new CompositeDisposable();
public static Disposable onPlaylistFound( public static Disposable onPlaylistFound(
final Context context, final Runnable onSuccess, final Runnable onFailed final Context context, final Runnable onSuccess, final Runnable onFailed

View File

@ -29,6 +29,7 @@ import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.content.edit
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
@ -142,9 +143,9 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
AlertDialog.Builder(requireContext()) AlertDialog.Builder(requireContext())
.setMessage(R.string.feed_use_dedicated_fetch_method_help_text) .setMessage(R.string.feed_use_dedicated_fetch_method_help_text)
.setNeutralButton(enableDisableButtonText) { _, _ -> .setNeutralButton(enableDisableButtonText) { _, _ ->
sharedPreferences.edit() sharedPreferences.edit {
.putBoolean(getString(R.string.feed_use_dedicated_fetch_method_key), !usingDedicatedMethod) putBoolean(getString(R.string.feed_use_dedicated_fetch_method_key), !usingDedicatedMethod)
.apply() }
} }
.setPositiveButton(resources.getString(R.string.finish), null) .setPositiveButton(resources.getString(R.string.finish), null)
.create() .create()
@ -255,8 +256,9 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
oldestSubscriptionUpdate = loadedState.oldestUpdate oldestSubscriptionUpdate = loadedState.oldestUpdate
refresh_subtitle_text.isVisible = loadedState.notLoadedCount > 0 val loadedCount = loadedState.notLoadedCount > 0
if (loadedState.notLoadedCount > 0) { refresh_subtitle_text.isVisible = loadedCount
if (loadedCount) {
refresh_subtitle_text.text = getString(R.string.feed_subscription_not_loaded_count, loadedState.notLoadedCount) refresh_subtitle_text.text = getString(R.string.feed_subscription_not_loaded_count, loadedState.notLoadedCount)
} }

View File

@ -48,8 +48,7 @@ class FeedViewModel(applicationContext: Context, val groupId: Long = FeedGroupEn
.throttleLatest(DEFAULT_THROTTLE_TIMEOUT, TimeUnit.MILLISECONDS) .throttleLatest(DEFAULT_THROTTLE_TIMEOUT, TimeUnit.MILLISECONDS)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe { .subscribe { (event, listFromDB, notLoadedCount, oldestUpdate) ->
val (event, listFromDB, notLoadedCount, oldestUpdate) = it
val oldestUpdateCalendar = oldestUpdate?.toCalendar() val oldestUpdateCalendar = oldestUpdate?.toCalendar()

View File

@ -3,7 +3,6 @@ package org.schabi.newpipe.local.subscription.dialog
import android.app.Dialog import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
import android.text.TextUtils
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -225,7 +224,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
} }
toolbar_search_clear.setOnClickListener { toolbar_search_clear.setOnClickListener {
if (TextUtils.isEmpty(toolbar_search_edit_text.text)) { if (toolbar_search_edit_text.text.isEmpty()) {
hideSearch() hideSearch()
return@setOnClickListener return@setOnClickListener
} }

View File

@ -1545,8 +1545,7 @@ public abstract class BasePlayer implements
if (simpleExoPlayer == null) { if (simpleExoPlayer == null) {
return PlaybackParameters.DEFAULT; return PlaybackParameters.DEFAULT;
} }
final PlaybackParameters parameters = simpleExoPlayer.getPlaybackParameters(); return simpleExoPlayer.getPlaybackParameters();
return parameters == null ? PlaybackParameters.DEFAULT : parameters;
} }
/** /**

View File

@ -48,7 +48,7 @@ public final class NotificationUtil {
@Nullable private static NotificationUtil instance = null; @Nullable private static NotificationUtil instance = null;
@NotificationConstants.Action @NotificationConstants.Action
private int[] notificationSlots = NotificationConstants.SLOT_DEFAULTS.clone(); private final int[] notificationSlots = NotificationConstants.SLOT_DEFAULTS.clone();
private NotificationManagerCompat notificationManager; private NotificationManagerCompat notificationManager;
private NotificationCompat.Builder notificationBuilder; private NotificationCompat.Builder notificationBuilder;

View File

@ -337,7 +337,7 @@ public class VideoPlayerImpl extends VideoPlayer
view.setFixedTextSize(TypedValue.COMPLEX_UNIT_PX, view.setFixedTextSize(TypedValue.COMPLEX_UNIT_PX,
(float) minimumLength / captionRatioInverse); (float) minimumLength / captionRatioInverse);
} }
view.setApplyEmbeddedStyles(captionStyle.equals(CaptionStyleCompat.DEFAULT)); view.setApplyEmbeddedStyles(captionStyle == CaptionStyleCompat.DEFAULT);
view.setStyle(captionStyle); view.setStyle(captionStyle);
} }

View File

@ -15,6 +15,7 @@ import org.schabi.newpipe.util.AnimationUtils
import kotlin.math.abs import kotlin.math.abs
import kotlin.math.hypot import kotlin.math.hypot
import kotlin.math.max import kotlin.math.max
import kotlin.math.min
/** /**
* Base gesture handling for [VideoPlayerImpl] * Base gesture handling for [VideoPlayerImpl]
@ -117,7 +118,7 @@ abstract class BasePlayerGestureListener(
initSecPointerX = event.getX(1) initSecPointerX = event.getX(1)
initSecPointerY = event.getY(1) initSecPointerY = event.getY(1)
// record distance between fingers // record distance between fingers
initPointerDistance = Math.hypot(initFirstPointerX - initSecPointerX.toDouble(), initPointerDistance = hypot(initFirstPointerX - initSecPointerX.toDouble(),
initFirstPointerY - initSecPointerY.toDouble()) initFirstPointerY - initSecPointerY.toDouble())
isResizing = true isResizing = true
@ -185,7 +186,7 @@ abstract class BasePlayerGestureListener(
playerImpl.updateScreenSize() playerImpl.updateScreenSize()
playerImpl.updatePopupSize( playerImpl.updatePopupSize(
Math.min(playerImpl.screenWidth.toDouble(), newWidth).toInt(), min(playerImpl.screenWidth.toDouble(), newWidth).toInt(),
-1) -1)
return true return true
} }

View File

@ -123,7 +123,7 @@ public class MediaSourceManager {
@NonNull @NonNull
private ManagedMediaSourcePlaylist playlist; private ManagedMediaSourcePlaylist playlist;
private Handler removeMediaSourceHandler = new Handler(); private final Handler removeMediaSourceHandler = new Handler();
public MediaSourceManager(@NonNull final PlaybackListener listener, public MediaSourceManager(@NonNull final PlaybackListener listener,
@NonNull final PlayQueue playQueue) { @NonNull final PlayQueue playQueue) {

View File

@ -215,7 +215,7 @@ public class PlayQueueAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
} }
} }
public class HFHolder extends RecyclerView.ViewHolder { public static class HFHolder extends RecyclerView.ViewHolder {
public View view; public View view;
public HFHolder(final View v) { public HFHolder(final View v) {

View File

@ -154,7 +154,7 @@ public class ErrorActivity extends AppCompatActivity {
public static void reportError(final Context context, final CrashReportData report, public static void reportError(final Context context, final CrashReportData report,
final ErrorInfo errorInfo) { final ErrorInfo errorInfo) {
final String[] el = new String[]{report.getString(ReportField.STACK_TRACE)}; final String[] el = {report.getString(ReportField.STACK_TRACE)};
final Intent intent = new Intent(context, ErrorActivity.class); final Intent intent = new Intent(context, ErrorActivity.class);
intent.putExtra(ERROR_INFO, errorInfo); intent.putExtra(ERROR_INFO, errorInfo);
@ -216,15 +216,15 @@ public class ErrorActivity extends AppCompatActivity {
addGuruMeditation(); addGuruMeditation();
currentTimeStamp = getCurrentTimeStamp(); currentTimeStamp = getCurrentTimeStamp();
reportEmailButton.setOnClickListener((View v) -> reportEmailButton.setOnClickListener(v ->
openPrivacyPolicyDialog(this, "EMAIL")); openPrivacyPolicyDialog(this, "EMAIL"));
copyButton.setOnClickListener((View v) -> { copyButton.setOnClickListener(v -> {
ShareUtils.copyToClipboard(this, buildMarkdown()); ShareUtils.copyToClipboard(this, buildMarkdown());
Toast.makeText(this, R.string.msg_copied, Toast.LENGTH_SHORT).show(); Toast.makeText(this, R.string.msg_copied, Toast.LENGTH_SHORT).show();
}); });
reportGithubButton.setOnClickListener((View v) -> reportGithubButton.setOnClickListener(v ->
openPrivacyPolicyDialog(this, "GITHUB")); openPrivacyPolicyDialog(this, "GITHUB"));

View File

@ -3,7 +3,6 @@ package org.schabi.newpipe.settings;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
@ -134,7 +133,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
addPreferencesFromResource(R.xml.content_settings); addPreferencesFromResource(R.xml.content_settings);
final Preference importDataPreference = findPreference(getString(R.string.import_data)); final Preference importDataPreference = findPreference(getString(R.string.import_data));
importDataPreference.setOnPreferenceClickListener((Preference p) -> { importDataPreference.setOnPreferenceClickListener(p -> {
final Intent i = new Intent(getActivity(), FilePickerActivityHelper.class) final Intent i = new Intent(getActivity(), FilePickerActivityHelper.class)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_MULTIPLE, false) .putExtra(FilePickerActivityHelper.EXTRA_ALLOW_MULTIPLE, false)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, false) .putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, false)
@ -145,7 +144,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
}); });
final Preference exportDataPreference = findPreference(getString(R.string.export_data)); final Preference exportDataPreference = findPreference(getString(R.string.export_data));
exportDataPreference.setOnPreferenceClickListener((Preference p) -> { exportDataPreference.setOnPreferenceClickListener(p -> {
final Intent i = new Intent(getActivity(), FilePickerActivityHelper.class) final Intent i = new Intent(getActivity(), FilePickerActivityHelper.class)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_MULTIPLE, false) .putExtra(FilePickerActivityHelper.EXTRA_ALLOW_MULTIPLE, false)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, true) .putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, true)
@ -199,9 +198,9 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.override_current_data) builder.setMessage(R.string.override_current_data)
.setPositiveButton(getString(R.string.finish), .setPositiveButton(getString(R.string.finish),
(DialogInterface d, int id) -> importDatabase(path)) (d, id) -> importDatabase(path))
.setNegativeButton(android.R.string.cancel, .setNegativeButton(android.R.string.cancel,
(DialogInterface d, int id) -> d.cancel()); (d, id) -> d.cancel());
builder.create().show(); builder.create().show();
} }
} }

View File

@ -53,7 +53,7 @@ import io.reactivex.schedulers.Schedulers;
public class PeertubeInstanceListFragment extends Fragment { public class PeertubeInstanceListFragment extends Fragment {
private static final int MENU_ITEM_RESTORE_ID = 123456; private static final int MENU_ITEM_RESTORE_ID = 123456;
private List<PeertubeInstance> instanceList = new ArrayList<>(); private final List<PeertubeInstance> instanceList = new ArrayList<>();
private PeertubeInstance selectedInstance; private PeertubeInstance selectedInstance;
private String savedInstanceListKey; private String savedInstanceListKey;
private InstanceListAdapter instanceListAdapter; private InstanceListAdapter instanceListAdapter;
@ -344,7 +344,7 @@ public class PeertubeInstanceListFragment extends Fragment {
private class InstanceListAdapter private class InstanceListAdapter
extends RecyclerView.Adapter<InstanceListAdapter.TabViewHolder> { extends RecyclerView.Adapter<InstanceListAdapter.TabViewHolder> {
private final LayoutInflater inflater; private final LayoutInflater inflater;
private ItemTouchHelper itemTouchHelper; private final ItemTouchHelper itemTouchHelper;
private RadioButton lastChecked; private RadioButton lastChecked;
InstanceListAdapter(final Context context, final ItemTouchHelper itemTouchHelper) { InstanceListAdapter(final Context context, final ItemTouchHelper itemTouchHelper) {
@ -377,11 +377,11 @@ public class PeertubeInstanceListFragment extends Fragment {
} }
class TabViewHolder extends RecyclerView.ViewHolder { class TabViewHolder extends RecyclerView.ViewHolder {
private AppCompatImageView instanceIconView; private final AppCompatImageView instanceIconView;
private TextView instanceNameView; private final TextView instanceNameView;
private TextView instanceUrlView; private final TextView instanceUrlView;
private RadioButton instanceRB; private final RadioButton instanceRB;
private ImageView handle; private final ImageView handle;
TabViewHolder(final View itemView) { TabViewHolder(final View itemView) {
super(itemView); super(itemView);

View File

@ -8,7 +8,7 @@ import androidx.preference.Preference;
import org.schabi.newpipe.R; import org.schabi.newpipe.R;
public class UpdateSettingsFragment extends BasePreferenceFragment { public class UpdateSettingsFragment extends BasePreferenceFragment {
private Preference.OnPreferenceChangeListener updatePreferenceChange private final Preference.OnPreferenceChangeListener updatePreferenceChange
= (preference, newValue) -> { = (preference, newValue) -> {
defaultPreferences.edit() defaultPreferences.edit()
.putBoolean(getString(R.string.update_app_key), (boolean) newValue).apply(); .putBoolean(getString(R.string.update_app_key), (boolean) newValue).apply();

View File

@ -334,7 +334,7 @@ public class ChooseTabsFragment extends Fragment {
private class SelectedTabsAdapter private class SelectedTabsAdapter
extends RecyclerView.Adapter<ChooseTabsFragment.SelectedTabsAdapter.TabViewHolder> { extends RecyclerView.Adapter<ChooseTabsFragment.SelectedTabsAdapter.TabViewHolder> {
private final LayoutInflater inflater; private final LayoutInflater inflater;
private ItemTouchHelper itemTouchHelper; private final ItemTouchHelper itemTouchHelper;
SelectedTabsAdapter(final Context context, final ItemTouchHelper itemTouchHelper) { SelectedTabsAdapter(final Context context, final ItemTouchHelper itemTouchHelper) {
this.itemTouchHelper = itemTouchHelper; this.itemTouchHelper = itemTouchHelper;
@ -367,9 +367,9 @@ public class ChooseTabsFragment extends Fragment {
} }
class TabViewHolder extends RecyclerView.ViewHolder { class TabViewHolder extends RecyclerView.ViewHolder {
private AppCompatImageView tabIconView; private final AppCompatImageView tabIconView;
private TextView tabNameView; private final TextView tabNameView;
private ImageView handle; private final ImageView handle;
TabViewHolder(final View itemView) { TabViewHolder(final View itemView) {
super(itemView); super(itemView);

View File

@ -116,7 +116,7 @@ public abstract class Tab {
return true; return true;
} }
return obj instanceof Tab && obj.getClass().equals(this.getClass()) return obj instanceof Tab && obj.getClass() == this.getClass()
&& ((Tab) obj).getTabId() == this.getTabId(); && ((Tab) obj).getTabId() == this.getTabId();
} }
@ -156,7 +156,7 @@ public abstract class Tab {
CHANNEL(new ChannelTab()), CHANNEL(new ChannelTab()),
PLAYLIST(new PlaylistTab()); PLAYLIST(new PlaylistTab());
private Tab tab; private final Tab tab;
Type(final Tab tab) { Type(final Tab tab) {
this.tab = tab; this.tab = tab;

View File

@ -743,24 +743,24 @@ public class Mp4DashReader {
return readFullBox(b); return readFullBox(b);
} }
class Box { static class Box {
int type; int type;
long offset; long offset;
long size; long size;
} }
public class Moof { public static class Moof {
int mfhdSequenceNumber; int mfhdSequenceNumber;
public Traf traf; public Traf traf;
} }
public class Traf { public static class Traf {
public Tfhd tfhd; public Tfhd tfhd;
long tfdt; long tfdt;
public Trun trun; public Trun trun;
} }
public class Tfhd { public static class Tfhd {
int bFlags; int bFlags;
public int trackId; public int trackId;
int defaultSampleDuration; int defaultSampleDuration;
@ -768,7 +768,7 @@ public class Mp4DashReader {
int defaultSampleFlags; int defaultSampleFlags;
} }
class TrunEntry { static class TrunEntry {
int sampleDuration; int sampleDuration;
int sampleSize; int sampleSize;
int sampleFlags; int sampleFlags;
@ -779,7 +779,7 @@ public class Mp4DashReader {
} }
public class Trun { public static class Trun {
public int chunkDuration; public int chunkDuration;
public int chunkSize; public int chunkSize;
@ -837,7 +837,7 @@ public class Mp4DashReader {
} }
} }
public class Tkhd { public static class Tkhd {
int trackId; int trackId;
long duration; long duration;
short bVolume; short bVolume;
@ -848,25 +848,25 @@ public class Mp4DashReader {
short bAlternateGroup; short bAlternateGroup;
} }
public class Trak { public static class Trak {
public Tkhd tkhd; public Tkhd tkhd;
public Elst edstElst; public Elst edstElst;
public Mdia mdia; public Mdia mdia;
} }
class Mvhd { static class Mvhd {
long timeScale; long timeScale;
long nextTrackId; long nextTrackId;
} }
class Moov { static class Moov {
Mvhd mvhd; Mvhd mvhd;
Trak[] trak; Trak[] trak;
Trex[] mvexTrex; Trex[] mvexTrex;
} }
public class Trex { public static class Trex {
private int trackId; private int trackId;
int defaultSampleDescriptionIndex; int defaultSampleDescriptionIndex;
int defaultSampleDuration; int defaultSampleDuration;
@ -874,37 +874,37 @@ public class Mp4DashReader {
int defaultSampleFlags; int defaultSampleFlags;
} }
public class Elst { public static class Elst {
public long mediaTime; public long mediaTime;
public int bMediaRate; public int bMediaRate;
} }
public class Mdia { public static class Mdia {
public int mdhdTimeScale; public int mdhdTimeScale;
public byte[] mdhd; public byte[] mdhd;
public Hdlr hdlr; public Hdlr hdlr;
public Minf minf; public Minf minf;
} }
public class Hdlr { public static class Hdlr {
public int type; public int type;
public int subType; public int subType;
public byte[] bReserved; public byte[] bReserved;
} }
public class Minf { public static class Minf {
public byte[] dinf; public byte[] dinf;
public byte[] stblStsd; public byte[] stblStsd;
public byte[] mhd; public byte[] mhd;
} }
public class Mp4Track { public static class Mp4Track {
public TrackKind kind; public TrackKind kind;
public Trak trak; public Trak trak;
public Trex trex; public Trex trex;
} }
public class Mp4DashChunk { public static class Mp4DashChunk {
public InputStream data; public InputStream data;
public Moof moof; public Moof moof;
private int i = 0; private int i = 0;
@ -936,7 +936,7 @@ public class Mp4DashReader {
} }
} }
public class Mp4DashSample { public static class Mp4DashSample {
public TrunEntry info; public TrunEntry info;
public byte[] data; public byte[] data;
} }

View File

@ -897,7 +897,7 @@ public class Mp4FromDashWriter {
return buffer.array(); return buffer.array();
} }
class TablesInfo { static class TablesInfo {
int stts; int stts;
int stsc; int stsc;
int[] stscBEntries; int[] stscBEntries;

View File

@ -31,8 +31,8 @@ public class OggFromWebMWriter implements Closeable {
private boolean done = false; private boolean done = false;
private boolean parsed = false; private boolean parsed = false;
private SharpStream source; private final SharpStream source;
private SharpStream output; private final SharpStream output;
private int sequenceCount = 0; private int sequenceCount = 0;
private final int streamId; private final int streamId;

View File

@ -20,8 +20,8 @@ import java.nio.charset.StandardCharsets;
public class SrtFromTtmlWriter { public class SrtFromTtmlWriter {
private static final String NEW_LINE = "\r\n"; private static final String NEW_LINE = "\r\n";
private SharpStream out; private final SharpStream out;
private boolean ignoreEmptyFrames; private final boolean ignoreEmptyFrames;
private final Charset charset = StandardCharsets.UTF_8; private final Charset charset = StandardCharsets.UTF_8;
private int frameIndex = 0; private int frameIndex = 0;

View File

@ -49,7 +49,7 @@ public class WebMReader {
Audio/*2*/, Video/*1*/, Other Audio/*2*/, Video/*1*/, Other
} }
private DataReader stream; private final DataReader stream;
private Segment segment; private Segment segment;
private WebMTrack[] tracks; private WebMTrack[] tracks;
private int selectedTrack; private int selectedTrack;
@ -397,19 +397,19 @@ public class WebMReader {
return obj; return obj;
} }
class Element { static class Element {
int type; int type;
long offset; long offset;
long contentSize; long contentSize;
long size; long size;
} }
public class Info { public static class Info {
public long timecodeScale; public long timecodeScale;
public long duration; public long duration;
} }
public class WebMTrack { public static class WebMTrack {
public long trackNumber; public long trackNumber;
protected int trackType; protected int trackType;
public String codecId; public String codecId;
@ -454,7 +454,7 @@ public class WebMReader {
} }
} }
public class SimpleBlock { public static class SimpleBlock {
public InputStream data; public InputStream data;
public boolean createdFromBlock; public boolean createdFromBlock;

View File

@ -157,7 +157,7 @@ public final class AnimationUtils {
+ "colorStart = [" + colorStart + "], colorEnd = [" + colorEnd + "]"); + "colorStart = [" + colorStart + "], colorEnd = [" + colorEnd + "]");
} }
final int[][] empty = new int[][]{new int[0]}; final int[][] empty = {new int[0]};
final ValueAnimator viewPropertyAnimator = ValueAnimator final ValueAnimator viewPropertyAnimator = ValueAnimator
.ofObject(new ArgbEvaluator(), colorStart, colorEnd); .ofObject(new ArgbEvaluator(), colorStart, colorEnd);
viewPropertyAnimator.setInterpolator(new FastOutSlowInInterpolator()); viewPropertyAnimator.setInterpolator(new FastOutSlowInInterpolator());

View File

@ -2,7 +2,6 @@ package org.schabi.newpipe.util;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
@ -20,9 +19,9 @@ public final class KoreUtil {
public static void showInstallKoreDialog(final Context context) { public static void showInstallKoreDialog(final Context context) {
final AlertDialog.Builder builder = new AlertDialog.Builder(context); final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(R.string.kore_not_found) builder.setMessage(R.string.kore_not_found)
.setPositiveButton(R.string.install, (DialogInterface dialog, int which) -> .setPositiveButton(R.string.install, (dialog, which) ->
NavigationHelper.installKore(context)) NavigationHelper.installKore(context))
.setNegativeButton(R.string.cancel, (DialogInterface dialog, int which) -> { .setNegativeButton(R.string.cancel, (dialog, which) -> {
}); });
builder.create().show(); builder.create().show();
} }

View File

@ -24,7 +24,7 @@ public class TLSSocketFactoryCompat extends SSLSocketFactory {
private static TLSSocketFactoryCompat instance = null; private static TLSSocketFactoryCompat instance = null;
private SSLSocketFactory internalSSLSocketFactory; private final SSLSocketFactory internalSSLSocketFactory;
public TLSSocketFactoryCompat() throws KeyManagementException, NoSuchAlgorithmException { public TLSSocketFactoryCompat() throws KeyManagementException, NoSuchAlgorithmException {
final SSLContext context = SSLContext.getInstance("TLS"); final SSLContext context = SSLContext.getInstance("TLS");

View File

@ -109,7 +109,7 @@ public final class FocusAwareSeekBar extends AppCompatSeekBar {
} }
} }
private final class NestedListener implements OnSeekBarChangeListener { private static final class NestedListener implements OnSeekBarChangeListener {
private final OnSeekBarChangeListener delegate; private final OnSeekBarChangeListener delegate;
boolean isSeeking; boolean isSeeking;

View File

@ -33,8 +33,8 @@ import androidx.recyclerview.widget.RecyclerView;
public class NewPipeRecyclerView extends RecyclerView { public class NewPipeRecyclerView extends RecyclerView {
private static final String TAG = "NewPipeRecyclerView"; private static final String TAG = "NewPipeRecyclerView";
private Rect focusRect = new Rect(); private final Rect focusRect = new Rect();
private Rect tempFocus = new Rect(); private final Rect tempFocus = new Rect();
private boolean allowDpadScroll = true; private boolean allowDpadScroll = true;

View File

@ -23,7 +23,7 @@ public class DownloadInitializer extends Thread {
private final static int RESERVE_SPACE_DEFAULT = 5 * 1024 * 1024;// 5 MiB private final static int RESERVE_SPACE_DEFAULT = 5 * 1024 * 1024;// 5 MiB
private final static int RESERVE_SPACE_MAXIMUM = 150 * 1024 * 1024;// 150 MiB private final static int RESERVE_SPACE_MAXIMUM = 150 * 1024 * 1024;// 150 MiB
private DownloadMission mMission; private final DownloadMission mMission;
private HttpURLConnection mConn; private HttpURLConnection mConn;
DownloadInitializer(@NonNull DownloadMission mission) { DownloadInitializer(@NonNull DownloadMission mission) {

View File

@ -68,7 +68,7 @@ public class FinishedMissionStore extends SQLiteOpenHelper {
" UNIQUE(" + KEY_TIMESTAMP + ", " + KEY_PATH + "));"; " UNIQUE(" + KEY_TIMESTAMP + ", " + KEY_PATH + "));";
private Context context; private final Context context;
public FinishedMissionStore(Context context) { public FinishedMissionStore(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION); super(context, DATABASE_NAME, null, DATABASE_VERSION);

View File

@ -15,7 +15,7 @@ public class CircularFileWriter extends SharpStream {
private final static int NOTIFY_BYTES_INTERVAL = 64 * 1024;// 64 KiB private final static int NOTIFY_BYTES_INTERVAL = 64 * 1024;// 64 KiB
private final static int THRESHOLD_AUX_LENGTH = 15 * 1024 * 1024;// 15 MiB private final static int THRESHOLD_AUX_LENGTH = 15 * 1024 * 1024;// 15 MiB
private OffsetChecker callback; private final OffsetChecker callback;
public ProgressReport onProgress; public ProgressReport onProgress;
public WriteErrorHandle onWriteError; public WriteErrorHandle onWriteError;

View File

@ -31,7 +31,7 @@ public class StoredDirectoryHelper {
private Context context; private Context context;
private String tag; private final String tag;
public StoredDirectoryHelper(@NonNull Context context, @NonNull Uri path, String tag) throws IOException { public StoredDirectoryHelper(@NonNull Context context, @NonNull Uri path, String tag) throws IOException {
this.tag = tag; this.tag = tag;
@ -82,7 +82,7 @@ public class StoredDirectoryHelper {
docTree.getUri(), DocumentsContract.getDocumentId(docTree.getUri()) docTree.getUri(), DocumentsContract.getDocumentId(docTree.getUri())
); );
String[] projection = new String[]{COLUMN_DISPLAY_NAME}; String[] projection = {COLUMN_DISPLAY_NAME};
String selection = "(LOWER(" + COLUMN_DISPLAY_NAME + ") LIKE ?%"; String selection = "(LOWER(" + COLUMN_DISPLAY_NAME + ") LIKE ?%";
ContentResolver cr = context.getContentResolver(); ContentResolver cr = context.getContentResolver();

View File

@ -73,7 +73,7 @@ public abstract class Postprocessing implements Serializable {
/** /**
* Gets the given algorithm short name * Gets the given algorithm short name
*/ */
private String name; private final String name;
private String[] args; private String[] args;

View File

@ -686,7 +686,7 @@ public class DownloadManager {
} }
} }
public class MissionItem { public static class MissionItem {
public int special; public int special;
public Mission mission; public Mission mission;

View File

@ -109,7 +109,7 @@ public class DownloadManagerService extends Service {
private int downloadFailedNotificationID = DOWNLOADS_NOTIFICATION_ID + 1; private int downloadFailedNotificationID = DOWNLOADS_NOTIFICATION_ID + 1;
private Builder downloadFailedNotification = null; private Builder downloadFailedNotification = null;
private SparseArray<DownloadMission> mFailedDownloads = new SparseArray<>(5); private final SparseArray<DownloadMission> mFailedDownloads = new SparseArray<>(5);
private Bitmap icLauncher; private Bitmap icLauncher;
private Bitmap icDownloadDone; private Bitmap icDownloadDone;

View File

@ -96,21 +96,21 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
ALGORITHMS.put(R.id.sha1, "SHA1"); ALGORITHMS.put(R.id.sha1, "SHA1");
} }
private Context mContext; private final Context mContext;
private LayoutInflater mInflater; private final LayoutInflater mInflater;
private DownloadManager mDownloadManager; private final DownloadManager mDownloadManager;
private Deleter mDeleter; private final Deleter mDeleter;
private int mLayout; private int mLayout;
private DownloadManager.MissionIterator mIterator; private final DownloadManager.MissionIterator mIterator;
private ArrayList<ViewHolderItem> mPendingDownloadsItems = new ArrayList<>(); private final ArrayList<ViewHolderItem> mPendingDownloadsItems = new ArrayList<>();
private Handler mHandler; private final Handler mHandler;
private MenuItem mClear; private MenuItem mClear;
private MenuItem mStartButton; private MenuItem mStartButton;
private MenuItem mPauseButton; private MenuItem mPauseButton;
private View mEmptyMessage; private final View mEmptyMessage;
private RecoverHelper mRecover; private RecoverHelper mRecover;
private View mView; private final View mView;
private ArrayList<Mission> mHidden; private final ArrayList<Mission> mHidden;
private Snackbar mSnackbar; private Snackbar mSnackbar;
private final Runnable rUpdater = this::updater; private final Runnable rUpdater = this::updater;
@ -976,7 +976,7 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
} }
} }
class ViewHolderHeader extends RecyclerView.ViewHolder { static class ViewHolderHeader extends RecyclerView.ViewHolder {
TextView header; TextView header;
ViewHolderHeader(View view) { ViewHolderHeader(View view) {

View File

@ -27,12 +27,12 @@ public class Deleter {
private ArrayList<Mission> items; private ArrayList<Mission> items;
private boolean running = true; private boolean running = true;
private Context mContext; private final Context mContext;
private MissionAdapter mAdapter; private final MissionAdapter mAdapter;
private DownloadManager mDownloadManager; private final DownloadManager mDownloadManager;
private MissionIterator mIterator; private final MissionIterator mIterator;
private Handler mHandler; private final Handler mHandler;
private View mView; private final View mView;
private final Runnable rShow; private final Runnable rShow;
private final Runnable rNext; private final Runnable rNext;

View File

@ -66,7 +66,7 @@ public class MissionsFragment extends Fragment {
private DownloadMission unsafeMissionTarget = null; private DownloadMission unsafeMissionTarget = null;
private ServiceConnection mConnection = new ServiceConnection() { private final ServiceConnection mConnection = new ServiceConnection() {
@Override @Override
public void onServiceConnected(ComponentName name, IBinder binder) { public void onServiceConnected(ComponentName name, IBinder binder) {

View File

@ -81,7 +81,7 @@ public class TabsJsonHelperTest {
private boolean isTabsArrayEmpty(final String returnedJson) throws JsonParserException { private boolean isTabsArrayEmpty(final String returnedJson) throws JsonParserException {
final JsonObject jsonObject = JsonParser.object().from(returnedJson); final JsonObject jsonObject = JsonParser.object().from(returnedJson);
assertTrue(jsonObject.containsKey(JSON_TABS_ARRAY_KEY)); assertTrue(jsonObject.containsKey(JSON_TABS_ARRAY_KEY));
return jsonObject.getArray(JSON_TABS_ARRAY_KEY).size() == 0; return jsonObject.getArray(JSON_TABS_ARRAY_KEY).isEmpty();
} }
@Test @Test

View File

@ -7,7 +7,7 @@ buildscript {
google() google()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.1.0' classpath 'com.android.tools.build:gradle:4.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong