Add @NonNull annotations to @Override methods.

This commit is contained in:
Reimar Döffinger 2018-08-21 00:34:42 +02:00
parent acefc4ca59
commit 7e14bf4c10
26 changed files with 100 additions and 63 deletions

View File

@ -1,5 +1,7 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.support.annotation.NonNull;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@ -24,7 +26,7 @@ class ProgressBufferedInputStream extends BufferedInputStream {
} }
@Override @Override
public int read(byte[] buffer, int byteOffset, int byteCount) throws IOException { public int read(@NonNull byte[] buffer, int byteOffset, int byteCount) throws IOException {
if (progressListener != null) { if (progressListener != null) {
currentBytes += byteCount; currentBytes += byteCount;
/* don't send every change to keep things efficient. 333333 bytes to keep all /* don't send every change to keep things efficient. 333333 bytes to keep all

View File

@ -485,7 +485,8 @@ public class ApkProvider extends FDroidProvider {
} }
@Override @Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { public Cursor query(@NonNull Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
QuerySelection query = new QuerySelection(selection, selectionArgs); QuerySelection query = new QuerySelection(selection, selectionArgs);
@ -554,7 +555,7 @@ public class ApkProvider extends FDroidProvider {
} }
@Override @Override
public Uri insert(Uri uri, ContentValues values) { public Uri insert(@NonNull Uri uri, ContentValues values) {
boolean saveAntiFeatures = false; boolean saveAntiFeatures = false;
String[] antiFeatures = null; String[] antiFeatures = null;
if (values.containsKey(Cols.AntiFeatures.ANTI_FEATURES)) { if (values.containsKey(Cols.AntiFeatures.ANTI_FEATURES)) {
@ -626,7 +627,7 @@ public class ApkProvider extends FDroidProvider {
} }
@Override @Override
public int delete(Uri uri, String where, String[] whereArgs) { public int delete(@NonNull Uri uri, String where, String[] whereArgs) {
QuerySelection query = new QuerySelection(where, whereArgs); QuerySelection query = new QuerySelection(where, whereArgs);
@ -652,7 +653,7 @@ public class ApkProvider extends FDroidProvider {
} }
@Override @Override
public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) {
if (MATCHER.match(uri) != CODE_APK_FROM_REPO) { if (MATCHER.match(uri) != CODE_APK_FROM_REPO) {
throw new UnsupportedOperationException("Cannot update anything other than a single apk."); throw new UnsupportedOperationException("Cannot update anything other than a single apk.");
} }

View File

@ -5,6 +5,7 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull;
import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.ApkTable;
import org.fdroid.fdroid.data.Schema.ApkTable.Cols; import org.fdroid.fdroid.data.Schema.ApkTable.Cols;
@ -75,7 +76,7 @@ public class TempApkProvider extends ApkProvider {
} }
@Override @Override
public Uri insert(Uri uri, ContentValues values) { public Uri insert(@NonNull Uri uri, ContentValues values) {
if (MATCHER.match(uri) == CODE_INIT) { if (MATCHER.match(uri) == CODE_INIT) {
initTable(Long.parseLong(uri.getLastPathSegment())); initTable(Long.parseLong(uri.getLastPathSegment()));
return null; return null;
@ -85,12 +86,12 @@ public class TempApkProvider extends ApkProvider {
} }
@Override @Override
public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) {
throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri); throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri);
} }
@Override @Override
public int delete(Uri uri, String where, String[] whereArgs) { public int delete(@NonNull Uri uri, String where, String[] whereArgs) {
throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri); throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri);
} }

View File

@ -7,6 +7,7 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteException;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.ApkTable;
import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.data.Schema.AppMetadataTable;
@ -131,7 +132,7 @@ public class TempAppProvider extends AppProvider {
} }
@Override @Override
public Uri insert(Uri uri, ContentValues values) { public Uri insert(@NonNull Uri uri, ContentValues values) {
switch (MATCHER.match(uri)) { switch (MATCHER.match(uri)) {
case CODE_INIT: case CODE_INIT:
initTable(Long.parseLong(uri.getLastPathSegment())); initTable(Long.parseLong(uri.getLastPathSegment()));
@ -146,12 +147,12 @@ public class TempAppProvider extends AppProvider {
} }
@Override @Override
public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) {
throw new UnsupportedOperationException("Update not supported for " + uri + "."); throw new UnsupportedOperationException("Update not supported for " + uri + ".");
} }
@Override @Override
public Cursor query(Uri uri, String[] projection, public Cursor query(@NonNull Uri uri, String[] projection,
String customSelection, String[] selectionArgs, String sortOrder) { String customSelection, String[] selectionArgs, String sortOrder) {
AppQuerySelection selection = new AppQuerySelection(customSelection, selectionArgs); AppQuerySelection selection = new AppQuerySelection(customSelection, selectionArgs);
switch (MATCHER.match(uri)) { switch (MATCHER.match(uri)) {

View File

@ -6,6 +6,7 @@ import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentActivity;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
@ -121,7 +122,7 @@ public class FileInstallerActivity extends FragmentActivity {
@Override @Override
public void onRequestPermissionsResult(int requestCode, public void onRequestPermissionsResult(int requestCode,
String[] permissions, int[] grantResults) { @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) { switch (requestCode) {
case MY_PERMISSIONS_REQUEST_STORAGE: case MY_PERMISSIONS_REQUEST_STORAGE:
// If request is cancelled, the result arrays are empty. // If request is cancelled, the result arrays are empty.

View File

@ -1,6 +1,8 @@
package org.fdroid.fdroid.net; package org.fdroid.fdroid.net;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull;
import org.fdroid.fdroid.ProgressListener; import org.fdroid.fdroid.ProgressListener;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
@ -243,12 +245,12 @@ public abstract class Downloader {
} }
@Override @Override
public int read(byte[] buffer) throws IOException { public int read(@NonNull byte[] buffer) throws IOException {
return toWrap.read(buffer); return toWrap.read(buffer);
} }
@Override @Override
public int read(byte[] buffer, int byteOffset, int byteCount) throws IOException { public int read(@NonNull byte[] buffer, int byteOffset, int byteCount) throws IOException {
return toWrap.read(buffer, byteOffset, byteCount); return toWrap.read(buffer, byteOffset, byteCount);
} }

View File

@ -20,6 +20,7 @@ package org.fdroid.fdroid.privileged.views;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.graphics.Rect; import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter; import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager;
import android.view.View; import android.view.View;
@ -87,20 +88,21 @@ class TabsAdapter extends PagerAdapter
return tabs.size(); return tabs.size();
} }
@NonNull
@Override @Override
public Object instantiateItem(ViewGroup container, int position) { public Object instantiateItem(@NonNull ViewGroup container, int position) {
View view = tabs.get(position); View view = tabs.get(position);
container.addView(view); container.addView(view);
return view; return view;
} }
@Override @Override
public void destroyItem(ViewGroup container, int position, Object object) { public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object); container.removeView((View) object);
} }
@Override @Override
public boolean isViewFromObject(View view, Object object) { public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object; return view == object;
} }

View File

@ -223,8 +223,9 @@ public class AppDetailsRecyclerViewAdapter
} }
} }
@NonNull
@Override @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext()); LayoutInflater inflater = LayoutInflater.from(parent.getContext());
switch (viewType) { switch (viewType) {
case VIEWTYPE_HEADER: case VIEWTYPE_HEADER:
@ -257,7 +258,7 @@ public class AppDetailsRecyclerViewAdapter
} }
@Override @Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) {
int viewType = getItemViewType(position); int viewType = getItemViewType(position);
switch (viewType) { switch (viewType) {
case VIEWTYPE_HEADER: case VIEWTYPE_HEADER:
@ -283,7 +284,7 @@ public class AppDetailsRecyclerViewAdapter
} }
@Override @Override
public void onViewRecycled(RecyclerView.ViewHolder holder) { public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
if (holder instanceof HeaderViewHolder) { if (holder instanceof HeaderViewHolder) {
headerView = null; headerView = null;
} }
@ -615,13 +616,13 @@ public class AppDetailsRecyclerViewAdapter
} }
@Override @Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) { public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView); super.onAttachedToRecyclerView(recyclerView);
this.recyclerView = recyclerView; this.recyclerView = recyclerView;
} }
@Override @Override
public void onDetachedFromRecyclerView(RecyclerView recyclerView) { public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) {
this.recyclerView = null; this.recyclerView = null;
super.onDetachedFromRecyclerView(recyclerView); super.onDetachedFromRecyclerView(recyclerView);
} }

View File

@ -858,6 +858,7 @@ public class ManageReposActivity extends AppCompatActivity
private RepoAdapter repoAdapter; private RepoAdapter repoAdapter;
@NonNull
@Override @Override
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) { public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
Uri uri = RepoProvider.allExceptSwapUri(); Uri uri = RepoProvider.allExceptSwapUri();
@ -872,12 +873,12 @@ public class ManageReposActivity extends AppCompatActivity
} }
@Override @Override
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) { public void onLoadFinished(@NonNull Loader<Cursor> cursorLoader, Cursor cursor) {
repoAdapter.swapCursor(cursor); repoAdapter.swapCursor(cursor);
} }
@Override @Override
public void onLoaderReset(Loader<Cursor> cursorLoader) { public void onLoaderReset(@NonNull Loader<Cursor> cursorLoader) {
repoAdapter.swapCursor(null); repoAdapter.swapCursor(null);
} }

View File

@ -4,6 +4,7 @@ import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentManager;
@ -125,7 +126,7 @@ public class ScreenShotsActivity extends AppCompatActivity {
@Nullable @Nullable
@Override @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) { @Nullable Bundle savedInstanceState) {
DisplayImageOptions displayImageOptions = Utils.getDefaultDisplayImageOptionsBuilder() DisplayImageOptions displayImageOptions = Utils.getDefaultDisplayImageOptionsBuilder()
@ -146,7 +147,7 @@ public class ScreenShotsActivity extends AppCompatActivity {
@TargetApi(11) @TargetApi(11)
public static class DepthPageTransformer implements ViewPager.PageTransformer { public static class DepthPageTransformer implements ViewPager.PageTransformer {
public void transformPage(View view, float position) { public void transformPage(@NonNull View view, float position) {
int pageWidth = view.getWidth(); int pageWidth = view.getWidth();
if (position <= 0) { if (position <= 0) {

View File

@ -1,6 +1,7 @@
package org.fdroid.fdroid.views; package org.fdroid.fdroid.views;
import android.content.Context; import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@ -33,14 +34,15 @@ class ScreenShotsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.V
} }
@Override @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
final ScreenShotViewHolder vh = (ScreenShotViewHolder) holder; final ScreenShotViewHolder vh = (ScreenShotViewHolder) holder;
ImageLoader.getInstance().displayImage(screenshots[position], ImageLoader.getInstance().displayImage(screenshots[position],
vh.image, displayImageOptions); vh.image, displayImageOptions);
} }
@NonNull
@Override @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()) View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.app_details2_screenshot_item, parent, false); .inflate(R.layout.app_details2_screenshot_item, parent, false);
return new ScreenShotViewHolder(view); return new ScreenShotViewHolder(view);

View File

@ -90,7 +90,7 @@ public class ShareChooserDialog extends BottomSheetDialogFragment {
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.share_chooser, container, false); View v = inflater.inflate(R.layout.share_chooser, container, false);
setupView(v); setupView(v);
return v; return v;
@ -153,8 +153,9 @@ public class ShareChooserDialog extends BottomSheetDialogFragment {
return VIEWTYPE_INTENT; return VIEWTYPE_INTENT;
} }
@NonNull
@Override @Override
public VH onCreateViewHolder(ViewGroup parent, int viewType) { public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate((viewType == 1) View view = LayoutInflater.from(parent.getContext()).inflate((viewType == 1)
? R.layout.share_header_item ? R.layout.share_header_item
: R.layout.share_item, parent, false); : R.layout.share_item, parent, false);
@ -162,7 +163,7 @@ public class ShareChooserDialog extends BottomSheetDialogFragment {
} }
@Override @Override
public void onBindViewHolder(VH holder, int position) { public void onBindViewHolder(@NonNull VH holder, int position) {
if (getItemViewType(position) == VIEWTYPE_SWAP) { if (getItemViewType(position) == VIEWTYPE_SWAP) {
holder.itemView.setOnClickListener(new View.OnClickListener() { holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override @Override

View File

@ -178,6 +178,7 @@ public class AppListActivity extends AppCompatActivity implements LoaderManager.
return string.toString(); return string.toString();
} }
@NonNull
@Override @Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) { public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader( return new CursorLoader(
@ -191,7 +192,7 @@ public class AppListActivity extends AppCompatActivity implements LoaderManager.
} }
@Override @Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor cursor) {
appAdapter.setAppCursor(cursor); appAdapter.setAppCursor(cursor);
if (cursor.getCount() > 0) { if (cursor.getCount() > 0) {
emptyState.setVisibility(View.GONE); emptyState.setVisibility(View.GONE);
@ -203,7 +204,7 @@ public class AppListActivity extends AppCompatActivity implements LoaderManager.
} }
@Override @Override
public void onLoaderReset(Loader<Cursor> loader) { public void onLoaderReset(@NonNull Loader<Cursor> loader) {
appAdapter.setAppCursor(null); appAdapter.setAppCursor(null);
} }

View File

@ -2,6 +2,7 @@ package org.fdroid.fdroid.views.apps;
import android.app.Activity; import android.app.Activity;
import android.database.Cursor; import android.database.Cursor;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
@ -25,14 +26,15 @@ class AppListAdapter extends RecyclerView.Adapter<StandardAppListItemController>
notifyDataSetChanged(); notifyDataSetChanged();
} }
@NonNull
@Override @Override
public StandardAppListItemController onCreateViewHolder(ViewGroup parent, int viewType) { public StandardAppListItemController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new StandardAppListItemController(activity, activity.getLayoutInflater() return new StandardAppListItemController(activity, activity.getLayoutInflater()
.inflate(R.layout.app_list_item, parent, false)); .inflate(R.layout.app_list_item, parent, false));
} }
@Override @Override
public void onBindViewHolder(StandardAppListItemController holder, int position) { public void onBindViewHolder(@NonNull StandardAppListItemController holder, int position) {
cursor.moveToPosition(position); cursor.moveToPosition(position);
final App app = new App(cursor); final App app = new App(cursor);
holder.bindModel(app); holder.bindModel(app);
@ -50,13 +52,13 @@ class AppListAdapter extends RecyclerView.Adapter<StandardAppListItemController>
} }
@Override @Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) { public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView); super.onAttachedToRecyclerView(recyclerView);
recyclerView.addItemDecoration(divider); recyclerView.addItemDecoration(divider);
} }
@Override @Override
public void onDetachedFromRecyclerView(RecyclerView recyclerView) { public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) {
recyclerView.removeItemDecoration(divider); recyclerView.removeItemDecoration(divider);
super.onDetachedFromRecyclerView(recyclerView); super.onDetachedFromRecyclerView(recyclerView);
} }

View File

@ -261,7 +261,7 @@ public class FeatureImage extends AppCompatImageView {
if (loadedImage != null) { if (loadedImage != null) {
new Palette.Builder(loadedImage).generate(new Palette.PaletteAsyncListener() { new Palette.Builder(loadedImage).generate(new Palette.PaletteAsyncListener() {
@Override @Override
public void onGenerated(Palette palette) { public void onGenerated(@NonNull Palette palette) {
if (palette != null) { if (palette != null) {
setColorAndAnimateChange(palette.getDominantColor(Color.LTGRAY)); setColorAndAnimateChange(palette.getDominantColor(Color.LTGRAY));
} }

View File

@ -184,7 +184,7 @@ public class AppCardController extends RecyclerView.ViewHolder
&& loadedImage != null) { && loadedImage != null) {
new Palette.Builder(loadedImage).generate(new Palette.PaletteAsyncListener() { new Palette.Builder(loadedImage).generate(new Palette.PaletteAsyncListener() {
@Override @Override
public void onGenerated(Palette palette) { public void onGenerated(@NonNull Palette palette) {
featuredImage.setColorAndAnimateChange(palette.getDominantColor(Color.LTGRAY)); featuredImage.setColorAndAnimateChange(palette.getDominantColor(Color.LTGRAY));
} }
}); });

View File

@ -2,6 +2,7 @@ package org.fdroid.fdroid.views.categories;
import android.app.Activity; import android.app.Activity;
import android.database.Cursor; import android.database.Cursor;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
@ -16,14 +17,15 @@ class AppPreviewAdapter extends RecyclerView.Adapter<AppCardController> {
this.activity = activity; this.activity = activity;
} }
@NonNull
@Override @Override
public AppCardController onCreateViewHolder(ViewGroup parent, int viewType) { public AppCardController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new AppCardController(activity, activity.getLayoutInflater() return new AppCardController(activity, activity.getLayoutInflater()
.inflate(R.layout.app_card_normal, parent, false)); .inflate(R.layout.app_card_normal, parent, false));
} }
@Override @Override
public void onBindViewHolder(AppCardController holder, int position) { public void onBindViewHolder(@NonNull AppCardController holder, int position) {
cursor.moveToPosition(position); cursor.moveToPosition(position);
holder.bindApp(new App(cursor)); holder.bindApp(new App(cursor));
} }

View File

@ -23,14 +23,15 @@ public class CategoryAdapter extends RecyclerView.Adapter<CategoryController> {
this.loaderManager = loaderManager; this.loaderManager = loaderManager;
} }
@NonNull
@Override @Override
public CategoryController onCreateViewHolder(ViewGroup parent, int viewType) { public CategoryController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new CategoryController(activity, loaderManager, activity.getLayoutInflater() return new CategoryController(activity, loaderManager, activity.getLayoutInflater()
.inflate(R.layout.category_item, parent, false)); .inflate(R.layout.category_item, parent, false));
} }
@Override @Override
public void onBindViewHolder(CategoryController holder, int position) { public void onBindViewHolder(@NonNull CategoryController holder, int position) {
holder.bindModel(unlocalizedCategoryNames.get(position)); holder.bindModel(unlocalizedCategoryNames.get(position));
} }

View File

@ -133,6 +133,7 @@ public class CategoryController extends RecyclerView.ViewHolder implements Loade
return Color.HSVToColor(hsv); return Color.HSVToColor(hsv);
} }
@NonNull
@Override @Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) { public Loader<Cursor> onCreateLoader(int id, Bundle args) {
if (id == currentCategory.hashCode() + 1) { if (id == currentCategory.hashCode() + 1) {
@ -162,7 +163,7 @@ public class CategoryController extends RecyclerView.ViewHolder implements Loade
} }
@Override @Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor cursor) {
int topAppsId = currentCategory.hashCode(); int topAppsId = currentCategory.hashCode();
int countAllAppsId = topAppsId + 1; int countAllAppsId = topAppsId + 1;
@ -184,7 +185,7 @@ public class CategoryController extends RecyclerView.ViewHolder implements Loade
} }
@Override @Override
public void onLoaderReset(Loader<Cursor> loader) { public void onLoaderReset(@NonNull Loader<Cursor> loader) {
appCardsAdapter.setAppCursor(null); appCardsAdapter.setAppCursor(null);
} }

View File

@ -2,6 +2,7 @@ package org.fdroid.fdroid.views.installed;
import android.app.Activity; import android.app.Activity;
import android.database.Cursor; import android.database.Cursor;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.View; import android.view.View;
@ -32,14 +33,15 @@ class InstalledAppListAdapter extends RecyclerView.Adapter<InstalledAppListItemC
return cursor.getLong(cursor.getColumnIndex(Schema.AppMetadataTable.Cols.ROW_ID)); return cursor.getLong(cursor.getColumnIndex(Schema.AppMetadataTable.Cols.ROW_ID));
} }
@NonNull
@Override @Override
public InstalledAppListItemController onCreateViewHolder(ViewGroup parent, int viewType) { public InstalledAppListItemController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = activity.getLayoutInflater().inflate(R.layout.installed_app_list_item, parent, false); View view = activity.getLayoutInflater().inflate(R.layout.installed_app_list_item, parent, false);
return new InstalledAppListItemController(activity, view); return new InstalledAppListItemController(activity, view);
} }
@Override @Override
public void onBindViewHolder(InstalledAppListItemController holder, int position) { public void onBindViewHolder(@NonNull InstalledAppListItemController holder, int position) {
if (cursor == null) { if (cursor == null) {
return; return;
} }

View File

@ -21,6 +21,7 @@ package org.fdroid.fdroid.views.installed;
import android.database.Cursor; import android.database.Cursor;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.LoaderManager; import android.support.v4.app.LoaderManager;
import android.support.v4.app.ShareCompat; import android.support.v4.app.ShareCompat;
import android.support.v4.content.CursorLoader; import android.support.v4.content.CursorLoader;
@ -76,6 +77,7 @@ public class InstalledAppsActivity extends AppCompatActivity implements LoaderMa
getSupportLoaderManager().restartLoader(0, null, this); getSupportLoaderManager().restartLoader(0, null, this);
} }
@NonNull
@Override @Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) { public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader( return new CursorLoader(
@ -86,7 +88,7 @@ public class InstalledAppsActivity extends AppCompatActivity implements LoaderMa
} }
@Override @Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor cursor) {
adapter.setApps(cursor); adapter.setApps(cursor);
if (adapter.getItemCount() == 0) { if (adapter.getItemCount() == 0) {
@ -99,7 +101,7 @@ public class InstalledAppsActivity extends AppCompatActivity implements LoaderMa
} }
@Override @Override
public void onLoaderReset(Loader<Cursor> loader) { public void onLoaderReset(@NonNull Loader<Cursor> loader) {
adapter.setApps(null); adapter.setApps(null);
} }

View File

@ -21,6 +21,7 @@
package org.fdroid.fdroid.views.main; package org.fdroid.fdroid.views.main;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.util.SparseIntArray; import android.util.SparseIntArray;
@ -63,7 +64,7 @@ class MainViewAdapter extends RecyclerView.Adapter<MainViewController> {
} }
@Override @Override
public void onViewDetachedFromWindow(MainViewController holder) { public void onViewDetachedFromWindow(@NonNull MainViewController holder) {
long viewType = getItemId(holder.getAdapterPosition()); long viewType = getItemId(holder.getAdapterPosition());
if (viewType == R.id.updates) { if (viewType == R.id.updates) {
holder.unbindUpdates(); holder.unbindUpdates();
@ -71,15 +72,16 @@ class MainViewAdapter extends RecyclerView.Adapter<MainViewController> {
} }
@Override @Override
public void onViewAttachedToWindow(MainViewController holder) { public void onViewAttachedToWindow(@NonNull MainViewController holder) {
long viewType = getItemId(holder.getAdapterPosition()); long viewType = getItemId(holder.getAdapterPosition());
if (viewType == R.id.updates) { if (viewType == R.id.updates) {
holder.bindUpdates(); holder.bindUpdates();
} }
} }
@NonNull
@Override @Override
public MainViewController onCreateViewHolder(ViewGroup parent, int viewType) { public MainViewController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
MainViewController holder = createEmptyView(); MainViewController holder = createEmptyView();
switch (viewType) { switch (viewType) {
case R.id.whats_new: case R.id.whats_new:
@ -112,7 +114,7 @@ class MainViewAdapter extends RecyclerView.Adapter<MainViewController> {
} }
@Override @Override
public void onBindViewHolder(MainViewController holder, int position) { public void onBindViewHolder(@NonNull MainViewController holder, int position) {
// The binding happens in onCreateViewHolder. This is because we never have more than one of // The binding happens in onCreateViewHolder. This is because we never have more than one of
// each type of view in this main activity. Therefore, there is no benefit to re-binding new // each type of view in this main activity. Therefore, there is no benefit to re-binding new
// data each time we navigate back to an item, as the recycler view will just use the one we // data each time we navigate back to an item, as the recycler view will just use the one we

View File

@ -3,6 +3,7 @@ package org.fdroid.fdroid.views.main;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.FloatingActionButton; import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.LoaderManager; import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader; import android.support.v4.content.CursorLoader;
@ -92,6 +93,7 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
activity.getSupportLoaderManager().initLoader(LOADER_ID, null, this); activity.getSupportLoaderManager().initLoader(LOADER_ID, null, this);
} }
@NonNull
@Override @Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) { public Loader<Cursor> onCreateLoader(int id, Bundle args) {
if (id != LOADER_ID) { if (id != LOADER_ID) {
@ -109,7 +111,7 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
} }
@Override @Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor cursor) {
if (loader.getId() != LOADER_ID) { if (loader.getId() != LOADER_ID) {
return; return;
} }
@ -160,7 +162,7 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
} }
@Override @Override
public void onLoaderReset(Loader<Cursor> loader) { public void onLoaderReset(@NonNull Loader<Cursor> loader) {
if (loader.getId() != LOADER_ID) { if (loader.getId() != LOADER_ID) {
return; return;
} }

View File

@ -7,6 +7,7 @@ import android.content.IntentFilter;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.LoaderManager; import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader; import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader; import android.support.v4.content.Loader;
@ -184,16 +185,18 @@ public class UpdatesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
return delegatesManager.getItemViewType(items, position); return delegatesManager.getItemViewType(items, position);
} }
@NonNull
@Override @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return delegatesManager.onCreateViewHolder(parent, viewType); return delegatesManager.onCreateViewHolder(parent, viewType);
} }
@Override @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
delegatesManager.onBindViewHolder(items, position, holder); delegatesManager.onBindViewHolder(items, position, holder);
} }
@NonNull
@Override @Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) { public Loader<Cursor> onCreateLoader(int id, Bundle args) {
Uri uri; Uri uri;
@ -215,7 +218,7 @@ public class UpdatesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
} }
@Override @Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { public void onLoadFinished(@NonNull Loader<Cursor> loader, Cursor cursor) {
switch (loader.getId()) { switch (loader.getId()) {
case LOADER_CAN_UPDATE: case LOADER_CAN_UPDATE:
onCanUpdateLoadFinished(cursor); onCanUpdateLoadFinished(cursor);
@ -251,7 +254,7 @@ public class UpdatesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
} }
@Override @Override
public void onLoaderReset(Loader<Cursor> loader) { public void onLoaderReset(@NonNull Loader<Cursor> loader) {
} }
/** /**

View File

@ -88,6 +88,7 @@ public class KnownVulnAppListItemController extends AppListItemController {
return true; return true;
} }
@NonNull
@Override @Override
protected DismissResult onDismissApp(@NonNull App app) { protected DismissResult onDismissApp(@NonNull App app) {
this.ignoreVulnerableApp(app); this.ignoreVulnerableApp(app);

View File

@ -5,6 +5,7 @@ import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Rect; import android.graphics.Rect;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewCompat;
import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
@ -27,19 +28,20 @@ public class WhatsNewAdapter extends RecyclerView.Adapter<AppCardController> {
} }
@Override @Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) { public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView); super.onAttachedToRecyclerView(recyclerView);
recyclerView.addItemDecoration(appListDecorator); recyclerView.addItemDecoration(appListDecorator);
} }
@Override @Override
public void onDetachedFromRecyclerView(RecyclerView recyclerView) { public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) {
recyclerView.removeItemDecoration(appListDecorator); recyclerView.removeItemDecoration(appListDecorator);
super.onDetachedFromRecyclerView(recyclerView); super.onDetachedFromRecyclerView(recyclerView);
} }
@NonNull
@Override @Override
public AppCardController onCreateViewHolder(ViewGroup parent, int viewType) { public AppCardController onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
int layout; int layout;
if (viewType == R.id.whats_new_feature) { if (viewType == R.id.whats_new_feature) {
layout = R.layout.app_card_featured; layout = R.layout.app_card_featured;
@ -88,7 +90,7 @@ public class WhatsNewAdapter extends RecyclerView.Adapter<AppCardController> {
} }
@Override @Override
public void onBindViewHolder(AppCardController holder, int position) { public void onBindViewHolder(@NonNull AppCardController holder, int position) {
cursor.moveToPosition(position); cursor.moveToPosition(position);
final App app = new App(cursor); final App app = new App(cursor);
holder.bindApp(app); holder.bindApp(app);