diff --git a/F-Droid/AndroidManifest.xml b/F-Droid/AndroidManifest.xml
index 7b3ed4640..6606a0cb1 100644
--- a/F-Droid/AndroidManifest.xml
+++ b/F-Droid/AndroidManifest.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     package="org.fdroid.fdroid"
     android:installLocation="auto"
     android:versionCode="99000"
diff --git a/F-Droid/src/org/fdroid/fdroid/FDroidCertPins.java b/F-Droid/src/org/fdroid/fdroid/FDroidCertPins.java
index 1be519ec4..79da8429c 100644
--- a/F-Droid/src/org/fdroid/fdroid/FDroidCertPins.java
+++ b/F-Droid/src/org/fdroid/fdroid/FDroidCertPins.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 import java.util.List;
 
 public class FDroidCertPins {
-    public static final String[] DEFAULT_PINS = {
+    private static final String[] DEFAULT_PINS = {
 
         // OU=PositiveSSL, CN=f-droid.org
         // Fingerprint: 84B91CDF2312CB9BA7F3BE803783302F8D8C299F
@@ -57,7 +57,7 @@ public class FDroidCertPins {
         "87e3bf322427c1405d2736c381e01d1a71d4a039",
     };
 
-    public static List<String> pinList;
+    private static List<String> pinList;
 
     public static String[] getPinList() {
         if (pinList == null) {
diff --git a/F-Droid/src/org/fdroid/fdroid/ProgressBufferedInputStream.java b/F-Droid/src/org/fdroid/fdroid/ProgressBufferedInputStream.java
index 60ae6b6a1..a965f053a 100644
--- a/F-Droid/src/org/fdroid/fdroid/ProgressBufferedInputStream.java
+++ b/F-Droid/src/org/fdroid/fdroid/ProgressBufferedInputStream.java
@@ -11,12 +11,12 @@ import java.io.InputStream;
 public class ProgressBufferedInputStream extends BufferedInputStream {
     private static final String TAG = "ProgressBufferedInputSt";
 
-    final Repo repo;
-    final ProgressListener progressListener;
-    final Bundle data;
-    final int totalBytes;
+    private final Repo repo;
+    private final ProgressListener progressListener;
+    private final Bundle data;
+    private final int totalBytes;
 
-    int currentBytes;
+    private int currentBytes;
 
     /**
      * Reports progress to the specified {@link ProgressListener}, with the
diff --git a/F-Droid/src/org/fdroid/fdroid/UpdateService.java b/F-Droid/src/org/fdroid/fdroid/UpdateService.java
index 8b55c7d8b..dfe23e177 100644
--- a/F-Droid/src/org/fdroid/fdroid/UpdateService.java
+++ b/F-Droid/src/org/fdroid/fdroid/UpdateService.java
@@ -312,7 +312,7 @@ public class UpdateService extends IntentService implements ProgressListener {
     /**
      * If we are to update the repos only on wifi, make sure that connection is active
      */
-    public static boolean isNetworkAvailableForUpdate(Context context) {
+    private static boolean isNetworkAvailableForUpdate(Context context) {
         ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
         // this could be cellular or wifi
diff --git a/F-Droid/src/org/fdroid/fdroid/Utils.java b/F-Droid/src/org/fdroid/fdroid/Utils.java
index a50657da1..9f02616e4 100644
--- a/F-Droid/src/org/fdroid/fdroid/Utils.java
+++ b/F-Droid/src/org/fdroid/fdroid/Utils.java
@@ -359,7 +359,7 @@ public final class Utils {
         }
     }
 
-    public static String calcFingerprint(byte[] key) {
+    private static String calcFingerprint(byte[] key) {
         if (key == null)
             return null;
         if (key.length < 256) {
@@ -545,7 +545,7 @@ public final class Utils {
      * @param bytes an array of bytes.
      * @return the bytes represented as a string of hexadecimal digits.
      */
-    public static String toHexString(byte[] bytes) {
+    private static String toHexString(byte[] bytes) {
         BigInteger bi = new BigInteger(1, bytes);
         return String.format("%0" + (bytes.length << 1) + "X", bi);
     }
diff --git a/F-Droid/src/org/fdroid/fdroid/compat/ClipboardCompat.java b/F-Droid/src/org/fdroid/fdroid/compat/ClipboardCompat.java
index 890f61060..5413f7c74 100644
--- a/F-Droid/src/org/fdroid/fdroid/compat/ClipboardCompat.java
+++ b/F-Droid/src/org/fdroid/fdroid/compat/ClipboardCompat.java
@@ -23,7 +23,7 @@ class HoneycombClipboard extends ClipboardCompat {
 
     private final ClipboardManager manager;
 
-    protected HoneycombClipboard(Context context) {
+    HoneycombClipboard(Context context) {
         this.manager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
     }
 
diff --git a/F-Droid/src/org/fdroid/fdroid/data/ApkProvider.java b/F-Droid/src/org/fdroid/fdroid/data/ApkProvider.java
index a43bc7745..8e9cc4005 100644
--- a/F-Droid/src/org/fdroid/fdroid/data/ApkProvider.java
+++ b/F-Droid/src/org/fdroid/fdroid/data/ApkProvider.java
@@ -239,7 +239,7 @@ public class ApkProvider extends FDroidProvider {
 
     private static final UriMatcher matcher = new UriMatcher(-1);
 
-    public static final Map<String, String> REPO_FIELDS = new HashMap<>();
+    private static final Map<String, String> REPO_FIELDS = new HashMap<>();
 
     static {
         REPO_FIELDS.put(DataColumns.REPO_VERSION, RepoProvider.DataColumns.VERSION);
diff --git a/F-Droid/src/org/fdroid/fdroid/data/FDroidProvider.java b/F-Droid/src/org/fdroid/fdroid/data/FDroidProvider.java
index 9153628db..22d5a5ed3 100644
--- a/F-Droid/src/org/fdroid/fdroid/data/FDroidProvider.java
+++ b/F-Droid/src/org/fdroid/fdroid/data/FDroidProvider.java
@@ -125,7 +125,7 @@ public abstract class FDroidProvider extends ContentProvider {
     }
 
     @TargetApi(11)
-    protected Set<String> getKeySet(ContentValues values) {
+    private Set<String> getKeySet(ContentValues values) {
 
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
             return values.keySet();
diff --git a/F-Droid/src/org/fdroid/fdroid/data/ValueObject.java b/F-Droid/src/org/fdroid/fdroid/data/ValueObject.java
index 0ac07d84b..04f4e1fee 100644
--- a/F-Droid/src/org/fdroid/fdroid/data/ValueObject.java
+++ b/F-Droid/src/org/fdroid/fdroid/data/ValueObject.java
@@ -2,7 +2,7 @@ package org.fdroid.fdroid.data;
 
 import android.database.Cursor;
 
-public class ValueObject {
+class ValueObject {
 
     protected void checkCursorPosition(Cursor cursor) throws IllegalArgumentException {
         if (cursor.getPosition() == -1) {
diff --git a/F-Droid/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java b/F-Droid/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java
index 24215bef6..b055ac9d6 100644
--- a/F-Droid/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java
+++ b/F-Droid/src/org/fdroid/fdroid/localrepo/LocalRepoManager.java
@@ -81,15 +81,15 @@ public final class LocalRepoManager {
 
     private final Map<String, App> apps = new HashMap<>();
 
-    public final SanitizedFile xmlIndex;
+    private final SanitizedFile xmlIndex;
     private final SanitizedFile xmlIndexJar;
     private final SanitizedFile xmlIndexJarUnsigned;
-    public final SanitizedFile webRoot;
-    public final SanitizedFile fdroidDir;
-    public final SanitizedFile fdroidDirCaps;
-    public final SanitizedFile repoDir;
-    public final SanitizedFile repoDirCaps;
-    public final SanitizedFile iconsDir;
+    private final SanitizedFile webRoot;
+    private final SanitizedFile fdroidDir;
+    private final SanitizedFile fdroidDirCaps;
+    private final SanitizedFile repoDir;
+    private final SanitizedFile repoDirCaps;
+    private final SanitizedFile iconsDir;
 
     @Nullable
     private static LocalRepoManager localRepoManager;
@@ -243,7 +243,7 @@ public final class LocalRepoManager {
         copyApksToRepo(new ArrayList<>(apps.keySet()));
     }
 
-    public void copyApksToRepo(List<String> appsToCopy) {
+    private void copyApksToRepo(List<String> appsToCopy) {
         for (final String packageName : appsToCopy) {
             final App app = apps.get(packageName);
 
@@ -294,7 +294,7 @@ public final class LocalRepoManager {
     /**
      * Extracts the icon from an APK and writes it to the repo as a PNG
      */
-    public void copyIconToRepo(Drawable drawable, String packageName, int versionCode) {
+    private void copyIconToRepo(Drawable drawable, String packageName, int versionCode) {
         Bitmap bitmap;
         if (drawable instanceof BitmapDrawable) {
             bitmap = ((BitmapDrawable) drawable).getBitmap();
diff --git a/F-Droid/src/org/fdroid/fdroid/localrepo/type/SwapType.java b/F-Droid/src/org/fdroid/fdroid/localrepo/type/SwapType.java
index a40dbe35a..304be4cbb 100644
--- a/F-Droid/src/org/fdroid/fdroid/localrepo/type/SwapType.java
+++ b/F-Droid/src/org/fdroid/fdroid/localrepo/type/SwapType.java
@@ -78,7 +78,7 @@ public abstract class SwapType {
         }.start();
     }
 
-    public void ensureRunning() {
+    private void ensureRunning() {
         if (!isConnected()) {
             start();
         }
diff --git a/F-Droid/src/org/fdroid/fdroid/net/DownloaderFactory.java b/F-Droid/src/org/fdroid/fdroid/net/DownloaderFactory.java
index c62106db9..b43227008 100644
--- a/F-Droid/src/org/fdroid/fdroid/net/DownloaderFactory.java
+++ b/F-Droid/src/org/fdroid/fdroid/net/DownloaderFactory.java
@@ -68,7 +68,7 @@ public class DownloaderFactory {
         return "bluetooth".equalsIgnoreCase(url.getProtocol());
     }
 
-    static boolean isLocalFile(URL url) {
+    private static boolean isLocalFile(URL url) {
         return "file".equalsIgnoreCase(url.getProtocol());
     }
 
@@ -89,7 +89,7 @@ public class DownloaderFactory {
         return new AsyncDownloadWrapper(create(context, url, destFile, credentials), listener);
     }
 
-    static boolean isOnionAddress(URL url) {
+    private static boolean isOnionAddress(URL url) {
         return url.getHost().endsWith(".onion");
     }
 
diff --git a/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java b/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java
index c5d4e7a1c..1b428aab3 100644
--- a/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java
+++ b/F-Droid/src/org/fdroid/fdroid/net/HttpDownloader.java
@@ -81,7 +81,7 @@ public class HttpDownloader extends Downloader {
         }
     }
 
-    boolean isSwapUrl() {
+    private boolean isSwapUrl() {
         String host = sourceUrl.getHost();
         return sourceUrl.getPort() > 1023 // only root can use <= 1023, so never a swap repo
                 && host.matches("[0-9.]+") // host must be an IP address
diff --git a/F-Droid/src/org/fdroid/fdroid/net/bluetooth/BluetoothConnection.java b/F-Droid/src/org/fdroid/fdroid/net/bluetooth/BluetoothConnection.java
index a8bd65e78..55ebd042b 100644
--- a/F-Droid/src/org/fdroid/fdroid/net/bluetooth/BluetoothConnection.java
+++ b/F-Droid/src/org/fdroid/fdroid/net/bluetooth/BluetoothConnection.java
@@ -18,7 +18,7 @@ public class BluetoothConnection {
 
     private InputStream input;
     private OutputStream output;
-    protected final BluetoothSocket socket;
+    private final BluetoothSocket socket;
 
     public BluetoothConnection(BluetoothSocket socket) throws IOException {
         this.socket = socket;
diff --git a/F-Droid/src/org/fdroid/fdroid/net/bluetooth/UnexpectedResponseException.java b/F-Droid/src/org/fdroid/fdroid/net/bluetooth/UnexpectedResponseException.java
index 518b03dbd..9aa03558d 100644
--- a/F-Droid/src/org/fdroid/fdroid/net/bluetooth/UnexpectedResponseException.java
+++ b/F-Droid/src/org/fdroid/fdroid/net/bluetooth/UnexpectedResponseException.java
@@ -1,12 +1,12 @@
 package org.fdroid.fdroid.net.bluetooth;
 
-public class UnexpectedResponseException extends Exception {
+class UnexpectedResponseException extends Exception {
 
-    public UnexpectedResponseException(String message) {
+    UnexpectedResponseException(String message) {
         super(message);
     }
 
-    public UnexpectedResponseException(String message, Throwable cause) {
+    UnexpectedResponseException(String message, Throwable cause) {
         super("Unexpected response from Bluetooth server: '" + message + "'", cause);
     }
-}
\ No newline at end of file
+}
diff --git a/F-Droid/src/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java b/F-Droid/src/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java
index 7e989aa6c..081713243 100644
--- a/F-Droid/src/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java
+++ b/F-Droid/src/org/fdroid/fdroid/privileged/views/InstallConfirmActivity.java
@@ -47,16 +47,16 @@ public class InstallConfirmActivity extends Activity implements OnCancelListener
 
     private Intent intent;
 
-    PackageManager mPm;
+    private PackageManager mPm;
 
-    AppDiff mAppDiff;
+    private AppDiff mAppDiff;
 
     // View for install progress
-    View mInstallConfirm;
+    private View mInstallConfirm;
     // Buttons to indicate user acceptance
     private Button mOk;
     private Button mCancel;
-    CaffeinatedScrollView mScrollView;
+    private CaffeinatedScrollView mScrollView;
     private boolean mOkCanInstall;
 
     private static final String TAB_ID_ALL = "all";
diff --git a/F-Droid/src/org/fdroid/fdroid/privileged/views/TabsAdapter.java b/F-Droid/src/org/fdroid/fdroid/privileged/views/TabsAdapter.java
index cafdbff6c..fddc3c142 100644
--- a/F-Droid/src/org/fdroid/fdroid/privileged/views/TabsAdapter.java
+++ b/F-Droid/src/org/fdroid/fdroid/privileged/views/TabsAdapter.java
@@ -41,7 +41,7 @@ import java.util.List;
  * care of switch to the correct paged in the ViewPager whenever the selected
  * tab changes.
  */
-public class TabsAdapter extends PagerAdapter
+class TabsAdapter extends PagerAdapter
         implements TabHost.OnTabChangeListener, ViewPager.OnPageChangeListener {
     private final Context mContext;
     private final TabHost mTabHost;
@@ -66,7 +66,7 @@ public class TabsAdapter extends PagerAdapter
         }
     }
 
-    public TabsAdapter(Activity activity, TabHost tabHost, ViewPager pager) {
+    TabsAdapter(Activity activity, TabHost tabHost, ViewPager pager) {
         mContext = activity;
         mTabHost = tabHost;
         mViewPager = pager;
diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/AppListFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/AppListFragment.java
index e3e7fe7bd..d8a9fa5d8 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/fragments/AppListFragment.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/AppListFragment.java
@@ -135,7 +135,7 @@ public abstract class AppListFragment extends ListFragment implements
      * it automatically again, because the repos or internet connection may
      * be bad.
      */
-    public boolean updateEmptyRepos() {
+    private boolean updateEmptyRepos() {
         final String triedEmptyUpdate = "triedEmptyUpdate";
         SharedPreferences prefs = getActivity().getPreferences(Context.MODE_PRIVATE);
         boolean hasTriedEmptyUpdate = prefs.getBoolean(triedEmptyUpdate, false);
diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java
index 5a3de10e6..92a252c15 100644
--- a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java
+++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java
@@ -49,22 +49,22 @@ public class PreferencesFragment extends PreferenceFragment
         addPreferencesFromResource(R.xml.preferences);
     }
 
-    protected void checkSummary(String key, int resId) {
+    private void checkSummary(String key, int resId) {
         CheckBoxPreference pref = (CheckBoxPreference) findPreference(key);
         pref.setSummary(resId);
     }
 
-    protected void entrySummary(String key) {
+    private void entrySummary(String key) {
         ListPreference pref = (ListPreference) findPreference(key);
         pref.setSummary(pref.getEntry());
     }
 
-    protected void textSummary(String key, int resId) {
+    private void textSummary(String key, int resId) {
         EditTextPreference pref = (EditTextPreference) findPreference(key);
         pref.setSummary(getString(resId, pref.getText()));
     }
 
-    protected void updateSummary(String key, boolean changing) {
+    private void updateSummary(String key, boolean changing) {
 
         int result = 0;
 
@@ -174,7 +174,7 @@ public class PreferencesFragment extends PreferenceFragment
     /**
      * Initializes SystemInstaller preference, which can only be enabled when F-Droid is installed as a system-app
      */
-    protected void initPrivilegedInstallerPreference() {
+    private void initPrivilegedInstallerPreference() {
         CheckBoxPreference pref = (CheckBoxPreference) findPreference(Preferences.PREF_PRIVILEGED_INSTALLER);
 
         // we are handling persistence ourself!
@@ -246,7 +246,7 @@ public class PreferencesFragment extends PreferenceFragment
         });
     }
 
-    protected void initManagePrivilegedAppPreference() {
+    private void initManagePrivilegedAppPreference() {
         Preference pref = findPreference(Preferences.PREF_UNINSTALL_PRIVILEGED_APP);
         pref.setPersistent(false);