diff --git a/metadata/com.andrew.apollo/lyrics.patch b/metadata/com.andrew.apollo/lyrics.patch
deleted file mode 100644
index 4c33b0ced1..0000000000
--- a/metadata/com.andrew.apollo/lyrics.patch
+++ /dev/null
@@ -1,392 +0,0 @@
-diff --git a/libs/jaudiotagger.jar b/libs/jaudiotagger.jar
-deleted file mode 100644
-index 51d7774..0000000
-Binary files a/libs/jaudiotagger.jar and /dev/null differ
-diff --git a/res/layout/lyrics_base.xml b/res/layout/lyrics_base.xml
-deleted file mode 100644
-index 821a8f2..0000000
---- a/res/layout/lyrics_base.xml
-+++ /dev/null
-@@ -1,46 +0,0 @@
--
--
--
--
--
--
--
--
--
--
--
--
-\ No newline at end of file
-diff --git a/res/menu/audio_player.xml b/res/menu/audio_player.xml
-index 8625074..74af706 100644
---- a/res/menu/audio_player.xml
-+++ b/res/menu/audio_player.xml
-@@ -25,12 +25,8 @@
- android:showAsAction="never"
- android:title="@string/menu_equalizer"/>
-
--
-
--
-\ No newline at end of file
-+
-diff --git a/res/values/strings.xml b/res/values/strings.xml
-index 0f0296d..6ea3bc3 100644
---- a/res/values/strings.xml
-+++ b/res/values/strings.xml
-@@ -38,9 +38,6 @@
- Save queue
- Clear Favorites
- Share
-- Save lyrics
-- Delete lyrics
-- Fetch lyrics
- Place on Home screen
- Equalizer
- Simple
-@@ -126,8 +123,6 @@
- \"%s\" set as ringtone
- Playlist renamed
- set as the theme
-- lyrics saved
-- lyrics deleted
-
-
- Interface
-@@ -183,7 +178,5 @@
- No search results found
- Songs you mark as favorites will be shown here.
- Albums you\'ve listened to will show up here. Try playing some music.
-- Lyrics for \"%s\" could not be found
-- To fetch lyrics for \"%s\" use \"Fetch lyrics\" in the menu.
-
--
-\ No newline at end of file
-+
-diff --git a/res/values/themeconfig.xml b/res/values/themeconfig.xml
-index bb5fb21..d41a5b7 100644
---- a/res/values/themeconfig.xml
-+++ b/res/values/themeconfig.xml
-@@ -25,9 +25,6 @@
-
- @color/transparent_white
-
--
-- @color/white
--
-
- @color/white
- @color/transparent_white
-@@ -51,4 +48,4 @@
- @color/transparent_white
- @color/transparent_white
-
--
-\ No newline at end of file
-+
-diff --git a/src/com/andrew/apollo/lyrics/LyricsProvider.java b/src/com/andrew/apollo/lyrics/LyricsProvider.java
-deleted file mode 100644
-index 0ca57be..0000000
---- a/src/com/andrew/apollo/lyrics/LyricsProvider.java
-+++ /dev/null
-@@ -1,22 +0,0 @@
--
--package com.andrew.apollo.lyrics;
--
--public interface LyricsProvider {
--
-- /**
-- * Gives the lyrics of the song, or null if they werent found
-- *
-- * @param artist Artist name
-- * @param song Song name
-- * @return Full lyrics as a {@link String}
-- */
-- public String getLyrics(String artist, String song);
--
-- /**
-- * Gives the name of the provider implementation
-- *
-- * @return The name of the lyrics provider
-- */
-- public String getProviderName();
--
--}
-diff --git a/src/com/andrew/apollo/lyrics/LyricsProviderFactory.java b/src/com/andrew/apollo/lyrics/LyricsProviderFactory.java
-deleted file mode 100644
-index 2aff457..0000000
---- a/src/com/andrew/apollo/lyrics/LyricsProviderFactory.java
-+++ /dev/null
-@@ -1,27 +0,0 @@
--
--package com.andrew.apollo.lyrics;
--
--public final class LyricsProviderFactory {
--
-- /* This class is never initiated. */
-- public LyricsProviderFactory() {
-- }
--
-- /**
-- * @param filePath The path to save the lyrics.
-- * @return A new instance of {@link OfflineLyricsProvider}.
-- */
-- public static final LyricsProvider getOfflineProvider(String filePath) {
-- return new OfflineLyricsProvider(filePath);
-- }
--
-- /**
-- * @return The current lyrics provider.
-- */
-- public static final LyricsProvider getMainOnlineProvider() {
-- return new LyricsWikiProvider();
-- }
--
-- // TODO Implement more providers, and also a system to iterate over them
--
--}
-diff --git a/src/com/andrew/apollo/lyrics/OfflineLyricsProvider.java b/src/com/andrew/apollo/lyrics/OfflineLyricsProvider.java
-deleted file mode 100644
-index dac8738..0000000
---- a/src/com/andrew/apollo/lyrics/OfflineLyricsProvider.java
-+++ /dev/null
-@@ -1,138 +0,0 @@
--
--package com.andrew.apollo.lyrics;
--
--import org.jaudiotagger.audio.AudioFile;
--import org.jaudiotagger.audio.AudioFileIO;
--import org.jaudiotagger.audio.exceptions.CannotReadException;
--import org.jaudiotagger.audio.exceptions.CannotWriteException;
--import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException;
--import org.jaudiotagger.audio.exceptions.ReadOnlyFileException;
--import org.jaudiotagger.tag.FieldKey;
--import org.jaudiotagger.tag.Tag;
--import org.jaudiotagger.tag.TagException;
--
--import java.io.File;
--import java.io.IOException;
--
--public class OfflineLyricsProvider implements LyricsProvider {
--
-- private File mAudioFile;
--
-- /**
-- * Constructor of OfflineLyricsProvider
-- *
-- * @param filePath The path to save the lyrics
-- */
-- public OfflineLyricsProvider(final String filePath) {
-- setTrackFile(filePath);
-- }
--
-- /**
-- * @param path The file to save our {@link File}
-- */
-- public void setTrackFile(final String path) {
-- if (path == null) {
-- return;
-- }
-- mAudioFile = new File(path);
-- }
--
-- /**
-- * {@inheritDoc}
-- */
-- @Override
-- public String getLyrics(final String artist, final String song) {
-- String lyrics = null;
-- try {
-- if (mAudioFile == null) {
-- return null;
-- }
-- if (mAudioFile.exists()) {
-- // Use jAudioTagger library to get the file's lyrics
-- final AudioFile file = AudioFileIO.read(mAudioFile);
-- final Tag tag = file.getTag();
-- lyrics = tag.getFirst(FieldKey.LYRICS);
-- }
-- } catch (final ReadOnlyFileException e) {
-- e.printStackTrace();
-- } catch (final CannotReadException e) {
-- e.printStackTrace();
-- } catch (final IOException e) {
-- e.printStackTrace();
-- } catch (final TagException e) {
-- e.printStackTrace();
-- } catch (final InvalidAudioFrameException e) {
-- e.printStackTrace();
-- } catch (final UnsupportedOperationException e) {
-- e.printStackTrace();
-- }
-- return lyrics;
-- }
--
-- /**
-- * {@inheritDoc}
-- */
-- @Override
-- public String getProviderName() {
-- return "File metadata";
-- }
--
-- /**
-- * @param lyrics The lyrics to save
-- * @param filePath The path to save them
-- */
-- public static void saveLyrics(final String lyrics, final String filePath) {
-- try {
-- final File file = new File(filePath);
-- if (file.exists()) {
-- // Use jAudioTagger library to set the file's lyrics
-- final AudioFile audioFile = AudioFileIO.read(file);
-- final Tag tag = audioFile.getTag();
-- tag.setField(FieldKey.LYRICS, lyrics);
-- audioFile.commit();
-- }
-- } catch (final ReadOnlyFileException e) {
-- e.printStackTrace();
-- } catch (final CannotReadException e) {
-- e.printStackTrace();
-- } catch (final IOException e) {
-- e.printStackTrace();
-- } catch (final TagException e) {
-- e.printStackTrace();
-- } catch (final InvalidAudioFrameException e) {
-- e.printStackTrace();
-- } catch (final CannotWriteException e) {
-- e.printStackTrace();
-- } catch (final NullPointerException e) {
-- e.printStackTrace();
-- }
-- }
--
-- /**
-- * @param filePath The path to the lyrics we're deleting
-- */
-- public static void deleteLyrics(final String filePath) {
-- try {
-- final File file = new File(filePath);
-- if (file.exists()) {
-- // Use jAudioTagger library to delete the file's lyrics
-- final AudioFile audioFile = AudioFileIO.read(file);
-- final Tag tag = audioFile.getTag();
-- tag.deleteField(FieldKey.LYRICS);
-- audioFile.commit();
-- }
-- } catch (final ReadOnlyFileException e) {
-- e.printStackTrace();
-- } catch (final CannotReadException e) {
-- e.printStackTrace();
-- } catch (final IOException e) {
-- e.printStackTrace();
-- } catch (final TagException e) {
-- e.printStackTrace();
-- } catch (final InvalidAudioFrameException e) {
-- e.printStackTrace();
-- } catch (final CannotWriteException e) {
-- e.printStackTrace();
-- }
-- }
--}
-diff --git a/src/com/andrew/apollo/ui/activities/AudioPlayerActivity.java b/src/com/andrew/apollo/ui/activities/AudioPlayerActivity.java
-index a952f74..840bbdb 100644
---- a/src/com/andrew/apollo/ui/activities/AudioPlayerActivity.java
-+++ b/src/com/andrew/apollo/ui/activities/AudioPlayerActivity.java
-@@ -51,7 +51,6 @@ import com.andrew.apollo.MusicPlaybackService;
- import com.andrew.apollo.R;
- import com.andrew.apollo.adapters.PagerAdapter;
- import com.andrew.apollo.cache.ImageFetcher;
--import com.andrew.apollo.ui.fragments.LyricsFragment;
- import com.andrew.apollo.ui.fragments.QueueFragment;
- import com.andrew.apollo.utils.ApolloUtils;
- import com.andrew.apollo.utils.MusicUtils;
-@@ -351,10 +350,6 @@ public class AudioPlayerActivity extends SherlockFragmentActivity implements Ser
- // Sound effects
- NavUtils.openEffectsPanel(this);
- return true;
-- case R.id.menu_download_lyrics:
-- updateLyrics(true);
-- hideAlbumArt();
-- return true;
- case R.id.menu_settings:
- // Settings
- NavUtils.openSettings(this);
-@@ -471,8 +466,6 @@ public class AudioPlayerActivity extends SherlockFragmentActivity implements Ser
- mPagerAdapter = new PagerAdapter(this);
- // Queue
- mPagerAdapter.add(QueueFragment.class, null);
-- // Lyrics
-- mPagerAdapter.add(LyricsFragment.class, null);
-
- // Initialize the ViewPager
- mViewPager = (ViewPager)findViewById(R.id.audio_player_pager);
-@@ -548,15 +541,6 @@ public class AudioPlayerActivity extends SherlockFragmentActivity implements Ser
- mRepeatButton.updateRepeatState();
- }
-
-- /**
-- * Refreshes the lyrics and moves the view pager to the lyrics fragment.
-- */
-- public void updateLyrics(final boolean force) {
-- ((LyricsFragment)mPagerAdapter.getFragment(1)).fetchLyrics(force);
-- if (force && mViewPager.getCurrentItem() != 1) {
-- mViewPager.setCurrentItem(1, true);
-- }
-- }
-
- /**
- * @param delay When to update
-@@ -884,8 +868,6 @@ public class AudioPlayerActivity extends SherlockFragmentActivity implements Ser
- mReference.get().updateNowPlayingInfo();
- // Update the favorites icon
- mReference.get().invalidateOptionsMenu();
-- // Update the lyrics
-- mReference.get().updateLyrics(false);
- } else if (action.equals(MusicPlaybackService.PLAYSTATE_CHANGED)) {
- // Set the play and pause image
- mReference.get().mPlayPauseButton.updateState();
diff --git a/metadata/com.anysoftkeyboard.languagepack.hungarian/add-custom_rules.patch b/metadata/com.anysoftkeyboard.languagepack.hungarian/add-custom_rules.patch
deleted file mode 100644
index 8105931002..0000000000
--- a/metadata/com.anysoftkeyboard.languagepack.hungarian/add-custom_rules.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/custom_rules.xml b/custom_rules.xml
-new file mode 100644
-index 0000000..b5a2677
---- /dev/null
-+++ b/custom_rules.xml
-@@ -0,0 +1,63 @@
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-\ No newline at end of file
diff --git a/metadata/com.frostwire.android/offercasts.patch b/metadata/com.frostwire.android/offercasts.patch
deleted file mode 100644
index ab7e14bf78..0000000000
--- a/metadata/com.frostwire.android/offercasts.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/AndroidManifest.xml b/AndroidManifest.xml
-index fab6564..07b7e63 100644
---- a/AndroidManifest.xml
-+++ b/AndroidManifest.xml
-@@ -39,14 +39,6 @@
-
-
-
--
--
--
--
--
--
-
-@@ -161,34 +153,6 @@
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-
-
-
-
-
--
-\ No newline at end of file
-+
-diff --git a/src/core/com/frostwire/android/core/ConfigurationDefaults.java b/src/core/com/frostwire/android/core/ConfigurationDefaults.java
-index a4e5bc0..f207a31 100644
---- a/src/core/com/frostwire/android/core/ConfigurationDefaults.java
-+++ b/src/core/com/frostwire/android/core/ConfigurationDefaults.java
-@@ -66,7 +66,6 @@ final class ConfigurationDefaults {
- defaultValues.put(Constants.PREF_KEY_GUI_SUPPORT_FROSTWIRE, true);
- defaultValues.put(Constants.PREF_KEY_GUI_SUPPORT_FROSTWIRE_THRESHOLD, true);
- defaultValues.put(Constants.PREF_KEY_GUI_SHOW_TV_MENU_ITEM,true);
-- defaultValues.put(Constants.PREF_KEY_GUI_INITIALIZE_OFFERCAST,true);
-
- defaultValues.put(Constants.PREF_KEY_SEARCH_COUNT_DOWNLOAD_FOR_TORRENT_DEEP_SCAN, 20);
- defaultValues.put(Constants.PREF_KEY_SEARCH_COUNT_ROUNDS_FOR_TORRENT_DEEP_SCAN, 10);
-diff --git a/src/core/com/frostwire/android/core/Constants.java b/src/core/com/frostwire/android/core/Constants.java
-index 8e21b68..26ba5a6 100644
---- a/src/core/com/frostwire/android/core/Constants.java
-+++ b/src/core/com/frostwire/android/core/Constants.java
-@@ -85,7 +85,6 @@ public final class Constants {
- public static final String PREF_KEY_GUI_SUPPORT_FROSTWIRE = "frostwire.prefs.gui.support_frostwire";
- public static final String PREF_KEY_GUI_SUPPORT_FROSTWIRE_THRESHOLD = "frostwire.prefs.gui.support_frostwire_threshold";
- public static final String PREF_KEY_GUI_SHOW_TV_MENU_ITEM = "frostwire.prefs.gui.show_tv_menu_item";
-- public static final String PREF_KEY_GUI_INITIALIZE_OFFERCAST = "frostwire.prefs.gui.initialize_offercast";
-
- public static final String PREF_KEY_TORRENT_MAX_DOWNLOAD_SPEED = "frostwire.prefs.torrent.max_download_speed";
- public static final String PREF_KEY_TORRENT_MAX_UPLOAD_SPEED = "frostwire.prefs.torrent.max_upload_speed";
-@@ -151,4 +150,4 @@ public final class Constants {
- public static final int DEVICE_MAJOR_TYPE_DESKTOP = CommonConstants.DEVICE_MAJOR_TYPE_DESKTOP;
- public static final int DEVICE_MAJOR_TYPE_PHONE = CommonConstants.DEVICE_MAJOR_TYPE_PHONE;
- public static final int DEVICE_MAJOR_TYPE_TABLET = CommonConstants.DEVICE_MAJOR_TYPE_TABLET;
--}
-\ No newline at end of file
-+}
-diff --git a/src/gui/com/frostwire/android/gui/activities/MainActivity.java b/src/gui/com/frostwire/android/gui/activities/MainActivity.java
-index fb76e43..1e131dc 100644
---- a/src/gui/com/frostwire/android/gui/activities/MainActivity.java
-+++ b/src/gui/com/frostwire/android/gui/activities/MainActivity.java
-@@ -65,7 +65,6 @@ import com.frostwire.android.gui.views.Refreshable;
- import com.frostwire.android.gui.views.ShareIndicationDialog;
- import com.frostwire.android.gui.views.TOS;
- import com.frostwire.android.gui.views.TOS.OnTOSAcceptListener;
--import com.offercast.android.sdk.OffercastSDK;
- import com.slidingmenu.lib.SlidingMenu;
- import com.slidingmenu.lib.SlidingMenu.CanvasTransformer;
- import com.slidingmenu.lib.SlidingMenu.OnOpenListener;
-@@ -82,7 +81,6 @@ public class MainActivity extends AbstractSlidingActivity {
- private static final String FRAGMENT_STACK_TAG = "fragment_stack";
- private static final String CURRENT_FRAGMENT_KEY = "current_fragment";
- private static final String DUR_TOKEN_KEY = "dur_token";
-- private static final String OFFERCAST_STARTED_KEY = "offercast_started";
-
- private static boolean firstTime = true;
-
-@@ -97,7 +95,6 @@ public class MainActivity extends AbstractSlidingActivity {
- // not sure about this variable, quick solution for now
- private String durToken;
-
-- private boolean offercastStarted = false;
-
- public MainActivity() {
- super(R.layout.activity_main, false, 2);
-@@ -123,7 +120,6 @@ public class MainActivity extends AbstractSlidingActivity {
-
- if (savedInstanceState != null) {
- durToken = savedInstanceState.getString(DUR_TOKEN_KEY);
-- offercastStarted = savedInstanceState.getBoolean(OFFERCAST_STARTED_KEY);
- }
-
- addRefreshable((Refreshable) findView(R.id.activity_main_player_notifier));
-@@ -178,10 +174,6 @@ public class MainActivity extends AbstractSlidingActivity {
- protected void onResume() {
- super.onResume();
-
-- if (!offercastStarted && ConfigurationManager.instance().getBoolean(Constants.PREF_KEY_GUI_INITIALIZE_OFFERCAST)) {
-- startOffercast();
-- }
--
- if (ConfigurationManager.instance().getBoolean(Constants.PREF_KEY_GUI_TOS_ACCEPTED)) {
- if (ConfigurationManager.instance().getBoolean(Constants.PREF_KEY_GUI_INITIAL_SETTINGS_COMPLETE)) {
- mainResume();
-@@ -197,18 +189,6 @@ public class MainActivity extends AbstractSlidingActivity {
- }
- }
-
-- private void startOffercast() {
-- try {
-- OffercastSDK offercast = OffercastSDK.getInstance(getApplicationContext());
-- offercast.authorize();
-- offercastStarted = true;
-- LOG.info("Offercast started.");
-- } catch (Exception e) {
-- offercastStarted = false;
-- LOG.error("Offercast could not start.",e);
-- }
-- }
--
- @Override
- protected void onPause() {
- super.onPause();
-@@ -224,7 +204,6 @@ public class MainActivity extends AbstractSlidingActivity {
- saveLastFragment(outState);
-
- outState.putString(DUR_TOKEN_KEY, durToken);
-- outState.putBoolean(OFFERCAST_STARTED_KEY, offercastStarted);
- }
-
- @Override
diff --git a/metadata/com.frostwire.android/update.patch b/metadata/com.frostwire.android/update.patch
deleted file mode 100644
index 0a098bae80..0000000000
--- a/metadata/com.frostwire.android/update.patch
+++ /dev/null
@@ -1,468 +0,0 @@
-diff --git a/src/gui/com/frostwire/android/gui/SoftwareUpdater.java b/src/gui/com/frostwire/android/gui/SoftwareUpdater.java
-deleted file mode 100644
-index 21f26d7..0000000
---- a/src/gui/com/frostwire/android/gui/SoftwareUpdater.java
-+++ /dev/null
-@@ -1,364 +0,0 @@
--/*
-- * Created by Angel Leon (@gubatron), Alden Torres (aldenml)
-- * Copyright (c) 2011, 2012, FrostWire(TM). All rights reserved.
-- *
-- * This program is free software: you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation, either version 3 of the License, or
-- * (at your option) any later version.
-- *
-- * This program is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program. If not, see .
-- */
--
--package com.frostwire.android.gui;
--
--import java.io.BufferedInputStream;
--import java.io.File;
--import java.io.FileInputStream;
--import java.io.InputStream;
--import java.math.BigInteger;
--import java.security.MessageDigest;
--import java.util.HashSet;
--import java.util.Map;
--import java.util.Set;
--
--import android.content.Context;
--import android.content.DialogInterface;
--import android.content.DialogInterface.OnClickListener;
--import android.content.Intent;
--import android.net.Uri;
--import android.os.AsyncTask;
--import android.util.Log;
--
--import com.frostwire.android.R;
--import com.frostwire.android.core.ConfigurationManager;
--import com.frostwire.android.core.Constants;
--import com.frostwire.android.core.HttpFetcher;
--import com.frostwire.android.gui.services.Engine;
--import com.frostwire.android.gui.util.SystemUtils;
--import com.frostwire.android.gui.util.UIUtils;
--import com.frostwire.android.util.ByteUtils;
--import com.frostwire.android.util.StringUtils;
--import com.frostwire.util.JsonUtils;
--
--/**
-- *
-- * @author gubatron
-- * @author aldenml
-- *
-- */
--public final class SoftwareUpdater {
--
-- public interface ConfigurationUpdateListener {
-- void onConfigurationUpdate();
-- }
--
-- private static final String TAG = "FW.SoftwareUpdater";
--
-- private static final long UPDATE_MESSAGE_TIMEOUT = 30 * 60 * 1000; // 30 minutes
--
-- private static final String UPDATE_ACTION_OTA = "ota";
-- private static final String UPDATE_ACTION_MARKET = "market";
--
-- private boolean oldVersion;
-- private String latestVersion;
-- private Update update;
--
-- private long updateTimestamp;
-- private AsyncTask updateTask;
--
-- private final Set configurationUpdateListeners;
--
-- private static SoftwareUpdater instance;
--
-- public static SoftwareUpdater instance() {
-- if (instance == null) {
-- instance = new SoftwareUpdater();
-- }
-- return instance;
-- }
--
-- private SoftwareUpdater() {
-- this.oldVersion = false;
-- this.latestVersion = Constants.FROSTWIRE_VERSION_STRING;
-- this.configurationUpdateListeners = new HashSet();
-- }
--
-- public boolean isOldVersion() {
-- return oldVersion;
-- }
--
-- public String getLatestVersion() {
-- return latestVersion;
-- }
--
-- public void checkForUpdate(final Context context) {
-- long now = System.currentTimeMillis();
--
-- if (now - updateTimestamp < UPDATE_MESSAGE_TIMEOUT) {
-- return;
-- }
--
-- updateTimestamp = now;
-- updateTask = new AsyncTask() {
-- @Override
-- protected Boolean doInBackground(Void... params) {
-- try {
-- byte[] jsonBytes = new HttpFetcher(Constants.SERVER_UPDATE_URL).fetch();
-- update = JsonUtils.toObject(new String(jsonBytes), Update.class);
--
-- latestVersion = update.v;
-- String[] latestVersionArr = latestVersion.split("\\.");
--
-- // lv = latest version
-- byte[] lv = new byte[] { Byte.valueOf(latestVersionArr[0]), Byte.valueOf(latestVersionArr[1]), Byte.valueOf(latestVersionArr[2]) };
--
-- // mv = my version
-- byte[] mv = Constants.FROSTWIRE_VERSION;
--
-- oldVersion = isFrostWireOld(mv, lv);
--
-- updateConfiguration(update);
--
-- if (oldVersion) {
-- if (update.a == null) {
-- update.a = UPDATE_ACTION_OTA; // make it the old behavior
-- }
--
-- if (update.a.equals(UPDATE_ACTION_OTA)) {
-- // did we download the newest already?
-- if (downloadedLatestFrostWire(update.md5)) {
-- return true;
-- }
-- // didn't download it? go get it now
-- else {
-- new HttpFetcher(update.u).save(SystemUtils.getUpdateInstallerPath());
--
-- if (downloadedLatestFrostWire(update.md5)) {
-- return true;
-- }
-- }
-- } else if (update.a.equals(UPDATE_ACTION_MARKET)) {
-- return update.m != null;
-- }
-- }
--
-- } catch (Throwable e) {
-- Log.e(TAG, "Failed to check/retrieve/update the update information", e);
-- }
--
-- return false;
-- }
--
-- @Override
-- protected void onPostExecute(Boolean result) {
-- if (result && !isCancelled()) {
-- notifyUpdate(context);
-- }
--
-- //nav menu always needs to be updated after we read the config.
-- notifyConfigurationUpdateListeners();
-- }
-- };
--
-- updateTask.execute();
-- }
--
-- public void addConfigurationUpdateListener(ConfigurationUpdateListener listener) {
-- try {
-- configurationUpdateListeners.add(listener);
-- } catch (Throwable t) {
--
-- }
-- }
--
-- private void notifyUpdate(final Context context) {
-- try {
-- if (update.a == null) {
-- update.a = UPDATE_ACTION_OTA; // make it the old behavior
-- }
--
-- if (update.a.equals(UPDATE_ACTION_OTA)) {
-- if (!SystemUtils.getUpdateInstallerPath().exists()) {
-- return;
-- }
--
-- String message = StringUtils.getLocaleString(update.updateMessages, context.getString(R.string.update_message));
--
-- UIUtils.showYesNoDialog(context, R.drawable.app_icon, message, R.string.update_title, new OnClickListener() {
-- public void onClick(DialogInterface dialog, int which) {
-- Engine.instance().stopServices(false);
-- UIUtils.openFile(context, SystemUtils.getUpdateInstallerPath().getAbsolutePath(), Constants.MIME_TYPE_ANDROID_PACKAGE_ARCHIVE);
-- }
-- });
-- } else if (update.a.equals(UPDATE_ACTION_MARKET)) {
--
-- String message = StringUtils.getLocaleString(update.marketMessages, context.getString(R.string.update_message));
--
-- UIUtils.showYesNoDialog(context, R.drawable.app_icon, message, R.string.update_title, new OnClickListener() {
-- public void onClick(DialogInterface dialog, int which) {
-- Intent intent = new Intent(Intent.ACTION_VIEW);
-- intent.setData(Uri.parse(update.m));
-- context.startActivity(intent);
-- }
-- });
-- }
-- } catch (Throwable e) {
-- Log.e(TAG, "Failed to notify update", e);
-- }
-- }
--
-- /**
-- *
-- * @param md5
-- * - Expected MD5 hash as a string.
-- * @return
-- */
-- private boolean downloadedLatestFrostWire(String md5) {
-- if (!SystemUtils.getUpdateInstallerPath().exists()) {
-- return false;
-- }
-- return checkMD5(SystemUtils.getUpdateInstallerPath(), md5);
-- }
--
-- /**
-- * mv = my version
-- * lv = latest version
-- *
-- * returns true if mv is older.
-- */
-- private boolean isFrostWireOld(byte[] mv, byte[] lv) {
-- if (mv[0] < lv[0]) {
-- return true;
-- }
--
-- if (mv[0] == lv[0] && mv[1] < lv[1]) {
-- return true;
-- }
--
-- if (mv[0] == lv[0] && mv[1] == lv[1] && mv[2] < lv[2]) {
-- return true;
-- }
--
-- return false;
-- }
--
-- private static String getMD5(File f) {
-- try {
-- MessageDigest m = MessageDigest.getInstance("MD5");
--
-- // We read the file in buffers so we don't
-- // eat all the memory in case we have a huge plugin.
-- byte[] buf = new byte[65536];
-- int num_read;
--
-- InputStream in = new BufferedInputStream(new FileInputStream(f));
--
-- while ((num_read = in.read(buf)) != -1) {
-- m.update(buf, 0, num_read);
-- }
--
-- in.close();
--
-- String result = new BigInteger(1, m.digest()).toString(16);
--
-- // pad with zeros if until it's 32 chars long.
-- if (result.length() < 32) {
-- int paddingSize = 32 - result.length();
-- for (int i = 0; i < paddingSize; i++) {
-- result = "0" + result;
-- }
-- }
--
-- return result;
-- } catch (Exception e) {
-- return null;
-- }
-- }
--
-- private static boolean checkMD5(File f, String expectedMD5) {
-- if (expectedMD5 == null) {
-- return false;
-- }
--
-- if (expectedMD5.length() != 32) {
-- return false;
-- }
--
-- String checkedMD5 = getMD5(f);
-- if (checkedMD5 == null) {
-- return false;
-- }
--
-- return checkedMD5.trim().equalsIgnoreCase(expectedMD5.trim());
-- }
--
-- private void updateConfiguration(Update update) {
-- if (update.config == null) {
-- return;
-- }
--
-- ConfigurationManager.instance().setBoolean(Constants.PREF_KEY_GUI_SUPPORT_FROSTWIRE_THRESHOLD, ByteUtils.randomInt(0, 100) < update.config.supportThreshold);
--
-- for (String name : update.config.activeSearchEngines.keySet()) {
-- SearchEngine engine = SearchEngine.forName(name);
-- if (engine != null) {
-- engine.setActive(update.config.activeSearchEngines.get(name));
-- }
-- }
--
-- ConfigurationManager.instance().setBoolean(Constants.PREF_KEY_GUI_SHOW_TV_MENU_ITEM,update.config.tv);
-- ConfigurationManager.instance().setBoolean(Constants.PREF_KEY_GUI_INITIALIZE_OFFERCAST, update.config.offercast);
-- }
--
-- private void notifyConfigurationUpdateListeners() {
-- for (ConfigurationUpdateListener listener : configurationUpdateListeners) {
-- try {
-- listener.onConfigurationUpdate();
-- } catch (Throwable t) {
--
-- }
-- }
-- }
--
-- private static class Update {
-- public String v;
-- public String u;
-- public String md5;
--
-- /**
-- * Address from the market
-- */
-- public String m;
--
-- /**
-- * Action for the update message
-- * - "ota" is download from 'u' (a regular http)
-- * - "market" go to market page
-- */
-- public String a;
--
-- public Map updateMessages;
-- public Map marketMessages;
-- public Config config;
-- }
--
-- private static class Config {
-- public int supportThreshold = 100;
-- public Map activeSearchEngines;
-- public boolean tv = true;
-- public boolean offercast = true;
-- }
--
-- public void removeConfigurationUpdateListener(Object slideMenuFragment) {
-- if (configurationUpdateListeners.size() > 0) {
-- configurationUpdateListeners.remove(slideMenuFragment);
-- }
-- }
--}
-\ No newline at end of file
-diff --git a/src/gui/com/frostwire/android/gui/activities/MainActivity.java b/src/gui/com/frostwire/android/gui/activities/MainActivity.java
-index 433a447..fb76e43 100644
---- a/src/gui/com/frostwire/android/gui/activities/MainActivity.java
-+++ b/src/gui/com/frostwire/android/gui/activities/MainActivity.java
-@@ -47,7 +47,6 @@ import com.frostwire.android.core.DesktopUploadRequestStatus;
- import com.frostwire.android.core.FileDescriptor;
- import com.frostwire.android.gui.Librarian;
- import com.frostwire.android.gui.PeerManager;
--import com.frostwire.android.gui.SoftwareUpdater;
- import com.frostwire.android.gui.fragments.AboutFragment;
- import com.frostwire.android.gui.fragments.BrowsePeerFragment;
- import com.frostwire.android.gui.fragments.BrowsePeersFragment;
-@@ -539,6 +538,5 @@ public class MainActivity extends AbstractSlidingActivity {
- Engine.instance().startServices(); // it's necessary for the first time after wizard
- }
-
-- SoftwareUpdater.instance().checkForUpdate(this);
- }
--}
-\ No newline at end of file
-+}
-diff --git a/src/gui/com/frostwire/android/gui/adapters/PeerListAdapter.java b/src/gui/com/frostwire/android/gui/adapters/PeerListAdapter.java
-index acf1d6b..a5fc333 100644
---- a/src/gui/com/frostwire/android/gui/adapters/PeerListAdapter.java
-+++ b/src/gui/com/frostwire/android/gui/adapters/PeerListAdapter.java
-@@ -33,7 +33,6 @@ import android.widget.TextView;
- import com.frostwire.android.R;
- import com.frostwire.android.core.Constants;
- import com.frostwire.android.gui.Peer;
--import com.frostwire.android.gui.SoftwareUpdater;
- import com.frostwire.android.gui.activities.BrowsePeerActivity;
- import com.frostwire.android.gui.activities.MainActivity;
- import com.frostwire.android.gui.adapters.menu.BrowsePeerMenuAction;
-@@ -85,12 +84,6 @@ public class PeerListAdapter extends AbstractListAdapter {
- } else {
- title.setTextColor(0xff54afe4);
-
-- // show my version in red If I'm old to encourage user to update.
-- if (SoftwareUpdater.instance().isOldVersion()) {
-- version.setTextColor(Color.RED);
-- version.setText(getContext().getString(R.string.please_update_to_v, SoftwareUpdater.instance().getLatestVersion()));
-- }
--
- howtoShareButton.setVisibility(View.VISIBLE);
- howtoShareButton.setImageResource(R.drawable.share_howto);
- }
-@@ -166,4 +159,4 @@ public class PeerListAdapter extends AbstractListAdapter {
-
- return new MenuAdapter(context, peer.getNickname(), items);
- }
--}
-\ No newline at end of file
-+}
-diff --git a/src/gui/com/frostwire/android/gui/fragments/SlideMenuFragment.java b/src/gui/com/frostwire/android/gui/fragments/SlideMenuFragment.java
-index 345d2d9..1681c07 100644
---- a/src/gui/com/frostwire/android/gui/fragments/SlideMenuFragment.java
-+++ b/src/gui/com/frostwire/android/gui/fragments/SlideMenuFragment.java
-@@ -45,8 +45,6 @@ import android.widget.TextView;
- import com.frostwire.android.R;
- import com.frostwire.android.core.ConfigurationManager;
- import com.frostwire.android.core.Constants;
--import com.frostwire.android.gui.SoftwareUpdater;
--import com.frostwire.android.gui.SoftwareUpdater.ConfigurationUpdateListener;
- import com.frostwire.android.gui.activities.MainActivity;
- import com.frostwire.android.gui.activities.MediaPlayerActivity;
- import com.frostwire.android.gui.activities.PreferencesActivity;
-@@ -58,7 +56,7 @@ import com.frostwire.android.gui.views.PlayerMenuItemView;
- * @author aldenml
- *
- */
--public class SlideMenuFragment extends ListFragment implements ConfigurationUpdateListener {
-+public class SlideMenuFragment extends ListFragment {
-
- private static final Logger LOG = LoggerFactory.getLogger(SlideMenuFragment.class);
-
-@@ -82,7 +80,6 @@ public class SlideMenuFragment extends ListFragment implements ConfigurationUpda
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
-- SoftwareUpdater.instance().addConfigurationUpdateListener(this);
- initMenuItems();
- }
-
-@@ -296,11 +293,4 @@ public class SlideMenuFragment extends ListFragment implements ConfigurationUpda
- initMenuItems();
- }
-
-- @Override
-- public void onDestroy() {
-- super.onDestroy();
--
-- //avoid memory leaks when the device is tilted and the menu gets recreated.
-- SoftwareUpdater.instance().removeConfigurationUpdateListener(this);
-- }
--}
-\ No newline at end of file
-+}
diff --git a/metadata/com.pierceholdings.dontpause/remove_gms-35.patch b/metadata/com.pierceholdings.dontpause/remove_gms-35.patch
deleted file mode 100644
index b367e221dc..0000000000
--- a/metadata/com.pierceholdings.dontpause/remove_gms-35.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/AndroidManifest.xml b/AndroidManifest.xml
-index 79e0e67..45929c8 100644
---- a/AndroidManifest.xml
-+++ b/AndroidManifest.xml
-@@ -51,14 +51,8 @@
- android:label="@string/app_name"
- android:persistent="true"
- android:theme="@style/MyTheme" >
--
-
-
--
diff --git a/metadata/com.tinfoil.sms/tinfoilsms-gradle.patch b/metadata/com.tinfoil.sms/tinfoilsms-gradle.patch
deleted file mode 100644
index 5e0b33073f..0000000000
--- a/metadata/com.tinfoil.sms/tinfoilsms-gradle.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/build.gradle b/build.gradle
-index e69de29..1cef4c8 100644
---- a/build.gradle
-+++ b/build.gradle
-@@ -0,0 +1,69 @@
-+buildscript {
-+ repositories {
-+ mavenCentral()
-+ }
-+
-+ dependencies {
-+ classpath 'com.android.tools.build:gradle:0.12.2'
-+ }
-+}
-+
-+apply plugin: 'com.android.application'
-+
-+android {
-+ compileSdkVersion 19
-+ buildToolsVersion '19.1'
-+
-+ defaultConfig {
-+ minSdkVersion 9
-+ targetSdkVersion 19
-+ }
-+
-+ compileOptions {
-+ sourceCompatibility JavaVersion.VERSION_1_7
-+ targetCompatibility JavaVersion.VERSION_1_7
-+ }
-+
-+ packagingOptions {
-+ exclude 'META-INF/LICENSE.txt'
-+ exclude 'META-INF/NOTICE.txt'
-+ }
-+
-+ sourceSets {
-+ main {
-+ manifest.srcFile 'AndroidManifest.xml'
-+ java.srcDirs = ['src']
-+ resources.srcDirs = ['src']
-+ aidl.srcDirs = ['src']
-+ renderscript.srcDirs = ['src']
-+ res.srcDirs = ['res']
-+ assets.srcDirs = ['assets']
-+ }
-+ }
-+
-+ lintOptions {
-+ abortOnError false
-+ }
-+
-+ repositories {
-+ mavenCentral()
-+ mavenLocal()
-+ }
-+
-+ dependencies {
-+ compile 'com.nineoldandroids:library:2.4.0'
-+ compile 'com.android.support:support-v4:19.0.+'
-+ compile 'com.madgag.spongycastle:core:1.51.0.0'
-+ compile 'com.madgag.spongycastle:prov:1.51.0.0'
-+ }
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+}
diff --git a/metadata/de.schildbach.wallet/prod_135.patch b/metadata/de.schildbach.wallet/prod_135.patch
deleted file mode 100644
index 70b93a9369..0000000000
--- a/metadata/de.schildbach.wallet/prod_135.patch
+++ /dev/null
@@ -1,593 +0,0 @@
-diff --git a/wallet/AndroidManifest.xml b/wallet/AndroidManifest.xml
-index dfc4372..5028875 100644
---- a/wallet/AndroidManifest.xml
-+++ b/wallet/AndroidManifest.xml
-@@ -1,10 +1,10 @@
-
-
-+ android:versionName="3.14-bitcoinj0.10" >
-
-
-
-
- wallet
- apk
-- 3.15-test
-+ 3.14-bitcoinj0.10
- Bitcoin Wallet
-
-
-diff --git a/wallet/res/drawable-hdpi/app_icon.png b/wallet/res/drawable-hdpi/app_icon.png
-index 445c689..e3a30a2 100644
-Binary files a/wallet/res/drawable-hdpi/app_icon.png and b/wallet/res/drawable-hdpi/app_icon.png differ
-diff --git a/wallet/res/drawable-xhdpi/app_icon.png b/wallet/res/drawable-xhdpi/app_icon.png
-index 7a2a494..cf4d174 100644
-Binary files a/wallet/res/drawable-xhdpi/app_icon.png and b/wallet/res/drawable-xhdpi/app_icon.png differ
-diff --git a/wallet/res/drawable-xhdpi/widget_preview.png b/wallet/res/drawable-xhdpi/widget_preview.png
-index 2a75061..0f22562 100644
-Binary files a/wallet/res/drawable-xhdpi/widget_preview.png and b/wallet/res/drawable-xhdpi/widget_preview.png differ
-diff --git a/wallet/res/values/values.xml b/wallet/res/values/values.xml
-index ecc7da8..af9ac13 100644
---- a/wallet/res/values/values.xml
-+++ b/wallet/res/values/values.xml
-@@ -4,7 +4,7 @@
- →
- ←
- ⇄
-- Testnet3
-+ Bitcoin
-
-
- - 8
-@@ -17,4 +17,4 @@
- - 4 digits
-
-
--
-\ No newline at end of file
-+
-diff --git a/wallet/src/de/schildbach/wallet/Constants.java b/wallet/src/de/schildbach/wallet/Constants.java
-index b3d9a3d..c32b169 100644
---- a/wallet/src/de/schildbach/wallet/Constants.java
-+++ b/wallet/src/de/schildbach/wallet/Constants.java
-@@ -26,7 +26,7 @@ import com.google.bitcoin.core.NetworkParameters;
- import com.google.bitcoin.params.MainNetParams;
- import com.google.bitcoin.params.TestNet3Params;
-
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/WalletApplication.java b/wallet/src/de/schildbach/wallet/WalletApplication.java
-index 50fa891..9249800 100644
---- a/wallet/src/de/schildbach/wallet/WalletApplication.java
-+++ b/wallet/src/de/schildbach/wallet/WalletApplication.java
-@@ -67,7 +67,7 @@ import de.schildbach.wallet.service.BlockchainServiceImpl;
- import de.schildbach.wallet.util.CrashReporter;
- import de.schildbach.wallet.util.LinuxSecureRandom;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/WalletBalanceWidgetProvider.java b/wallet/src/de/schildbach/wallet/WalletBalanceWidgetProvider.java
-index a14b449..a080613 100644
---- a/wallet/src/de/schildbach/wallet/WalletBalanceWidgetProvider.java
-+++ b/wallet/src/de/schildbach/wallet/WalletBalanceWidgetProvider.java
-@@ -39,7 +39,7 @@ import de.schildbach.wallet.ui.SendCoinsQrActivity;
- import de.schildbach.wallet.ui.WalletActivity;
- import de.schildbach.wallet.util.GenericUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/service/BlockchainService.java b/wallet/src/de/schildbach/wallet/service/BlockchainService.java
-index dba917a..7aec479 100644
---- a/wallet/src/de/schildbach/wallet/service/BlockchainService.java
-+++ b/wallet/src/de/schildbach/wallet/service/BlockchainService.java
-@@ -23,7 +23,7 @@ import com.google.bitcoin.core.Peer;
- import com.google.bitcoin.core.StoredBlock;
- import com.google.bitcoin.core.Transaction;
-
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/service/BlockchainServiceImpl.java b/wallet/src/de/schildbach/wallet/service/BlockchainServiceImpl.java
-index 3557287..8732f7d 100644
---- a/wallet/src/de/schildbach/wallet/service/BlockchainServiceImpl.java
-+++ b/wallet/src/de/schildbach/wallet/service/BlockchainServiceImpl.java
-@@ -91,7 +91,7 @@ import de.schildbach.wallet.util.GenericUtils;
- import de.schildbach.wallet.util.HttpGetThread;
- import de.schildbach.wallet.util.ThrottelingWalletChangeListener;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/AboutActivity.java b/wallet/src/de/schildbach/wallet/ui/AboutActivity.java
-index c155b4e..3b3f306 100644
---- a/wallet/src/de/schildbach/wallet/ui/AboutActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/AboutActivity.java
-@@ -30,7 +30,7 @@ import com.google.bitcoin.core.VersionMessage;
-
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.WalletApplication;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/AbstractWalletActivity.java b/wallet/src/de/schildbach/wallet/ui/AbstractWalletActivity.java
-index 1f433b4..5b67d41 100644
---- a/wallet/src/de/schildbach/wallet/ui/AbstractWalletActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/AbstractWalletActivity.java
-@@ -30,7 +30,7 @@ import com.actionbarsherlock.app.SherlockFragmentActivity;
-
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.WalletApplication;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/AddressBookActivity.java b/wallet/src/de/schildbach/wallet/ui/AddressBookActivity.java
-index ef3846d..f440177 100644
---- a/wallet/src/de/schildbach/wallet/ui/AddressBookActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/AddressBookActivity.java
-@@ -35,7 +35,7 @@ import com.google.bitcoin.core.ECKey;
-
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.ViewPagerTabs;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/BlockListFragment.java b/wallet/src/de/schildbach/wallet/ui/BlockListFragment.java
-index 4e52fdd..c20b321 100644
---- a/wallet/src/de/schildbach/wallet/ui/BlockListFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/BlockListFragment.java
-@@ -62,7 +62,7 @@ import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.service.BlockchainService;
- import de.schildbach.wallet.service.BlockchainServiceImpl;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/CurrencyAmountView.java b/wallet/src/de/schildbach/wallet/ui/CurrencyAmountView.java
-index 8a28951..d2bbc01 100644
---- a/wallet/src/de/schildbach/wallet/ui/CurrencyAmountView.java
-+++ b/wallet/src/de/schildbach/wallet/ui/CurrencyAmountView.java
-@@ -47,7 +47,7 @@ import com.google.bitcoin.core.Utils;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.GenericUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/CurrencyTextView.java b/wallet/src/de/schildbach/wallet/ui/CurrencyTextView.java
-index 0cac0e6..2b5183e 100644
---- a/wallet/src/de/schildbach/wallet/ui/CurrencyTextView.java
-+++ b/wallet/src/de/schildbach/wallet/ui/CurrencyTextView.java
-@@ -31,7 +31,7 @@ import android.widget.TextView;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.GenericUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/EditAddressBookEntryFragment.java b/wallet/src/de/schildbach/wallet/ui/EditAddressBookEntryFragment.java
-index 97e29a5..362deb8 100644
---- a/wallet/src/de/schildbach/wallet/ui/EditAddressBookEntryFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/EditAddressBookEntryFragment.java
-@@ -33,7 +33,7 @@ import android.widget.TextView;
- import de.schildbach.wallet.AddressBookProvider;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/ExchangeRatesActivity.java b/wallet/src/de/schildbach/wallet/ui/ExchangeRatesActivity.java
-index eadae13..6dbd6c3 100644
---- a/wallet/src/de/schildbach/wallet/ui/ExchangeRatesActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/ExchangeRatesActivity.java
-@@ -22,7 +22,7 @@ import android.os.Bundle;
- import com.actionbarsherlock.app.ActionBar;
- import com.actionbarsherlock.view.MenuItem;
-
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/ExchangeRatesFragment.java b/wallet/src/de/schildbach/wallet/ui/ExchangeRatesFragment.java
-index e140eaa..1d80ae5 100644
---- a/wallet/src/de/schildbach/wallet/ui/ExchangeRatesFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/ExchangeRatesFragment.java
-@@ -55,7 +55,7 @@ import de.schildbach.wallet.ExchangeRatesProvider.ExchangeRate;
- import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.service.BlockchainService;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/FileAdapter.java b/wallet/src/de/schildbach/wallet/ui/FileAdapter.java
-index 89541c4..e138326 100644
---- a/wallet/src/de/schildbach/wallet/ui/FileAdapter.java
-+++ b/wallet/src/de/schildbach/wallet/ui/FileAdapter.java
-@@ -26,7 +26,7 @@ import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ArrayAdapter;
- import android.widget.TextView;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/ImportKeysActivity.java b/wallet/src/de/schildbach/wallet/ui/ImportKeysActivity.java
-index 4f49cd3..8d05b90 100644
---- a/wallet/src/de/schildbach/wallet/ui/ImportKeysActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/ImportKeysActivity.java
-@@ -46,7 +46,7 @@ import com.google.bitcoin.core.Wallet;
-
- import de.schildbach.wallet.util.EncryptionUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/NetworkMonitorActivity.java b/wallet/src/de/schildbach/wallet/ui/NetworkMonitorActivity.java
-index 95cd206..a77a6e9 100644
---- a/wallet/src/de/schildbach/wallet/ui/NetworkMonitorActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/NetworkMonitorActivity.java
-@@ -27,7 +27,7 @@ import com.actionbarsherlock.app.ActionBar;
- import com.actionbarsherlock.view.MenuItem;
-
- import de.schildbach.wallet.util.ViewPagerTabs;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/PeerListFragment.java b/wallet/src/de/schildbach/wallet/ui/PeerListFragment.java
-index a0a0c47..6c982b3 100644
---- a/wallet/src/de/schildbach/wallet/ui/PeerListFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/PeerListFragment.java
-@@ -49,7 +49,7 @@ import com.google.bitcoin.core.VersionMessage;
-
- import de.schildbach.wallet.service.BlockchainService;
- import de.schildbach.wallet.service.BlockchainServiceImpl;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/PreferencesActivity.java b/wallet/src/de/schildbach/wallet/ui/PreferencesActivity.java
-index 949710a..c088720 100644
---- a/wallet/src/de/schildbach/wallet/ui/PreferencesActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/PreferencesActivity.java
-@@ -35,7 +35,7 @@ import com.actionbarsherlock.view.MenuItem;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.util.CrashReporter;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/ReportIssueDialogBuilder.java b/wallet/src/de/schildbach/wallet/ui/ReportIssueDialogBuilder.java
-index 1055cca..3ca57ca 100644
---- a/wallet/src/de/schildbach/wallet/ui/ReportIssueDialogBuilder.java
-+++ b/wallet/src/de/schildbach/wallet/ui/ReportIssueDialogBuilder.java
-@@ -45,7 +45,7 @@ import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.CrashReporter;
- import de.schildbach.wallet.util.IOUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/RequestCoinsActivity.java b/wallet/src/de/schildbach/wallet/ui/RequestCoinsActivity.java
-index dc359a7..25131e7 100644
---- a/wallet/src/de/schildbach/wallet/ui/RequestCoinsActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/RequestCoinsActivity.java
-@@ -23,7 +23,7 @@ import com.actionbarsherlock.app.ActionBar;
- import com.actionbarsherlock.view.Menu;
- import com.actionbarsherlock.view.MenuItem;
-
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/RequestCoinsFragment.java b/wallet/src/de/schildbach/wallet/ui/RequestCoinsFragment.java
-index 0ed4ec8..3fdb48a 100644
---- a/wallet/src/de/schildbach/wallet/ui/RequestCoinsFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/RequestCoinsFragment.java
-@@ -66,7 +66,7 @@ import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.util.BitmapFragment;
- import de.schildbach.wallet.util.NfcTools;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/ScanActivity.java b/wallet/src/de/schildbach/wallet/ui/ScanActivity.java
-index 39aff31..64c1bdf 100644
---- a/wallet/src/de/schildbach/wallet/ui/ScanActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/ScanActivity.java
-@@ -58,7 +58,7 @@ import com.google.zxing.common.HybridBinarizer;
- import com.google.zxing.qrcode.QRCodeReader;
-
- import de.schildbach.wallet.camera.CameraManager;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/ScannerView.java b/wallet/src/de/schildbach/wallet/ui/ScannerView.java
-index 92fe6d6..27be934 100644
---- a/wallet/src/de/schildbach/wallet/ui/ScannerView.java
-+++ b/wallet/src/de/schildbach/wallet/ui/ScannerView.java
-@@ -33,7 +33,7 @@ import android.view.View;
-
- import com.google.zxing.ResultPoint;
-
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/SendCoinsActivity.java b/wallet/src/de/schildbach/wallet/ui/SendCoinsActivity.java
-index 626296e..edf3dd2 100644
---- a/wallet/src/de/schildbach/wallet/ui/SendCoinsActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/SendCoinsActivity.java
-@@ -34,7 +34,7 @@ import com.google.bitcoin.core.Address;
- import com.google.bitcoin.uri.BitcoinURI;
- import com.google.bitcoin.uri.BitcoinURIParseException;
-
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/SendCoinsFragment.java b/wallet/src/de/schildbach/wallet/ui/SendCoinsFragment.java
-index 9202d9c..15dc336 100644
---- a/wallet/src/de/schildbach/wallet/ui/SendCoinsFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/SendCoinsFragment.java
-@@ -85,7 +85,7 @@ import de.schildbach.wallet.service.BlockchainService;
- import de.schildbach.wallet.service.BlockchainServiceImpl;
- import de.schildbach.wallet.util.GenericUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/SendingAddressesFragment.java b/wallet/src/de/schildbach/wallet/ui/SendingAddressesFragment.java
-index 3a60407..f0b7eae 100644
---- a/wallet/src/de/schildbach/wallet/ui/SendingAddressesFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/SendingAddressesFragment.java
-@@ -51,7 +51,7 @@ import de.schildbach.wallet.AddressBookProvider;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.BitmapFragment;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/TransactionActivity.java b/wallet/src/de/schildbach/wallet/ui/TransactionActivity.java
-index 4cb4a9d..44be746 100644
---- a/wallet/src/de/schildbach/wallet/ui/TransactionActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/TransactionActivity.java
-@@ -43,7 +43,7 @@ import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.util.Base43;
- import de.schildbach.wallet.util.NfcTools;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/TransactionFragment.java b/wallet/src/de/schildbach/wallet/ui/TransactionFragment.java
-index 6f86d51..4ca47bb 100644
---- a/wallet/src/de/schildbach/wallet/ui/TransactionFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/TransactionFragment.java
-@@ -56,7 +56,7 @@ import de.schildbach.wallet.util.Base43;
- import de.schildbach.wallet.util.BitmapFragment;
- import de.schildbach.wallet.util.GenericUtils;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/TransactionsListAdapter.java b/wallet/src/de/schildbach/wallet/ui/TransactionsListAdapter.java
-index fb428ec..c5c6519 100644
---- a/wallet/src/de/schildbach/wallet/ui/TransactionsListAdapter.java
-+++ b/wallet/src/de/schildbach/wallet/ui/TransactionsListAdapter.java
-@@ -50,7 +50,7 @@ import de.schildbach.wallet.AddressBookProvider;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.CircularProgressView;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/TransactionsListFragment.java b/wallet/src/de/schildbach/wallet/ui/TransactionsListFragment.java
-index dcd0ef0..abd689b 100644
---- a/wallet/src/de/schildbach/wallet/ui/TransactionsListFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/TransactionsListFragment.java
-@@ -65,7 +65,7 @@ import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.util.ThrottelingWalletChangeListener;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletActionsFragment.java b/wallet/src/de/schildbach/wallet/ui/WalletActionsFragment.java
-index 4bbc6c6..15a70be 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletActionsFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletActionsFragment.java
-@@ -30,7 +30,7 @@ import android.view.View.OnClickListener;
- import android.view.ViewGroup;
- import android.widget.TextView;
- import de.schildbach.wallet.Constants;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletActivity.java b/wallet/src/de/schildbach/wallet/ui/WalletActivity.java
-index a47c05d..5bab7f5 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletActivity.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletActivity.java
-@@ -72,7 +72,7 @@ import de.schildbach.wallet.util.EncryptionUtils;
- import de.schildbach.wallet.util.HttpGetThread;
- import de.schildbach.wallet.util.Iso8601Format;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletAddressFragment.java b/wallet/src/de/schildbach/wallet/ui/WalletAddressFragment.java
-index e7f2a53..b7a0be5 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletAddressFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletAddressFragment.java
-@@ -44,7 +44,7 @@ import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.util.BitmapFragment;
- import de.schildbach.wallet.util.NfcTools;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletAddressesAdapter.java b/wallet/src/de/schildbach/wallet/ui/WalletAddressesAdapter.java
-index d882413..f470643 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletAddressesAdapter.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletAddressesAdapter.java
-@@ -39,7 +39,7 @@ import com.google.bitcoin.core.Wallet;
- import de.schildbach.wallet.AddressBookProvider;
- import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- public class WalletAddressesAdapter extends BaseAdapter
- {
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletAddressesFragment.java b/wallet/src/de/schildbach/wallet/ui/WalletAddressesFragment.java
-index 869cccd..d051b2b 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletAddressesFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletAddressesFragment.java
-@@ -54,7 +54,7 @@ import de.schildbach.wallet.Constants;
- import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.util.BitmapFragment;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletBalanceFragment.java b/wallet/src/de/schildbach/wallet/ui/WalletBalanceFragment.java
-index b427352..02ca419 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletBalanceFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletBalanceFragment.java
-@@ -50,7 +50,7 @@ import de.schildbach.wallet.ExchangeRatesProvider.ExchangeRate;
- import de.schildbach.wallet.WalletApplication;
- import de.schildbach.wallet.service.BlockchainService;
- import de.schildbach.wallet.util.WalletUtils;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/ui/WalletTransactionsFragment.java b/wallet/src/de/schildbach/wallet/ui/WalletTransactionsFragment.java
-index 2e95307..539ca04 100644
---- a/wallet/src/de/schildbach/wallet/ui/WalletTransactionsFragment.java
-+++ b/wallet/src/de/schildbach/wallet/ui/WalletTransactionsFragment.java
-@@ -27,7 +27,7 @@ import android.view.View;
- import android.view.ViewGroup;
- import de.schildbach.wallet.ui.TransactionsListFragment.Direction;
- import de.schildbach.wallet.util.ViewPagerTabs;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/util/BitmapFragment.java b/wallet/src/de/schildbach/wallet/util/BitmapFragment.java
-index 3ba3866..3194de0 100644
---- a/wallet/src/de/schildbach/wallet/util/BitmapFragment.java
-+++ b/wallet/src/de/schildbach/wallet/util/BitmapFragment.java
-@@ -26,7 +26,7 @@ import android.support.v4.app.FragmentManager;
- import android.view.View;
- import android.view.Window;
- import android.widget.ImageView;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
-diff --git a/wallet/src/de/schildbach/wallet/util/ViewPagerTabs.java b/wallet/src/de/schildbach/wallet/util/ViewPagerTabs.java
-index 60d77cb..1f6280d 100644
---- a/wallet/src/de/schildbach/wallet/util/ViewPagerTabs.java
-+++ b/wallet/src/de/schildbach/wallet/util/ViewPagerTabs.java
-@@ -31,7 +31,7 @@ import android.os.Parcelable;
- import android.support.v4.view.ViewPager.OnPageChangeListener;
- import android.util.AttributeSet;
- import android.view.View;
--import de.schildbach.wallet_test.R;
-+import de.schildbach.wallet.R;
-
- /**
- * @author Andreas Schildbach
diff --git a/metadata/de.schildbach.wallet_test/pom_134.patch b/metadata/de.schildbach.wallet_test/pom_134.patch
deleted file mode 100644
index cfa7c0e6db..0000000000
--- a/metadata/de.schildbach.wallet_test/pom_134.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/integration-android/pom.xml b/integration-android/pom.xml
-index 161602f..3f49016 100644
---- a/integration-android/pom.xml
-+++ b/integration-android/pom.xml
-@@ -10,8 +10,8 @@
-
-
- de.schildbach.wallet
-- base
-- 1
-+ wallet-parent
-+ 3.14
-
-
-
-diff --git a/pom.xml b/pom.xml
-index 37ed82d..ef0c4ff 100644
---- a/pom.xml
-+++ b/pom.xml
-@@ -5,15 +5,15 @@
- 4.0.0
-
- de.schildbach.wallet
-- base
-- base
-- 1
-+ wallet-parent
-+ wallet-parent
-+ 3.14
- pom
-
-
-- wallet
-+ BitcoinJWallet
- integration-android
-- sample-integration-android
-+ wallet
-
-
-
-diff --git a/wallet/pom.xml b/wallet/pom.xml
-index 60562e0..d6a2dab 100644
---- a/wallet/pom.xml
-+++ b/wallet/pom.xml
-@@ -11,8 +11,8 @@
-
-
- de.schildbach.wallet
-- base
-- 1
-+ wallet-parent
-+ 3.14
-
-
-
diff --git a/metadata/eu.vranckaert.worktime/style.patch b/metadata/eu.vranckaert.worktime/style.patch
deleted file mode 100644
index 743b3399eb..0000000000
--- a/metadata/eu.vranckaert.worktime/style.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: res/values-v13/styles.xml
-===================================================================
---- a/res/values-v13/styles.xml (revision 273)
-+++ b/res/values-v13/styles.xml (working copy)
-@@ -16,8 +16,9 @@
- -->
-
-
--
--